vest-utils 1.1.2 → 1.2.0

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.
@@ -245,11 +245,14 @@ function text(str, ...substitutions) {
245
245
  const STATE_WILD_CARD = '*';
246
246
  function StateMachine(machine) {
247
247
  let state = machine.initial;
248
- const api = { getState, transition, staticTransition };
248
+ const api = { getState, initial, staticTransition, transition };
249
249
  return api;
250
250
  function getState() {
251
251
  return state;
252
252
  }
253
+ function initial() {
254
+ return machine.initial;
255
+ }
253
256
  function transition(action, payload) {
254
257
  return (state = staticTransition(state, action, payload));
255
258
  }
@@ -304,6 +307,24 @@ function StringObject(value) {
304
307
  // eslint-disable-next-line @typescript-eslint/no-empty-function
305
308
  function noop() { }
306
309
 
310
+ function all(...p) {
311
+ return (value) => isEmpty(p)
312
+ ? false
313
+ : p.every(predicate => optionalFunctionValue(predicate, value));
314
+ }
315
+ function any(...p) {
316
+ return (value) => isEmpty(p)
317
+ ? false
318
+ : p.some(predicate => optionalFunctionValue(predicate, value));
319
+ }
320
+
321
+ var Predicates = /*#__PURE__*/Object.freeze({
322
+ __proto__: null,
323
+ all: all,
324
+ any: any
325
+ });
326
+
327
+ exports.Predicates = Predicates;
307
328
  exports.StateMachine = StateMachine;
308
329
  exports.StringObject = StringObject;
309
330
  exports.asArray = asArray;
@@ -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"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends string> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends string> = {\n getState: CB<S>;\n transition: (action: A, payload?: any) => void;\n staticTransition: (from: S, action: A, payload?: any) => S;\n};\n\nexport function StateMachine<S extends string, A extends string>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, transition, staticTransition };\n\n return api;\n\n function getState(): S {\n return state;\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"],"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;AAkBtB,SAAU,YAAY,CAC1B,OAA4B,EAAA;AAE5B,IAAA,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAE5B,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAEvD,IAAA,OAAO,GAAG,CAAC;AAEX,IAAA,SAAS,QAAQ,GAAA;AACf,QAAA,OAAO,KAAK,CAAC;KACd;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;;ACxDgB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"vest-utils.development.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/cache.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/asArray.ts","../../src/callEach.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/isPromise.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/defaultTo.ts","../../src/invariant.ts","../../src/isStringValue.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/deferThrow.ts","../../src/bus.ts","../../src/seq.ts","../../src/mapFirst.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/isPositive.ts","../../src/text.ts","../../src/SimpleStateMachine.ts","../../src/nonnullish.ts","../../src/tinyState.ts","../../src/StringObject.ts","../../src/noop.ts","../../src/Predicates.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\n\nexport type Predicate<T> = boolean | ((value: T) => boolean);\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n"],"names":[],"mappings":"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"}
@@ -1,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 b=Object.assign;function d(t,n){if(!t)throw n instanceof String?n.valueOf():new Error(n?v(n):n)}var y=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=E();function E(t){return n=0,()=>`${t?t+"_":""}${n++}`;var n}function S(t){return"object"==typeof t&&!x(t)}function O(t){return Boolean(Array.isArray(t))}const _=t(O);function j(t){return!t||(N(t,"length")?i(t,0):!!S(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))}}});exports.StateMachine=function(t){let n=t.initial;return{getState:function(){return n},transition:function(t,e){return n=r(n,t,e)},staticTransition:r};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=y,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=E,exports.greaterThan=s,exports.hasOwnProperty=N,exports.invariant=d,exports.isArray=O,exports.isBoolean=function(t){return!!t===t},exports.isEmpty=j,exports.isFunction=g,exports.isNotArray=_,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=S,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 d(!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(S(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 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;
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/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 { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends string> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends string> = {\n getState: CB<S>;\n transition: (action: A, payload?: any) => void;\n staticTransition: (from: S, action: A, payload?: any) => S;\n};\n\nexport function StateMachine<S extends string, A extends string>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, transition, staticTransition };\n\n return api;\n\n function getState(): S {\n return state;\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","machine","state","initial","getState","transition","action","payload","staticTransition","from","target","_b","_a","states","_c","conditional","possibleArg","maxSize","cacheStorage","cache","deps","cacheAction","cacheHit","get","unshift","invalidate","index","findIndex","splice","cachedDeps","every","dep","i","arr","defaultValue","setTimeout","a","b","then","array","callback","broke","breakoutValue","breakout","error","substitutions","first","replace","placeholder","subs","shift"],"mappings":"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"}
1
+ {"version":3,"file":"vest-utils.production.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/invariant.ts","../../src/bus.ts","../../src/seq.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/text.ts","../../src/tinyState.ts","../../src/Predicates.ts","../../src/SimpleStateMachine.ts","../../src/StringObject.ts","../../src/asArray.ts","../../src/cache.ts","../../src/callEach.ts","../../src/defaultTo.ts","../../src/deferThrow.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/isPositive.ts","../../src/isPromise.ts","../../src/isStringValue.ts","../../src/mapFirst.ts","../../src/nonnullish.ts","../../src/noop.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\n\nexport type Predicate<T> = boolean | ((value: T) => boolean);\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n"],"names":["bindNot","fn","args","isNumeric","value","str","String","num","Number","result","isNaN","parseFloat","isFinite","Boolean","isNotNumeric","numberEquals","eq","numberNotEquals","lengthEquals","arg1","length","lengthNotEquals","greaterThan","gt","longerThan","isNull","isNotNull","isUndefined","undefined","isNotUndefined","isNullish","isNotNullish","hasOwnProperty","obj","key","Object","prototype","call","isFunction","optionalFunctionValue","assign","invariant","condition","message","valueOf","Error","listeners","emit","event","data","getListeners","concat","forEach","handler","on","off","filter","h","seq","genSeq","namespace","n","isObject","v","isArray","Array","isNotArray","isEmpty","keys","isNotEmpty","regexp","initialValue","resetValue","setValue","nextValue","p","every","predicate","some","machine","state","initial","getState","staticTransition","transition","action","payload","from","target","_b","_a","states","_c","conditional","possibleArg","maxSize","cacheStorage","cache","deps","cacheAction","cacheHit","get","unshift","invalidate","index","findIndex","splice","cachedDeps","dep","i","arr","defaultValue","setTimeout","a","b","then","array","callback","broke","breakoutValue","breakout","error","substitutions","first","replace","placeholder","subs","shift"],"mappings":"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"}
@@ -243,11 +243,14 @@ function text(str, ...substitutions) {
243
243
  const STATE_WILD_CARD = '*';
244
244
  function StateMachine(machine) {
245
245
  let state = machine.initial;
246
- const api = { getState, transition, staticTransition };
246
+ const api = { getState, initial, staticTransition, transition };
247
247
  return api;
248
248
  function getState() {
249
249
  return state;
250
250
  }
251
+ function initial() {
252
+ return machine.initial;
253
+ }
251
254
  function transition(action, payload) {
252
255
  return (state = staticTransition(state, action, payload));
253
256
  }
@@ -302,5 +305,22 @@ function StringObject(value) {
302
305
  // eslint-disable-next-line @typescript-eslint/no-empty-function
303
306
  function noop() { }
304
307
 
305
- export { 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 };
308
+ function all(...p) {
309
+ return (value) => isEmpty(p)
310
+ ? false
311
+ : p.every(predicate => optionalFunctionValue(predicate, value));
312
+ }
313
+ function any(...p) {
314
+ return (value) => isEmpty(p)
315
+ ? false
316
+ : p.some(predicate => optionalFunctionValue(predicate, value));
317
+ }
318
+
319
+ var Predicates = /*#__PURE__*/Object.freeze({
320
+ __proto__: null,
321
+ all: all,
322
+ any: any
323
+ });
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 };
306
326
  //# 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"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends string> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends string> = {\n getState: CB<S>;\n transition: (action: A, payload?: any) => void;\n staticTransition: (from: S, action: A, payload?: any) => S;\n};\n\nexport function StateMachine<S extends string, A extends string>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, transition, staticTransition };\n\n return api;\n\n function getState(): S {\n return state;\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"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vest-utils.development.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/cache.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/asArray.ts","../../src/callEach.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/isPromise.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/defaultTo.ts","../../src/invariant.ts","../../src/isStringValue.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/deferThrow.ts","../../src/bus.ts","../../src/seq.ts","../../src/mapFirst.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/isPositive.ts","../../src/text.ts","../../src/SimpleStateMachine.ts","../../src/nonnullish.ts","../../src/tinyState.ts","../../src/StringObject.ts","../../src/noop.ts","../../src/Predicates.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\n\nexport type Predicate<T> = boolean | ((value: T) => boolean);\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n"],"names":[],"mappings":"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"}
@@ -1,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 c=n(o);function i(n,r){return t(n)&&t(r)&&Number(n)>Number(r)}function f(n,t){return i(n.length,t)}function a(n=1){const t=[],r=(e,u)=>{const o=r.get(e);if(o)return o[1];const c=u();return t.unshift([e.concat(),c]),f(t,n)&&(t.length=n),c};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 d(n){return n.forEach((n=>n()))}function y(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function N(n){return"function"==typeof n}function _(n){return!!n&&N(n.then)}function m(n,...t){return N(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 B=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 T=x();function x(n){return t=0,()=>`${n?n+"_":""}${t++}`;var t}function z(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||(y(n,"length")?o(n,0):!!F(n)&&o(Object.keys(n),0))}const q=n(P);function C(n){return i(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},transition:function(n,e){return t=r(t,n,e)},staticTransition:r};function r(t,r,e){var u,o,c;let i=null!==(o=null===(u=n.states[t])||void 0===u?void 0:u[r])&&void 0!==o?o:null===(c=n.states["*"])||void 0===c?void 0:c[r];if(Array.isArray(i)){const[,n]=i;if(!n(e))return t;i=i[0]}return i&&i!==t?i: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(){}export{H as StateMachine,L as StringObject,p as asArray,O as assign,n as bindNot,B as bus,a as cache,d as callEach,j as defaultTo,$ as deferThrow,A as either,x as genSeq,i as greaterThan,y as hasOwnProperty,w as invariant,k as isArray,E as isBoolean,P as isEmpty,N 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,_ as isPromise,S as isStringValue,v as isUndefined,o as lengthEquals,c as lengthNotEquals,f as longerThan,z as mapFirst,J as nonnullish,M as noop,e as numberEquals,u as numberNotEquals,m as optionalFunctionValue,T 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 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};
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"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends string> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends string> = {\n getState: CB<S>;\n transition: (action: A, payload?: any) => void;\n staticTransition: (from: S, action: A, payload?: any) => S;\n};\n\nexport function StateMachine<S extends string, A extends string>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, transition, staticTransition };\n\n return api;\n\n function getState(): S {\n return state;\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"],"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","transition","action","payload","staticTransition","from","target","_b","states","_c","nonnullish","error","initialValue","resetValue","setValue","nextValue","StringObject","noop"],"mappings":"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"}
1
+ {"version":3,"file":"vest-utils.production.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/cache.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/asArray.ts","../../src/callEach.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/isPromise.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/defaultTo.ts","../../src/invariant.ts","../../src/isStringValue.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/deferThrow.ts","../../src/bus.ts","../../src/seq.ts","../../src/mapFirst.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/isPositive.ts","../../src/text.ts","../../src/SimpleStateMachine.ts","../../src/nonnullish.ts","../../src/tinyState.ts","../../src/StringObject.ts","../../src/noop.ts","../../src/Predicates.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\n\nexport type Predicate<T> = boolean | ((value: T) => boolean);\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n"],"names":["bindNot","fn","args","isNumeric","value","str","String","num","Number","result","isNaN","parseFloat","isFinite","Boolean","isNotNumeric","numberEquals","eq","numberNotEquals","lengthEquals","arg1","length","lengthNotEquals","greaterThan","gt","longerThan","createCache","maxSize","cacheStorage","cache","deps","cacheAction","cacheHit","get","unshift","concat","invalidate","index","findIndex","splice","cachedDeps","every","dep","i","isNull","isNotNull","isUndefined","undefined","isNotUndefined","isNullish","isNotNullish","asArray","possibleArg","callEach","arr","forEach","hasOwnProperty","obj","key","Object","prototype","call","isFunction","isPromise","then","optionalFunctionValue","assign","defaultTo","defaultValue","_a","invariant","condition","message","valueOf","Error","isStringValue","v","either","a","b","isBoolean","deferThrow","setTimeout","listeners","emit","event","data","getListeners","handler","on","off","filter","h","seq","genSeq","namespace","n","mapFirst","array","callback","broke","breakoutValue","breakout","conditional","isObject","isArray","Array","isNotArray","isEmpty","keys","isNotEmpty","isPositive","regexp","text","substitutions","first","replace","placeholder","subs","shift","StateMachine","machine","state","initial","getState","staticTransition","transition","action","payload","from","target","_b","states","_c","nonnullish","error","initialValue","resetValue","setValue","nextValue","StringObject","noop","p","predicate","some"],"mappings":"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"}
@@ -249,11 +249,14 @@
249
249
  const STATE_WILD_CARD = '*';
250
250
  function StateMachine(machine) {
251
251
  let state = machine.initial;
252
- const api = { getState, transition, staticTransition };
252
+ const api = { getState, initial, staticTransition, transition };
253
253
  return api;
254
254
  function getState() {
255
255
  return state;
256
256
  }
257
+ function initial() {
258
+ return machine.initial;
259
+ }
257
260
  function transition(action, payload) {
258
261
  return (state = staticTransition(state, action, payload));
259
262
  }
@@ -308,6 +311,24 @@
308
311
  // eslint-disable-next-line @typescript-eslint/no-empty-function
309
312
  function noop() { }
310
313
 
314
+ function all(...p) {
315
+ return (value) => isEmpty(p)
316
+ ? false
317
+ : p.every(predicate => optionalFunctionValue(predicate, value));
318
+ }
319
+ function any(...p) {
320
+ return (value) => isEmpty(p)
321
+ ? false
322
+ : p.some(predicate => optionalFunctionValue(predicate, value));
323
+ }
324
+
325
+ var Predicates = /*#__PURE__*/Object.freeze({
326
+ __proto__: null,
327
+ all: all,
328
+ any: any
329
+ });
330
+
331
+ exports.Predicates = Predicates;
311
332
  exports.StateMachine = StateMachine;
312
333
  exports.StringObject = StringObject;
313
334
  exports.asArray = asArray;
@@ -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"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends string> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends string> = {\n getState: CB<S>;\n transition: (action: A, payload?: any) => void;\n staticTransition: (from: S, action: A, payload?: any) => S;\n};\n\nexport function StateMachine<S extends string, A extends string>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, transition, staticTransition };\n\n return api;\n\n function getState(): S {\n return state;\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"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vest-utils.development.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/cache.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/asArray.ts","../../src/callEach.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/isPromise.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/defaultTo.ts","../../src/invariant.ts","../../src/isStringValue.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/deferThrow.ts","../../src/bus.ts","../../src/seq.ts","../../src/mapFirst.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/isPositive.ts","../../src/text.ts","../../src/SimpleStateMachine.ts","../../src/nonnullish.ts","../../src/tinyState.ts","../../src/StringObject.ts","../../src/noop.ts","../../src/Predicates.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\n\nexport type Predicate<T> = boolean | ((value: T) => boolean);\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n"],"names":[],"mappings":"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"}
@@ -1,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 N=t(g);function p(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 E=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 S=O();function O(n){return t=0,()=>`${n?n+"_":""}${t++}`;var t}function j(n){return"object"==typeof n&&!g(n)}function T(n){return Boolean(Array.isArray(n))}const _=t(T);function w(n){return!n||(p(n,"length")?u(n,0):!!j(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))}}});n.StateMachine=function(n){let t=n.initial;return{getState:function(){return t},transition:function(n,r){return t=e(t,n,r)},staticTransition:e};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=E,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.genSeq=O,n.greaterThan=s,n.hasOwnProperty=p,n.invariant=m,n.isArray=T,n.isBoolean=function(n){return!!n===n},n.isEmpty=w,n.isFunction=y,n.isNotArray=_,n.isNotEmpty=A,n.isNotNull=a,n.isNotNullish=N,n.isNotNumeric=r,n.isNotUndefined=d,n.isNull=l,n.isNullish=g,n.isNumeric=e,n.isObject=j,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=S,n.text=function(n,...t){const e=t[0];if(j(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 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}));
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/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 { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends string> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends string> = {\n getState: CB<S>;\n transition: (action: A, payload?: any) => void;\n staticTransition: (from: S, action: A, payload?: any) => S;\n};\n\nexport function StateMachine<S extends string, A extends string>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, transition, staticTransition };\n\n return api;\n\n function getState(): S {\n return state;\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","machine","state","initial","getState","transition","action","payload","staticTransition","from","target","_b","_a","states","_c","conditional","possibleArg","maxSize","cacheStorage","cache","deps","cacheAction","cacheHit","get","unshift","invalidate","index","findIndex","splice","cachedDeps","every","dep","i","arr","defaultValue","setTimeout","a","b","then","array","callback","broke","breakoutValue","breakout","error","substitutions","first","replace","placeholder","subs","shift"],"mappings":"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"}
1
+ {"version":3,"file":"vest-utils.production.js","sources":["../../src/bindNot.ts","../../src/isNumeric.ts","../../src/numberEquals.ts","../../src/lengthEquals.ts","../../src/greaterThan.ts","../../src/longerThan.ts","../../src/isNull.ts","../../src/isUndefined.ts","../../src/isNullish.ts","../../src/hasOwnProperty.ts","../../src/isFunction.ts","../../src/optionalFunctionValue.ts","../../src/assign.ts","../../src/invariant.ts","../../src/bus.ts","../../src/seq.ts","../../src/valueIsObject.ts","../../src/isArrayValue.ts","../../src/isEmpty.ts","../../src/text.ts","../../src/tinyState.ts","../../src/Predicates.ts","../../src/SimpleStateMachine.ts","../../src/StringObject.ts","../../src/asArray.ts","../../src/cache.ts","../../src/callEach.ts","../../src/defaultTo.ts","../../src/deferThrow.ts","../../src/either.ts","../../src/isBooleanValue.ts","../../src/isPositive.ts","../../src/isPromise.ts","../../src/isStringValue.ts","../../src/mapFirst.ts","../../src/nonnullish.ts","../../src/noop.ts"],"sourcesContent":["export default function bindNot<T extends (...args: any[]) => unknown>(fn: T) {\n return (...args: Parameters<T>): boolean => !fn(...args);\n}\n","import bindNot from 'bindNot';\n\nexport function isNumeric(value: string | number): boolean {\n const str = String(value);\n const num = Number(value);\n const result =\n !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);\n return Boolean(result);\n}\n\nexport const isNotNumeric = bindNot(isNumeric);\n","import bindNot from 'bindNot';\nimport { isNumeric } from 'isNumeric';\n\nexport function numberEquals(\n value: string | number,\n eq: string | number\n): boolean {\n return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);\n}\n\nexport const numberNotEquals = bindNot(numberEquals);\n","import bindNot from 'bindNot';\nimport { numberEquals } from 'numberEquals';\n\nexport function lengthEquals(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return numberEquals(value.length, arg1);\n}\n\nexport const lengthNotEquals = bindNot(lengthEquals);\n","import { isNumeric } from 'isNumeric';\n\nexport function greaterThan(\n value: number | string,\n gt: number | string\n): boolean {\n return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function longerThan(\n value: string | unknown[],\n arg1: string | number\n): boolean {\n return greaterThan(value.length, arg1);\n}\n","import bindNot from 'bindNot';\n\nexport function isNull(value: unknown): value is null {\n return value === null;\n}\n\nexport const isNotNull = bindNot(isNull);\n","import bindNot from 'bindNot';\n\nexport function isUndefined(value?: unknown): value is undefined {\n return value === undefined;\n}\n\nexport const isNotUndefined = bindNot(isUndefined);\n","import bindNot from 'bindNot';\nimport { isNull } from 'isNull';\nimport { isUndefined } from 'isUndefined';\nimport { Nullish } from 'utilityTypes';\n\nexport function isNullish(value: any): value is Nullish {\n return isNull(value) || isUndefined(value);\n}\n\nexport const isNotNullish = bindNot(isNullish);\n","/**\n * A safe hasOwnProperty access\n */\nexport default function hasOwnProperty<T>(\n obj: T,\n key: string | number | symbol\n): key is keyof T {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n","export default function isFunction(\n value: unknown\n): value is (...args: unknown[]) => unknown {\n return typeof value === 'function';\n}\n","import isFunction from 'isFunction';\nimport { DynamicValue } from 'utilityTypes';\n\nexport default function optionalFunctionValue<T>(\n value: DynamicValue<T>,\n ...args: unknown[]\n): T {\n return isFunction(value) ? value(...args) : value;\n}\n","export default Object.assign;\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\nexport default function invariant(\n condition: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n message?: String | Stringable\n): asserts condition {\n if (condition) {\n return;\n }\n\n // If message is a string object (rather than string literal)\n // Throw the value directly as a string\n // Alternatively, throw an error with the message\n throw message instanceof String\n ? message.valueOf()\n : new Error(message ? optionalFunctionValue(message) : message);\n}\n","import type { CB } from 'utilityTypes';\n\nconst EVENT_WILDCARD = '*';\n\nexport function createBus(): BusType {\n const listeners: Record<string, CB[]> = {};\n\n return {\n emit(event: string, data?: any) {\n getListeners(event)\n .concat(getListeners(EVENT_WILDCARD))\n .forEach(handler => {\n handler(data);\n });\n },\n\n on(event: string, handler: CB): OnReturn {\n listeners[event] = getListeners(event).concat(handler);\n\n return {\n off() {\n listeners[event] = getListeners(event).filter(h => h !== handler);\n },\n };\n },\n };\n\n function getListeners(event: string): CB[] {\n return listeners[event] || [];\n }\n}\n\ntype OnReturn = { off: CB<void> };\n\nexport type BusType = {\n on: (event: string, handler: CB) => OnReturn;\n emit: (event: string, data?: any) => void;\n};\n","/**\n * @returns a unique numeric id.\n */\n\nimport { CB } from 'utilityTypes';\n\nconst seq = genSeq();\n\nexport default seq;\n\nexport function genSeq(namespace?: string): CB<string> {\n return (\n (n: number) => () =>\n `${namespace ? namespace + '_' : ''}${n++}`\n )(0);\n}\n","import { isNullish } from 'isNullish';\n\nexport function isObject(v: any): v is Record<any, any> {\n return typeof v === 'object' && !isNullish(v);\n}\n","import bindNot from 'bindNot';\n\n// The module is named \"isArrayValue\" since it\n// is conflicting with a nested npm dependency.\n// We may need to revisit this in the future.\n\nexport function isArray(value: unknown): value is Array<unknown> {\n return Boolean(Array.isArray(value));\n}\n\nexport const isNotArray = bindNot(isArray);\n","import bindNot from 'bindNot';\nimport hasOwnProperty from 'hasOwnProperty';\nimport { lengthEquals } from 'lengthEquals';\nimport { isObject } from 'valueIsObject';\n\nexport function isEmpty(value: unknown): boolean {\n if (!value) {\n return true;\n } else if (hasOwnProperty(value, 'length')) {\n return lengthEquals(value as string | unknown[], 0);\n } else if (isObject(value)) {\n return lengthEquals(Object.keys(value as Record<string, unknown>), 0);\n }\n\n return false;\n}\n\nexport const isNotEmpty = bindNot(isEmpty);\n","import { isEmpty } from 'isEmpty';\nimport { isObject } from 'valueIsObject';\n\nconst regexp = /{(.*?)}/g;\n\nexport function text(str: string, ...substitutions: Array<unknown>): string {\n const first = substitutions[0];\n\n if (isObject(first)) {\n return str.replace(regexp, (placeholder, key: string) => {\n return `${first[key] ?? placeholder}`;\n });\n }\n\n const subs = [...substitutions];\n\n return str.replace(regexp, placeholder => {\n return `${isEmpty(subs) ? placeholder : subs.shift()}`;\n });\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue } from 'utilityTypes';\n\nexport function createTinyState<S>(\n initialValue: SetValueInput<S>\n): TinyState<S> {\n let value: S;\n\n resetValue();\n\n return () => [value, setValue, resetValue];\n\n function setValue(nextValue: SetValueInput<S>) {\n value = optionalFunctionValue(nextValue, value);\n }\n\n function resetValue() {\n setValue(optionalFunctionValue(initialValue));\n }\n}\n\nexport type TinyState<S> = () => [\n value: S,\n setValue: (next: SetValueInput<S>) => void,\n resetValue: () => void\n];\n\ntype SetValueInput<S> = DynamicValue<S, [prev: S]>;\n","import { isEmpty } from 'isEmpty';\nimport optionalFunctionValue from 'optionalFunctionValue';\n\nexport type Predicate<T> = boolean | ((value: T) => boolean);\n\nexport function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.every(predicate => optionalFunctionValue(predicate, value));\n}\n\nexport function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean {\n return (value: T) =>\n isEmpty(p)\n ? false\n : p.some(predicate => optionalFunctionValue(predicate, value));\n}\n","import { CB } from 'utilityTypes';\n\nconst STATE_WILD_CARD = '*';\ntype TStateWildCard = typeof STATE_WILD_CARD;\n\nexport type TStateMachine<S extends string, A extends S = S> = {\n initial: S;\n states: Partial<{\n [key in S & TStateWildCard]: {\n [key in A]?: S | [S, CB<boolean, [payload?: any]>];\n };\n }>;\n};\n\nexport type TStateMachineApi<S extends string, A extends S = S> = {\n getState: CB<S>;\n initial: CB<S>;\n staticTransition: (from: S, action: A, payload?: any) => S;\n transition: (action: A, payload?: any) => void;\n};\n\nexport function StateMachine<S extends string, A extends S = S>(\n machine: TStateMachine<S, A>\n): TStateMachineApi<S, A> {\n let state = machine.initial;\n\n const api = { getState, initial, staticTransition, transition };\n\n return api;\n\n function getState(): S {\n return state;\n }\n\n function initial(): S {\n return machine.initial;\n }\n\n function transition(action: A, payload?: any): S {\n return (state = staticTransition(state, action, payload));\n }\n\n // eslint-disable-next-line complexity\n function staticTransition(from: S, action: A, payload?: any): S {\n const transitionTo =\n machine.states[from]?.[action] ??\n // @ts-expect-error - This is a valid state\n machine.states[STATE_WILD_CARD]?.[action];\n\n let target = transitionTo;\n\n if (Array.isArray(target)) {\n const [, conditional] = target;\n if (!conditional(payload)) {\n return from;\n }\n\n target = target[0];\n }\n\n if (!target || target === from) {\n return from;\n }\n\n return target as S;\n }\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport type { Stringable } from 'utilityTypes';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function StringObject(value?: Stringable): String {\n return new String(optionalFunctionValue(value));\n}\n","export default function asArray<T>(possibleArg: T | T[]): T[] {\n return ([] as T[]).concat(possibleArg);\n}\n","import { lengthEquals } from 'lengthEquals';\nimport { longerThan } from 'longerThan';\nimport { Nullable } from 'utilityTypes';\n\n/**\n * Creates a cache function\n */\nexport default function createCache<T = unknown>(maxSize = 1): CacheApi<T> {\n const cacheStorage: Array<[unknown[], T]> = [];\n\n const cache = (\n deps: unknown[],\n cacheAction: (...args: unknown[]) => T\n ): T => {\n const cacheHit = cache.get(deps);\n // cache hit is not null\n if (cacheHit) return cacheHit[1];\n\n const result = cacheAction();\n cacheStorage.unshift([deps.concat(), result]);\n\n if (longerThan(cacheStorage, maxSize)) cacheStorage.length = maxSize;\n\n return result;\n };\n\n // invalidate an item in the cache by its dependencies\n cache.invalidate = (deps: any[]): void => {\n const index = findIndex(deps);\n if (index > -1) cacheStorage.splice(index, 1);\n };\n\n // Retrieves an item from the cache.\n cache.get = (deps: unknown[]): Nullable<[unknown[], T]> =>\n cacheStorage[findIndex(deps)] || null;\n\n return cache;\n\n function findIndex(deps: unknown[]): number {\n return cacheStorage.findIndex(\n ([cachedDeps]) =>\n lengthEquals(deps, cachedDeps.length) &&\n deps.every((dep, i) => dep === cachedDeps[i])\n );\n }\n}\n\nexport type CacheApi<T = unknown> = {\n (deps: unknown[], cacheAction: (...args: unknown[]) => T): T;\n get(deps: unknown[]): Nullable<[unknown[], T]>;\n invalidate(item: any): void;\n};\n","import type { CB } from 'utilityTypes';\n\nexport default function callEach(arr: CB[]): void {\n return arr.forEach(fn => fn());\n}\n","import optionalFunctionValue from 'optionalFunctionValue';\nimport { DynamicValue, Nullish } from 'utilityTypes';\n\nexport default function defaultTo<T>(\n value: DynamicValue<Nullish<T>>,\n defaultValue: DynamicValue<T>\n): T {\n return optionalFunctionValue(value) ?? optionalFunctionValue(defaultValue);\n}\n","export default function deferThrow(message?: string): void {\n setTimeout(() => {\n throw new Error(message);\n }, 0);\n}\n\nexport type TDeferThrow = typeof deferThrow;\n","export default function either(a: unknown, b: unknown): boolean {\n return !!a !== !!b;\n}\n","export default function isBoolean(value: unknown): value is boolean {\n return !!value === value;\n}\n","import { greaterThan } from 'greaterThan';\n\nexport function isPositive(value: number | string): boolean {\n return greaterThan(value, 0);\n}\n","import isFunction from 'isFunction';\n\nexport default function isPromise(value: any): value is Promise<unknown> {\n return !!value && isFunction(value.then);\n}\n","export default function isStringValue(v: unknown): v is string {\n return String(v) === v;\n}\n","export default function mapFirst<T>(\n array: T[],\n callback: (\n item: T,\n breakout: (conditional: boolean, value: unknown) => void,\n index: number\n ) => unknown\n): any {\n let broke = false;\n let breakoutValue = null;\n for (let i = 0; i < array.length; i++) {\n callback(array[i], breakout, i);\n\n if (broke) {\n return breakoutValue;\n }\n }\n\n function breakout(conditional: boolean, value: unknown) {\n if (conditional) {\n broke = true;\n breakoutValue = value;\n }\n }\n}\n","import invariant from 'invariant';\n\nimport { isNullish } from 'isNullish';\nimport { Nullish } from 'utilityTypes';\n\nexport function nonnullish<T>(value: Nullish<T>, error?: string): T {\n invariant(!isNullish(value), error);\n\n return value;\n}\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n"],"names":["bindNot","fn","args","isNumeric","value","str","String","num","Number","result","isNaN","parseFloat","isFinite","Boolean","isNotNumeric","numberEquals","eq","numberNotEquals","lengthEquals","arg1","length","lengthNotEquals","greaterThan","gt","longerThan","isNull","isNotNull","isUndefined","undefined","isNotUndefined","isNullish","isNotNullish","hasOwnProperty","obj","key","Object","prototype","call","isFunction","optionalFunctionValue","assign","invariant","condition","message","valueOf","Error","listeners","emit","event","data","getListeners","concat","forEach","handler","on","off","filter","h","seq","genSeq","namespace","n","isObject","v","isArray","Array","isNotArray","isEmpty","keys","isNotEmpty","regexp","initialValue","resetValue","setValue","nextValue","p","every","predicate","some","machine","state","initial","getState","staticTransition","transition","action","payload","from","target","_b","_a","states","_c","conditional","possibleArg","maxSize","cacheStorage","cache","deps","cacheAction","cacheHit","get","unshift","invalidate","index","findIndex","splice","cachedDeps","dep","i","arr","defaultValue","setTimeout","a","b","then","array","callback","broke","breakoutValue","breakout","error","substitutions","first","replace","placeholder","subs","shift"],"mappings":"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"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.2",
2
+ "version": "1.2.0",
3
3
  "name": "vest-utils",
4
4
  "author": "ealush",
5
5
  "scripts": {
@@ -116,7 +116,7 @@ declare function isPositive(value: number | string): boolean;
116
116
  declare function text(str: string, ...substitutions: Array<unknown>): string;
117
117
  declare const STATE_WILD_CARD = "*";
118
118
  type TStateWildCard = typeof STATE_WILD_CARD;
119
- type TStateMachine<S extends string, A extends string> = {
119
+ type TStateMachine<S extends string, A extends S = S> = {
120
120
  initial: S;
121
121
  states: Partial<{
122
122
  [key in S & TStateWildCard]: {
@@ -129,12 +129,13 @@ type TStateMachine<S extends string, A extends string> = {
129
129
  };
130
130
  }>;
131
131
  };
132
- type TStateMachineApi<S extends string, A extends string> = {
132
+ type TStateMachineApi<S extends string, A extends S = S> = {
133
133
  getState: CB<S>;
134
- transition: (action: A, payload?: any) => void;
134
+ initial: CB<S>;
135
135
  staticTransition: (from: S, action: A, payload?: any) => S;
136
+ transition: (action: A, payload?: any) => void;
136
137
  };
137
- declare function StateMachine<S extends string, A extends string>(machine: TStateMachine<S, A>): TStateMachineApi<S, A>;
138
+ declare function StateMachine<S extends string, A extends S = S>(machine: TStateMachine<S, A>): TStateMachineApi<S, A>;
138
139
  declare function nonnullish<T>(value: Nullish<T>, error?: string): T;
139
140
  declare namespace tinyState {
140
141
  type DropFirst<T extends unknown[]> = T extends [
@@ -165,6 +166,11 @@ declare namespace tinyState {
165
166
  declare function StringObject(value?: Stringable): String;
166
167
  // eslint-disable-next-line @typescript-eslint/no-empty-function
167
168
  declare function noop(): void;
168
- export { createCache as cache, CacheApi, BusType, TinyState, isNullish, isNotNullish, asArray, callEach, hasOwnProperty, isPromise, optionalFunctionValue, _default as assign, defaultTo, invariant, isStringValue, bindNot, either, isBoolean, deferThrow, bus, seq, genSeq, isFunction, mapFirst, greaterThan, longerThan, isNumeric, isNotNumeric, isObject, lengthEquals, lengthNotEquals, numberEquals, numberNotEquals, isNull, isNotNull, isUndefined, isNotUndefined, isArray, isNotArray, isEmpty, isNotEmpty, isPositive, text, TStateMachine, StateMachine, nonnullish, tinyState, StringObject, noop };
169
- export type { DropFirst, Stringable, CB, ValueOf, Nullish, Nullable, Maybe, OneOrMoreOf, DynamicValue, BlankValue };
169
+ declare namespace Predicates {
170
+ type Predicate<T> = boolean | ((value: T) => boolean);
171
+ function all<T = any>(...p: Predicate<T>[]): (value: T) => boolean;
172
+ function any<T = any>(...p: Predicate<T>[]): (value: T) => boolean;
173
+ }
174
+ export { createCache as cache, CacheApi, BusType, TinyState, isNullish, isNotNullish, asArray, callEach, hasOwnProperty, isPromise, optionalFunctionValue, _default as assign, defaultTo, invariant, isStringValue, bindNot, either, isBoolean, deferThrow, bus, seq, genSeq, isFunction, mapFirst, greaterThan, longerThan, isNumeric, isNotNumeric, isObject, lengthEquals, lengthNotEquals, numberEquals, numberNotEquals, isNull, isNotNull, isUndefined, isNotUndefined, isArray, isNotArray, isEmpty, isNotEmpty, isPositive, text, TStateMachine, StateMachine, nonnullish, tinyState, StringObject, noop, Predicates };
175
+ export type { Predicate, DropFirst, Stringable, CB, ValueOf, Nullish, Nullable, Maybe, OneOrMoreOf, DynamicValue, BlankValue };
170
176
  //# 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"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAS,OAAO,2kBAA8B,CAAc;AAuC5D,YAAY,uGAWX,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"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,ulBAA8B,CAAc;AAwCnD,YAAY,kHAAa,CAAmB"}