vest-utils 1.2.12 → 1.2.14-dev-20240617-b233

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.
@@ -324,6 +324,10 @@ var Predicates = /*#__PURE__*/Object.freeze({
324
324
  any: any
325
325
  });
326
326
 
327
+ function freezeAssign(...args) {
328
+ return Object.freeze(assign(...args));
329
+ }
330
+
327
331
  exports.Predicates = Predicates;
328
332
  exports.StateMachine = StateMachine;
329
333
  exports.StringObject = StringObject;
@@ -336,6 +340,7 @@ exports.callEach = callEach;
336
340
  exports.defaultTo = defaultTo;
337
341
  exports.deferThrow = deferThrow;
338
342
  exports.either = either;
343
+ exports.freezeAssign = freezeAssign;
339
344
  exports.genSeq = genSeq;
340
345
  exports.greaterThan = greaterThan;
341
346
  exports.hasOwnProperty = hasOwnProperty;
@@ -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 = 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
+ {"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","../../src/freezeAssign.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","import assign from 'assign';\n\nexport function freezeAssign<T extends object>(...args: Partial<T>[]): T {\n return Object.freeze(assign(...(args as [Partial<T>])));\n}\n"],"names":[],"mappings":";;AAAwB,SAAA,OAAO,CAAwC,EAAK,EAAA;AAC1E,IAAA,OAAO,CAAC,GAAG,IAAmB,KAAc,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3D;;ACAM,SAAU,SAAS,CAAC,KAAsB,EAAA;AAC9C,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1B,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,MAAM,GACV,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;AACpE,IAAA,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;MAEY,YAAY,GAAG,OAAO,CAAC,SAAS;;ACP7B,SAAA,YAAY,CAC1B,KAAsB,EACtB,EAAmB,EAAA;AAEnB,IAAA,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3E,CAAC;MAEY,eAAe,GAAG,OAAO,CAAC,YAAY;;ACPnC,SAAA,YAAY,CAC1B,KAAyB,EACzB,IAAqB,EAAA;IAErB,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;MAEY,eAAe,GAAG,OAAO,CAAC,YAAY;;ACRnC,SAAA,WAAW,CACzB,KAAsB,EACtB,EAAmB,EAAA;AAEnB,IAAA,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AACzE;;ACLgB,SAAA,UAAU,CACxB,KAAyB,EACzB,IAAqB,EAAA;IAErB,OAAO,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzC;;ACHA;;AAEG;AACW,SAAU,WAAW,CAAc,OAAO,GAAG,CAAC,EAAA;IAC1D,MAAM,YAAY,GAA0B,EAAE,CAAC;AAE/C,IAAA,MAAM,KAAK,GAAG,CACZ,IAAe,EACf,WAAsC,KACjC;QACL,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;AAEjC,QAAA,IAAI,QAAQ;AAAE,YAAA,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEjC,QAAA,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;AAC7B,QAAA,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9C,QAAA,IAAI,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC;AAAE,YAAA,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC;AAErE,QAAA,OAAO,MAAM,CAAC;AAChB,KAAC,CAAC;;AAGF,IAAA,KAAK,CAAC,UAAU,GAAG,CAAC,IAAW,KAAU;AACvC,QAAA,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;AAAE,YAAA,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAChD,KAAC,CAAC;;AAGF,IAAA,KAAK,CAAC,GAAG,GAAG,CAAC,IAAe,KAC1B,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;AAExC,IAAA,OAAO,KAAK,CAAC;IAEb,SAAS,SAAS,CAAC,IAAe,EAAA;AAChC,QAAA,OAAO,YAAY,CAAC,SAAS,CAC3B,CAAC,CAAC,UAAU,CAAC,KACX,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;AACrC,YAAA,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAChD,CAAC;KACH;AACH;;AC3CM,SAAU,MAAM,CAAC,KAAc,EAAA;IACnC,OAAO,KAAK,KAAK,IAAI,CAAC;AACxB,CAAC;MAEY,SAAS,GAAG,OAAO,CAAC,MAAM;;ACJjC,SAAU,WAAW,CAAC,KAAe,EAAA;IACzC,OAAO,KAAK,KAAK,SAAS,CAAC;AAC7B,CAAC;MAEY,cAAc,GAAG,OAAO,CAAC,WAAW;;ACD3C,SAAU,SAAS,CAAC,KAAU,EAAA;IAClC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;MAEY,YAAY,GAAG,OAAO,CAAC,SAAS;;ACTrB,SAAA,OAAO,CAAI,WAAoB,EAAA;AACrD,IAAA,OAAQ,EAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACzC;;ACAwB,SAAA,QAAQ,CAAC,GAAS,EAAA;IACxC,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACjC;;ACJA;;AAEG;AACW,SAAU,cAAc,CACpC,GAAM,EACN,GAA6B,EAAA;AAE7B,IAAA,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACxD;;ACRwB,SAAA,UAAU,CAChC,KAAc,EAAA;AAEd,IAAA,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC;;ACFwB,SAAA,SAAS,CAAC,KAAU,EAAA;IAC1C,OAAO,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3C;;ACDwB,SAAA,qBAAqB,CAC3C,KAAsB,EACtB,GAAG,IAAe,EAAA;AAElB,IAAA,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;AACpD;;ACRA,aAAe,MAAM,CAAC,MAAM;;ACGd,SAAU,SAAS,CAC/B,KAA+B,EAC/B,YAA6B,EAAA;;IAE7B,OAAO,CAAA,EAAA,GAAA,qBAAqB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,YAAY,CAAC,CAAC;AAC7E;;ACLwB,SAAA,SAAS,CAC/B,SAAc;AACd;AACA,OAA6B,EAAA;AAE7B,IAAA,IAAI,SAAS,EAAE;QACb,OAAO;AACR,KAAA;;;;IAKD,MAAM,OAAO,YAAY,MAAM;AAC7B,UAAE,OAAO,CAAC,OAAO,EAAE;AACnB,UAAE,IAAI,KAAK,CAAC,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACpE;;AClBwB,SAAA,aAAa,CAAC,CAAU,EAAA;AAC9C,IAAA,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACzB;;ACFc,SAAU,MAAM,CAAC,CAAU,EAAE,CAAU,EAAA;AACnD,IAAA,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrB;;ACFwB,SAAA,SAAS,CAAC,KAAc,EAAA;AAC9C,IAAA,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;AAC3B;;ACFwB,SAAA,UAAU,CAAC,OAAgB,EAAA;IACjD,UAAU,CAAC,MAAK;AACd,QAAA,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;KAC1B,EAAE,CAAC,CAAC,CAAC;AACR;;ACFA,MAAM,cAAc,GAAG,GAAG,CAAC;SAEX,SAAS,GAAA;IACvB,MAAM,SAAS,GAAyB,EAAE,CAAC;IAE3C,OAAO;QACL,IAAI,CAAC,KAAa,EAAE,IAAU,EAAA;YAC5B,YAAY,CAAC,KAAK,CAAC;AAChB,iBAAA,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;iBACpC,OAAO,CAAC,OAAO,IAAG;gBACjB,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,aAAC,CAAC,CAAC;SACN;QAED,EAAE,CAAC,KAAa,EAAE,OAAW,EAAA;AAC3B,YAAA,SAAS,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAEvD,OAAO;gBACL,GAAG,GAAA;AACD,oBAAA,SAAS,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC;iBACnE;aACF,CAAC;SACH;KACF,CAAC;IAEF,SAAS,YAAY,CAAC,KAAa,EAAA;AACjC,QAAA,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KAC/B;AACH;;;;;;;AC9BA;;AAEG;AAIH,MAAM,GAAG,GAAG,MAAM,GAAG;AAIf,SAAU,MAAM,CAAC,SAAkB,EAAA;AACvC,IAAA,OAAO,CACL,CAAC,CAAS,KAAK,MACb,CAAA,EAAG,SAAS,GAAG,SAAS,GAAG,GAAG,GAAG,EAAE,CAAA,EAAG,CAAC,EAAE,CAAE,CAAA,EAC7C,CAAC,CAAC,CAAC;AACP;;ACfc,SAAU,QAAQ,CAC9B,KAAU,EACV,QAIY,EAAA;IAEZ,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,aAAa,GAAG,IAAI,CAAC;AACzB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAEhC,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,OAAO,aAAa,CAAC;AACtB,SAAA;AACF,KAAA;AAED,IAAA,SAAS,QAAQ,CAAC,WAAoB,EAAE,KAAc,EAAA;AACpD,QAAA,IAAI,WAAW,EAAE;YACf,KAAK,GAAG,IAAI,CAAC;YACb,aAAa,GAAG,KAAK,CAAC;AACvB,SAAA;KACF;AACH;;ACtBM,SAAU,QAAQ,CAAC,CAAM,EAAA;IAC7B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAChD;;ACFA;AACA;AACA;AAEM,SAAU,OAAO,CAAC,KAAc,EAAA;IACpC,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACvC,CAAC;MAEY,UAAU,GAAG,OAAO,CAAC,OAAO;;ACLnC,SAAU,OAAO,CAAC,KAAc,EAAA;IACpC,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AAAM,SAAA,IAAI,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;AAC1C,QAAA,OAAO,YAAY,CAAC,KAA2B,EAAE,CAAC,CAAC,CAAC;AACrD,KAAA;AAAM,SAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC1B,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvE,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;MAEY,UAAU,GAAG,OAAO,CAAC,OAAO;;ACfnC,SAAU,UAAU,CAAC,KAAsB,EAAA;AAC/C,IAAA,OAAO,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC/B;;ACDA,MAAM,MAAM,GAAG,UAAU,CAAC;SAEV,IAAI,CAAC,GAAW,EAAE,GAAG,aAA6B,EAAA;AAChE,IAAA,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAE/B,IAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;QACnB,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,GAAW,KAAI;;YACtD,OAAO,CAAA,EAAG,MAAA,KAAK,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,WAAW,CAAA,CAAE,CAAC;AACxC,SAAC,CAAC,CAAC;AACJ,KAAA;AAED,IAAA,MAAM,IAAI,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;IAEhC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,IAAG;AACvC,QAAA,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;AACzD,KAAC,CAAC,CAAC;AACL;;ACjBA,MAAM,eAAe,GAAG,GAAG,CAAC;AAmBtB,SAAU,YAAY,CAC1B,OAA4B,EAAA;AAE5B,IAAA,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAE5B,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAEhE,IAAA,OAAO,GAAG,CAAC;AAEX,IAAA,SAAS,QAAQ,GAAA;AACf,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,SAAS,OAAO,GAAA;QACd,OAAO,OAAO,CAAC,OAAO,CAAC;KACxB;AAED,IAAA,SAAS,UAAU,CAAC,MAAS,EAAE,OAAa,EAAA;AAC1C,QAAA,QAAQ,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;KAC3D;;AAGD,IAAA,SAAS,gBAAgB,CAAC,IAAO,EAAE,MAAS,EAAE,OAAa,EAAA;;AACzD,QAAA,MAAM,YAAY,GAChB,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA;;QAE9B,CAAA,EAAA,GAAA,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAG,MAAM,CAAC,CAAC;QAE5C,IAAI,MAAM,GAAG,YAAY,CAAC;AAE1B,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACzB,YAAA,MAAM,GAAG,WAAW,CAAC,GAAG,MAAM,CAAC;AAC/B,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;AACzB,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AAED,YAAA,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACpB,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE;AAC9B,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,OAAO,MAAW,CAAC;KACpB;AACH;;AC7DgB,SAAA,UAAU,CAAI,KAAiB,EAAE,KAAc,EAAA;IAC7D,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;AAEpC,IAAA,OAAO,KAAK,CAAC;AACf;;ACNM,SAAU,eAAe,CAC7B,YAA8B,EAAA;AAE9B,IAAA,IAAI,KAAQ,CAAC;AAEb,IAAA,UAAU,EAAE,CAAC;IAEb,OAAO,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE3C,SAAS,QAAQ,CAAC,SAA2B,EAAA;AAC3C,QAAA,KAAK,GAAG,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACjD;AAED,IAAA,SAAS,UAAU,GAAA;AACjB,QAAA,QAAQ,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC;KAC/C;AACH;;;;;;;AChBA;AACM,SAAU,YAAY,CAAC,KAAkB,EAAA;IAC7C,OAAO,IAAI,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;AAClD;;ACNA;AACM,SAAU,IAAI,GAAA;;ACGJ,SAAA,GAAG,CAAU,GAAG,CAAiB,EAAA;IAC/C,OAAO,CAAC,KAAQ,KACd,OAAO,CAAC,CAAC,CAAC;AACR,UAAE,KAAK;AACP,UAAE,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACtE,CAAC;AAEe,SAAA,GAAG,CAAU,GAAG,CAAiB,EAAA;IAC/C,OAAO,CAAC,KAAQ,KACd,OAAO,CAAC,CAAC,CAAC;AACR,UAAE,KAAK;AACP,UAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACrE;;;;;;;;ACdgB,SAAA,YAAY,CAAmB,GAAG,IAAkB,EAAA;IAClE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAI,IAAqB,CAAC,CAAC,CAAC;AAC1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";function t(t){return(...n)=>!t(...n)}function n(t){const n=String(t),r=Number(t),e=!isNaN(parseFloat(n))&&!isNaN(Number(t))&&isFinite(r);return Boolean(e)}const r=t(n);function e(t,r){return n(t)&&n(r)&&Number(t)===Number(r)}const o=t(e);function i(t,n){return e(t.length,n)}const u=t(i);function s(t,r){return n(t)&&n(r)&&Number(t)>Number(r)}function c(t,n){return s(t.length,n)}function a(t){return null===t}const f=t(a);function l(t){return void 0===t}const p=t(l);function x(t){return a(t)||l(t)}const h=t(x);function N(t,n){return Object.prototype.hasOwnProperty.call(t,n)}function g(t){return"function"==typeof t}function v(t,...n){return g(t)?t(...n):t}var y=Object.assign;function b(t,n){if(!t)throw n instanceof String?n.valueOf():new Error(n?v(n):n)}var d=Object.freeze({__proto__:null,createBus:function(){const t={};return{emit(t,r){n(t).concat(n("*")).forEach((t=>{t(r)}))},on:(r,e)=>(t[r]=n(r).concat(e),{off(){t[r]=n(r).filter((t=>t!==e))}})};function n(n){return t[n]||[]}}});const m=_();function _(t){return n=0,()=>`${t?t+"_":""}${n++}`;var n}function E(t){return"object"==typeof t&&!x(t)}function O(t){return Boolean(Array.isArray(t))}const S=t(O);function j(t){return!t||(N(t,"length")?i(t,0):!!E(t)&&i(Object.keys(t),0))}const w=t(j);const A=/{(.*?)}/g;var T=Object.freeze({__proto__:null,createTinyState:function(t){let n;return e(),()=>[n,r,e];function r(t){n=v(t,n)}function e(){r(v(t))}}});var q=Object.freeze({__proto__:null,all:function(...t){return n=>!j(t)&&t.every((t=>v(t,n)))},any:function(...t){return n=>!j(t)&&t.some((t=>v(t,n)))}});exports.Predicates=q,exports.StateMachine=function(t){let n=t.initial;return{getState:function(){return n},initial:function(){return t.initial},staticTransition:r,transition:function(t,e){return n=r(n,t,e)}};function r(n,r,e){var o,i,u;let s=null!==(i=null===(o=t.states[n])||void 0===o?void 0:o[r])&&void 0!==i?i:null===(u=t.states["*"])||void 0===u?void 0:u[r];if(Array.isArray(s)){const[,t]=s;if(!t(e))return n;s=s[0]}return s&&s!==n?s:n}},exports.StringObject=function(t){return new String(v(t))},exports.asArray=function(t){return[].concat(t)},exports.assign=y,exports.bindNot=t,exports.bus=d,exports.cache=function(t=1){const n=[],r=(e,o)=>{const i=r.get(e);if(i)return i[1];const u=o();return n.unshift([e.concat(),u]),c(n,t)&&(n.length=t),u};return r.invalidate=t=>{const r=e(t);r>-1&&n.splice(r,1)},r.get=t=>n[e(t)]||null,r;function e(t){return n.findIndex((([n])=>i(t,n.length)&&t.every(((t,r)=>t===n[r]))))}},exports.callEach=function(t){return t.forEach((t=>t()))},exports.defaultTo=function(t,n){var r;return null!==(r=v(t))&&void 0!==r?r:v(n)},exports.deferThrow=function(t){setTimeout((()=>{throw new Error(t)}),0)},exports.either=function(t,n){return!!t!=!!n},exports.genSeq=_,exports.greaterThan=s,exports.hasOwnProperty=N,exports.invariant=b,exports.isArray=O,exports.isBoolean=function(t){return!!t===t},exports.isEmpty=j,exports.isFunction=g,exports.isNotArray=S,exports.isNotEmpty=w,exports.isNotNull=f,exports.isNotNullish=h,exports.isNotNumeric=r,exports.isNotUndefined=p,exports.isNull=a,exports.isNullish=x,exports.isNumeric=n,exports.isObject=E,exports.isPositive=function(t){return s(t,0)},exports.isPromise=function(t){return!!t&&g(t.then)},exports.isStringValue=function(t){return String(t)===t},exports.isUndefined=l,exports.lengthEquals=i,exports.lengthNotEquals=u,exports.longerThan=c,exports.mapFirst=function(t,n){let r=!1,e=null;for(let i=0;i<t.length;i++)if(n(t[i],o,i),r)return e;function o(t,n){t&&(r=!0,e=n)}},exports.nonnullish=function(t,n){return b(!x(t),n),t},exports.noop=function(){},exports.numberEquals=e,exports.numberNotEquals=o,exports.optionalFunctionValue=v,exports.seq=m,exports.text=function(t,...n){const r=n[0];if(E(r))return t.replace(A,((t,n)=>{var e;return`${null!==(e=r[n])&&void 0!==e?e:t}`}));const e=[...n];return t.replace(A,(t=>`${j(e)?t:e.shift()}`))},exports.tinyState=T;
1
+ "use strict";function t(t){return(...n)=>!t(...n)}function n(t){const n=String(t),r=Number(t),e=!isNaN(parseFloat(n))&&!isNaN(Number(t))&&isFinite(r);return Boolean(e)}const r=t(n);function e(t,r){return n(t)&&n(r)&&Number(t)===Number(r)}const o=t(e);function i(t,n){return e(t.length,n)}const u=t(i);function s(t,r){return n(t)&&n(r)&&Number(t)>Number(r)}function c(t,n){return s(t.length,n)}function f(t){return null===t}const a=t(f);function l(t){return void 0===t}const p=t(l);function x(t){return f(t)||l(t)}const h=t(x);function N(t,n){return Object.prototype.hasOwnProperty.call(t,n)}function g(t){return"function"==typeof t}function v(t,...n){return g(t)?t(...n):t}var b=Object.assign;function y(t,n){if(!t)throw n instanceof String?n.valueOf():new Error(n?v(n):n)}var d=Object.freeze({__proto__:null,createBus:function(){const t={};return{emit(t,r){n(t).concat(n("*")).forEach((t=>{t(r)}))},on:(r,e)=>(t[r]=n(r).concat(e),{off(){t[r]=n(r).filter((t=>t!==e))}})};function n(n){return t[n]||[]}}});const m=_();function _(t){return n=0,()=>`${t?t+"_":""}${n++}`;var n}function O(t){return"object"==typeof t&&!x(t)}function E(t){return Boolean(Array.isArray(t))}const S=t(E);function j(t){return!t||(N(t,"length")?i(t,0):!!O(t)&&i(Object.keys(t),0))}const w=t(j);const A=/{(.*?)}/g;var T=Object.freeze({__proto__:null,createTinyState:function(t){let n;return e(),()=>[n,r,e];function r(t){n=v(t,n)}function e(){r(v(t))}}});var q=Object.freeze({__proto__:null,all:function(...t){return n=>!j(t)&&t.every((t=>v(t,n)))},any:function(...t){return n=>!j(t)&&t.some((t=>v(t,n)))}});exports.Predicates=q,exports.StateMachine=function(t){let n=t.initial;return{getState:function(){return n},initial:function(){return t.initial},staticTransition:r,transition:function(t,e){return n=r(n,t,e)}};function r(n,r,e){var o,i,u;let s=null!==(i=null===(o=t.states[n])||void 0===o?void 0:o[r])&&void 0!==i?i:null===(u=t.states["*"])||void 0===u?void 0:u[r];if(Array.isArray(s)){const[,t]=s;if(!t(e))return n;s=s[0]}return s&&s!==n?s:n}},exports.StringObject=function(t){return new String(v(t))},exports.asArray=function(t){return[].concat(t)},exports.assign=b,exports.bindNot=t,exports.bus=d,exports.cache=function(t=1){const n=[],r=(e,o)=>{const i=r.get(e);if(i)return i[1];const u=o();return n.unshift([e.concat(),u]),c(n,t)&&(n.length=t),u};return r.invalidate=t=>{const r=e(t);r>-1&&n.splice(r,1)},r.get=t=>n[e(t)]||null,r;function e(t){return n.findIndex((([n])=>i(t,n.length)&&t.every(((t,r)=>t===n[r]))))}},exports.callEach=function(t){return t.forEach((t=>t()))},exports.defaultTo=function(t,n){var r;return null!==(r=v(t))&&void 0!==r?r:v(n)},exports.deferThrow=function(t){setTimeout((()=>{throw new Error(t)}),0)},exports.either=function(t,n){return!!t!=!!n},exports.freezeAssign=function(...t){return Object.freeze(b(...t))},exports.genSeq=_,exports.greaterThan=s,exports.hasOwnProperty=N,exports.invariant=y,exports.isArray=E,exports.isBoolean=function(t){return!!t===t},exports.isEmpty=j,exports.isFunction=g,exports.isNotArray=S,exports.isNotEmpty=w,exports.isNotNull=a,exports.isNotNullish=h,exports.isNotNumeric=r,exports.isNotUndefined=p,exports.isNull=f,exports.isNullish=x,exports.isNumeric=n,exports.isObject=O,exports.isPositive=function(t){return s(t,0)},exports.isPromise=function(t){return!!t&&g(t.then)},exports.isStringValue=function(t){return String(t)===t},exports.isUndefined=l,exports.lengthEquals=i,exports.lengthNotEquals=u,exports.longerThan=c,exports.mapFirst=function(t,n){let r=!1,e=null;for(let i=0;i<t.length;i++)if(n(t[i],o,i),r)return e;function o(t,n){t&&(r=!0,e=n)}},exports.nonnullish=function(t,n){return y(!x(t),n),t},exports.noop=function(){},exports.numberEquals=e,exports.numberNotEquals=o,exports.optionalFunctionValue=v,exports.seq=m,exports.text=function(t,...n){const r=n[0];if(O(r))return t.replace(A,((t,n)=>{var e;return`${null!==(e=r[n])&&void 0!==e?e:t}`}));const e=[...n];return t.replace(A,(t=>`${j(e)?t:e.shift()}`))},exports.tinyState=T;
2
2
  //# sourceMappingURL=vest-utils.production.js.map
