vest-utils 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"vest-utils.development.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/cache.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/asArray.ts","../../src/callEach.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/isPromise.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/defaultTo.ts","../../src/invariant.ts","../../src/isStringValue.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/deferThrow.ts","../../src/bus.ts","../../src/seq.ts","../../src/mapFirst.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/isPositive.ts","../../src/text.ts","../../src/SimpleStateMachine.ts","../../src/nonnullish.ts","../../src/tinyState.ts","../../src/StringObject.ts","../../src/noop.ts","../../src/Predicates.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\n\nexport type Predicate<T> = boolean | ((value: T) => boolean);\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vest-utils.development.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/cache.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/asArray.ts","../../src/callEach.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/isPromise.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/defaultTo.ts","../../src/invariant.ts","../../src/isStringValue.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/deferThrow.ts","../../src/bus.ts","../../src/seq.ts","../../src/mapFirst.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/isPositive.ts","../../src/text.ts","../../src/SimpleStateMachine.ts","../../src/nonnullish.ts","../../src/tinyState.ts","../../src/StringObject.ts","../../src/noop.ts","../../src/Predicates.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string = string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string = string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string = string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\nimport { Predicate } from 'utilityTypes';\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vest-utils.production.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/invariant.ts","../../src/bus.ts","../../src/seq.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/text.ts","../../src/tinyState.ts","../../src/Predicates.ts","../../src/SimpleStateMachine.ts","../../src/StringObject.ts","../../src/asArray.ts","../../src/cache.ts","../../src/callEach.ts","../../src/defaultTo.ts","../../src/deferThrow.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/isPositive.ts","../../src/isPromise.ts","../../src/isStringValue.ts","../../src/mapFirst.ts","../../src/nonnullish.ts","../../src/noop.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\n\nexport type Predicate<T> = boolean | ((value: T) => boolean);\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n"],"names":["bindNot","fn","args","isNumeric","value","str","String","num","Number","result","isNaN","parseFloat","isFinite","Boolean","isNotNumeric","numberEquals","eq","numberNotEquals","lengthEquals","arg1","length","lengthNotEquals","greaterThan","gt","longerThan","isNull","isNotNull","isUndefined","undefined","isNotUndefined","isNullish","isNotNullish","hasOwnProperty","obj","key","Object","prototype","call","isFunction","optionalFunctionValue","assign","invariant","condition","message","valueOf","Error","listeners","emit","event","data","getListeners","concat","forEach","handler","on","off","filter","h","seq","genSeq","namespace","n","isObject","v","isArray","Array","isNotArray","isEmpty","keys","isNotEmpty","regexp","initialValue","resetValue","setValue","nextValue","p","every","predicate","some","machine","state","initial","getState","staticTransition","transition","action","payload","from","target","_b","_a","states","_c","conditional","possibleArg","maxSize","cacheStorage","cache","deps","cacheAction","cacheHit","get","unshift","invalidate","index","findIndex","splice","cachedDeps","dep","i","arr","defaultValue","setTimeout","a","b","then","array","callback","broke","breakoutValue","breakout","error","substitutions","first","replace","placeholder","subs","shift"],"mappings":"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"}
1
+ {"version":3,"file":"vest-utils.production.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/invariant.ts","../../src/bus.ts","../../src/seq.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/text.ts","../../src/tinyState.ts","../../src/Predicates.ts","../../src/SimpleStateMachine.ts","../../src/StringObject.ts","../../src/asArray.ts","../../src/cache.ts","../../src/callEach.ts","../../src/defaultTo.ts","../../src/deferThrow.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/isPositive.ts","../../src/isPromise.ts","../../src/isStringValue.ts","../../src/mapFirst.ts","../../src/nonnullish.ts","../../src/noop.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\nimport { Predicate } from 'utilityTypes';\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string = string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string = string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string = string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n"],"names":["bindNot","fn","args","isNumeric","value","str","String","num","Number","result","isNaN","parseFloat","isFinite","Boolean","isNotNumeric","numberEquals","eq","numberNotEquals","lengthEquals","arg1","length","lengthNotEquals","greaterThan","gt","longerThan","isNull","isNotNull","isUndefined","undefined","isNotUndefined","isNullish","isNotNullish","hasOwnProperty","obj","key","Object","prototype","call","isFunction","optionalFunctionValue","assign","invariant","condition","message","valueOf","Error","listeners","emit","event","data","getListeners","concat","forEach","handler","on","off","filter","h","seq","genSeq","namespace","n","isObject","v","isArray","Array","isNotArray","isEmpty","keys","isNotEmpty","regexp","initialValue","resetValue","setValue","nextValue","p","every","predicate","some","machine","state","initial","getState","staticTransition","transition","action","payload","from","target","_b","_a","states","_c","conditional","possibleArg","maxSize","cacheStorage","cache","deps","cacheAction","cacheHit","get","unshift","invalidate","index","findIndex","splice","cachedDeps","dep","i","arr","defaultValue","setTimeout","a","b","then","array","callback","broke","breakoutValue","breakout","error","substitutions","first","replace","placeholder","subs","shift"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vest-utils.development.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/cache.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/asArray.ts","../../src/callEach.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/isPromise.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/defaultTo.ts","../../src/invariant.ts","../../src/isStringValue.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/deferThrow.ts","../../src/bus.ts","../../src/seq.ts","../../src/mapFirst.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/isPositive.ts","../../src/text.ts","../../src/SimpleStateMachine.ts","../../src/nonnullish.ts","../../src/tinyState.ts","../../src/StringObject.ts","../../src/noop.ts","../../src/Predicates.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\n\nexport type Predicate<T> = boolean | ((value: T) => boolean);\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vest-utils.development.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/cache.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/asArray.ts","../../src/callEach.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/isPromise.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/defaultTo.ts","../../src/invariant.ts","../../src/isStringValue.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/deferThrow.ts","../../src/bus.ts","../../src/seq.ts","../../src/mapFirst.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/isPositive.ts","../../src/text.ts","../../src/SimpleStateMachine.ts","../../src/nonnullish.ts","../../src/tinyState.ts","../../src/StringObject.ts","../../src/noop.ts","../../src/Predicates.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string = string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string = string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string = string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\nimport { Predicate } from 'utilityTypes';\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vest-utils.production.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/cache.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/asArray.ts","../../src/callEach.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/isPromise.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/defaultTo.ts","../../src/invariant.ts","../../src/isStringValue.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/deferThrow.ts","../../src/bus.ts","../../src/seq.ts","../../src/mapFirst.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/isPositive.ts","../../src/text.ts","../../src/SimpleStateMachine.ts","../../src/nonnullish.ts","../../src/tinyState.ts","../../src/StringObject.ts","../../src/noop.ts","../../src/Predicates.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\n\nexport type Predicate<T> = boolean | ((value: T) => boolean);\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n"],"names":["bindNot","fn","args","isNumeric","value","str","String","num","Number","result","isNaN","parseFloat","isFinite","Boolean","isNotNumeric","numberEquals","eq","numberNotEquals","lengthEquals","arg1","length","lengthNotEquals","greaterThan","gt","longerThan","createCache","maxSize","cacheStorage","cache","deps","cacheAction","cacheHit","get","unshift","concat","invalidate","index","findIndex","splice","cachedDeps","every","dep","i","isNull","isNotNull","isUndefined","undefined","isNotUndefined","isNullish","isNotNullish","asArray","possibleArg","callEach","arr","forEach","hasOwnProperty","obj","key","Object","prototype","call","isFunction","isPromise","then","optionalFunctionValue","assign","defaultTo","defaultValue","_a","invariant","condition","message","valueOf","Error","isStringValue","v","either","a","b","isBoolean","deferThrow","setTimeout","listeners","emit","event","data","getListeners","handler","on","off","filter","h","seq","genSeq","namespace","n","mapFirst","array","callback","broke","breakoutValue","breakout","conditional","isObject","isArray","Array","isNotArray","isEmpty","keys","isNotEmpty","isPositive","regexp","text","substitutions","first","replace","placeholder","subs","shift","StateMachine","machine","state","initial","getState","staticTransition","transition","action","payload","from","target","_b","states","_c","nonnullish","error","initialValue","resetValue","setValue","nextValue","StringObject","noop","p","predicate","some"],"mappings":"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"}
1
+ {"version":3,"file":"vest-utils.production.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/cache.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/asArray.ts","../../src/callEach.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/isPromise.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/defaultTo.ts","../../src/invariant.ts","../../src/isStringValue.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/deferThrow.ts","../../src/bus.ts","../../src/seq.ts","../../src/mapFirst.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/isPositive.ts","../../src/text.ts","../../src/SimpleStateMachine.ts","../../src/nonnullish.ts","../../src/tinyState.ts","../../src/StringObject.ts","../../src/noop.ts","../../src/Predicates.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string = string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string = string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string = string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\nimport { Predicate } from 'utilityTypes';\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n"],"names":["bindNot","fn","args","isNumeric","value","str","String","num","Number","result","isNaN","parseFloat","isFinite","Boolean","isNotNumeric","numberEquals","eq","numberNotEquals","lengthEquals","arg1","length","lengthNotEquals","greaterThan","gt","longerThan","createCache","maxSize","cacheStorage","cache","deps","cacheAction","cacheHit","get","unshift","concat","invalidate","index","findIndex","splice","cachedDeps","every","dep","i","isNull","isNotNull","isUndefined","undefined","isNotUndefined","isNullish","isNotNullish","asArray","possibleArg","callEach","arr","forEach","hasOwnProperty","obj","key","Object","prototype","call","isFunction","isPromise","then","optionalFunctionValue","assign","defaultTo","defaultValue","_a","invariant","condition","message","valueOf","Error","isStringValue","v","either","a","b","isBoolean","deferThrow","setTimeout","listeners","emit","event","data","getListeners","handler","on","off","filter","h","seq","genSeq","namespace","n","mapFirst","array","callback","broke","breakoutValue","breakout","conditional","isObject","isArray","Array","isNotArray","isEmpty","keys","isNotEmpty","isPositive","regexp","text","substitutions","first","replace","placeholder","subs","shift","StateMachine","machine","state","initial","getState","staticTransition","transition","action","payload","from","target","_b","states","_c","nonnullish","error","initialValue","resetValue","setValue","nextValue","StringObject","noop","p","predicate","some"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vest-utils.development.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/cache.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/asArray.ts","../../src/callEach.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/isPromise.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/defaultTo.ts","../../src/invariant.ts","../../src/isStringValue.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/deferThrow.ts","../../src/bus.ts","../../src/seq.ts","../../src/mapFirst.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/isPositive.ts","../../src/text.ts","../../src/SimpleStateMachine.ts","../../src/nonnullish.ts","../../src/tinyState.ts","../../src/StringObject.ts","../../src/noop.ts","../../src/Predicates.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\n\nexport type Predicate<T> = boolean | ((value: T) => boolean);\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vest-utils.development.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/cache.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/asArray.ts","../../src/callEach.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/isPromise.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/defaultTo.ts","../../src/invariant.ts","../../src/isStringValue.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/deferThrow.ts","../../src/bus.ts","../../src/seq.ts","../../src/mapFirst.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/isPositive.ts","../../src/text.ts","../../src/SimpleStateMachine.ts","../../src/nonnullish.ts","../../src/tinyState.ts","../../src/StringObject.ts","../../src/noop.ts","../../src/Predicates.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string = string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string = string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string = string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\nimport { Predicate } from 'utilityTypes';\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vest-utils.production.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/invariant.ts","../../src/bus.ts","../../src/seq.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/text.ts","../../src/tinyState.ts","../../src/Predicates.ts","../../src/SimpleStateMachine.ts","../../src/StringObject.ts","../../src/asArray.ts","../../src/cache.ts","../../src/callEach.ts","../../src/defaultTo.ts","../../src/deferThrow.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/isPositive.ts","../../src/isPromise.ts","../../src/isStringValue.ts","../../src/mapFirst.ts","../../src/nonnullish.ts","../../src/noop.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\n\nexport type Predicate<T> = boolean | ((value: T) => boolean);\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n"],"names":["bindNot","fn","args","isNumeric","value","str","String","num","Number","result","isNaN","parseFloat","isFinite","Boolean","isNotNumeric","numberEquals","eq","numberNotEquals","lengthEquals","arg1","length","lengthNotEquals","greaterThan","gt","longerThan","isNull","isNotNull","isUndefined","undefined","isNotUndefined","isNullish","isNotNullish","hasOwnProperty","obj","key","Object","prototype","call","isFunction","optionalFunctionValue","assign","invariant","condition","message","valueOf","Error","listeners","emit","event","data","getListeners","concat","forEach","handler","on","off","filter","h","seq","genSeq","namespace","n","isObject","v","isArray","Array","isNotArray","isEmpty","keys","isNotEmpty","regexp","initialValue","resetValue","setValue","nextValue","p","every","predicate","some","machine","state","initial","getState","staticTransition","transition","action","payload","from","target","_b","_a","states","_c","conditional","possibleArg","maxSize","cacheStorage","cache","deps","cacheAction","cacheHit","get","unshift","invalidate","index","findIndex","splice","cachedDeps","dep","i","arr","defaultValue","setTimeout","a","b","then","array","callback","broke","breakoutValue","breakout","error","substitutions","first","replace","placeholder","subs","shift"],"mappings":"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"}
1
+ {"version":3,"file":"vest-utils.production.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/invariant.ts","../../src/bus.ts","../../src/seq.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/text.ts","../../src/tinyState.ts","../../src/Predicates.ts","../../src/SimpleStateMachine.ts","../../src/StringObject.ts","../../src/asArray.ts","../../src/cache.ts","../../src/callEach.ts","../../src/defaultTo.ts","../../src/deferThrow.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/isPositive.ts","../../src/isPromise.ts","../../src/isStringValue.ts","../../src/mapFirst.ts","../../src/nonnullish.ts","../../src/noop.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\nimport { Predicate } from 'utilityTypes';\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string = string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string = string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string = string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n"],"names":["bindNot","fn","args","isNumeric","value","str","String","num","Number","result","isNaN","parseFloat","isFinite","Boolean","isNotNumeric","numberEquals","eq","numberNotEquals","lengthEquals","arg1","length","lengthNotEquals","greaterThan","gt","longerThan","isNull","isNotNull","isUndefined","undefined","isNotUndefined","isNullish","isNotNullish","hasOwnProperty","obj","key","Object","prototype","call","isFunction","optionalFunctionValue","assign","invariant","condition","message","valueOf","Error","listeners","emit","event","data","getListeners","concat","forEach","handler","on","off","filter","h","seq","genSeq","namespace","n","isObject","v","isArray","Array","isNotArray","isEmpty","keys","isNotEmpty","regexp","initialValue","resetValue","setValue","nextValue","p","every","predicate","some","machine","state","initial","getState","staticTransition","transition","action","payload","from","target","_b","_a","states","_c","conditional","possibleArg","maxSize","cacheStorage","cache","deps","cacheAction","cacheHit","get","unshift","invalidate","index","findIndex","splice","cachedDeps","dep","i","arr","defaultValue","setTimeout","a","b","then","array","callback","broke","breakoutValue","breakout","error","substitutions","first","replace","placeholder","subs","shift"],"mappings":"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"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.2.0",
2
+ "version": "1.2.2",
3
3
  "name": "vest-utils",
4
4
  "author": "ealush",
5
5
  "scripts": {
@@ -12,6 +12,7 @@ type OneOrMoreOf<T> = T | T[];
12
12
  type DynamicValue<T, Args extends TArgs = TArgs> = T | CB<T, Args>;
13
13
  type BlankValue = Maybe<"">;
14
14
  type TArgs = any[];
15
+ type Predicate<T = any> = boolean | ((value: T) => boolean);
15
16
  /**
16
17
  * Creates a cache function
17
18
  */
@@ -79,6 +80,7 @@ declare namespace bus {
79
80
  type DynamicValue<T, Args extends TArgs = TArgs> = T | CB<T, Args>;
80
81
  type BlankValue = Maybe<"">;
81
82
  type TArgs = any[];
83
+ type Predicate<T = any> = boolean | ((value: T) => boolean);
82
84
  function createBus(): BusType;
83
85
  type OnReturn = {
84
86
  off: CB<void>;
@@ -116,7 +118,7 @@ declare function isPositive(value: number | string): boolean;
116
118
  declare function text(str: string, ...substitutions: Array<unknown>): string;
117
119
  declare const STATE_WILD_CARD = "*";
118
120
  type TStateWildCard = typeof STATE_WILD_CARD;
119
- type TStateMachine<S extends string, A extends S = S> = {
121
+ type TStateMachine<S extends string = string, A extends S = S> = {
120
122
  initial: S;
121
123
  states: Partial<{
122
124
  [key in S & TStateWildCard]: {
@@ -129,13 +131,13 @@ type TStateMachine<S extends string, A extends S = S> = {
129
131
  };
130
132
  }>;
131
133
  };
132
- type TStateMachineApi<S extends string, A extends S = S> = {
134
+ type TStateMachineApi<S extends string = string, A extends S = S> = {
133
135
  getState: CB<S>;
134
136
  initial: CB<S>;
135
137
  staticTransition: (from: S, action: A, payload?: any) => S;
136
138
  transition: (action: A, payload?: any) => void;
137
139
  };
138
- declare function StateMachine<S extends string, A extends S = S>(machine: TStateMachine<S, A>): TStateMachineApi<S, A>;
140
+ declare function StateMachine<S extends string = string, A extends S = S>(machine: TStateMachine<S, A>): TStateMachineApi<S, A>;
139
141
  declare function nonnullish<T>(value: Nullish<T>, error?: string): T;
140
142
  declare namespace tinyState {
141
143
  type DropFirst<T extends unknown[]> = T extends [
@@ -152,6 +154,7 @@ declare namespace tinyState {
152
154
  type DynamicValue<T, Args extends TArgs = TArgs> = T | CB<T, Args>;
153
155
  type BlankValue = Maybe<"">;
154
156
  type TArgs = any[];
157
+ type Predicate<T = any> = boolean | ((value: T) => boolean);
155
158
  function createTinyState<S>(initialValue: SetValueInput<S>): TinyState<S>;
156
159
  type TinyState<S> = () => [
157
160
  value: S,
@@ -167,10 +170,24 @@ declare function StringObject(value?: Stringable): String;
167
170
  // eslint-disable-next-line @typescript-eslint/no-empty-function
168
171
  declare function noop(): void;
169
172
  declare namespace Predicates {
170
- type Predicate<T> = boolean | ((value: T) => boolean);
173
+ type DropFirst<T extends unknown[]> = T extends [
174
+ unknown,
175
+ ...infer U
176
+ ] ? U : never;
177
+ type Stringable = string | CB<string>;
178
+ type CB<T = any, Args extends TArgs = TArgs> = (...args: Args) => T;
179
+ type ValueOf<T> = T[keyof T];
180
+ type Nullish<T = void> = Nullable<T> | Maybe<T>;
181
+ type Nullable<T> = T | null;
182
+ type Maybe<T> = T | undefined | void;
183
+ type OneOrMoreOf<T> = T | T[];
184
+ type DynamicValue<T, Args extends TArgs = TArgs> = T | CB<T, Args>;
185
+ type BlankValue = Maybe<"">;
186
+ type TArgs = any[];
187
+ type Predicate<T = any> = boolean | ((value: T) => boolean);
171
188
  function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean;
172
189
  function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean;
173
190
  }
174
- export { createCache as cache, CacheApi, BusType, TinyState, isNullish, isNotNullish, asArray, callEach, hasOwnProperty, isPromise, optionalFunctionValue, _default as assign, defaultTo, invariant, isStringValue, bindNot, either, isBoolean, deferThrow, bus, seq, genSeq, isFunction, mapFirst, greaterThan, longerThan, isNumeric, isNotNumeric, isObject, lengthEquals, lengthNotEquals, numberEquals, numberNotEquals, isNull, isNotNull, isUndefined, isNotUndefined, isArray, isNotArray, isEmpty, isNotEmpty, isPositive, text, TStateMachine, StateMachine, nonnullish, tinyState, StringObject, noop, Predicates };
175
- export type { Predicate, DropFirst, Stringable, CB, ValueOf, Nullish, Nullable, Maybe, OneOrMoreOf, DynamicValue, BlankValue };
191
+ export { createCache as cache, CacheApi, BusType, TinyState, isNullish, isNotNullish, asArray, callEach, hasOwnProperty, isPromise, optionalFunctionValue, _default as assign, defaultTo, invariant, isStringValue, bindNot, either, isBoolean, deferThrow, bus, seq, genSeq, isFunction, mapFirst, greaterThan, longerThan, isNumeric, isNotNumeric, isObject, lengthEquals, lengthNotEquals, numberEquals, numberNotEquals, isNull, isNotNull, isUndefined, isNotUndefined, isArray, isNotArray, isEmpty, isNotEmpty, isPositive, text, TStateMachine, StateMachine, TStateMachineApi, nonnullish, tinyState, StringObject, noop, Predicates };
192
+ export type { DropFirst, Stringable, CB, ValueOf, Nullish, Nullable, Maybe, OneOrMoreOf, DynamicValue, BlankValue, Predicate };
176
193
  //# sourceMappingURL=vest-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vest-utils.d.ts","sourceRoot":"","sources":["../src/vest-utils.ts","../src/bindNot.ts","../src/isNumeric.ts","../src/numberEquals.ts","../src/lengthEquals.ts","../src/greaterThan.ts","../src/longerThan.ts","../src/utilityTypes.ts","../src/cache.ts","../src/bus.ts","../src/isFunction.ts","../src/optionalFunctionValue.ts","../src/tinyState.ts","../src/isNull.ts","../src/isUndefined.ts","../src/isNullish.ts","../src/asArray.ts","../src/callEach.ts","../src/hasOwnProperty.ts","../src/isPromise.ts","../src/assign.ts","../src/defaultTo.ts","../src/invariant.ts","../src/isStringValue.ts","../src/either.ts","../src/isBooleanValue.ts","../src/deferThrow.ts","../src/seq.ts","../src/mapFirst.ts","../src/valueIsObject.ts","../src/isArrayValue.ts","../src/isEmpty.ts","../src/isPositive.ts","../src/text.ts","../src/SimpleStateMachine.ts","../src/nonnullish.ts","../src/StringObject.ts","../src/noop.ts","../src/Predicates.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,ulBAA8B,CAAc;AAwCnD,YAAY,kHAAa,CAAmB"}
1
+ {"version":3,"file":"vest-utils.d.ts","sourceRoot":"","sources":["../src/vest-utils.ts","../src/bindNot.ts","../src/isNumeric.ts","../src/numberEquals.ts","../src/lengthEquals.ts","../src/greaterThan.ts","../src/longerThan.ts","../src/utilityTypes.ts","../src/cache.ts","../src/bus.ts","../src/isFunction.ts","../src/optionalFunctionValue.ts","../src/tinyState.ts","../src/isNull.ts","../src/isUndefined.ts","../src/isNullish.ts","../src/asArray.ts","../src/callEach.ts","../src/hasOwnProperty.ts","../src/isPromise.ts","../src/assign.ts","../src/defaultTo.ts","../src/invariant.ts","../src/isStringValue.ts","../src/either.ts","../src/isBooleanValue.ts","../src/deferThrow.ts","../src/seq.ts","../src/mapFirst.ts","../src/valueIsObject.ts","../src/isArrayValue.ts","../src/isEmpty.ts","../src/isPositive.ts","../src/text.ts","../src/SimpleStateMachine.ts","../src/nonnullish.ts","../src/StringObject.ts","../src/noop.ts","../src/Predicates.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,ymBAA8B,CAAc;AA4CnD,YAAY,kHAYX,CAAqB"}