From 6af6797f2caa078a6fe0357004273259c6a41b79 Mon Sep 17 00:00:00 2001 From: Brad Cornes Date: Sun, 3 May 2020 17:10:38 +0100 Subject: [PATCH] move some utils --- src/lsp/providers/completionProvider.ts | 4 ++-- src/lsp/util/color.ts | 2 +- src/lsp/util/removeMeta.ts | 2 +- src/lsp/util/screens.ts | 2 +- src/lsp/util/stringify.ts | 2 +- src/{lsp => }/util/array.ts | 7 +++++++ src/{lsp => }/util/isObject.ts | 0 7 files changed, 13 insertions(+), 6 deletions(-) rename src/{lsp => }/util/array.ts (65%) rename src/{lsp => }/util/isObject.ts (100%) diff --git a/src/lsp/providers/completionProvider.ts b/src/lsp/providers/completionProvider.ts index d6ccb83..f1e9130 100644 --- a/src/lsp/providers/completionProvider.ts +++ b/src/lsp/providers/completionProvider.ts @@ -15,7 +15,7 @@ import { isCssContext } from '../util/css' import { findLast, findJsxStrings, arrFindLast } from '../util/find' import { stringifyConfigValue, stringifyCss } from '../util/stringify' import { stringifyScreen, Screen } from '../util/screens' -import isObject from '../util/isObject' +import isObject from '../../util/isObject' import * as emmetHelper from 'vscode-emmet-helper-bundled' import { isValidLocationForEmmetAbbreviation } from '../util/isValidLocationForEmmetAbbreviation' import { getDocumentSettings } from '../util/getDocumentSettings' @@ -23,7 +23,7 @@ import { isJsContext } from '../util/js' import { naturalExpand } from '../util/naturalExpand' import semver from 'semver' import { docsUrl } from '../util/docsUrl' -import { ensureArray } from '../util/array' +import { ensureArray } from '../../util/array' function completionsFromClassList( state: State, diff --git a/src/lsp/util/color.ts b/src/lsp/util/color.ts index 4e4b598..4984156 100644 --- a/src/lsp/util/color.ts +++ b/src/lsp/util/color.ts @@ -2,7 +2,7 @@ const dlv = require('dlv') import { State } from './state' import removeMeta from './removeMeta' import { TinyColor } from '@ctrl/tinycolor' -import { ensureArray, dedupe, flatten } from './array' +import { ensureArray, dedupe, flatten } from '../../util/array' const COLOR_PROPS = [ 'caret-color', diff --git a/src/lsp/util/removeMeta.ts b/src/lsp/util/removeMeta.ts index 4118704..7e379a8 100644 --- a/src/lsp/util/removeMeta.ts +++ b/src/lsp/util/removeMeta.ts @@ -1,4 +1,4 @@ -import isObject from './isObject' +import isObject from '../../util/isObject' export default function removeMeta(obj: any): any { let result = {} diff --git a/src/lsp/util/screens.ts b/src/lsp/util/screens.ts index 2b029b2..8dddba3 100644 --- a/src/lsp/util/screens.ts +++ b/src/lsp/util/screens.ts @@ -1,4 +1,4 @@ -import isObject from './isObject' +import isObject from '../../util/isObject' export type MinMaxScreen = { min?: string diff --git a/src/lsp/util/stringify.ts b/src/lsp/util/stringify.ts index f2811a6..976f8b9 100644 --- a/src/lsp/util/stringify.ts +++ b/src/lsp/util/stringify.ts @@ -1,7 +1,7 @@ import removeMeta from './removeMeta' const dlv = require('dlv') import escapeClassName from 'css.escape' -import { ensureArray } from './array' +import { ensureArray } from '../../util/array' export function stringifyConfigValue(x: any): string { if (typeof x === 'string') return x diff --git a/src/lsp/util/array.ts b/src/util/array.ts similarity index 65% rename from src/lsp/util/array.ts rename to src/util/array.ts index 13683cc..b40dd24 100644 --- a/src/lsp/util/array.ts +++ b/src/util/array.ts @@ -9,3 +9,10 @@ export function ensureArray(value: T | T[]): T[] { export function flatten(arrays: T[][]): T[] { return [].concat.apply([], arrays) } + +export function equal(arr1: any[], arr2: any[]): boolean { + return ( + JSON.stringify(arr1.concat([]).sort()) === + JSON.stringify(arr2.concat([]).sort()) + ) +} diff --git a/src/lsp/util/isObject.ts b/src/util/isObject.ts similarity index 100% rename from src/lsp/util/isObject.ts rename to src/util/isObject.ts