@@ -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';\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
+ {"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/freezeAssign.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","import assign from 'assign';\n\nexport function freezeAssign<T extends object>(...args: Partial<T>[]): T {\n return Object.freeze(assign(...(args as [Partial<T>])));\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","freeze","then","array","callback","broke","breakoutValue","breakout","error","substitutions","first","replace","placeholder","subs","shift"],"mappings":"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"}
@@ -322,5 +322,9 @@ var Predicates = /*#__PURE__*/Object.freeze({
322
322
  any: any
323
323
  });
324
324
 
325
- export { Predicates, StateMachine, StringObject, asArray, assign, bindNot, bus, createCache as cache, callEach, defaultTo, deferThrow, either, genSeq, greaterThan, hasOwnProperty, invariant, isArray, isBoolean, isEmpty, isFunction, isNotArray, isNotEmpty, isNotNull, isNotNullish, isNotNumeric, isNotUndefined, isNull, isNullish, isNumeric, isObject, isPositive, isPromise, isStringValue, isUndefined, lengthEquals, lengthNotEquals, longerThan, mapFirst, nonnullish, noop, numberEquals, numberNotEquals, optionalFunctionValue, seq, text, tinyState };
325
+ function freezeAssign(...args) {
326
+ return Object.freeze(assign(...args));
327
+ }
328
+
329
+ export { Predicates, StateMachine, StringObject, asArray, assign, bindNot, bus, createCache as cache, callEach, defaultTo, deferThrow, either, freezeAssign, genSeq, greaterThan, hasOwnProperty, invariant, isArray, isBoolean, isEmpty, isFunction, isNotArray, isNotEmpty, isNotNull, isNotNullish, isNotNumeric, isNotUndefined, isNull, isNullish, isNumeric, isObject, isPositive, isPromise, isStringValue, isUndefined, lengthEquals, lengthNotEquals, longerThan, mapFirst, nonnullish, noop, numberEquals, numberNotEquals, optionalFunctionValue, seq, text, tinyState };
326
330
  //# sourceMappingURL=vest-utils.development.js.map
