@kdtlabs/utils 0.0.8 → 0.0.10
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.
- package/SKILL.md +39 -1
- package/dist/chunk-k250wjfj.js +5 -0
- package/dist/chunk-k250wjfj.js.map +28 -0
- package/dist/errors/guards.d.ts +2 -0
- package/dist/errors/guards.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +5 -22
- package/dist/system/fs.d.ts +10 -0
- package/dist/system/fs.d.ts.map +1 -0
- package/dist/system/hash.d.ts +6 -0
- package/dist/system/hash.d.ts.map +1 -0
- package/dist/system/index.d.ts +2 -0
- package/dist/system/index.d.ts.map +1 -1
- package/dist/system/path.d.ts +1 -0
- package/dist/system/path.d.ts.map +1 -1
- package/dist/times/operations.d.ts +2 -0
- package/dist/times/operations.d.ts.map +1 -1
- package/dist/zod/index.d.ts +2 -0
- package/dist/zod/index.d.ts.map +1 -0
- package/dist/zod/index.js +4 -0
- package/dist/zod/index.js.map +10 -0
- package/dist/zod/schemas.d.ts +22 -0
- package/dist/zod/schemas.d.ts.map +1 -0
- package/package.json +15 -2
- package/src/errors/guards.ts +6 -0
- package/src/system/fs.ts +65 -0
- package/src/system/hash.ts +22 -0
- package/src/system/index.ts +2 -0
- package/src/system/path.ts +12 -1
- package/src/times/operations.ts +24 -0
- package/src/zod/index.ts +1 -0
- package/src/zod/schemas.ts +77 -0
package/dist/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/arrays/accessors.ts", "../src/arrays/comparators.ts", "../src/collections/linked-base.ts", "../src/collections/linked-map.ts", "../src/collections/fifo-map.ts", "../src/collections/linked-set.ts", "../src/collections/fifo-set.ts", "../src/collections/
|
|
3
|
+
"sources": ["../src/arrays/accessors.ts", "../src/arrays/comparators.ts", "../src/collections/linked-base.ts", "../src/collections/linked-map.ts", "../src/collections/fifo-map.ts", "../src/collections/linked-set.ts", "../src/collections/fifo-set.ts", "../src/collections/lru-map.ts", "../src/collections/lru-set.ts", "../src/arrays/factories.ts", "../src/arrays/operations.ts", "../src/arrays/set-operations.ts", "../src/buffers/operations.ts", "../src/objects/deep-merge.ts", "../src/objects/transformations.ts", "../src/errors/factories.ts", "../src/errors/operations.ts", "../src/errors/stringify.ts", "../src/common/assertions.ts", "../src/common/guards.ts", "../src/common/transformations.ts", "../src/events/emitter.ts", "../src/functions/timer-state.ts", "../src/functions/debounce.ts", "../src/functions/executions.ts", "../src/functions/memoize.ts", "../src/functions/once.ts", "../src/functions/pipe.ts", "../src/functions/throttle.ts", "../src/json-rpc/constants.ts", "../src/json-rpc/factories.ts", "../src/json-rpc/guards.ts", "../src/numbers/bigint-math.ts", "../src/numbers/maths.ts", "../src/numbers/conversions.ts", "../src/numbers/factories.ts", "../src/numbers/formats.ts", "../src/numbers/ranges.ts", "../src/promises/abortable.ts", "../src/promises/compositions.ts", "../src/promises/deferred.ts", "../src/promises/guards.ts", "../src/promises/pipe.ts", "../src/promises/timers.ts", "../src/promises/poll.ts", "../src/promises/retry.ts", "../src/serializer/constants.ts", "../src/serializer/symbol-registry.ts", "../src/serializer/context.ts", "../src/serializer/serializers/array.ts", "../src/serializer/serializers/binary.ts", "../src/serializer/serializers/blob.ts", "../src/serializer/serializers/collection.ts", "../src/serializer/serializers/object.ts", "../src/serializer/serializers/error.ts", "../src/serializer/serializers/function.ts", "../src/serializer/serializers/opaque.ts", "../src/serializer/serializers/compound.ts", "../src/serializer/serializers/leaf-object.ts", "../src/serializer/serializers/number.ts", "../src/serializer/serializers/primitive.ts", "../src/serializer/utils.ts", "../src/serializer/serialize.ts", "../src/strings/constants.ts", "../src/strings/factories.ts", "../src/strings/manipulations.ts", "../src/strings/strip-ansi.ts", "../src/system/env.ts", "../src/system/fetch.ts", "../src/system/graceful-exit.ts", "../src/system/hash.ts", "../src/times/constants.ts", "../src/times/conversions.ts", "../src/times/factories.ts", "../src/times/types.ts", "../src/times/operations.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import type { EmptyArray, NonEmptyArray } from './types'\n\nexport function nth(array: EmptyArray, index: number): undefined\nexport function nth<T>(array: NonEmptyArray<T>, index: number): T\nexport function nth<T>(array: T[], index: number): T | undefined\n\nexport function nth<T>(array: T[], index: number): T | undefined {\n return array.at(index)\n}\n\nexport function first(array: EmptyArray): undefined\nexport function first<T>(array: NonEmptyArray<T>): T\nexport function first<T>(array: T[]): T | undefined\n\nexport function first<T>(array: T[]): T | undefined {\n return nth(array, 0)\n}\n\nexport function last(array: EmptyArray): undefined\nexport function last<T>(array: NonEmptyArray<T>): T\nexport function last<T>(array: T[]): T | undefined\n\nexport function last<T>(array: T[]): T | undefined {\n return nth(array, -1)\n}\n",
|
|
6
6
|
"export type StringSortType = 'alphabetical' | 'length' | 'natural'\n\ntype Sortable = bigint | number | string\n\nconst COLLATOR_NATURAL = new Intl.Collator(undefined, { numeric: true, sensitivity: 'variant' })\n\nfunction createStringComparator(direction: -1 | 1, type: StringSortType) {\n if (type === 'natural') {\n const cmp = COLLATOR_NATURAL.compare\n\n return (a: string, b: string) => direction * cmp(a, b)\n }\n\n if (type === 'length') {\n return (a: string, b: string) => direction * (a.length - b.length)\n }\n\n return (a: string, b: string) => direction * a.localeCompare(b)\n}\n\nconst createGenericComparator = (direction: -1 | 1) => <T extends Sortable>(a: T, b: T) => {\n if (a < b) {\n return -direction as -1 | 1\n }\n\n if (a > b) {\n return direction\n }\n\n return 0 as const\n}\n\nexport function asc(type: StringSortType): (a: string, b: string) => number\nexport function asc(): <T extends Sortable>(a: T, b: T) => number\n\nexport function asc(type?: StringSortType) {\n if (type) {\n return createStringComparator(1, type)\n }\n\n return createGenericComparator(1)\n}\n\nexport function desc(type: StringSortType): (a: string, b: string) => number\nexport function desc(): <T extends Sortable>(a: T, b: T) => number\n\nexport function desc(type?: StringSortType) {\n if (type) {\n return createStringComparator(-1, type)\n }\n\n return createGenericComparator(-1)\n}\n",
|
|
@@ -9,25 +9,14 @@
|
|
|
9
9
|
"import { LinkedMap } from './linked-map'\n\nexport class FifoMap<K, V> extends LinkedMap<K, V> {\n public override peekNewest(): [K, V] | undefined {\n return this.tail ? [this.tail.key, this.tail.value] : undefined\n }\n\n public override peekOldest(): [K, V] | undefined {\n return this.head ? [this.head.key, this.head.value] : undefined\n }\n\n public set(key: K, value: V): this {\n const existingNode = this.nodeMap.get(key)\n\n if (existingNode) {\n existingNode.value = value\n\n return this\n }\n\n const newNode = this.createNode(key, value)\n\n this.nodeMap.set(key, newNode)\n this.addToTail(newNode)\n this.currentSize++\n\n if (this.maxSize && this.currentSize > this.maxSize) {\n this.removeHead()\n }\n\n return this\n }\n}\n",
|
|
10
10
|
"import type { SetLike } from './types'\nimport { LinkedBase, type LinkedBaseNode } from './linked-base'\n\nexport interface LinkedSetNode<T> extends LinkedBaseNode {\n next: LinkedSetNode<T> | null\n prev: LinkedSetNode<T> | null\n value: T\n}\n\nexport abstract class LinkedSet<T> extends LinkedBase<T, LinkedSetNode<T>> implements SetLike<T> {\n public abstract add(value: T): this\n\n public delete(value: T) {\n return this.deleteByKey(value)\n }\n\n public * entries(): IterableIterator<[T, T]> {\n for (const value of this.values()) {\n yield [value, value]\n }\n }\n\n public forEach(callback: (value: T, value2: T, set: this) => void) {\n for (const value of this.values()) {\n callback(value, value, this)\n }\n }\n\n public has(value: T) {\n return this.nodeMap.has(value)\n }\n\n public keys() {\n return this.values()\n }\n\n public peekNewest(): T | undefined {\n return this.head?.value\n }\n\n public peekOldest(): T | undefined {\n return this.tail?.value\n }\n\n public [Symbol.iterator]() {\n return this.values()\n }\n\n public toJSON(): T[] {\n return [...this.values()]\n }\n\n public * values(): IterableIterator<T> {\n let current = this.head\n\n while (current) {\n yield current.value\n current = current.next\n }\n }\n\n protected createNode(value: T): LinkedSetNode<T> {\n return { next: null, prev: null, value }\n }\n\n protected getNodeKey(node: LinkedSetNode<T>) {\n return node.value\n }\n}\n",
|
|
11
11
|
"import { LinkedSet } from './linked-set'\n\nexport class FifoSet<T> extends LinkedSet<T> {\n public add(value: T): this {\n if (this.nodeMap.has(value)) {\n return this\n }\n\n const newNode = this.createNode(value)\n\n this.nodeMap.set(value, newNode)\n this.addToTail(newNode)\n this.currentSize++\n\n if (this.maxSize && this.currentSize > this.maxSize) {\n this.removeHead()\n }\n\n return this\n }\n\n public override peekOldest(): T | undefined {\n return this.head?.value\n }\n\n public override peekNewest(): T | undefined {\n return this.tail?.value\n }\n}\n",
|
|
12
|
-
"import type { CollectionLike, MapLike, SetLike } from './types'\n\nexport const isIterable = <T>(value: unknown): value is Iterable<T> => value != null && typeof value === 'object' && Symbol.iterator in value && typeof value[Symbol.iterator] === 'function'\n\nexport const isCollectionLike = <T>(value: unknown): value is CollectionLike<T> => isIterable(value) && 'size' in value && typeof value.size === 'number'\n\nexport const isEmptyCollection = (value: CollectionLike) => value.size === 0\n\nexport const isSetLike = <T>(value: unknown): value is SetLike<T> => isCollectionLike(value) && 'has' in value && typeof value.has === 'function'\n\nexport const isMapLike = <K, V>(value: unknown): value is MapLike<K, V> => isCollectionLike(value) && 'get' in value && typeof value.get === 'function' && 'entries' in value && typeof value.entries === 'function'\n",
|
|
13
12
|
"import { LinkedMap } from './linked-map'\n\nexport class LruMap<K, V> extends LinkedMap<K, V> {\n public override get(key: K) {\n const node = this.nodeMap.get(key)\n\n if (node) {\n this.moveToHead(node)\n }\n\n return node?.value\n }\n\n public set(key: K, value: V): this {\n const existingNode = this.nodeMap.get(key)\n\n if (existingNode) {\n existingNode.value = value\n this.moveToHead(existingNode)\n\n return this\n }\n\n const newNode = this.createNode(key, value)\n\n this.nodeMap.set(key, newNode)\n this.addToHead(newNode)\n this.currentSize++\n\n if (this.maxSize && this.currentSize > this.maxSize) {\n this.removeTail()\n }\n\n return this\n }\n}\n",
|
|
14
13
|
"import { LinkedSet } from './linked-set'\n\nexport class LruSet<T> extends LinkedSet<T> {\n public add(value: T): this {\n const existingNode = this.nodeMap.get(value)\n\n if (existingNode) {\n this.moveToHead(existingNode)\n\n return this\n }\n\n const newNode = this.createNode(value)\n\n this.nodeMap.set(value, newNode)\n this.addToHead(newNode)\n this.currentSize++\n\n if (this.maxSize && this.currentSize > this.maxSize) {\n this.removeTail()\n }\n\n return this\n }\n}\n",
|
|
15
|
-
"export const DEFAULT_TRUE_STRINGS = new Set(['1', 'on', 'true', 'yes'])\n",
|
|
16
|
-
"export const toString = (value: unknown) => Object.prototype.toString.call(value)\n\nexport function typeOf(value: unknown): string {\n if (value === null) {\n return 'null'\n }\n\n return typeof value === 'object' || typeof value === 'function' ? toString(value).slice(8, -1).toLowerCase() : typeof value\n}\n",
|
|
17
|
-
"import type { JsonablePrimitive, Primitive } from './types'\nimport { DEFAULT_TRUE_STRINGS } from './constants'\n\nexport const isNull = (value: unknown): value is null => value === null\nexport const isUndefined = (value: unknown): value is undefined => value === undefined\nexport const isNullish = (value: unknown): value is null | undefined => isNull(value) || isUndefined(value)\n\nexport const notNull = <T>(value: T): value is Exclude<T, null> => !isNull(value)\nexport const notUndefined = <T>(value: T): value is Exclude<T, undefined> => !isUndefined(value)\nexport const notNullish = <T>(value: T): value is NonNullable<T> => !isNullish(value)\n\nexport const isBoolean = (value: unknown): value is boolean => typeof value === 'boolean'\nexport const isSymbol = (value: unknown): value is symbol => typeof value === 'symbol'\nexport const isBigInt = (value: unknown): value is bigint => typeof value === 'bigint'\nexport const isNumber = (value: unknown): value is number => typeof value === 'number'\nexport const isString = (value: unknown): value is string => typeof value === 'string'\nexport const isDate = (value: unknown): value is Date => value instanceof Date\n\nexport const isPrimitive = (value: unknown): value is Primitive => value === null || (typeof value !== 'object' && typeof value !== 'function')\n\nexport const isJsonablePrimitive = (value: unknown): value is JsonablePrimitive => (\n isNull(value) || isString(value) || isBoolean(value) || (isNumber(value) && Number.isFinite(value))\n)\n\nexport interface IsTrueLikeOptions {\n anyNonZeroNumber?: boolean\n trueStrings?: Set<string>\n}\n\nexport function isTrueLike(value: unknown, options: IsTrueLikeOptions = {}) {\n const { anyNonZeroNumber = false, trueStrings = DEFAULT_TRUE_STRINGS } = options\n\n if (isBoolean(value)) {\n return value\n }\n\n if (isString(value)) {\n return trueStrings.has(value.toLowerCase())\n }\n\n if (isNumber(value)) {\n return anyNonZeroNumber ? value !== 0 && Number.isFinite(value) : value === 1\n }\n\n if (isBigInt(value)) {\n return anyNonZeroNumber ? value !== 0n : value === 1n\n }\n\n return false\n}\n\nexport const isGenerator = (value: unknown): boolean => (\n typeof value === 'object' &&\n value !== null &&\n typeof (value as Record<PropertyKey, unknown>).next === 'function' &&\n typeof (value as Record<PropertyKey, unknown>)[Symbol.iterator] === 'function'\n)\n",
|
|
18
|
-
"import type { EmptyArray, NonEmptyArray } from './types'\n\nexport const isArray = <T = any>(value: unknown): value is T[] => Array.isArray(value)\n\nexport const isEmptyArray = <T = any, TStrict extends boolean = true>(value: T[]): value is (TStrict extends true ? EmptyArray : T[]) => value.length === 0\n\nexport const isNonEmptyArray = <T = any, TStrict extends boolean = true>(value: T[]): value is (TStrict extends true ? NonEmptyArray<T> : T[]) => !isEmptyArray(value)\n",
|
|
19
|
-
"import type { MaybeArray } from './types'\nimport { isIterable } from '../collections'\nimport { notNullish, type Nullable } from '../core'\nimport { isArray } from './guards'\n\nexport const wrap = <T>(array: T | T[]) => (isArray(array) ? array : [array])\n\nexport function toArray<T>(value?: Nullable<MaybeArray<T>>) {\n if (isIterable(value)) {\n return [...value]\n }\n\n return wrap(value ?? [])\n}\n\nexport const compact = <T>(array: Array<Nullable<T>>): T[] => array.filter(notNullish)\n",
|
|
20
14
|
"import type { EmptyArray, NonEmptyArray } from './types'\n\nexport const createArray = <T, TStrict extends boolean = true, TLength extends number = number>(length: TLength, value: (index: number) => T) => (\n Array.from({ length }, (_, i) => value(i)) as TStrict extends false ? T[] : (TLength extends 0 ? EmptyArray : NonEmptyArray<T>)\n)\n\nexport const range = (from: number, to: number, step = 1) => (\n Array.from({ length: Math.floor((to - from) / step) + 1 }, (_, i) => from + (i * step))\n)\n\nexport const sample = <T>(array: T[], quantity = 1) => (\n Array.from({ length: quantity }, () => array[Math.floor(Math.random() * array.length)])\n)\n",
|
|
21
15
|
"import type { Nullable } from '../core'\nimport type { MaybeArray } from './types'\nimport { toArray } from './conversions'\n\nexport const merge = <T>(...arrays: Array<Nullable<MaybeArray<T>>>) => arrays.flatMap((array) => toArray(array))\n\nexport const flatten = <T>(array?: Nullable<MaybeArray<T | T[]>>) => toArray(array).flat() as T[]\n\nexport function shuffle<T>(array: T[]): T[] {\n const result = [...array]\n\n for (let i = result.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1))\n const temp = result[i]\n\n result[i] = result[j]!\n result[j] = temp!\n }\n\n return result\n}\n\nexport function groupBy<T, K extends PropertyKey>(array: T[], keyFn: (item: T) => K): Record<K, T[]> {\n const result = {} as Record<K, T[]>\n\n for (const item of array) {\n const key = keyFn(item)\n const group = result[key]\n\n if (group) {\n group.push(item)\n } else {\n result[key] = [item]\n }\n }\n\n return result\n}\n\nexport function keyBy<T, K extends PropertyKey>(array: T[], keyFn: (item: T) => K): Record<K, T> {\n const result = {} as Record<K, T>\n\n for (const item of array) {\n result[keyFn(item)] = item\n }\n\n return result\n}\n\nexport function chunk<T>(array: T[], size: number): T[][] {\n if (size <= 0 || !Number.isFinite(size)) {\n throw new RangeError(`chunk size must be a positive finite number, got ${size}`)\n }\n\n const step = Math.floor(size)\n const result: T[][] = []\n\n for (let i = 0; i < array.length; i += step) {\n result.push(array.slice(i, i + step))\n }\n\n return result\n}\n\nexport type SortDirection = 'asc' | 'desc'\n\nexport type SortKey<T> = ((item: T) => number | string) | { fn: (item: T) => number | string, order: SortDirection }\n\nexport function sortBy<T>(array: T[], ...keys: Array<SortKey<T>>): T[] {\n const normalizedKeys = keys.map((key) => (typeof key === 'function' ? { fn: key, order: 'asc' as const } : key))\n\n return array.toSorted((a, b) => {\n for (const { fn, order } of normalizedKeys) {\n const va = fn(a)\n const vb = fn(b)\n\n if (va < vb) {\n return order === 'asc' ? -1 : 1\n }\n\n if (va > vb) {\n return order === 'asc' ? 1 : -1\n }\n }\n\n return 0\n })\n}\n\nexport function partition<T>(array: T[], predicate: (item: T) => boolean): [T[], T[]] {\n const pass: T[] = []\n const fail: T[] = []\n\n for (const item of array) {\n if (predicate(item)) {\n pass.push(item)\n } else {\n fail.push(item)\n }\n }\n\n return [pass, fail]\n}\n",
|
|
22
16
|
"export const unique = <T>(array: T[]) => [...new Set(array)]\n\nexport const uniqueBy = <T>(array: T[], equalFn: (a: T, b: T) => boolean) => (\n array.reduce<T[]>((r, c) => (r.some((v) => equalFn(v, c)) ? r : [...r, c]), [])\n)\n\nexport const intersection = <T>(a: T[], b: T[]) => a.filter((v) => b.includes(v))\n\nexport const diff = <T>(a: T[], b: T[]) => a.filter((v) => !b.includes(v))\n\nexport const symmetricDiff = <T>(a: T[], b: T[]) => [...diff(a, b), ...diff(b, a)]\n",
|
|
23
|
-
"import type { BufferLike } from './types'\n\nexport const isBuffer = (value: unknown): value is Buffer => Buffer.isBuffer(value)\n\nexport const isArrayBuffer = (value: unknown): value is ArrayBuffer => value instanceof ArrayBuffer\n\nexport const isSharedArrayBuffer = (value: unknown): value is SharedArrayBuffer => value instanceof SharedArrayBuffer\n\nexport const isArrayBufferView = (value: unknown): value is ArrayBufferView => ArrayBuffer.isView(value)\n\nexport const isBufferLike = (value: unknown): value is BufferLike => (\n isBuffer(value) || isArrayBuffer(value) || isSharedArrayBuffer(value) || isArrayBufferView(value)\n)\n",
|
|
24
|
-
"import type { BufferLike } from './types'\nimport { isArrayBuffer, isBuffer, isSharedArrayBuffer } from './guards'\n\nexport function bufferToString(buffer: BufferLike, encoding: BufferEncoding = 'utf8') {\n if (isBuffer(buffer)) {\n return buffer.toString(encoding)\n }\n\n if (isArrayBuffer(buffer) || isSharedArrayBuffer(buffer)) {\n return Buffer.from(buffer).toString(encoding)\n }\n\n return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength).toString(encoding)\n}\n\nexport function toUint8Array(input: BufferLike) {\n if (input instanceof Uint8Array) {\n return input\n }\n\n if (input instanceof ArrayBuffer || input instanceof SharedArrayBuffer) {\n return new Uint8Array(input)\n }\n\n return new Uint8Array(input.buffer, input.byteOffset, input.byteLength)\n}\n",
|
|
25
17
|
"import type { BufferLike } from './types'\nimport { toUint8Array } from './conversions'\n\nexport function concatBuffers(buffers: BufferLike[]) {\n if (buffers.length === 0) {\n return new Uint8Array(0)\n }\n\n const normalized = buffers.map(toUint8Array)\n\n let totalLength = 0\n let offset = 0\n\n for (const buf of normalized) {\n totalLength += buf.byteLength\n }\n\n const result = new Uint8Array(totalLength)\n\n for (const buf of normalized) {\n result.set(buf, offset)\n offset += buf.byteLength\n }\n\n return result\n}\n\nexport function bufferEquals(a: BufferLike, b: BufferLike) {\n if (a === b) {\n return true\n }\n\n const u8a = toUint8Array(a)\n const u8b = toUint8Array(b)\n\n if (u8a.byteLength !== u8b.byteLength) {\n return false\n }\n\n const bufA = Buffer.from(u8a.buffer, u8a.byteOffset, u8a.byteLength)\n const bufB = Buffer.from(u8b.buffer, u8b.byteOffset, u8b.byteLength)\n\n return bufA.equals(bufB)\n}\n",
|
|
26
|
-
"export type BaseErrorCode = number | string\n\nexport interface BaseErrorOptions extends ErrorOptions {\n cause?: unknown\n code?: BaseErrorCode\n details?: string\n exitCode?: number\n name?: string\n retryable?: boolean\n timestamp?: Date\n}\n\nexport class BaseError extends Error {\n public declare readonly timestamp: Date\n public declare readonly code?: BaseErrorCode\n public declare readonly cause?: unknown\n public declare readonly details?: string\n public declare readonly exitCode?: number\n public declare readonly retryable?: boolean\n\n public constructor(message: string, { code, details, exitCode, name, retryable, timestamp, ...options }: BaseErrorOptions = {}) {\n super(message, options)\n\n Object.setPrototypeOf(this, new.target.prototype)\n\n this.defineValue('name', name ?? this.constructor.name)\n this.defineValue('timestamp', timestamp ?? new Date())\n this.defineValue('cause', options.cause)\n this.defineValue('code', code)\n this.defineValue('details', details)\n this.defineValue('exitCode', exitCode)\n this.defineValue('retryable', retryable)\n }\n\n public withValue<K extends string, V>(key: K, value: V): Record<K, V> & this {\n if (Object.hasOwn(this, key)) {\n throw new TypeError(`Cannot redefine property '${key}' on ${this.name}`)\n }\n\n return this.defineValue(key, value) as Record<K, V> & this\n }\n\n protected defineValue(key: string, value: unknown) {\n Object.defineProperty(this, key, { configurable: false, enumerable: true, value, writable: false })\n\n return this\n }\n}\n",
|
|
27
|
-
"import type { AnyObject, UnknownObject } from './types'\nimport { isArray } from '../arrays'\nimport { toString } from '../core'\n\nexport const isObject = (value: unknown): value is AnyObject => value !== null && typeof value === 'object' && !isArray(value)\n\nexport const isPlainObject = (value: unknown): value is UnknownObject => {\n if (toString(value) !== '[object Object]') {\n return false\n }\n\n const proto = Object.getPrototypeOf(value)\n\n return proto === null || proto === Object.prototype\n}\n\nexport const isEmptyObject = (value: AnyObject) => Object.keys(value).length === 0\n\nexport const isKeyOf = <T extends AnyObject>(obj: T, name: PropertyKey): name is keyof T => name in obj\n\nexport const isKeysOf = <T extends PropertyKey>(data: AnyObject, ...keys: T[]): data is Record<T, unknown> => keys.every((key) => isKeyOf(data, key))\n",
|
|
28
18
|
"import type { AnyObject, DeepPartial } from './types'\nimport { isArray } from '../arrays'\nimport { unique } from '../arrays/set-operations'\nimport { isPlainObject } from './guards'\n\nexport type DeepMergeArrayMode = 'merge' | 'merge-dedupe' | 'replace'\n\nexport interface DeepMergeOptions {\n arrayMode?: DeepMergeArrayMode\n}\n\nconst DANGEROUS_KEYS = new Set(['__proto__', 'constructor', 'prototype'])\n\nfunction mergeArrays(base: unknown[], override: unknown[], arrayMode: DeepMergeArrayMode): unknown[] {\n if (arrayMode === 'replace') {\n return override.map(deepCloneValue)\n }\n\n const merged = [...base, ...override]\n const deduped = arrayMode === 'merge-dedupe' ? unique(merged) : merged\n\n return deduped.map(deepCloneValue)\n}\n\nfunction deepCloneValue(value: unknown): unknown {\n if (isPlainObject(value)) {\n const cloned: Record<string, unknown> = {}\n\n for (const key of Object.keys(value)) {\n if (!DANGEROUS_KEYS.has(key)) {\n cloned[key] = deepCloneValue(value[key])\n }\n }\n\n return cloned\n }\n\n if (isArray(value)) {\n return value.map(deepCloneValue)\n }\n\n return value\n}\n\nfunction mergeRecursive(base: Record<string, unknown>, override: Record<string, unknown>, arrayMode: DeepMergeArrayMode): Record<string, unknown> {\n const result: Record<string, unknown> = {}\n\n for (const key of Object.keys(base)) {\n if (!DANGEROUS_KEYS.has(key)) {\n result[key] = deepCloneValue(base[key])\n }\n }\n\n for (const key of Object.keys(override)) {\n if (DANGEROUS_KEYS.has(key)) {\n continue\n }\n\n const baseVal = result[key]\n const overrideVal = override[key]\n\n if (isPlainObject(baseVal) && isPlainObject(overrideVal)) {\n result[key] = mergeRecursive(baseVal, overrideVal, arrayMode)\n } else if (isArray(baseVal) && isArray(overrideVal)) {\n result[key] = mergeArrays(baseVal, overrideVal, arrayMode)\n } else {\n result[key] = deepCloneValue(overrideVal)\n }\n }\n\n return result\n}\n\nexport const deepMerge = <T extends AnyObject>(base: T, override: DeepPartial<T>, { arrayMode = 'replace' }: DeepMergeOptions = {}): T => (\n mergeRecursive(base, override as Record<string, unknown>, arrayMode) as T\n)\n",
|
|
29
19
|
"import type { AnyObject, FilterPredicate } from './types'\nimport { isNullish, type Nullish } from '../core'\n\nexport const entries = <O extends AnyObject>(obj: O) => Object.entries(obj) as Array<[keyof O, O[keyof O]]>\n\nexport const filter = <O extends AnyObject>(obj: O, predicate: FilterPredicate<O, keyof O>): Partial<O> => (\n Object.fromEntries(entries(obj).filter(([key, value], index) => predicate(key, value, index))) as Partial<O>\n)\n\nexport const filterByValue = <O extends AnyObject>(obj: O, predicate: (value: O[keyof O]) => boolean) => filter(obj, (_, value) => predicate(value))\n\nexport const pick = <O extends AnyObject, K extends keyof O>(obj: O, ...keys: K[]) => {\n const set = new Set<PropertyKey>(keys)\n\n return filter(obj, (key) => set.has(key)) as Pick<O, K>\n}\n\nexport const omit = <O extends AnyObject, K extends keyof O>(object: O, ...keys: K[]) => {\n const set = new Set<PropertyKey>(keys)\n\n return filter(object, (key) => !set.has(key)) as Omit<O, K>\n}\n\nexport const map = <K extends PropertyKey, V, NK extends PropertyKey, NV>(obj: Record<K, V>, fn: (k: K, v: V, i: number) => [NK, NV]) => (\n Object.fromEntries(entries(obj).map(([k, v], i) => fn(k, v, i))) as Record<NK, NV>\n)\n\nexport function resolveOptions<T extends AnyObject>(options: Nullish<T | boolean>, defaultValue: T | false): T | false {\n if (options === false) {\n return false\n }\n\n return isNullish(options) || options === true ? defaultValue : options\n}\n",
|
|
30
|
-
"import type { ErrorLike } from './types'\nimport { isString } from '../core'\nimport { isKeysOf, isObject } from '../objects'\nimport { BaseError } from './base-error'\n\nexport const isError = (value: unknown): value is Error => value instanceof Error\n\nexport const isBaseError = (value: unknown): value is BaseError => value instanceof BaseError\n\nexport const isAbortError = (error: unknown): error is DOMException => error instanceof DOMException && error.name === 'AbortError'\n\nexport const isErrorLike = (value: unknown): value is ErrorLike => isObject(value) && isKeysOf(value, 'name') && isString(value.name)\n",
|
|
31
20
|
"import type { Errorable, ErrorCtor, ErrorLike } from './types'\nimport { isString, notNullish } from '../core'\nimport { isErrorLike } from './guards'\n\nexport const createAbortError = (message = 'This operation was aborted', name = 'AbortError') => new DOMException(message, name)\n\nexport const createTimeoutError = (message = 'The operation was aborted due to a timeout', name = 'TimeoutError') => createAbortError(message, name)\n\nexport function createAbortController(timeout?: number, timeoutError?: Errorable) {\n const controller = new AbortController()\n\n if (notNullish(timeout) && timeout > 0 && timeout <= Number.MAX_SAFE_INTEGER) {\n let timeoutId: NodeJS.Timeout\n\n const cleanup = () => {\n clearTimeout(timeoutId)\n controller.signal.removeEventListener('abort', cleanup)\n }\n\n controller.signal.addEventListener('abort', cleanup)\n timeoutId = setTimeout(() => controller.abort(ensureError(timeoutError ?? createTimeoutError())), timeout)\n }\n\n return controller\n}\n\nexport function ensureError(input: Errorable, ctor?: ErrorCtor) {\n if (typeof input === 'string') {\n return ctor ? new ctor(input) : new Error(input)\n }\n\n if (typeof input === 'function') {\n return ensureError(input(), ctor)\n }\n\n return input\n}\n\nexport function fromErrorLike({ cause, message, name, stack, ...properties }: ErrorLike, ctor?: ErrorCtor) {\n const errorClass = ctor ?? Error\n const error = new errorClass(message, { cause })\n\n Object.defineProperty(error, 'name', { configurable: true, enumerable: false, value: name, writable: true })\n Object.defineProperty(error, 'stack', { configurable: true, enumerable: false, value: stack, writable: true })\n\n for (const [key, value] of Object.entries(properties)) {\n Object.defineProperty(error, key, Object.getOwnPropertyDescriptor(properties, key) ?? { configurable: true, enumerable: true, value, writable: true })\n }\n\n return error\n}\n\nexport interface NormalizeErrorOptions {\n defaultMessage?: string\n errorConstructor?: ErrorCtor\n}\n\nexport function normalizeError(error: unknown, { defaultMessage = 'Unknown error', errorConstructor }: NormalizeErrorOptions = {}) {\n const errorClass = errorConstructor ?? Error\n\n if (error instanceof errorClass) {\n return error\n }\n\n if (isString(error)) {\n return ensureError(error, errorConstructor)\n }\n\n if (isErrorLike(error)) {\n return fromErrorLike(error, errorConstructor)\n }\n\n return new errorClass(defaultMessage, { cause: error })\n}\n",
|
|
32
21
|
"import { notNullish, type Nullish } from '../core'\n\nexport function combineSignals(...signals: Array<Nullish<AbortSignal>>) {\n const validSignals = signals.filter(notNullish)\n\n if (validSignals.length === 0) {\n return new AbortController().signal\n }\n\n if (validSignals.length === 1) {\n return validSignals[0]!\n }\n\n return AbortSignal.any(validSignals)\n}\n",
|
|
33
22
|
"import { isString, notNullish } from '../core'\nimport { isObject } from '../objects'\nimport { normalizeError, type NormalizeErrorOptions } from './factories'\n\nexport interface StringifyErrorFormatters {\n code?: (code: string) => string\n message?: (message: string) => string\n name?: (name: string) => string\n}\n\nexport interface StringifyErrorOptions extends NormalizeErrorOptions {\n causeIndent?: number\n causePrefix?: string\n circularReferenceMessage?: string\n formatters?: StringifyErrorFormatters\n includeCause?: boolean\n includeCode?: boolean\n includeName?: boolean\n maxCauseDepth?: number\n}\n\nexport const DEFAULT_STRINGIFY_FORMATTERS: Required<StringifyErrorFormatters> = {\n code: (value) => `[${value}]`,\n message: (value) => value,\n name: (value) => `${value}:`,\n}\n\nexport interface StringifyErrorState {\n causeIndent: number\n causePrefix: string\n circularReferenceMessage: string\n defaultMessage: string\n formatters: Required<StringifyErrorFormatters>\n includeCause: boolean\n includeCode: boolean\n includeName: boolean\n maxCauseDepth: number\n normalizeOptions: NormalizeErrorOptions\n visited: Set<unknown>\n}\n\nexport function collectCauses(error: Error, depth: number, indent: string, state: StringifyErrorState) {\n const childIndent = indent + ' '.repeat(state.causeIndent)\n const pointers: string[] = []\n\n if (error instanceof AggregateError && error.errors.length > 0) {\n for (const subError of error.errors) {\n pointers.push(stringifyErrorNode(subError, depth - 1, childIndent, state.causePrefix, state))\n }\n }\n\n if (isObject(error.cause) || isString(error.cause)) {\n pointers.push(stringifyErrorNode(error.cause, depth - 1, childIndent, state.causePrefix, state))\n }\n\n return pointers\n}\n\nexport function appendCauses(parts: string[], error: Error, error_: unknown, depth: number, indent: string, state: StringifyErrorState) {\n if (!state.includeCause || depth <= 0 || (error !== error_ && error.cause === error_)) {\n return\n }\n\n const pointers = collectCauses(error, depth, indent, state)\n\n if (pointers.length > 0) {\n parts.push(`\\n${pointers.join('\\n')}`)\n }\n}\n\nexport function buildErrorParts(error: Error, state: StringifyErrorState) {\n const parts: string[] = []\n\n if (state.includeCode && 'code' in error && notNullish(error.code)) {\n parts.push(state.formatters.code(String(error.code)))\n }\n\n if (state.includeName) {\n parts.push(state.formatters.name(error.name))\n }\n\n parts.push(state.formatters.message(error.message || state.defaultMessage))\n\n return parts\n}\n\nexport function stringifyErrorNode(error_: unknown, depth: number, indent: string, prefix: string, state: StringifyErrorState): string {\n if (state.visited.has(error_)) {\n return `${indent}${prefix}${state.circularReferenceMessage}`\n }\n\n if (error_ instanceof Error) {\n state.visited.add(error_)\n }\n\n if (error_ instanceof Error && error_.toString !== Error.prototype.toString) {\n const parts = [error_.toString()]\n appendCauses(parts, error_, error_, depth, indent, state)\n\n return indent + prefix + parts.join(' ')\n }\n\n const error = normalizeError(error_, { ...state.normalizeOptions, defaultMessage: state.defaultMessage })\n\n state.visited.add(error)\n\n const parts = buildErrorParts(error, state)\n appendCauses(parts, error, error_, depth, indent, state)\n\n return indent + prefix + parts.join(' ')\n}\n\nexport function stringifyError(error: unknown, options: StringifyErrorOptions = {}) {\n const { causeIndent = 2, causePrefix = '-> ', circularReferenceMessage = '[Circular Reference]', defaultMessage = 'Unknown error', formatters: formatters_ = {}, includeCause = true, includeCode = true, includeName = true, maxCauseDepth = Number.POSITIVE_INFINITY, ...normalizeOptions } = options\n\n const state: StringifyErrorState = {\n causeIndent,\n causePrefix,\n circularReferenceMessage,\n defaultMessage,\n formatters: { ...DEFAULT_STRINGIFY_FORMATTERS, ...formatters_ },\n includeCause,\n includeCode,\n includeName,\n maxCauseDepth,\n normalizeOptions,\n visited: new Set<unknown>(),\n }\n\n return stringifyErrorNode(error, maxCauseDepth, '', '', state)\n}\n",
|
|
@@ -35,8 +24,6 @@
|
|
|
35
24
|
"import { isArray, isEmptyArray } from '../arrays'\nimport { isCollectionLike, isEmptyCollection } from '../collections'\nimport { isNullish, isPrimitive, isString } from '../core'\nimport { isEmptyObject, isPlainObject } from '../objects'\n\nexport function isEmpty(value: unknown) {\n if (isNullish(value)) {\n return true\n }\n\n if (isArray(value)) {\n return isEmptyArray(value)\n }\n\n if (isPrimitive(value)) {\n if (isString(value)) {\n return value.length === 0\n }\n\n return false\n }\n\n if (isPlainObject(value)) {\n return isEmptyObject(value)\n }\n\n if (isCollectionLike(value)) {\n return isEmptyCollection(value)\n }\n\n return false\n}\n\nexport function isDeepEqual(a: unknown, b: unknown): boolean {\n if (a === b) {\n return true\n }\n\n if (isArray(a) && isArray(b)) {\n if (a.length !== b.length) {\n return false\n }\n\n return a.every((item, i) => isDeepEqual(item, b[i]))\n }\n\n if (isPlainObject(a) && isPlainObject(b)) {\n const keysA = Object.keys(a)\n\n if (keysA.length !== Object.keys(b).length) {\n return false\n }\n\n return keysA.every((key) => isDeepEqual(a[key], b[key]))\n }\n\n return Object.is(a, b)\n}\n",
|
|
36
25
|
"import type { NullToUndefined } from './types'\nimport { isArray } from '../arrays'\nimport { isNullish } from '../core'\nimport { isPlainObject, map } from '../objects'\n\nexport function nullToUndefined<T>(value: T): NullToUndefined<T> {\n if (isNullish(value)) {\n return undefined as NullToUndefined<T>\n }\n\n if (isArray(value)) {\n return value.map(nullToUndefined) as NullToUndefined<T>\n }\n\n if (isPlainObject(value)) {\n return map(value, (k, v) => [k, nullToUndefined(v)]) as NullToUndefined<T>\n }\n\n return value as NullToUndefined<T>\n}\n",
|
|
37
26
|
"import type { EventArgs, EventListener, EventListenerMap, EventMap, EventNames } from './types'\n\nexport class Emitter<TEventMap = EventMap, TStrict extends boolean = false> {\n protected readonly eventListeners: EventListenerMap\n protected readonly onceListeners: EventListenerMap\n\n public constructor() {\n this.eventListeners = new Map()\n this.onceListeners = new Map()\n }\n\n public listeners<TEventName extends EventNames<TEventMap, TStrict>>(eventName: TEventName): Array<EventListener<EventArgs<TEventMap, TEventName, TStrict>>> {\n const listeners = this.eventListeners.get(eventName) ?? []\n const onceListeners = this.onceListeners.get(eventName) ?? []\n\n return [...listeners, ...onceListeners]\n }\n\n public listenersCount<TEventName extends EventNames<TEventMap, TStrict>>(eventName: TEventName) {\n const listeners = this.eventListeners.get(eventName)\n const onceListeners = this.onceListeners.get(eventName)\n\n return (listeners?.size ?? 0) + (onceListeners?.size ?? 0)\n }\n\n public eventNames(): Array<PropertyKey | keyof TEventMap> {\n return [...new Set([...this.eventListeners.keys(), ...this.onceListeners.keys()])]\n }\n\n public on<TEventName extends EventNames<TEventMap, TStrict>>(eventName: TEventName, listener: EventListener<EventArgs<TEventMap, TEventName, TStrict>>): this {\n this.#addTo(this.eventListeners, eventName, listener)\n\n return this\n }\n\n public once<TEventName extends EventNames<TEventMap, TStrict>>(eventName: TEventName, listener: EventListener<EventArgs<TEventMap, TEventName, TStrict>>): this {\n this.#addTo(this.onceListeners, eventName, listener)\n\n return this\n }\n\n public off<TEventName extends EventNames<TEventMap, TStrict>>(eventName: TEventName, listener: EventListener<EventArgs<TEventMap, TEventName, TStrict>>): this {\n this.#removeFrom(this.eventListeners, eventName, listener)\n this.#removeFrom(this.onceListeners, eventName, listener)\n\n return this\n }\n\n public emit<TEventName extends EventNames<TEventMap, TStrict>>(eventName: TEventName, ...args: EventArgs<TEventMap, TEventName, TStrict>): boolean {\n const regularSnapshot = this.#takeSnapshot(this.eventListeners.get(eventName))\n const onceSnapshot = this.#takeSnapshot(this.onceListeners.get(eventName))\n\n this.onceListeners.delete(eventName)\n\n const fromRegular = this.#emitSnapshot(regularSnapshot, args)\n const fromOnce = this.#emitSnapshot(onceSnapshot, args)\n\n return fromRegular || fromOnce\n }\n\n public removeAllListeners<TEventName extends EventNames<TEventMap, TStrict>>(eventName?: TEventName): this {\n if (eventName === undefined) {\n this.eventListeners.clear()\n this.onceListeners.clear()\n } else {\n this.eventListeners.delete(eventName)\n this.onceListeners.delete(eventName)\n }\n\n return this\n }\n\n #addTo(map: EventListenerMap, eventName: PropertyKey, listener: EventListener) {\n let set = map.get(eventName)\n\n if (!set) {\n set = new Set()\n map.set(eventName, set)\n }\n\n set.add(listener)\n }\n\n #removeFrom(map: EventListenerMap, eventName: PropertyKey, listener: EventListener) {\n const set = map.get(eventName)\n\n if (!set) {\n return\n }\n\n set.delete(listener)\n\n if (set.size === 0) {\n map.delete(eventName)\n }\n }\n\n #takeSnapshot(set: Set<EventListener> | undefined) {\n if (!set || set.size === 0) {\n return []\n }\n\n return [...set]\n }\n\n #emitSnapshot(snapshot: EventListener[], args: any[]) {\n if (snapshot.length === 0) {\n return false\n }\n\n for (const listener of snapshot) {\n listener(...args)\n }\n\n return true\n }\n}\n",
|
|
38
|
-
"import type { Fn } from './types'\n\nexport const isFunction = <T extends Fn>(value: unknown): value is T => (\n typeof value === 'function'\n)\n",
|
|
39
|
-
"import { isFunction } from './guards'\n\nexport function tap<T>(value: T, callback: (value: T) => void) {\n callback(value)\n\n return value\n}\n\nexport const transform = <T, R>(value: T, callback: (value: T) => R) => callback(value)\n\nexport function tryCatch<T>(fn: () => T, fallback: T | ((error: unknown) => T)) {\n try {\n return fn()\n } catch (error) {\n return isFunction(fallback) ? fallback(error) : fallback\n }\n}\n",
|
|
40
27
|
"import type { Args, Fn } from './types'\n\nexport interface TimerState<T extends Fn> {\n lastArgs: Args<T> | undefined\n lastResult: ReturnType<T> | undefined\n lastThis: unknown\n timeoutId: ReturnType<typeof setTimeout> | undefined\n}\n\nexport const createTimerState = <T extends Fn>(): TimerState<T> => ({\n lastArgs: undefined,\n lastResult: undefined,\n lastThis: undefined,\n timeoutId: undefined,\n})\n\nexport function invokeTimer<T extends Fn>(state: TimerState<T>, fn: T) {\n const args = state.lastArgs!\n const thisArg = state.lastThis\n\n state.timeoutId = undefined\n state.lastArgs = undefined\n state.lastResult = fn.apply(thisArg, args)\n}\n\nexport function flushTimer<T extends Fn>(state: TimerState<T>, invoke: () => void) {\n if (state.timeoutId !== undefined) {\n clearTimeout(state.timeoutId)\n invoke()\n }\n\n return state.lastResult\n}\n",
|
|
41
28
|
"import type { Args, Fn, TimingControlled } from './types'\nimport { createTimerState, flushTimer, invokeTimer } from './timer-state'\n\nexport type Debounced<T extends Fn> = TimingControlled<T>\n\nexport function debounce<T extends Fn>(fn: T, wait: number): Debounced<T> {\n const state = createTimerState<T>()\n const invoke = () => invokeTimer(state, fn)\n\n const debounced: Debounced<T> = function (this: unknown, ...args: Args<T>) {\n state.lastArgs = args\n state.lastThis = this\n\n if (state.timeoutId !== undefined) {\n clearTimeout(state.timeoutId)\n }\n\n state.timeoutId = setTimeout(invoke, wait)\n }\n\n debounced.cancel = () => {\n if (state.timeoutId !== undefined) {\n clearTimeout(state.timeoutId)\n state.timeoutId = undefined\n state.lastArgs = undefined\n }\n }\n\n debounced.flush = () => {\n return flushTimer(state, invoke)\n }\n\n return debounced\n}\n",
|
|
42
29
|
"import type { Nullish } from '../core'\nimport type { Fn } from './types'\n\nexport const noop = () => void 0\n\nexport const invoke = <T>(fn: () => T) => fn()\n\nexport function invokes(functions: Array<Nullish<Fn>>) {\n for (const fn of functions) {\n fn?.()\n }\n}\n",
|
|
@@ -48,12 +35,10 @@
|
|
|
48
35
|
"import type { JsonRpcErrorObject, JsonRpcErrorResponseMessage, JsonRpcNotifyMessage, JsonRpcRequestMessage, JsonRpcResponseId, JsonRpcSuccessResponseMessage } from './types'\nimport { notUndefined } from '../core'\n\nexport const createJsonRpcNotifyMessage = <TParams>(method: string, params?: TParams): JsonRpcNotifyMessage<TParams> => ({\n jsonrpc: '2.0', method, ...(notUndefined(params) ? { params } : {}),\n})\n\nexport const createJsonRpcRequestMessage = <TParams>(id: number | string, method: string, params?: TParams): JsonRpcRequestMessage<TParams> => ({\n id, jsonrpc: '2.0', method, ...(notUndefined(params) ? { params } : {}),\n})\n\nexport const createJsonRpcSuccessResponseMessage = <TResult = any>(id: JsonRpcResponseId, result: TResult): JsonRpcSuccessResponseMessage<TResult> => ({\n id, jsonrpc: '2.0', result,\n})\n\nexport const createJsonRpcErrorObject = <TData>(code: number, message: string, data?: TData): JsonRpcErrorObject<TData> => ({\n code, message, ...(notUndefined(data) ? { data } : {}),\n})\n\nexport const createJsonRpcErrorResponseMessage = <TData>(id: JsonRpcResponseId, error: JsonRpcErrorObject<TData>): JsonRpcErrorResponseMessage<TData> => ({\n error, id, jsonrpc: '2.0',\n})\n",
|
|
49
36
|
"import type { JsonRpcBatchRequest, JsonRpcBatchResponse, JsonRpcErrorObject, JsonRpcErrorResponseMessage, JsonRpcMessage, JsonRpcNotifyMessage, JsonRpcRequestMessage, JsonRpcResponseId, JsonRpcResponseMessage, JsonRpcResponseMessageWithNonNullId, JsonRpcSuccessResponseMessage } from './types'\nimport { isArray } from '../arrays'\nimport { isNull, isNumber, isString, notNullish } from '../core'\nimport { isKeysOf, isObject } from '../objects'\n\nexport const isJsonRpcMessage = <TParams = any, TResult = any, TErrorData = any>(message: unknown): message is JsonRpcMessage<TParams, TResult, TErrorData> => (\n isObject(message) && message.jsonrpc === '2.0'\n)\n\nexport const isValidJsonRpcId = (id: unknown): id is JsonRpcResponseId => isString(id) || isNumber(id) || isNull(id)\n\nexport const isJsonRpcRequestMessage = <TParams = any>(message: JsonRpcMessage): message is JsonRpcRequestMessage<TParams> => (\n isKeysOf(message, 'id', 'method') && isValidJsonRpcId(message.id) && isString(message.method)\n)\n\nexport const isJsonRpcNotifyMessage = <TParams = any>(message: JsonRpcMessage): message is JsonRpcNotifyMessage<TParams> => (\n isKeysOf(message, 'method') && isString(message.method) && !isKeysOf(message, 'id')\n)\n\nexport const isJsonRpcResponseMessage = <TResult = any, TErrorData = any>(message: JsonRpcMessage): message is JsonRpcResponseMessage<TResult, TErrorData> => (\n isKeysOf(message, 'id') && isValidJsonRpcId(message.id) && !isKeysOf(message, 'method')\n)\n\nexport const isJsonRpcError = <TData = any>(message: unknown): message is JsonRpcErrorObject<TData> => (\n isObject(message) && isKeysOf(message, 'code', 'message')\n)\n\nexport const isJsonRpcErrorResponseMessage = <TData = any>(message: JsonRpcMessage): message is JsonRpcErrorResponseMessage<TData> => (\n isKeysOf(message, 'error') && isJsonRpcError(message.error)\n)\n\nexport const isJsonRpcSuccessResponseMessage = <TResult = any>(message: JsonRpcMessage): message is JsonRpcSuccessResponseMessage<TResult> => (\n isKeysOf(message, 'result') && !isKeysOf(message, 'error')\n)\n\nexport const isJsonRpcResponseHasNonNullableId = <TResult = any, TErrorData = any>(response: JsonRpcResponseMessage): response is JsonRpcResponseMessageWithNonNullId<TResult, TErrorData> => (\n notNullish(response.id)\n)\n\nexport const isJsonRpcBatchRequest = <TParams = any>(value: unknown): value is JsonRpcBatchRequest<TParams> => (\n isArray(value) && value.length > 0 && value.every((item) => {\n if (!isJsonRpcMessage(item)) {\n return false\n }\n\n return isJsonRpcRequestMessage(item) || isJsonRpcNotifyMessage(item)\n })\n)\n\nexport const isJsonRpcBatchResponse = <TResult = any, TErrorData = any>(value: unknown): value is JsonRpcBatchResponse<TResult, TErrorData> => (\n isArray(value) && value.length > 0 && value.every((item) => {\n if (!isJsonRpcMessage(item)) {\n return false\n }\n\n return isJsonRpcResponseMessage(item)\n })\n)\n",
|
|
50
37
|
"export const BigIntMath = {\n isEven(a: bigint) {\n return a % 2n === 0n\n },\n\n isOdd(a: bigint) {\n return a % 2n !== 0n\n },\n\n divMod(a: bigint, b: bigint): [quotient: bigint, remainder: bigint] {\n if (b === 0n) {\n throw new RangeError('Division by zero')\n }\n\n return [a / b, a % b]\n },\n\n abs(a: bigint) {\n return a < 0n ? -a : a\n },\n\n max(a: bigint, b: bigint) {\n return a > b ? a : b\n },\n\n min(a: bigint, b: bigint) {\n return a < b ? a : b\n },\n\n pow(a: bigint, b: bigint) {\n return a ** b\n },\n\n sign(a: bigint) {\n return a === 0n ? 0n : (a < 0n ? -1n : 1n)\n },\n\n mod(a: bigint, b: bigint) {\n return ((a % b) + b) % b\n },\n\n modPow(base: bigint, exponent: bigint, modulus: bigint) {\n if (exponent < 0n) {\n throw new RangeError('Exponent must be non-negative')\n }\n\n if (modulus === 1n) {\n return 0n\n }\n\n let result = 1n\n\n base = BigIntMath.mod(base, modulus)\n\n while (exponent > 0n) {\n if (exponent % 2n === 1n) {\n result = BigIntMath.mod(result * base, modulus)\n }\n\n exponent >>= 1n\n base = BigIntMath.mod(base * base, modulus)\n }\n\n return result\n },\n\n gcd(a: bigint, b: bigint) {\n a = BigIntMath.abs(a)\n b = BigIntMath.abs(b)\n\n while (b !== 0n) {\n [a, b] = [b, a % b]\n }\n\n return a\n },\n\n lcm(a: bigint, b: bigint) {\n return (a / BigIntMath.gcd(a, b)) * b\n },\n\n clamp(value: bigint, min: bigint, max: bigint) {\n return BigIntMath.min(BigIntMath.max(value, min), max)\n },\n\n sqrt(n: bigint) {\n if (n < 0n) {\n throw new RangeError('Square root of negative bigint is undefined')\n }\n\n if (n < 2n) {\n return n\n }\n\n let x = n\n let y = (x + 1n) / 2n\n\n while (y < x) {\n x = y\n y = (x + n / x) / 2n\n }\n\n return x\n },\n\n factorial(n: bigint) {\n if (n < 0n) {\n throw new RangeError('Factorial of negative bigint is undefined')\n }\n\n if (n === 0n) {\n return 1n\n }\n\n let result = 1n\n\n for (let i = 1n; i <= n; i++) {\n result *= i\n }\n\n return result\n },\n\n sum(array: bigint[]) {\n return array.reduce((a, b) => a + b, 0n)\n },\n\n avg(array: bigint[]) {\n if (array.length === 0) {\n return 0n\n }\n\n return BigIntMath.sum(array) / BigInt(array.length)\n },\n\n isPrime(n: bigint) {\n if (n < 2n) {\n return false\n }\n\n if (n < 4n) {\n return true\n }\n\n if (n % 2n === 0n || n % 3n === 0n) {\n return false\n }\n\n const limit = BigIntMath.sqrt(n)\n\n for (let i = 5n; i <= limit; i += 6n) {\n if (n % i === 0n || n % (i + 2n) === 0n) {\n return false\n }\n }\n\n return true\n },\n\n compare(a: bigint, b: bigint) {\n return a === b ? 0 : (a < b ? -1 : 1)\n },\n}\n",
|
|
51
|
-
"export const SPECIAL_NUMBER_STRINGS = new Set(['+Infinity', '-Infinity', 'Infinity', 'NaN'])\n\nexport const SUBSCRIPT_CHARS: Record<string, string> = {\n 0: '\\u2080',\n 1: '\\u2081',\n 2: '\\u2082',\n 3: '\\u2083',\n 4: '\\u2084',\n 5: '\\u2085',\n 6: '\\u2086',\n 7: '\\u2087',\n 8: '\\u2088',\n 9: '\\u2089',\n}\n",
|
|
52
38
|
"import { transform } from '../functions'\n\nexport const sum = (array: number[]) => array.reduce((a, b) => a + b, 0)\n\nexport const avg = (array: number[]) => (array.length === 0 ? 0 : sum(array) / array.length)\n\nexport const clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max)\n\nexport const roundTo = (value: number, decimals: number) => (\n transform(10 ** decimals, (factor) => Math.round(value * factor) / factor)\n)\n\nexport const lerp = (start: number, end: number, t: number) => start + (end - start) * t\n\nexport function median(array: number[]) {\n if (array.length === 0) {\n return 0\n }\n\n const sorted = [...array].toSorted((a, b) => a - b)\n const mid = Math.floor(sorted.length / 2)\n\n if (sorted.length % 2 === 0) {\n return (sorted[mid - 1]! + sorted[mid]!) / 2\n }\n\n return sorted[mid]!\n}\n",
|
|
53
39
|
"import type { Numberish } from './types'\nimport { SUBSCRIPT_CHARS } from './constants'\nimport { roundTo } from './maths'\n\nexport function toSubscriptDigits(input: Numberish) {\n let result = ''\n\n for (const char of input.toString()) {\n result += SUBSCRIPT_CHARS[char] ?? char\n }\n\n return result\n}\n\nexport function parseExponential(input: Numberish) {\n const str = input.toString().toLowerCase()\n const [mantissa, rawExp] = str.split('e')\n\n if (rawExp === undefined) {\n return str\n }\n\n const [rawInt, fracPart = ''] = mantissa?.split('.') ?? []\n\n if (!rawInt) {\n return str\n }\n\n const sign = rawInt.startsWith('-') ? '-' : ''\n const intPart = sign ? rawInt.slice(1) : rawInt\n const exp = Number(rawExp)\n\n if (exp >= 0) {\n const neededZeros = Math.max(0, exp - fracPart.length)\n const padded = fracPart + '0'.repeat(neededZeros)\n\n if (padded.length > exp) {\n return `${sign}${intPart}${padded.slice(0, exp)}.${padded.slice(exp)}`\n }\n\n return `${sign}${intPart}${padded}`\n }\n\n const absExp = -exp\n const digits = intPart + fracPart\n const totalLeadingZeros = Math.max(0, absExp - intPart.length)\n\n return `${sign}0.${'0'.repeat(totalLeadingZeros)}${digits}`\n}\n\nexport function toOrdinal(n: number) {\n const remainder100 = Math.abs(n) % 100\n const remainder10 = remainder100 % 10\n\n if (remainder100 >= 11 && remainder100 <= 13) {\n return `${n}th`\n }\n\n switch (remainder10) {\n case 1:\n return `${n}st`\n case 2:\n return `${n}nd`\n case 3:\n return `${n}rd`\n default:\n return `${n}th`\n }\n}\n\nexport function toPercent(value: number, total: number, decimals?: number) {\n if (total === 0) {\n return 0\n }\n\n const result = (value / total) * 100\n\n if (decimals === undefined) {\n return result\n }\n\n return roundTo(result, decimals)\n}\n",
|
|
54
40
|
"export function random(min: number, max: number) {\n const lo = Math.min(min, max)\n const hi = Math.max(min, max)\n\n return Math.floor(Math.random() * (hi - lo + 1)) + lo\n}\n",
|
|
55
41
|
"import type { Numberish } from './types'\nimport { parseExponential, toSubscriptDigits } from './conversions'\n\nexport function countLeadingZeros(input: string) {\n let count = 0\n\n for (let i = 0; i < input.length && input[i] === '0'; i++) {\n count++\n }\n\n return count\n}\n\nexport interface FormatNumberOptions extends Intl.NumberFormatOptions {\n formatLeadingZeros?: (count: number) => string\n groupFractionLeadingZeros?: boolean\n locales?: Intl.LocalesArgument\n}\n\nexport function formatNumber(input: Numberish, options_: FormatNumberOptions = {}) {\n const { formatLeadingZeros = (count: number) => `0${toSubscriptDigits(count)}`, groupFractionLeadingZeros = true, locales = 'en-US', maximumFractionDigits = 4, ...options } = options_\n\n const formatInput = (digits: number) => (\n new Intl.NumberFormat(locales, { ...options, maximumFractionDigits: digits }).format(input as Intl.StringNumericLiteral)\n )\n\n if (!groupFractionLeadingZeros) {\n return formatInput(maximumFractionDigits)\n }\n\n const numericStr = parseExponential(input)\n const [, fractionPart = ''] = numericStr.split('.', 2)\n const leadingZerosCount = countLeadingZeros(fractionPart)\n\n if (leadingZerosCount <= 1) {\n return formatInput(maximumFractionDigits)\n }\n\n const replaceFractionZeros = (part: Intl.NumberFormatPart) => {\n if (part.type === 'fraction') {\n return `${formatLeadingZeros(leadingZerosCount)}${part.value.slice(leadingZerosCount)}`\n }\n\n return part.value\n }\n\n const parts = new Intl.NumberFormat(locales, {\n ...options, maximumFractionDigits: maximumFractionDigits + leadingZerosCount,\n })\n\n return parts.formatToParts(input as Intl.StringNumericLiteral).map(replaceFractionZeros).join('')\n}\n",
|
|
56
|
-
"import type { Numberish, NumberString, Percentage } from './types'\nimport { isBigInt, isNumber, isString } from '../core'\nimport { SPECIAL_NUMBER_STRINGS } from './constants'\n\n// eslint-disable-next-line security/detect-unsafe-regex -- anchored regex with no backtracking risk on bounded input\nconst NUMERIC_PATTERN = /^[+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/iu\n\nexport const isSpecialNumberString = (value: string) => SPECIAL_NUMBER_STRINGS.has(value)\n\nexport function isNumberString<TStrict extends boolean = true>(value: string): value is NumberString<TStrict> {\n if (isSpecialNumberString(value)) {\n return true\n }\n\n return NUMERIC_PATTERN.test(value)\n}\n\nexport const isNumberish = <TStrict extends boolean = true>(input: unknown): input is Numberish<TStrict> => (\n isNumber(input) || isBigInt(input) || (isString(input) && isNumberString(input))\n)\n\nexport const isPercentage = (value: number): value is Percentage => value >= 0 && value <= 100\n",
|
|
57
42
|
"import { notNullish } from '../core'\n\nexport function isValidRange<T extends bigint | number>(start: T, end: T, inclusive = true, min?: T, max?: T) {\n if (notNullish(min) && start < min) {\n return false\n }\n\n if (notNullish(max) && end > max) {\n return false\n }\n\n return inclusive ? start <= end : start < end\n}\n\nexport const isInRange = <T extends bigint | number>(value: T, min: T, max: T, inclusive = true) => (\n inclusive ? value >= min && value <= max : value > min && value < max\n)\n",
|
|
58
43
|
"import { createAbortError, ensureError, type Errorable } from '../errors'\n\nexport function abortable<T>(promise: Promise<T>, signal?: AbortSignal, error?: Errorable): Promise<T> {\n if (!signal) {\n return promise\n }\n\n const createError = () => (error ? ensureError(error) : (signal.reason ?? createAbortError()))\n\n if (signal.aborted) {\n return Promise.reject(createError())\n }\n\n return new Promise<T>((resolve, reject) => {\n let isSettled = false\n let onAbort: () => void\n\n const cleanup = (afterCleanup?: () => void) => {\n if (!isSettled) {\n isSettled = true\n signal.removeEventListener('abort', onAbort)\n afterCleanup?.()\n }\n }\n\n onAbort = () => {\n cleanup(() => reject(createError()))\n }\n\n signal.addEventListener('abort', onAbort)\n\n promise.then(\n (value) => cleanup(() => resolve(value)),\n (error_) => cleanup(() => reject(error_)),\n )\n })\n}\n",
|
|
59
44
|
"import type { Awaitable } from './types'\n\nexport const pTap = <T>(fn: (value: T) => Awaitable<unknown>) => async (value: T): Promise<T> => {\n return Promise.resolve(fn(value)).then(() => value)\n}\n\npTap.catch = (fn: (error: unknown) => Awaitable<unknown>) => async (error: unknown): Promise<never> => {\n await fn(error)\n throw error\n}\n\nexport async function tryCatchAsync<T>(fn: () => Awaitable<T>, fallback: (error: unknown) => Awaitable<T>) {\n try {\n return await fn()\n } catch (error) {\n return await fallback(error)\n }\n}\n",
|
|
@@ -82,21 +67,19 @@
|
|
|
82
67
|
"import type { Jsonable } from '../core'\nimport type { SerializeContext, SerializeOptions, SharedSerializeContext } from './types'\nimport { OMIT_SENTINEL } from './constants'\nimport { createContext, createSharedContext } from './context'\nimport { serializeCompound } from './serializers/compound'\nimport { serializeLeafObject } from './serializers/leaf-object'\nimport { serializePrimitive } from './serializers/primitive'\nimport { handleError } from './utils'\n\nexport const createSerializerWithContext = (ctx: SharedSerializeContext) => {\n return (value: unknown) => serializeWithContext(value, { ...ctx, depth: 0, visited: new Set() })\n}\n\nexport const createSerializer = (options?: SerializeOptions) => (\n createSerializerWithContext(createSharedContext(options))\n)\n\nexport const serialize = (value: unknown, options?: SerializeOptions): Jsonable => (\n serializeWithContext(value, createContext(options))\n)\n\nexport function serializeWithContext(value: unknown, ctx: SerializeContext) {\n const serializedValue = serializeValue(value, ctx)\n\n if (serializedValue === OMIT_SENTINEL) {\n return null\n }\n\n return serializedValue\n}\n\nexport function serializeValue(value: unknown, ctx: SerializeContext): Jsonable | typeof OMIT_SENTINEL {\n const primitive = serializePrimitive(value, ctx)\n\n if (primitive !== undefined) {\n return primitive\n }\n\n const leaf = serializeLeafObject(value, ctx)\n\n if (leaf !== undefined) {\n return leaf\n }\n\n if (ctx.visited.has(value as object)) {\n return handleError(ctx.onCircularRef, 'circular-ref', '[Circular]', ctx)\n }\n\n if (ctx.depth >= ctx.maxDepth) {\n return handleError(ctx.onMaxDepth, 'max-depth', '[Max Depth]', ctx)\n }\n\n ctx.visited.add(value as object)\n ctx.depth++\n\n try {\n return serializeCompound(value as object, ctx, serializeValue)\n } finally {\n ctx.depth--\n ctx.visited.delete(value as object)\n }\n}\n",
|
|
83
68
|
"export const WHITESPACE_CHARACTERS = new Set([' ', '\\n', '\\r', '\\t', '\\v', '\\f'])\n",
|
|
84
69
|
"export function randomStr(length = 16, characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') {\n let result = ''\n\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * characters.length))\n }\n\n return result\n}\n",
|
|
85
|
-
"import type { Nullish } from '../core'\nimport type { HexString, UrlLike } from './types'\nimport { wrap } from '../arrays'\nimport { transform, tryCatch } from '../functions'\n\nexport const isEmptyString = (value: string) => value.length === 0\n\nexport function isValidProtocol({ protocol }: URL, protocols?: Nullish<string[]>) {\n if (!protocols?.length) {\n return true\n }\n\n return protocols.some((x) => `${x.toLowerCase()}:` === protocol)\n}\n\nexport function isValidUrl(url: UrlLike, protocols?: Nullish<string[]>) {\n if (url instanceof URL) {\n return isValidProtocol(url, protocols)\n }\n\n return tryCatch(() => isValidProtocol(new URL(url), protocols), false)\n}\n\nexport const isWebSocketUrl = (url: UrlLike, wsProtocols = ['ws', 'wss']) => isValidUrl(url, wsProtocols)\n\nexport const isHttpUrl = (url: UrlLike, httpProtocols = ['http', 'https']) => isValidUrl(url, httpProtocols)\n\nexport const isStringEquals = (str: string, ...others: string[]) => others.length > 0 && others.every((other) => str === other)\n\nexport const isStringEqualsIgnoreCase = (str: string, ...others: string[]) => (\n others.length > 0 && transform(str.toLowerCase(), (x) => others.every((other) => x === other.toLowerCase()))\n)\n\nexport const isIncludesAll = (str: string, search: string[]) => search.every((s) => str.includes(s))\n\nexport const isIncludesAny = (str: string, search: string[]) => search.some((s) => str.includes(s))\n\nexport const isIncludes = (str: string, search: string[] | string, type: 'all' | 'any' = 'all') => (\n type === 'all' ? isIncludesAll(str, wrap(search)) : isIncludesAny(str, wrap(search))\n)\n\nexport function isHexString(value: string, length?: number) {\n const len = length ? `{${length * 2}}` : '+'\n const regex = new RegExp(`^(?:0x)?[0-9a-f]${len}$`, 'iu')\n\n return regex.test(value)\n}\n\nexport const isStrictHexString = (value: string, length?: number): value is HexString => (\n value.startsWith('0x') && isHexString(value, length)\n)\n",
|
|
86
70
|
"import type { Numberish } from '../numbers'\nimport { WHITESPACE_CHARACTERS } from './constants'\n\nexport const ensurePrefix = (str: string, prefix: string) => (str.startsWith(prefix) ? str : prefix + str)\n\nexport const ensureSuffix = (str: string, suffix: string) => (str.endsWith(suffix) ? str : str + suffix)\n\nexport const stripPrefix = (str: string, prefix: string) => (str.startsWith(prefix) ? str.slice(prefix.length) : str)\n\nexport const stripSuffix = (str: string, suffix: string) => (suffix.length > 0 && str.endsWith(suffix) ? str.slice(0, -suffix.length) : str)\n\nexport const capitalize = (str: string) => str.charAt(0).toUpperCase() + str.slice(1)\n\nexport const escapeRegExp = (input: string) => (\n input.replaceAll(/[$()*+.?[\\\\\\]^{|}]/gu, String.raw`\\$&`).replaceAll('-', String.raw`\\x2d`)\n)\n\nexport function * chunkStr(str: string, size: number) {\n if (size <= 0) {\n throw new RangeError(`chunk size must be a positive number, got ${size}`)\n }\n\n const len = str.length\n\n for (let i = 0; i < len; i += size) {\n yield str.slice(i, i + size)\n }\n}\n\nexport const padStart = (str: string, targetLength: number, padString = ' ') => (\n str.padStart(targetLength, padString)\n)\n\nexport const padZeroStart = (num: Numberish | string, targetLength: number) => padStart(num.toString(), targetLength, '0')\n\nexport function truncate(str: string, maxLength: number, omission = '...') {\n if (str.length <= maxLength) {\n return str\n }\n\n if (omission.length >= maxLength) {\n return omission.slice(0, maxLength)\n }\n\n return str.slice(0, maxLength - omission.length) + omission\n}\n\nexport function truncateMiddle(str: string, maxLength: number, omission = '...') {\n if (str.length <= maxLength) {\n return str\n }\n\n if (omission.length >= maxLength) {\n return omission.slice(0, maxLength)\n }\n\n const left = Math.floor((maxLength - omission.length) / 2)\n const right = maxLength - omission.length - left\n\n return str.slice(0, left) + omission + str.slice(-right)\n}\n\nexport function ltrim(str: string, characters: Set<string> | string = WHITESPACE_CHARACTERS) {\n if (typeof characters === 'string') {\n characters = new Set(characters)\n }\n\n const end = str.length\n\n let start = 0\n\n while (start < end && characters.has(str[start]!)) {\n start++\n }\n\n return start > 0 ? str.slice(start, end) : str\n}\n\nexport function rtrim(str: string, characters: Set<string> | string = WHITESPACE_CHARACTERS) {\n if (typeof characters === 'string') {\n characters = new Set(characters)\n }\n\n let end = str.length\n\n while (end > 0 && characters.has(str[end - 1]!)) {\n end--\n }\n\n return end < str.length ? str.slice(0, end) : str\n}\n\nexport const trim = (str: string, characters: Set<string> | string = WHITESPACE_CHARACTERS) => (\n ltrim(rtrim(str, characters), characters)\n)\n\nexport const trimRepeated = (input: string, target: string) => (\n input.replaceAll(new RegExp(`(?:${escapeRegExp(target)}){2,}`, 'g'), target)\n)\n\nexport function indent(str: string, count: number, trim = false) {\n const pad = ' '.repeat(count)\n\n if (trim) {\n return str.split('\\n').map((line) => pad + ltrim(line)).join('\\n')\n }\n\n return pad + str.replaceAll('\\n', `\\n${pad}`)\n}\n\nexport function unindent(str: TemplateStringsArray | string, ...values: unknown[]) {\n const raw = typeof str === 'string' ? str : String.raw({ raw: str }, ...values)\n const lines = raw.split('\\n')\n\n // Trim leading/trailing empty lines via slice (immutable)\n let head = 0\n let tail = lines.length\n\n while (head < tail && lines[head]!.trim() === '') {\n head++\n }\n\n while (tail > head && lines[tail - 1]!.trim() === '') {\n tail--\n }\n\n const trimmed = lines.slice(head, tail)\n\n // Find minimum indent across non-empty lines\n let minIndent = Infinity\n\n for (const line of trimmed) {\n if (line.trim() === '') {\n continue\n }\n\n minIndent = Math.min(minIndent, /^[ \\t]*/u.exec(line)![0].length)\n }\n\n if (minIndent === 0 || minIndent === Infinity) {\n return trimmed.join('\\n')\n }\n\n return trimmed.map((line) => line.slice(minIndent)).join('\\n')\n}\n",
|
|
87
71
|
"// eslint-disable-next-line no-control-regex, regexp/no-control-character, sonarjs/no-control-regex -- ANSI stripping requires matching control characters\nconst ANSI_REGEX = /\\u001B(?:\\[[\\d;]*[A-Za-z]|\\].*?(?:\\u0007|\\u001B\\\\)|\\([A-Za-z]|[A-Z])/gu\n\nexport function stripAnsi(str: string) {\n ANSI_REGEX.lastIndex = 0\n\n if (!ANSI_REGEX.test(str)) {\n return str\n }\n\n ANSI_REGEX.lastIndex = 0\n\n return str.replace(ANSI_REGEX, '')\n}\n",
|
|
88
72
|
"import { isUndefined } from '../core'\n\nexport const isInMode = (key: string) => process.env.NODE_ENV === key\n\nexport const isInDevelopment = () => isInMode('development') || isInMode('dev')\nexport const isInDev = isInDevelopment\n\nexport const isInProduction = () => isInMode('production') || isInMode('prod')\nexport const isInProd = isInProduction\n\nexport const isInStaging = () => isInMode('staging') || isInMode('stage')\nexport const isInStage = isInStaging\n\nexport interface GetEnvOptions {\n env?: NodeJS.ProcessEnv\n includeNonePrefix?: boolean\n prefix?: string\n}\n\nexport function getEnv<T extends string>(key: T[], { env = process.env, includeNonePrefix = false, prefix }: GetEnvOptions = {}) {\n const result: Record<string, string | undefined> = {}\n\n for (const k of key) {\n result[k] = env[prefix ? `${prefix}${k}` : k]\n\n if (includeNonePrefix && isUndefined(result[k])) {\n result[k] = env[k]\n }\n }\n\n return result as Record<T, string | undefined>\n}\n",
|
|
89
73
|
"import type { UrlLike } from '../strings'\nimport { combineSignals, createAbortController } from '../errors'\nimport { resolveOptions } from '../objects'\nimport { withRetry, type WithRetryOptions } from '../promises'\n\nexport interface FetchOptions extends Omit<RequestInit, 'signal'> {\n retry?: Omit<WithRetryOptions<Response>, 'signal'> & { enabled?: boolean } | boolean\n signal?: AbortSignal\n timeout?: number\n}\n\nexport async function fetch(request: RequestInfo | UrlLike, { retry = true, signal, timeout = 10_000, ...options }: FetchOptions = {}) {\n const retryOptions = { enabled: true, ...(resolveOptions(retry, {}) || { enabled: false }) }\n\n const execute = async (retrySignal?: AbortSignal) => {\n const controller = createAbortController(timeout)\n const fetchSignal = combineSignals(controller.signal, signal, retrySignal)\n\n return globalThis.fetch(request, { ...options, signal: fetchSignal }).finally(() => controller.abort())\n }\n\n return retryOptions.enabled ? await withRetry(execute, { ...retryOptions, signal }) : await execute()\n}\n",
|
|
90
74
|
"export type ExitHandler = (exitCode?: number) => Promise<void>\n\nconst exitTasks = new Map<ExitHandler, number>()\n\nexport function addExitHandler(handler: ExitHandler, maxWaitTime = 3000) {\n exitTasks.set(handler, maxWaitTime)\n\n return () => {\n exitTasks.delete(handler)\n }\n}\n\nlet _isExiting = false\nlet _exitPromise: Promise<never> | undefined\n\nexport const isExiting = () => {\n return _isExiting\n}\n\nexport function gracefulExit(exitCode = 0, maxWaitTime = 3000): Promise<never> {\n if (_exitPromise) {\n return _exitPromise\n }\n\n _isExiting = true\n\n if (exitTasks.size === 0) {\n process.exit(exitCode)\n }\n\n const promises: Array<Promise<void>> = []\n\n for (const [handler, wait] of exitTasks) {\n promises.push(Promise.resolve().then(() => handler(exitCode)))\n maxWaitTime = Math.max(maxWaitTime, wait)\n }\n\n const timer = setTimeout(() => process.exit(exitCode), maxWaitTime)\n\n function finish(): never {\n clearTimeout(timer)\n process.exit(exitCode)\n }\n\n return _exitPromise = Promise.allSettled(promises).then(finish)\n}\n",
|
|
91
|
-
"import type { PathLike } from './types'\nimport {
|
|
75
|
+
"import type { BinaryLike, BinaryToTextEncoding, HashOptions } from 'node:crypto'\nimport type { PathLike } from './types'\nimport { createHash } from 'node:crypto'\nimport { createReadStream, readFileSync } from 'node:fs'\nimport { pathToString } from './path'\n\nexport const computeHash = (data: BinaryLike, algorithm: string, encoding: BinaryToTextEncoding = 'hex', options: HashOptions = {}) => (\n createHash(algorithm, options).update(data).digest(encoding)\n)\n\nexport const getFileHash = (path: PathLike, algorithm: string, options: HashOptions = {}) => (\n computeHash(readFileSync(pathToString(path)), algorithm, 'hex', options)\n)\n\nexport const getLargeFileHash = (path: PathLike, algorithm: string, options: HashOptions = {}) => new Promise<string>((resolve, reject) => {\n const hash = createHash(algorithm, options)\n const stream = createReadStream(pathToString(path))\n\n stream.on('data', (chunk) => hash.update(chunk))\n stream.on('end', () => resolve(hash.digest('hex')))\n stream.on('error', reject)\n})\n",
|
|
92
76
|
"export const MS_PER_SECOND = 1000\nexport const MS_PER_MINUTE = 60_000\nexport const MS_PER_HOUR = 3_600_000\nexport const MS_PER_DAY = 86_400_000\nexport const MS_PER_MONTH = MS_PER_DAY * 30\nexport const MS_PER_YEAR = MS_PER_DAY * 365\n",
|
|
93
77
|
"import { isString } from '../core'\nimport { BigIntMath, isSpecialNumberString, type Numberish } from '../numbers'\nimport { padZeroStart } from '../strings'\n\nexport const toUnixTimestamp = (date: Date) => Math.floor(date.getTime() / 1000)\n\nexport const fromUnixTimestamp = (timestamp: number) => new Date(timestamp * 1000)\n\nconst FORMAT_TOKEN_REGEX = /y{4}|S{3}|MM|dd|HH|mm|ss/gu\nconst pad2 = (n: number) => padZeroStart(n, 2)\n\nexport function formatDate(date: Date, format = 'HH:mm:ss.SSS dd/MM/yyyy') {\n if (Number.isNaN(date.getTime())) {\n throw new TypeError('Invalid Date')\n }\n\n const tokens: Record<string, () => string> = {\n dd: () => pad2(date.getDate()),\n HH: () => pad2(date.getHours()),\n MM: () => pad2(date.getMonth() + 1),\n mm: () => pad2(date.getMinutes()),\n ss: () => pad2(date.getSeconds()),\n SSS: () => padZeroStart(date.getMilliseconds(), 3),\n yyyy: () => padZeroStart(date.getFullYear(), 4),\n }\n\n return format.replaceAll(FORMAT_TOKEN_REGEX, (match) => tokens[match]!())\n}\n\nconst NANOSECOND_UNITS: Array<[label: string, value: bigint]> = [\n ['h', 3_600_000_000_000n],\n ['m', 60_000_000_000n],\n ['s', 1_000_000_000n],\n ['ms', 1_000_000n],\n ['\\u03BCs', 1000n],\n ['ns', 1n],\n]\n\nexport function humanizeNanoseconds(ns: Numberish) {\n if (isString(ns) && isSpecialNumberString(ns)) {\n return ns\n }\n\n let remaining: bigint\n\n try {\n remaining = BigInt(ns)\n } catch {\n return ns.toString()\n }\n\n if (remaining === 0n) {\n return '0ns'\n }\n\n const sign = remaining < 0n ? '-' : ''\n const parts: string[] = []\n\n remaining = BigIntMath.abs(remaining)\n\n for (const [label, value] of NANOSECOND_UNITS) {\n if (remaining >= value) {\n parts.push(`${remaining / value}${label}`)\n remaining %= value\n }\n }\n\n return sign + parts.join(' ')\n}\n\nexport function humanizeWithMultiplier(value: Numberish, multiplier: bigint) {\n if (isString(value) && isSpecialNumberString(value)) {\n return value\n }\n\n try {\n return humanizeNanoseconds(BigInt(value) * multiplier)\n } catch {\n return value.toString()\n }\n}\n\nexport const humanizeMilliseconds = (ms: Numberish) => humanizeWithMultiplier(ms, 1_000_000n)\n\nexport const humanizeSeconds = (s: Numberish) => humanizeWithMultiplier(s, 1_000_000_000n)\n",
|
|
94
78
|
"import { toUnixTimestamp } from './conversions'\n\nexport const timestamp = () => toUnixTimestamp(new Date())\n",
|
|
95
|
-
"export const isValidDate = (value: unknown): value is Date => (\n value instanceof Date && !Number.isNaN(value.getTime())\n)\n",
|
|
96
79
|
"export type DateLike = Date | number | string\n\nexport enum DayOfWeek {\n SUNDAY = 0,\n MONDAY = 1,\n TUESDAY = 2,\n WEDNESDAY = 3,\n THURSDAY = 4,\n FRIDAY = 5,\n SATURDAY = 6,\n}\n",
|
|
97
|
-
"import { tap } from '../functions'\nimport { type DateLike, DayOfWeek } from './types'\n\nexport interface WeekOptions {\n weekStartsOn?: DayOfWeek\n}\n\nexport const startOfHour = (date: DateLike) => tap(new Date(date), (r) => {\n r.setMinutes(0, 0, 0)\n})\n\nexport const startOfDay = (date: DateLike) => tap(new Date(date), (r) => {\n r.setHours(0, 0, 0, 0)\n})\n\nexport const startOfWeek = (date: DateLike, { weekStartsOn = DayOfWeek.MONDAY }: WeekOptions = {}) => tap(new Date(date), (r) => {\n const day = r.getDay()\n const diff = (day - weekStartsOn + 7) % 7\n\n r.setDate(r.getDate() - diff)\n r.setHours(0, 0, 0, 0)\n})\n\nexport const startOfMonth = (date: DateLike) => tap(new Date(date), (r) => {\n r.setDate(1)\n r.setHours(0, 0, 0, 0)\n})\n\nexport const startOfYear = (date: DateLike) => tap(new Date(date), (r) => {\n r.setMonth(0, 1)\n r.setHours(0, 0, 0, 0)\n})\n\nexport const endOfHour = (date: DateLike) => tap(new Date(date), (r) => {\n r.setMinutes(59, 59, 999)\n})\n\nexport const endOfDay = (date: DateLike) => tap(new Date(date), (r) => {\n r.setHours(23, 59, 59, 999)\n})\n\nexport const endOfWeek = (date: DateLike, { weekStartsOn = DayOfWeek.MONDAY }: WeekOptions = {}) => tap(new Date(date), (r) => {\n const day = r.getDay()\n const diff = (6 - day + weekStartsOn + 7) % 7\n\n r.setDate(r.getDate() + diff)\n r.setHours(23, 59, 59, 999)\n})\n\nexport const endOfMonth = (date: DateLike) => tap(new Date(date), (r) => {\n r.setMonth(r.getMonth() + 1, 0)\n r.setHours(23, 59, 59, 999)\n})\n\nexport const endOfYear = (date: DateLike) => tap(new Date(date), (r) => {\n r.setMonth(11, 31)\n r.setHours(23, 59, 59, 999)\n})\n\nexport type TimeInterval = 'daily' | 'hourly' | 'monthly' | 'weekly' | 'yearly'\n\nexport interface ResolveIntervalOptions extends WeekOptions {\n now?: DateLike\n}\n\nconst START_RESOLVERS: Record<TimeInterval, (date: DateLike, options: WeekOptions) => Date> = {\n daily: (d) => startOfDay(d),\n hourly: (d) => startOfHour(d),\n monthly: (d) => startOfMonth(d),\n weekly: (d, o) => startOfWeek(d, o),\n yearly: (d) => startOfYear(d),\n}\n\nconst END_RESOLVERS: Record<TimeInterval, (date: DateLike, options: WeekOptions) => Date> = {\n daily: (d) => endOfDay(d),\n hourly: (d) => endOfHour(d),\n monthly: (d) => endOfMonth(d),\n weekly: (d, o) => endOfWeek(d, o),\n yearly: (d) => endOfYear(d),\n}\n\nexport const resolveInterval = (interval: TimeInterval, type: 'end' | 'start' = 'start', { now = new Date(), ...weekOptions }: ResolveIntervalOptions = {}) => (\n (type === 'start' ? START_RESOLVERS : END_RESOLVERS)[interval](now, weekOptions)\n)\n"
|
|
80
|
+
"import { tap } from '../functions'\nimport { type DateLike, DayOfWeek } from './types'\n\nexport interface WeekOptions {\n weekStartsOn?: DayOfWeek\n}\n\nexport const startOfHour = (date: DateLike) => tap(new Date(date), (r) => {\n r.setMinutes(0, 0, 0)\n})\n\nexport const startOfDay = (date: DateLike) => tap(new Date(date), (r) => {\n r.setHours(0, 0, 0, 0)\n})\n\nexport const startOfWeek = (date: DateLike, { weekStartsOn = DayOfWeek.MONDAY }: WeekOptions = {}) => tap(new Date(date), (r) => {\n const day = r.getDay()\n const diff = (day - weekStartsOn + 7) % 7\n\n r.setDate(r.getDate() - diff)\n r.setHours(0, 0, 0, 0)\n})\n\nexport const startOfMonth = (date: DateLike) => tap(new Date(date), (r) => {\n r.setDate(1)\n r.setHours(0, 0, 0, 0)\n})\n\nexport const startOfYear = (date: DateLike) => tap(new Date(date), (r) => {\n r.setMonth(0, 1)\n r.setHours(0, 0, 0, 0)\n})\n\nexport const endOfHour = (date: DateLike) => tap(new Date(date), (r) => {\n r.setMinutes(59, 59, 999)\n})\n\nexport const endOfDay = (date: DateLike) => tap(new Date(date), (r) => {\n r.setHours(23, 59, 59, 999)\n})\n\nexport const endOfWeek = (date: DateLike, { weekStartsOn = DayOfWeek.MONDAY }: WeekOptions = {}) => tap(new Date(date), (r) => {\n const day = r.getDay()\n const diff = (6 - day + weekStartsOn + 7) % 7\n\n r.setDate(r.getDate() + diff)\n r.setHours(23, 59, 59, 999)\n})\n\nexport const endOfMonth = (date: DateLike) => tap(new Date(date), (r) => {\n r.setMonth(r.getMonth() + 1, 0)\n r.setHours(23, 59, 59, 999)\n})\n\nexport const endOfYear = (date: DateLike) => tap(new Date(date), (r) => {\n r.setMonth(11, 31)\n r.setHours(23, 59, 59, 999)\n})\n\nexport type TimeInterval = 'daily' | 'hourly' | 'monthly' | 'weekly' | 'yearly'\n\nexport interface ResolveIntervalOptions extends WeekOptions {\n now?: DateLike\n}\n\nconst START_RESOLVERS: Record<TimeInterval, (date: DateLike, options: WeekOptions) => Date> = {\n daily: (d) => startOfDay(d),\n hourly: (d) => startOfHour(d),\n monthly: (d) => startOfMonth(d),\n weekly: (d, o) => startOfWeek(d, o),\n yearly: (d) => startOfYear(d),\n}\n\nconst END_RESOLVERS: Record<TimeInterval, (date: DateLike, options: WeekOptions) => Date> = {\n daily: (d) => endOfDay(d),\n hourly: (d) => endOfHour(d),\n monthly: (d) => endOfMonth(d),\n weekly: (d, o) => endOfWeek(d, o),\n yearly: (d) => endOfYear(d),\n}\n\nexport const resolveInterval = (interval: TimeInterval, type: 'end' | 'start' = 'start', { now = new Date(), ...weekOptions }: ResolveIntervalOptions = {}) => (\n (type === 'start' ? START_RESOLVERS : END_RESOLVERS)[interval](now, weekOptions)\n)\n\nconst INTERVAL_SHIFTERS: Record<TimeInterval, (date: Date, amount: number) => void> = {\n daily: (d, n) => d.setDate(d.getDate() + n),\n hourly: (d, n) => d.setHours(d.getHours() + n),\n monthly: (d, n) => d.setMonth(d.getMonth() + n),\n weekly: (d, n) => d.setDate(d.getDate() + n * 7),\n yearly: (d, n) => d.setFullYear(d.getFullYear() + n),\n}\n\nfunction shiftInterval(interval: TimeInterval, amount: number, type: 'end' | 'start' = 'start', { now = new Date(), ...weekOptions }: ResolveIntervalOptions = {}) {\n const shifted = new Date(now)\n\n INTERVAL_SHIFTERS[interval](shifted, amount)\n\n return (type === 'start' ? START_RESOLVERS : END_RESOLVERS)[interval](shifted, weekOptions)\n}\n\nexport const addInterval = (interval: TimeInterval, amount: number, type: 'end' | 'start' = 'start', options?: ResolveIntervalOptions) => (\n shiftInterval(interval, amount, type, options)\n)\n\nexport const subtractInterval = (interval: TimeInterval, amount: number, type: 'end' | 'start' = 'start', options?: ResolveIntervalOptions) => (\n shiftInterval(interval, -amount, type, options)\n)\n"
|
|
98
81
|
],
|
|
99
|
-
"mappings": "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",
|
|
100
|
-
"debugId": "
|
|
82
|
+
"mappings": "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",
|
|
83
|
+
"debugId": "DEA50AB539A4D89D64756E2164756E21",
|
|
101
84
|
"names": []
|
|
102
85
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PathLike } from './types';
|
|
2
|
+
import { type MakeDirectoryOptions } from 'node:fs';
|
|
3
|
+
export declare function hasAccess(path: PathLike, mode?: number): boolean;
|
|
4
|
+
export declare const isReadable: (path: PathLike) => boolean;
|
|
5
|
+
export declare const isWritable: (path: PathLike) => boolean;
|
|
6
|
+
export declare function isFile(path: PathLike): boolean;
|
|
7
|
+
export declare function isDirectory(path: PathLike): boolean;
|
|
8
|
+
export declare function isWritableDirectory(dirPath: PathLike): boolean;
|
|
9
|
+
export declare function ensureDirectory(path: PathLike, options?: MakeDirectoryOptions): void;
|
|
10
|
+
//# sourceMappingURL=fs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/system/fs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAqC,KAAK,oBAAoB,EAAuB,MAAM,SAAS,CAAA;AAK3G,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,WAQtD;AAED,eAAO,MAAM,UAAU,GAAI,MAAM,QAAQ,YAAoC,CAAA;AAE7E,eAAO,MAAM,UAAU,GAAI,MAAM,QAAQ,YAAoC,CAAA;AAE7E,wBAAgB,MAAM,CAAC,IAAI,EAAE,QAAQ,WAMpC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,WAMzC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAoB9D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAE,oBAAyB,QAMjF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BinaryLike, BinaryToTextEncoding, HashOptions } from 'node:crypto';
|
|
2
|
+
import type { PathLike } from './types';
|
|
3
|
+
export declare const computeHash: (data: BinaryLike, algorithm: string, encoding?: BinaryToTextEncoding, options?: HashOptions) => string;
|
|
4
|
+
export declare const getFileHash: (path: PathLike, algorithm: string, options?: HashOptions) => string;
|
|
5
|
+
export declare const getLargeFileHash: (path: PathLike, algorithm: string, options?: HashOptions) => Promise<string>;
|
|
6
|
+
//# sourceMappingURL=hash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/system/hash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAKvC,eAAO,MAAM,WAAW,GAAI,MAAM,UAAU,EAAE,WAAW,MAAM,EAAE,WAAU,oBAA4B,EAAE,UAAS,WAAgB,WAEjI,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,EAAE,WAAW,MAAM,EAAE,UAAS,WAAgB,WAEvF,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,MAAM,QAAQ,EAAE,WAAW,MAAM,EAAE,UAAS,WAAgB,oBAO3F,CAAA"}
|
package/dist/system/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/system/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,QAAQ,CAAA;AAEtB,mBAAmB,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/system/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,MAAM,CAAA;AACpB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AAEtB,mBAAmB,SAAS,CAAA"}
|
package/dist/system/path.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PathLike } from './types';
|
|
2
2
|
export declare const pathToString: (path: PathLike) => string;
|
|
3
3
|
export declare const pwd: (importMeta: ImportMeta, ...path: PathLike[]) => string;
|
|
4
|
+
export declare function resolvePath(path: PathLike): string;
|
|
4
5
|
//# sourceMappingURL=path.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/system/path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/system/path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAMvC,eAAO,MAAM,YAAY,GAAI,MAAM,QAAQ,WAE1C,CAAA;AAED,eAAO,MAAM,GAAG,GAAI,YAAY,UAAU,EAAE,GAAG,MAAM,QAAQ,EAAE,WAE9D,CAAA;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,UAQzC"}
|
|
@@ -17,4 +17,6 @@ export interface ResolveIntervalOptions extends WeekOptions {
|
|
|
17
17
|
now?: DateLike;
|
|
18
18
|
}
|
|
19
19
|
export declare const resolveInterval: (interval: TimeInterval, type?: "end" | "start", { now, ...weekOptions }?: ResolveIntervalOptions) => Date;
|
|
20
|
+
export declare const addInterval: (interval: TimeInterval, amount: number, type?: "end" | "start", options?: ResolveIntervalOptions) => Date;
|
|
21
|
+
export declare const subtractInterval: (interval: TimeInterval, amount: number, type?: "end" | "start", options?: ResolveIntervalOptions) => Date;
|
|
20
22
|
//# sourceMappingURL=operations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/times/operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAElD,MAAM,WAAW,WAAW;IACxB,YAAY,CAAC,EAAE,SAAS,CAAA;CAC3B;AAED,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,SAExC,CAAA;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,QAAQ,SAEvC,CAAA;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,EAAE,mBAAqC,WAAgB,SAM/F,CAAA;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,QAAQ,SAGzC,CAAA;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,SAGxC,CAAA;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,QAAQ,SAEtC,CAAA;AAEF,eAAO,MAAM,QAAQ,GAAI,MAAM,QAAQ,SAErC,CAAA;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,QAAQ,EAAE,mBAAqC,WAAgB,SAM7F,CAAA;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,QAAQ,SAGvC,CAAA;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,QAAQ,SAGtC,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE/E,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACvD,GAAG,CAAC,EAAE,QAAQ,CAAA;CACjB;AAkBD,eAAO,MAAM,eAAe,GAAI,UAAU,YAAY,EAAE,OAAM,KAAK,GAAG,OAAiB,EAAE,0BAAsC,sBAA2B,SAEzJ,CAAA"}
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/times/operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAElD,MAAM,WAAW,WAAW;IACxB,YAAY,CAAC,EAAE,SAAS,CAAA;CAC3B;AAED,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,SAExC,CAAA;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,QAAQ,SAEvC,CAAA;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,EAAE,mBAAqC,WAAgB,SAM/F,CAAA;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,QAAQ,SAGzC,CAAA;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,SAGxC,CAAA;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,QAAQ,SAEtC,CAAA;AAEF,eAAO,MAAM,QAAQ,GAAI,MAAM,QAAQ,SAErC,CAAA;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,QAAQ,EAAE,mBAAqC,WAAgB,SAM7F,CAAA;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,QAAQ,SAGvC,CAAA;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,QAAQ,SAGtC,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE/E,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACvD,GAAG,CAAC,EAAE,QAAQ,CAAA;CACjB;AAkBD,eAAO,MAAM,eAAe,GAAI,UAAU,YAAY,EAAE,OAAM,KAAK,GAAG,OAAiB,EAAE,0BAAsC,sBAA2B,SAEzJ,CAAA;AAkBD,eAAO,MAAM,WAAW,GAAI,UAAU,YAAY,EAAE,QAAQ,MAAM,EAAE,OAAM,KAAK,GAAG,OAAiB,EAAE,UAAU,sBAAsB,SAEpI,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,YAAY,EAAE,QAAQ,MAAM,EAAE,OAAM,KAAK,GAAG,OAAiB,EAAE,UAAU,sBAAsB,SAEzI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/zod/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
|