@@ -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 = 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
+ {"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","../../src/freezeAssign.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","import assign from 'assign';\n\nexport function freezeAssign<T extends object>(...args: Partial<T>[]): T {\n return Object.freeze(assign(...(args as [Partial<T>])));\n}\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- function n(n){return(...t)=>!n(...t)}function t(n){const t=String(n),r=Number(n),e=!isNaN(parseFloat(t))&&!isNaN(Number(n))&&isFinite(r);return Boolean(e)}const r=n(t);function e(n,r){return t(n)&&t(r)&&Number(n)===Number(r)}const u=n(e);function o(n,t){return e(n.length,t)}const i=n(o);function c(n,r){return t(n)&&t(r)&&Number(n)>Number(r)}function f(n,t){return c(n.length,t)}function a(n=1){const t=[],r=(e,u)=>{const o=r.get(e);if(o)return o[1];const i=u();return t.unshift([e.concat(),i]),f(t,n)&&(t.length=n),i};return r.invalidate=n=>{const r=e(n);r>-1&&t.splice(r,1)},r.get=n=>t[e(n)]||null,r;function e(n){return t.findIndex((([t])=>o(n,t.length)&&n.every(((n,r)=>n===t[r]))))}}function l(n){return null===n}const s=n(l);function v(n){return void 0===n}const g=n(v);function h(n){return l(n)||v(n)}const b=n(h);function p(n){return[].concat(n)}function y(n){return n.forEach((n=>n()))}function _(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function d(n){return"function"==typeof n}function N(n){return!!n&&d(n.then)}function m(n,...t){return d(n)?n(...t):n}var O=Object.assign;function j(n,t){var r;return null!==(r=m(n))&&void 0!==r?r:m(t)}function w(n,t){if(!n)throw t instanceof String?t.valueOf():new Error(t?m(t):t)}function S(n){return String(n)===n}function A(n,t){return!!n!=!!t}function E(n){return!!n===n}function $(n){setTimeout((()=>{throw new Error(n)}),0)}var z=Object.freeze({__proto__:null,createBus:function(){const n={};return{emit(n,r){t(n).concat(t("*")).forEach((n=>{n(r)}))},on:(r,e)=>(n[r]=t(r).concat(e),{off(){n[r]=t(r).filter((n=>n!==e))}})};function t(t){return n[t]||[]}}});const B=T();function T(n){return t=0,()=>`${n?n+"_":""}${t++}`;var t}function x(n,t){let r=!1,e=null;for(let o=0;o<n.length;o++)if(t(n[o],u,o),r)return e;function u(n,t){n&&(r=!0,e=t)}}function F(n){return"object"==typeof n&&!h(n)}function k(n){return Boolean(Array.isArray(n))}const I=n(k);function P(n){return!n||(_(n,"length")?o(n,0):!!F(n)&&o(Object.keys(n),0))}const q=n(P);function C(n){return c(n,0)}const D=/{(.*?)}/g;function G(n,...t){const r=t[0];if(F(r))return n.replace(D,((n,t)=>{var e;return`${null!==(e=r[t])&&void 0!==e?e:n}`}));const e=[...t];return n.replace(D,(n=>`${P(e)?n:e.shift()}`))}function H(n){let t=n.initial;return{getState:function(){return t},initial:function(){return n.initial},staticTransition:r,transition:function(n,e){return t=r(t,n,e)}};function r(t,r,e){var u,o,i;let c=null!==(o=null===(u=n.states[t])||void 0===u?void 0:u[r])&&void 0!==o?o:null===(i=n.states["*"])||void 0===i?void 0:i[r];if(Array.isArray(c)){const[,n]=c;if(!n(e))return t;c=c[0]}return c&&c!==t?c:t}}function J(n,t){return w(!h(n),t),n}var K=Object.freeze({__proto__:null,createTinyState:function(n){let t;return e(),()=>[t,r,e];function r(n){t=m(n,t)}function e(){r(m(n))}}});function L(n){return new String(m(n))}function M(){}var Q=Object.freeze({__proto__:null,all:function(...n){return t=>!P(n)&&n.every((n=>m(n,t)))},any:function(...n){return t=>!P(n)&&n.some((n=>m(n,t)))}});export{Q as Predicates,H as StateMachine,L as StringObject,p as asArray,O as assign,n as bindNot,z as bus,a as cache,y as callEach,j as defaultTo,$ as deferThrow,A as either,T as genSeq,c as greaterThan,_ as hasOwnProperty,w as invariant,k as isArray,E as isBoolean,P as isEmpty,d as isFunction,I as isNotArray,q as isNotEmpty,s as isNotNull,b as isNotNullish,r as isNotNumeric,g as isNotUndefined,l as isNull,h as isNullish,t as isNumeric,F as isObject,C as isPositive,N as isPromise,S as isStringValue,v as isUndefined,o as lengthEquals,i as lengthNotEquals,f as longerThan,x as mapFirst,J as nonnullish,M as noop,e as numberEquals,u as numberNotEquals,m as optionalFunctionValue,B as seq,G as text,K as tinyState};
1
+ function n(n){return(...t)=>!n(...t)}function t(n){const t=String(n),r=Number(n),e=!isNaN(parseFloat(t))&&!isNaN(Number(n))&&isFinite(r);return Boolean(e)}const r=n(t);function e(n,r){return t(n)&&t(r)&&Number(n)===Number(r)}const u=n(e);function o(n,t){return e(n.length,t)}const i=n(o);function c(n,r){return t(n)&&t(r)&&Number(n)>Number(r)}function f(n,t){return c(n.length,t)}function a(n=1){const t=[],r=(e,u)=>{const o=r.get(e);if(o)return o[1];const i=u();return t.unshift([e.concat(),i]),f(t,n)&&(t.length=n),i};return r.invalidate=n=>{const r=e(n);r>-1&&t.splice(r,1)},r.get=n=>t[e(n)]||null,r;function e(n){return t.findIndex((([t])=>o(n,t.length)&&n.every(((n,r)=>n===t[r]))))}}function l(n){return null===n}const s=n(l);function v(n){return void 0===n}const g=n(v);function h(n){return l(n)||v(n)}const b=n(h);function p(n){return[].concat(n)}function y(n){return n.forEach((n=>n()))}function _(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function d(n){return"function"==typeof n}function N(n){return!!n&&d(n.then)}function m(n,...t){return d(n)?n(...t):n}var O=Object.assign;function j(n,t){var r;return null!==(r=m(n))&&void 0!==r?r:m(t)}function w(n,t){if(!n)throw t instanceof String?t.valueOf():new Error(t?m(t):t)}function S(n){return String(n)===n}function z(n,t){return!!n!=!!t}function A(n){return!!n===n}function E(n){setTimeout((()=>{throw new Error(n)}),0)}var $=Object.freeze({__proto__:null,createBus:function(){const n={};return{emit(n,r){t(n).concat(t("*")).forEach((n=>{n(r)}))},on:(r,e)=>(n[r]=t(r).concat(e),{off(){n[r]=t(r).filter((n=>n!==e))}})};function t(t){return n[t]||[]}}});const B=T();function T(n){return t=0,()=>`${n?n+"_":""}${t++}`;var t}function x(n,t){let r=!1,e=null;for(let o=0;o<n.length;o++)if(t(n[o],u,o),r)return e;function u(n,t){n&&(r=!0,e=t)}}function F(n){return"object"==typeof n&&!h(n)}function k(n){return Boolean(Array.isArray(n))}const I=n(k);function P(n){return!n||(_(n,"length")?o(n,0):!!F(n)&&o(Object.keys(n),0))}const q=n(P);function C(n){return c(n,0)}const D=/{(.*?)}/g;function G(n,...t){const r=t[0];if(F(r))return n.replace(D,((n,t)=>{var e;return`${null!==(e=r[t])&&void 0!==e?e:n}`}));const e=[...t];return n.replace(D,(n=>`${P(e)?n:e.shift()}`))}function H(n){let t=n.initial;return{getState:function(){return t},initial:function(){return n.initial},staticTransition:r,transition:function(n,e){return t=r(t,n,e)}};function r(t,r,e){var u,o,i;let c=null!==(o=null===(u=n.states[t])||void 0===u?void 0:u[r])&&void 0!==o?o:null===(i=n.states["*"])||void 0===i?void 0:i[r];if(Array.isArray(c)){const[,n]=c;if(!n(e))return t;c=c[0]}return c&&c!==t?c:t}}function J(n,t){return w(!h(n),t),n}var K=Object.freeze({__proto__:null,createTinyState:function(n){let t;return e(),()=>[t,r,e];function r(n){t=m(n,t)}function e(){r(m(n))}}});function L(n){return new String(m(n))}function M(){}var Q=Object.freeze({__proto__:null,all:function(...n){return t=>!P(n)&&n.every((n=>m(n,t)))},any:function(...n){return t=>!P(n)&&n.some((n=>m(n,t)))}});function R(...n){return Object.freeze(O(...n))}export{Q as Predicates,H as StateMachine,L as StringObject,p as asArray,O as assign,n as bindNot,$ as bus,a as cache,y as callEach,j as defaultTo,E as deferThrow,z as either,R as freezeAssign,T as genSeq,c as greaterThan,_ as hasOwnProperty,w as invariant,k as isArray,A as isBoolean,P as isEmpty,d as isFunction,I as isNotArray,q as isNotEmpty,s as isNotNull,b as isNotNullish,r as isNotNumeric,g as isNotUndefined,l as isNull,h as isNullish,t as isNumeric,F as isObject,C as isPositive,N as isPromise,S as isStringValue,v as isUndefined,o as lengthEquals,i as lengthNotEquals,f as longerThan,x as mapFirst,J as nonnullish,M as noop,e as numberEquals,u as numberNotEquals,m as optionalFunctionValue,B as seq,G as text,K as tinyState};
2
2
  //# sourceMappingURL=vest-utils.production.js.map
@@ -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 = 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
+ {"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","../../src/freezeAssign.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","import assign from 'assign';\n\nexport function freezeAssign<T extends object>(...args: Partial<T>[]): T {\n return Object.freeze(assign(...(args as [Partial<T>])));\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","freezeAssign","freeze"],"mappings":"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"}
@@ -328,6 +328,10 @@
328
328
  any: any
329
329
  });
330
330
 
331
+ function freezeAssign(...args) {
332
+ return Object.freeze(assign(...args));
333
+ }
334
+
331
335
  exports.Predicates = Predicates;
332
336
  exports.StateMachine = StateMachine;
333
337
  exports.StringObject = StringObject;
@@ -340,6 +344,7 @@
340
344
  exports.defaultTo = defaultTo;
341
345
  exports.deferThrow = deferThrow;
342
346
  exports.either = either;
347
+ exports.freezeAssign = freezeAssign;
343
348
  exports.genSeq = genSeq;
344
349
  exports.greaterThan = greaterThan;
345
350
  exports.hasOwnProperty = hasOwnProperty;
@@ -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 = 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
+ {"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","../../src/freezeAssign.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","import assign from 'assign';\n\nexport function freezeAssign<T extends object>(...args: Partial<T>[]): T {\n return Object.freeze(assign(...(args as [Partial<T>])));\n}\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self)["vest-utils"]={})}(this,(function(n){"use strict";function t(n){return(...t)=>!n(...t)}function e(n){const t=String(n),e=Number(n),r=!isNaN(parseFloat(t))&&!isNaN(Number(n))&&isFinite(e);return Boolean(r)}const r=t(e);function i(n,t){return e(n)&&e(t)&&Number(n)===Number(t)}const o=t(i);function u(n,t){return i(n.length,t)}const c=t(u);function s(n,t){return e(n)&&e(t)&&Number(n)>Number(t)}function f(n,t){return s(n.length,t)}function l(n){return null===n}const a=t(l);function h(n){return void 0===n}const d=t(h);function g(n){return l(n)||h(n)}const p=t(g);function N(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function y(n){return"function"==typeof n}function v(n,...t){return y(n)?n(...t):n}var b=Object.assign;function m(n,t){if(!n)throw t instanceof String?t.valueOf():new Error(t?v(t):t)}var _=Object.freeze({__proto__:null,createBus:function(){const n={};return{emit(n,e){t(n).concat(t("*")).forEach((n=>{n(e)}))},on:(e,r)=>(n[e]=t(e).concat(r),{off(){n[e]=t(e).filter((n=>n!==r))}})};function t(t){return n[t]||[]}}});const E=O();function O(n){return t=0,()=>`${n?n+"_":""}${t++}`;var t}function S(n){return"object"==typeof n&&!g(n)}function j(n){return Boolean(Array.isArray(n))}const T=t(j);function w(n){return!n||(N(n,"length")?u(n,0):!!S(n)&&u(Object.keys(n),0))}const A=t(w);const q=/{(.*?)}/g;var x=Object.freeze({__proto__:null,createTinyState:function(n){let t;return r(),()=>[t,e,r];function e(n){t=v(n,t)}function r(){e(v(n))}}});var F=Object.freeze({__proto__:null,all:function(...n){return t=>!w(n)&&n.every((n=>v(n,t)))},any:function(...n){return t=>!w(n)&&n.some((n=>v(n,t)))}});n.Predicates=F,n.StateMachine=function(n){let t=n.initial;return{getState:function(){return t},initial:function(){return n.initial},staticTransition:e,transition:function(n,r){return t=e(t,n,r)}};function e(t,e,r){var i,o,u;let c=null!==(o=null===(i=n.states[t])||void 0===i?void 0:i[e])&&void 0!==o?o:null===(u=n.states["*"])||void 0===u?void 0:u[e];if(Array.isArray(c)){const[,n]=c;if(!n(r))return t;c=c[0]}return c&&c!==t?c:t}},n.StringObject=function(n){return new String(v(n))},n.asArray=function(n){return[].concat(n)},n.assign=b,n.bindNot=t,n.bus=_,n.cache=function(n=1){const t=[],e=(r,i)=>{const o=e.get(r);if(o)return o[1];const u=i();return t.unshift([r.concat(),u]),f(t,n)&&(t.length=n),u};return e.invalidate=n=>{const e=r(n);e>-1&&t.splice(e,1)},e.get=n=>t[r(n)]||null,e;function r(n){return t.findIndex((([t])=>u(n,t.length)&&n.every(((n,e)=>n===t[e]))))}},n.callEach=function(n){return n.forEach((n=>n()))},n.defaultTo=function(n,t){var e;return null!==(e=v(n))&&void 0!==e?e:v(t)},n.deferThrow=function(n){setTimeout((()=>{throw new Error(n)}),0)},n.either=function(n,t){return!!n!=!!t},n.genSeq=O,n.greaterThan=s,n.hasOwnProperty=N,n.invariant=m,n.isArray=j,n.isBoolean=function(n){return!!n===n},n.isEmpty=w,n.isFunction=y,n.isNotArray=T,n.isNotEmpty=A,n.isNotNull=a,n.isNotNullish=p,n.isNotNumeric=r,n.isNotUndefined=d,n.isNull=l,n.isNullish=g,n.isNumeric=e,n.isObject=S,n.isPositive=function(n){return s(n,0)},n.isPromise=function(n){return!!n&&y(n.then)},n.isStringValue=function(n){return String(n)===n},n.isUndefined=h,n.lengthEquals=u,n.lengthNotEquals=c,n.longerThan=f,n.mapFirst=function(n,t){let e=!1,r=null;for(let o=0;o<n.length;o++)if(t(n[o],i,o),e)return r;function i(n,t){n&&(e=!0,r=t)}},n.nonnullish=function(n,t){return m(!g(n),t),n},n.noop=function(){},n.numberEquals=i,n.numberNotEquals=o,n.optionalFunctionValue=v,n.seq=E,n.text=function(n,...t){const e=t[0];if(S(e))return n.replace(q,((n,t)=>{var r;return`${null!==(r=e[t])&&void 0!==r?r:n}`}));const r=[...t];return n.replace(q,(n=>`${w(r)?n:r.shift()}`))},n.tinyState=x}));
1
+ !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self)["vest-utils"]={})}(this,(function(n){"use strict";function t(n){return(...t)=>!n(...t)}function e(n){const t=String(n),e=Number(n),r=!isNaN(parseFloat(t))&&!isNaN(Number(n))&&isFinite(e);return Boolean(r)}const r=t(e);function i(n,t){return e(n)&&e(t)&&Number(n)===Number(t)}const o=t(i);function u(n,t){return i(n.length,t)}const c=t(u);function s(n,t){return e(n)&&e(t)&&Number(n)>Number(t)}function f(n,t){return s(n.length,t)}function l(n){return null===n}const a=t(l);function h(n){return void 0===n}const d=t(h);function g(n){return l(n)||h(n)}const p=t(g);function N(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function y(n){return"function"==typeof n}function b(n,...t){return y(n)?n(...t):n}var v=Object.assign;function m(n,t){if(!n)throw t instanceof String?t.valueOf():new Error(t?b(t):t)}var _=Object.freeze({__proto__:null,createBus:function(){const n={};return{emit(n,e){t(n).concat(t("*")).forEach((n=>{n(e)}))},on:(e,r)=>(n[e]=t(e).concat(r),{off(){n[e]=t(e).filter((n=>n!==r))}})};function t(t){return n[t]||[]}}});const O=j();function j(n){return t=0,()=>`${n?n+"_":""}${t++}`;var t}function E(n){return"object"==typeof n&&!g(n)}function S(n){return Boolean(Array.isArray(n))}const T=t(S);function w(n){return!n||(N(n,"length")?u(n,0):!!E(n)&&u(Object.keys(n),0))}const A=t(w);const q=/{(.*?)}/g;var x=Object.freeze({__proto__:null,createTinyState:function(n){let t;return r(),()=>[t,e,r];function e(n){t=b(n,t)}function r(){e(b(n))}}});var z=Object.freeze({__proto__:null,all:function(...n){return t=>!w(n)&&n.every((n=>b(n,t)))},any:function(...n){return t=>!w(n)&&n.some((n=>b(n,t)))}});n.Predicates=z,n.StateMachine=function(n){let t=n.initial;return{getState:function(){return t},initial:function(){return n.initial},staticTransition:e,transition:function(n,r){return t=e(t,n,r)}};function e(t,e,r){var i,o,u;let c=null!==(o=null===(i=n.states[t])||void 0===i?void 0:i[e])&&void 0!==o?o:null===(u=n.states["*"])||void 0===u?void 0:u[e];if(Array.isArray(c)){const[,n]=c;if(!n(r))return t;c=c[0]}return c&&c!==t?c:t}},n.StringObject=function(n){return new String(b(n))},n.asArray=function(n){return[].concat(n)},n.assign=v,n.bindNot=t,n.bus=_,n.cache=function(n=1){const t=[],e=(r,i)=>{const o=e.get(r);if(o)return o[1];const u=i();return t.unshift([r.concat(),u]),f(t,n)&&(t.length=n),u};return e.invalidate=n=>{const e=r(n);e>-1&&t.splice(e,1)},e.get=n=>t[r(n)]||null,e;function r(n){return t.findIndex((([t])=>u(n,t.length)&&n.every(((n,e)=>n===t[e]))))}},n.callEach=function(n){return n.forEach((n=>n()))},n.defaultTo=function(n,t){var e;return null!==(e=b(n))&&void 0!==e?e:b(t)},n.deferThrow=function(n){setTimeout((()=>{throw new Error(n)}),0)},n.either=function(n,t){return!!n!=!!t},n.freezeAssign=function(...n){return Object.freeze(v(...n))},n.genSeq=j,n.greaterThan=s,n.hasOwnProperty=N,n.invariant=m,n.isArray=S,n.isBoolean=function(n){return!!n===n},n.isEmpty=w,n.isFunction=y,n.isNotArray=T,n.isNotEmpty=A,n.isNotNull=a,n.isNotNullish=p,n.isNotNumeric=r,n.isNotUndefined=d,n.isNull=l,n.isNullish=g,n.isNumeric=e,n.isObject=E,n.isPositive=function(n){return s(n,0)},n.isPromise=function(n){return!!n&&y(n.then)},n.isStringValue=function(n){return String(n)===n},n.isUndefined=h,n.lengthEquals=u,n.lengthNotEquals=c,n.longerThan=f,n.mapFirst=function(n,t){let e=!1,r=null;for(let o=0;o<n.length;o++)if(t(n[o],i,o),e)return r;function i(n,t){n&&(e=!0,r=t)}},n.nonnullish=function(n,t){return m(!g(n),t),n},n.noop=function(){},n.numberEquals=i,n.numberNotEquals=o,n.optionalFunctionValue=b,n.seq=O,n.text=function(n,...t){const e=t[0];if(E(e))return n.replace(q,((n,t)=>{var r;return`${null!==(r=e[t])&&void 0!==r?r:n}`}));const r=[...t];return n.replace(q,(n=>`${w(r)?n:r.shift()}`))},n.tinyState=x}));
2
2
  //# sourceMappingURL=vest-utils.production.js.map
@@ -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';\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
+ {"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/freezeAssign.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","import assign from 'assign';\n\nexport function freezeAssign<T extends object>(...args: Partial<T>[]): T {\n return Object.freeze(assign(...(args as [Partial<T>])));\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","freeze","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.12",
2
+ "version": "1.2.14-dev-20240617-b233",
3
3
  "name": "vest-utils",
4
4
  "author": "ealush",
5
5
  "scripts": {
@@ -188,6 +188,7 @@ declare namespace Predicates {
188
188
  function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean;
189
189
  function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean;
190
190
  }
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 };
191
+ declare function freezeAssign<T extends object>(...args: Partial<T>[]): T;
192
+ 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, freezeAssign };
192
193
  export type { DropFirst, Stringable, CB, ValueOf, Nullish, Nullable, Maybe, OneOrMoreOf, DynamicValue, BlankValue, Predicate };
193
194
  //# 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,ymBAA8B,CAAc;AA4CnD,YAAY,kHAYX,CAAqB"}
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","../src/freezeAssign.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,unBAA8B,CAAc;AA6CnD,YAAY,kHAYX,CAAqB"}