@xylabs/typeof 5.0.83 → 5.0.86
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/README.md +821 -653
- package/dist/neutral/Brand.d.ts +1 -0
- package/dist/neutral/Brand.d.ts.map +1 -1
- package/dist/neutral/IdentityFunction.d.ts +1 -0
- package/dist/neutral/IdentityFunction.d.ts.map +1 -1
- package/dist/neutral/ObjectTypeShape.d.ts +2 -0
- package/dist/neutral/ObjectTypeShape.d.ts.map +1 -1
- package/dist/neutral/TypeOfTypes.d.ts +1 -0
- package/dist/neutral/TypeOfTypes.d.ts.map +1 -1
- package/dist/neutral/Typed.d.ts +29 -0
- package/dist/neutral/Typed.d.ts.map +1 -1
- package/dist/neutral/ifDefined.d.ts +6 -0
- package/dist/neutral/ifDefined.d.ts.map +1 -1
- package/dist/neutral/ifTypeOf.d.ts +8 -0
- package/dist/neutral/ifTypeOf.d.ts.map +1 -1
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/is.d.ts +36 -0
- package/dist/neutral/is.d.ts.map +1 -1
- package/dist/neutral/isType.d.ts +6 -0
- package/dist/neutral/isType.d.ts.map +1 -1
- package/dist/neutral/typeOf.d.ts +5 -0
- package/dist/neutral/typeOf.d.ts.map +1 -1
- package/dist/neutral/validateType.d.ts +7 -0
- package/dist/neutral/validateType.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/neutral/Brand.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Brand.d.ts","sourceRoot":"","sources":["../../src/Brand.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"Brand.d.ts","sourceRoot":"","sources":["../../src/Brand.ts"],"names":[],"mappings":"AAAA,mHAAmH;AACnH,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentityFunction.d.ts","sourceRoot":"","sources":["../../src/IdentityFunction.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"IdentityFunction.d.ts","sourceRoot":"","sources":["../../src/IdentityFunction.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAA"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** Union of string literals representing the possible types of an object field. */
|
|
1
2
|
export type FieldType = 'string' | 'number' | 'object' | 'symbol' | 'undefined' | 'null' | 'array' | 'function';
|
|
3
|
+
/** Describes the expected shape of an object by mapping each key to its expected field type. */
|
|
2
4
|
export type ObjectTypeShape = Record<string | number | symbol, FieldType>;
|
|
3
5
|
//# sourceMappingURL=ObjectTypeShape.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectTypeShape.d.ts","sourceRoot":"","sources":["../../src/ObjectTypeShape.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;AAE/G,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,SAAS,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"ObjectTypeShape.d.ts","sourceRoot":"","sources":["../../src/ObjectTypeShape.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;AAE/G,gGAAgG;AAChG,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,SAAS,CAAC,CAAA"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
/** Union of string literals representing the possible results of the extended `typeOf` function. */
|
|
1
2
|
export type TypeOfTypes = 'string' | 'number' | 'object' | 'array' | 'buffer' | 'null' | 'undefined' | 'bigint' | 'boolean' | 'function' | 'symbol';
|
|
2
3
|
//# sourceMappingURL=TypeOfTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeOfTypes.d.ts","sourceRoot":"","sources":["../../src/TypeOfTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"TypeOfTypes.d.ts","sourceRoot":"","sources":["../../src/TypeOfTypes.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAA"}
|
package/dist/neutral/Typed.d.ts
CHANGED
|
@@ -1,12 +1,41 @@
|
|
|
1
|
+
/** A value that can appear in a typed object tree (primitives, objects, arrays, functions, and symbols). */
|
|
1
2
|
export type TypedValue = bigint | string | number | boolean | null | TypedObject | TypedArray | Function | symbol | undefined;
|
|
3
|
+
/** A valid key for a typed object. Defaults to string | number | symbol unless narrowed by T. */
|
|
2
4
|
export type TypedKey<T extends string | void = void> = T extends string ? T : string | number | symbol;
|
|
5
|
+
/** An object whose keys are TypedKey and whose values are TypedValue. */
|
|
3
6
|
export type TypedObject = {
|
|
4
7
|
[key: TypedKey]: TypedValue;
|
|
5
8
|
} | object;
|
|
9
|
+
/** An array of TypedValue elements. */
|
|
6
10
|
export type TypedArray = TypedValue[];
|
|
11
|
+
/**
|
|
12
|
+
* Type guard that checks whether a value is a valid TypedKey (string, bigint, number, or symbol).
|
|
13
|
+
* @param value - The value to check.
|
|
14
|
+
* @returns True if the value is a valid TypedKey.
|
|
15
|
+
*/
|
|
7
16
|
export declare const isTypedKey: (value: unknown) => value is TypedKey;
|
|
17
|
+
/**
|
|
18
|
+
* Type guard that checks whether a value is a valid TypedValue.
|
|
19
|
+
* @param value - The value to check.
|
|
20
|
+
* @returns True if the value is a string, number, boolean, null, TypedObject, or TypedArray.
|
|
21
|
+
*/
|
|
8
22
|
export declare const isTypedValue: (value: unknown) => value is TypedValue;
|
|
23
|
+
/**
|
|
24
|
+
* Type guard that checks whether a value is a TypedArray (an array where every element is a TypedValue).
|
|
25
|
+
* @param value - The value to check.
|
|
26
|
+
* @returns True if the value is an array of TypedValue elements.
|
|
27
|
+
*/
|
|
9
28
|
export declare const isTypedArray: (value: unknown) => value is TypedArray;
|
|
29
|
+
/**
|
|
30
|
+
* Type guard that checks whether a key-value pair has a valid TypedKey and TypedValue.
|
|
31
|
+
* @param pair - A tuple of [key, value] to validate.
|
|
32
|
+
* @returns True if the key is a TypedKey and the value is a TypedValue.
|
|
33
|
+
*/
|
|
10
34
|
export declare const isValidTypedFieldPair: (pair: [key: unknown, value: unknown]) => pair is [key: TypedKey, value: TypedValue];
|
|
35
|
+
/**
|
|
36
|
+
* Type guard that checks whether a value is a TypedObject (an object with TypedKey keys and TypedValue values).
|
|
37
|
+
* @param value - The value to check.
|
|
38
|
+
* @returns True if the value is a valid TypedObject.
|
|
39
|
+
*/
|
|
11
40
|
export declare const isTypedObject: (value: unknown) => value is TypedObject;
|
|
12
41
|
//# sourceMappingURL=Typed.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Typed.d.ts","sourceRoot":"","sources":["../../src/Typed.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Typed.d.ts","sourceRoot":"","sources":["../../src/Typed.ts"],"names":[],"mappings":"AAEA,4GAA4G;AAE5G,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;AAE7H,iGAAiG;AACjG,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAEtG,yEAAyE;AACzE,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU,CAAA;CAAE,GAAG,MAAM,CAAA;AAElE,uCAAuC;AACvC,MAAM,MAAM,UAAU,GAAG,UAAU,EAAE,CAAA;AAErC;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,QAYpD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UAWtD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UAEtD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAG,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAGrH,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAMvD,CAAA"}
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Invokes the callback only if the value is neither null nor undefined.
|
|
3
|
+
* @param value - The value to check.
|
|
4
|
+
* @param func - The callback to invoke with the value if it is defined.
|
|
5
|
+
* @returns The value if defined, or undefined otherwise.
|
|
6
|
+
*/
|
|
1
7
|
export declare const ifDefined: <T>(value: T, func: (value: T) => void) => T | undefined;
|
|
2
8
|
//# sourceMappingURL=ifDefined.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifDefined.d.ts","sourceRoot":"","sources":["../../src/ifDefined.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,kBAW9D,CAAA"}
|
|
1
|
+
{"version":3,"file":"ifDefined.d.ts","sourceRoot":"","sources":["../../src/ifDefined.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,kBAW9D,CAAA"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import type { TypeOfTypes } from './TypeOfTypes.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Invokes the callback if the value matches the specified type, with an optional additional predicate.
|
|
4
|
+
* @param typeName - The expected type name to match against.
|
|
5
|
+
* @param value - The value to check.
|
|
6
|
+
* @param trueFunc - The callback to invoke if the type matches.
|
|
7
|
+
* @param isFunc - Optional additional predicate that must also return true.
|
|
8
|
+
* @returns The result of trueFunc if the type matches (and isFunc passes), or undefined.
|
|
9
|
+
*/
|
|
2
10
|
export declare const ifTypeOf: <T, R>(typeName: TypeOfTypes, value: unknown, trueFunc: (value: T) => R, isFunc?: (value: T) => boolean) => R | undefined;
|
|
3
11
|
//# sourceMappingURL=ifTypeOf.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifTypeOf.d.ts","sourceRoot":"","sources":["../../src/ifTypeOf.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,UAAU,WAAW,EAAE,OAAO,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,kBAM9H,CAAA"}
|
|
1
|
+
{"version":3,"file":"ifTypeOf.d.ts","sourceRoot":"","sources":["../../src/ifTypeOf.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,UAAU,WAAW,EAAE,OAAO,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,kBAM9H,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/typeOf.ts","../../src/ifDefined.ts","../../src/ifTypeOf.ts","../../src/is.ts","../../src/isType.ts","../../src/Typed.ts","../../src/validateType.ts"],"sourcesContent":["import type { TypeOfTypes } from './TypeOfTypes.ts'\n\nexport const typeOf = <T>(item: T): TypeOfTypes => {\n return Array.isArray(item) ? 'array' : typeof item\n}\n","import { typeOf } from './typeOf.ts'\n\nexport const ifDefined = <T>(value: T, func: (value: T) => void) => {\n switch (typeOf(value)) {\n case 'undefined':\n case 'null': {\n break\n }\n default: {\n func(value)\n return value\n }\n }\n}\n","import { typeOf } from './typeOf.ts'\nimport type { TypeOfTypes } from './TypeOfTypes.ts'\n\nexport const ifTypeOf = <T, R>(typeName: TypeOfTypes, value: unknown, trueFunc: (value: T) => R, isFunc?: (value: T) => boolean) => {\n switch (typeOf(value)) {\n case typeName: {\n return !isFunc || isFunc(value as T) ? trueFunc(value as T) : undefined\n }\n }\n}\n","export type AnyFunction = (...args: unknown[]) => unknown\nexport type RecordKey = string | number | symbol\n\nexport function isUndefined(value: unknown): value is undefined\nexport function isUndefined<T>(value: T): value is Extract<T, undefined>\nexport function isUndefined(value: unknown): value is undefined {\n return value === undefined\n}\n\nexport function isDefined<T>(value: T): value is Exclude<T, undefined> {\n return !isUndefined(value)\n}\n\nexport function isNull(value: unknown): value is null\nexport function isNull<T>(value: T): value is Extract<T, null>\nexport function isNull(value: unknown): value is null {\n return value === null\n}\n\nexport function isDefinedNotNull<T>(value: T): value is Exclude<T, undefined | null> {\n return !isUndefined(value) && !isNull(value)\n}\n\nexport function isUndefinedOrNull(value: unknown): value is undefined | null\nexport function isUndefinedOrNull<T>(value: T): value is Extract<T, undefined | null>\nexport function isUndefinedOrNull(value: unknown): value is undefined | null {\n return isUndefined(value) || isNull(value)\n}\n\nexport function isBigInt(value: unknown): value is bigint\nexport function isBigInt<T extends bigint>(value: T): value is Extract<T, bigint>\nexport function isBigInt(value: unknown): value is bigint {\n return typeof value === 'bigint'\n}\n\nexport function isString(value: unknown): value is string\nexport function isString<T extends string>(value: T): value is Extract<T, string>\nexport function isString(value: unknown): value is string {\n return typeof value === 'string'\n}\n\nexport function isNumber(value: unknown): value is number\nexport function isNumber<T extends number>(value: T): value is Extract<T, number>\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number'\n}\n\nexport function isObject(value: unknown): value is object\nexport function isObject<T extends object>(value: T): value is Extract<T, object>\nexport function isObject(value: unknown): value is object {\n return (typeof value === 'object') && (value !== null) && !Array.isArray(value)\n}\n\nexport function isArray(value: unknown): value is readonly unknown[]\nexport function isArray<T>(value: T): value is Extract<T, readonly unknown[]>\nexport function isArray(value: unknown): value is readonly unknown[] {\n return Array.isArray(value)\n}\n\nexport function isFunction(value: unknown): value is AnyFunction\nexport function isFunction<T extends AnyFunction>(value: T): value is Extract<T, AnyFunction>\nexport function isFunction(value: unknown): value is AnyFunction {\n return typeof value === 'function'\n}\n\nexport function isSymbol(value: unknown): value is symbol\nexport function isSymbol<T extends symbol>(value: T): value is Extract<T, symbol>\nexport function isSymbol(value: unknown): value is symbol {\n return typeof value === 'symbol'\n}\n\nexport function isEmptyObject(value: unknown): value is {}\nexport function isEmptyObject<K extends RecordKey, V, T extends Record<K, V>>(value: T): value is Extract<T, Record<K, never>>\nexport function isEmptyObject(value: unknown): value is {} {\n return isObject(value) && Object.keys(value).length === 0\n}\n\nexport function isEmptyString(value: unknown): value is ''\nexport function isEmptyString<T extends string>(value: T): value is Extract<T, ''>\nexport function isEmptyString(value: unknown): value is '' {\n return isString(value) && value.length === 0\n}\n\nexport function isEmptyArray(value: unknown): value is []\nexport function isEmptyArray<T extends Array<unknown>>(value: T): value is Extract<T, Array<unknown>>\nexport function isEmptyArray(value: unknown): value is [] {\n return isArray(value) && value.length === 0\n}\n\nexport function isPopulatedArray(value: unknown): value is readonly unknown[]\nexport function isPopulatedArray<T extends Array<unknown>>(value: T): value is Extract<T, readonly unknown[]>\nexport function isPopulatedArray(value: unknown): value is readonly unknown[] {\n return isArray(value) && value.length > 0\n}\n\nexport function isEmpty<T>(value: unknown): value is T\nexport function isEmpty<K extends RecordKey, V, T extends Record<K, V>>(value: T): value is Extract<T, Record<K, never>>\nexport function isEmpty<T extends Array<unknown>>(value: T): value is Extract<T, Array<never>>\nexport function isEmpty<T>(value: unknown): value is T {\n return isEmptyString(value) || isEmptyArray(value) || isEmptyObject(value)\n}\n\nexport function isFalsy<T>(value: T): value is Extract<T, 0 | null | undefined | false | '' | 0n>\nexport function isFalsy<T extends boolean>(value: T): value is Extract<T, false>\nexport function isFalsy<T extends number>(value: T): value is Extract<T, 0>\nexport function isFalsy<T extends bigint>(value: T): value is Extract<T, 0n>\nexport function isFalsy<T extends null>(value: T): value is Extract<T, null>\nexport function isFalsy<T extends undefined>(value: T): value is Extract<T, undefined>\nexport function isFalsy<T extends string>(value: T): value is Extract<T, ''>\nexport function isFalsy<T>(value: T): value is T {\n return !value\n}\n\nexport function isTruthy<T>(value: T): value is Exclude<T, 0 | null | undefined | false | '' | 0n>\nexport function isTruthy<T extends boolean>(value: T): value is Extract<T, true>\nexport function isTruthy<T extends number>(value: T): value is Extract<T, number>\nexport function isTruthy<T extends bigint>(value: T): value is Extract<T, bigint>\nexport function isTruthy<T extends null>(value: T): value is Extract<T, null>\nexport function isTruthy<T extends undefined>(value: T): value is Extract<T, undefined>\nexport function isTruthy<T extends string>(value: T): value is Extract<T, string>\nexport function isTruthy<T>(value: T): value is T {\n return !!value\n}\n\nexport function isBoolean(value: unknown): value is boolean\nexport function isBoolean<T extends boolean>(value: T): value is Extract<T, boolean>\nexport function isBoolean(value: unknown): value is boolean {\n return typeof value === 'boolean'\n}\n\nexport function isDateString(value: unknown): value is string\nexport function isDateString<T>(value: T): value is Extract<T, string>\nexport function isDateString(value: unknown): value is string {\n return isString(value) && !Number.isNaN(Date.parse(value))\n}\n\nexport function isDate(value: unknown): value is Date\nexport function isDate<T>(value: T): value is Extract<T, Date>\nexport function isDate(value: unknown): value is Date {\n return value instanceof Date\n}\n\nexport function isRegExp(value: unknown): value is RegExp\nexport function isRegExp<T extends RegExp>(value: T): value is Extract<T, RegExp>\nexport function isRegExp(value: unknown): value is RegExp {\n return value instanceof RegExp\n}\n\nexport function isError(value: unknown): value is Error\nexport function isError<T>(value: T): value is Extract<T, Error>\nexport function isError(value: unknown): value is Error {\n return value instanceof Error\n}\n\nexport function isPromise(value: unknown): value is Promise<unknown>\nexport function isPromise<T>(value: T): value is Extract<T, Promise<unknown>>\nexport function isPromise(value: unknown): value is Promise<unknown> {\n return value instanceof Promise\n}\n\nexport function isPromiseLike(value: unknown): value is Promise<unknown>\nexport function isPromiseLike<T>(value: T): value is Extract<T, Promise<unknown>>\nexport function isPromiseLike(value: unknown): value is Promise<unknown> {\n return (\n typeof value === 'object'\n && value !== null\n && typeof (value as Record<string, unknown>).then === 'function'\n )\n}\n\nexport function isMap(value: unknown): value is Map<unknown, unknown>\nexport function isMap<K, V, T extends Map<K, V>>(value: T): value is Extract<T, Map<K, V>>\nexport function isMap(value: unknown): value is Map<unknown, unknown> {\n return value instanceof Map\n}\n\nexport function isArrayBufferView(value: unknown): value is ArrayBufferView\nexport function isArrayBufferView<T extends ArrayBufferView>(value: T): value is Extract<T, ArrayBufferView>\nexport function isArrayBufferView(value: unknown): value is ArrayBufferView {\n return ArrayBuffer.isView(value)\n}\n\nexport function isSet(value: unknown): value is Set<unknown>\nexport function isSet<T extends Set<unknown>>(value: unknown | Set<T>): value is Extract<T, Set<unknown>>\nexport function isSet(value: unknown): value is Set<unknown> {\n return value instanceof Set\n}\n\nexport function isWeakMap(value: unknown): value is WeakMap<WeakKey, unknown>\nexport function isWeakMap<K extends WeakKey, V, T extends WeakMap<K, V>>(value: T): value is Extract<T, WeakMap<K, V>>\nexport function isWeakMap(value: unknown): value is WeakMap<WeakKey, unknown> {\n return value instanceof WeakMap\n}\n\nexport function isWeakSet(value: unknown): value is WeakSet<WeakKey>\nexport function isWeakSet<K extends WeakKey, T extends WeakSet<K>>(value: T): value is Extract<T, WeakSet<K>>\nexport function isWeakSet(value: unknown): value is WeakSet<WeakKey> {\n return value instanceof WeakSet\n}\n\nexport function isDataView(value: unknown): value is DataView\nexport function isDataView<T>(value: T): value is Extract<T, DataView>\nexport function isDataView(value: unknown): value is DataView {\n return value instanceof DataView\n}\n\nexport function isBlob(value: unknown): value is Blob\nexport function isBlob<T extends Blob>(value: T): value is Extract<T, Blob>\nexport function isBlob(value: unknown): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob\n}\n\nexport function isFile(value: unknown): value is File\nexport function isFile<T extends File>(value: T): value is Extract<T, File>\nexport function isFile(value: unknown): value is File {\n return typeof File !== 'undefined' && value instanceof File\n}\n","import type { FieldType } from './ObjectTypeShape.ts'\n\nexport const isType = (value: unknown, expectedType: FieldType) => {\n const typeofValue = typeof value\n switch (expectedType) {\n case 'array': {\n return Array.isArray(value)\n }\n case 'null': {\n return value === null\n }\n case 'undefined': {\n return value === undefined\n }\n case 'object': {\n // nulls resolve to objects, so exclude them\n if (value === null) {\n return false\n }\n // arrays resolve to objects, so exclude them\n return typeofValue === 'object' && !Array.isArray(value)\n }\n default: {\n return typeofValue === expectedType\n }\n }\n}\n","import { isType } from './isType.ts'\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport type TypedValue = bigint | string | number | boolean | null | TypedObject | TypedArray | Function | symbol | undefined\nexport type TypedKey<T extends string | void = void> = T extends string ? T : string | number | symbol\nexport type TypedObject = { [key: TypedKey]: TypedValue } | object\nexport type TypedArray = TypedValue[]\n\nexport const isTypedKey = (value: unknown): value is TypedKey => {\n switch (typeof value) {\n case 'string':\n case 'bigint':\n case 'number':\n case 'symbol': {\n return true\n }\n default: {\n return false\n }\n }\n}\n\nexport const isTypedValue = (value: unknown): value is TypedValue => {\n switch (typeof value) {\n case 'string':\n case 'number':\n case 'boolean': {\n return true\n }\n default: {\n return value === null || isTypedObject(value) || isTypedArray(value)\n }\n }\n}\n\nexport const isTypedArray = (value: unknown): value is TypedArray => {\n return Array.isArray(value) && !value.some(item => !isTypedValue(item))\n}\n\nexport const isValidTypedFieldPair = (pair: [key: unknown, value: unknown]): pair is [key: TypedKey, value: TypedValue] => {\n const [key, value] = pair\n return isTypedKey(key) && isTypedValue(value)\n}\n\nexport const isTypedObject = (value: unknown): value is TypedObject => {\n return (\n isType(value, 'object')\n // check if all keys are strings\n && !Object.entries(value as object).some(item => !isValidTypedFieldPair(item))\n )\n}\n\n// Object Type Test\n/*\ninterface TestObject {\n value: number\n}\n\nconst x: TestObject = { value: 1 }\n\nconst f = (p: TypedValue): void => {\n console.log(p)\n}\n\nf(x)\n*/\n","import { typeOf } from './typeOf.ts'\nimport type { TypeOfTypes } from './TypeOfTypes.ts'\n\nexport const validateType = <T>(typeName: TypeOfTypes, value: T, optional = false): [T | undefined, Error[]] => {\n switch (typeOf(value)) {\n case typeName: {\n return [value, []]\n }\n default: {\n if (optional && typeOf(value) === 'undefined') {\n return [value, []]\n }\n return [undefined, [new Error(`value type is not '${typeName}:${typeof value}'`)]]\n }\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/typeOf.ts","../../src/ifDefined.ts","../../src/ifTypeOf.ts","../../src/is.ts","../../src/isType.ts","../../src/Typed.ts","../../src/validateType.ts"],"sourcesContent":["import type { TypeOfTypes } from './TypeOfTypes.ts'\n\n/**\n * Extended typeof that distinguishes arrays from objects (unlike native `typeof`).\n * @param item - The value to check.\n * @returns The type of the item as a TypeOfTypes string.\n */\nexport const typeOf = <T>(item: T): TypeOfTypes => {\n return Array.isArray(item) ? 'array' : typeof item\n}\n","import { typeOf } from './typeOf.ts'\n\n/**\n * Invokes the callback only if the value is neither null nor undefined.\n * @param value - The value to check.\n * @param func - The callback to invoke with the value if it is defined.\n * @returns The value if defined, or undefined otherwise.\n */\nexport const ifDefined = <T>(value: T, func: (value: T) => void) => {\n switch (typeOf(value)) {\n case 'undefined':\n case 'null': {\n break\n }\n default: {\n func(value)\n return value\n }\n }\n}\n","import { typeOf } from './typeOf.ts'\nimport type { TypeOfTypes } from './TypeOfTypes.ts'\n\n/**\n * Invokes the callback if the value matches the specified type, with an optional additional predicate.\n * @param typeName - The expected type name to match against.\n * @param value - The value to check.\n * @param trueFunc - The callback to invoke if the type matches.\n * @param isFunc - Optional additional predicate that must also return true.\n * @returns The result of trueFunc if the type matches (and isFunc passes), or undefined.\n */\nexport const ifTypeOf = <T, R>(typeName: TypeOfTypes, value: unknown, trueFunc: (value: T) => R, isFunc?: (value: T) => boolean) => {\n switch (typeOf(value)) {\n case typeName: {\n return !isFunc || isFunc(value as T) ? trueFunc(value as T) : undefined\n }\n }\n}\n","/** A function type that accepts any arguments and returns unknown. */\nexport type AnyFunction = (...args: unknown[]) => unknown\n\n/** A union of valid object key types. */\nexport type RecordKey = string | number | symbol\n\n/** Type guard that checks whether a value is undefined. */\nexport function isUndefined(value: unknown): value is undefined\nexport function isUndefined<T>(value: T): value is Extract<T, undefined>\nexport function isUndefined(value: unknown): value is undefined {\n return value === undefined\n}\n\n/** Type guard that checks whether a value is not undefined. */\nexport function isDefined<T>(value: T): value is Exclude<T, undefined> {\n return !isUndefined(value)\n}\n\n/** Type guard that checks whether a value is null. */\nexport function isNull(value: unknown): value is null\nexport function isNull<T>(value: T): value is Extract<T, null>\nexport function isNull(value: unknown): value is null {\n return value === null\n}\n\n/** Type guard that checks whether a value is neither undefined nor null. */\nexport function isDefinedNotNull<T>(value: T): value is Exclude<T, undefined | null> {\n return !isUndefined(value) && !isNull(value)\n}\n\n/** Type guard that checks whether a value is undefined or null. */\nexport function isUndefinedOrNull(value: unknown): value is undefined | null\nexport function isUndefinedOrNull<T>(value: T): value is Extract<T, undefined | null>\nexport function isUndefinedOrNull(value: unknown): value is undefined | null {\n return isUndefined(value) || isNull(value)\n}\n\n/** Type guard that checks whether a value is a bigint. */\nexport function isBigInt(value: unknown): value is bigint\nexport function isBigInt<T extends bigint>(value: T): value is Extract<T, bigint>\nexport function isBigInt(value: unknown): value is bigint {\n return typeof value === 'bigint'\n}\n\n/** Type guard that checks whether a value is a string. */\nexport function isString(value: unknown): value is string\nexport function isString<T extends string>(value: T): value is Extract<T, string>\nexport function isString(value: unknown): value is string {\n return typeof value === 'string'\n}\n\n/** Type guard that checks whether a value is a number. */\nexport function isNumber(value: unknown): value is number\nexport function isNumber<T extends number>(value: T): value is Extract<T, number>\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number'\n}\n\n/** Type guard that checks whether a value is a plain object (not null and not an array). */\nexport function isObject(value: unknown): value is object\nexport function isObject<T extends object>(value: T): value is Extract<T, object>\nexport function isObject(value: unknown): value is object {\n return (typeof value === 'object') && (value !== null) && !Array.isArray(value)\n}\n\n/** Type guard that checks whether a value is an array. */\nexport function isArray(value: unknown): value is readonly unknown[]\nexport function isArray<T>(value: T): value is Extract<T, readonly unknown[]>\nexport function isArray(value: unknown): value is readonly unknown[] {\n return Array.isArray(value)\n}\n\n/** Type guard that checks whether a value is a function. */\nexport function isFunction(value: unknown): value is AnyFunction\nexport function isFunction<T extends AnyFunction>(value: T): value is Extract<T, AnyFunction>\nexport function isFunction(value: unknown): value is AnyFunction {\n return typeof value === 'function'\n}\n\n/** Type guard that checks whether a value is a symbol. */\nexport function isSymbol(value: unknown): value is symbol\nexport function isSymbol<T extends symbol>(value: T): value is Extract<T, symbol>\nexport function isSymbol(value: unknown): value is symbol {\n return typeof value === 'symbol'\n}\n\n/** Type guard that checks whether a value is an object with no own keys. */\nexport function isEmptyObject(value: unknown): value is {}\nexport function isEmptyObject<K extends RecordKey, V, T extends Record<K, V>>(value: T): value is Extract<T, Record<K, never>>\nexport function isEmptyObject(value: unknown): value is {} {\n return isObject(value) && Object.keys(value).length === 0\n}\n\n/** Type guard that checks whether a value is an empty string. */\nexport function isEmptyString(value: unknown): value is ''\nexport function isEmptyString<T extends string>(value: T): value is Extract<T, ''>\nexport function isEmptyString(value: unknown): value is '' {\n return isString(value) && value.length === 0\n}\n\n/** Type guard that checks whether a value is an empty array. */\nexport function isEmptyArray(value: unknown): value is []\nexport function isEmptyArray<T extends Array<unknown>>(value: T): value is Extract<T, Array<unknown>>\nexport function isEmptyArray(value: unknown): value is [] {\n return isArray(value) && value.length === 0\n}\n\n/** Type guard that checks whether a value is a non-empty array. */\nexport function isPopulatedArray(value: unknown): value is readonly unknown[]\nexport function isPopulatedArray<T extends Array<unknown>>(value: T): value is Extract<T, readonly unknown[]>\nexport function isPopulatedArray(value: unknown): value is readonly unknown[] {\n return isArray(value) && value.length > 0\n}\n\n/** Type guard that checks whether a value is empty (empty string, empty array, or empty object). */\nexport function isEmpty<T>(value: unknown): value is T\nexport function isEmpty<K extends RecordKey, V, T extends Record<K, V>>(value: T): value is Extract<T, Record<K, never>>\nexport function isEmpty<T extends Array<unknown>>(value: T): value is Extract<T, Array<never>>\nexport function isEmpty<T>(value: unknown): value is T {\n return isEmptyString(value) || isEmptyArray(value) || isEmptyObject(value)\n}\n\n/** Type guard that checks whether a value is falsy (0, null, undefined, false, '', or 0n). */\nexport function isFalsy<T>(value: T): value is Extract<T, 0 | null | undefined | false | '' | 0n>\nexport function isFalsy<T extends boolean>(value: T): value is Extract<T, false>\nexport function isFalsy<T extends number>(value: T): value is Extract<T, 0>\nexport function isFalsy<T extends bigint>(value: T): value is Extract<T, 0n>\nexport function isFalsy<T extends null>(value: T): value is Extract<T, null>\nexport function isFalsy<T extends undefined>(value: T): value is Extract<T, undefined>\nexport function isFalsy<T extends string>(value: T): value is Extract<T, ''>\nexport function isFalsy<T>(value: T): value is T {\n return !value\n}\n\n/** Type guard that checks whether a value is truthy (not 0, null, undefined, false, '', or 0n). */\nexport function isTruthy<T>(value: T): value is Exclude<T, 0 | null | undefined | false | '' | 0n>\nexport function isTruthy<T extends boolean>(value: T): value is Extract<T, true>\nexport function isTruthy<T extends number>(value: T): value is Extract<T, number>\nexport function isTruthy<T extends bigint>(value: T): value is Extract<T, bigint>\nexport function isTruthy<T extends null>(value: T): value is Extract<T, null>\nexport function isTruthy<T extends undefined>(value: T): value is Extract<T, undefined>\nexport function isTruthy<T extends string>(value: T): value is Extract<T, string>\nexport function isTruthy<T>(value: T): value is T {\n return !!value\n}\n\n/** Type guard that checks whether a value is a boolean. */\nexport function isBoolean(value: unknown): value is boolean\nexport function isBoolean<T extends boolean>(value: T): value is Extract<T, boolean>\nexport function isBoolean(value: unknown): value is boolean {\n return typeof value === 'boolean'\n}\n\n/** Type guard that checks whether a value is a string that can be parsed as a valid date. */\nexport function isDateString(value: unknown): value is string\nexport function isDateString<T>(value: T): value is Extract<T, string>\nexport function isDateString(value: unknown): value is string {\n return isString(value) && !Number.isNaN(Date.parse(value))\n}\n\n/** Type guard that checks whether a value is a Date instance. */\nexport function isDate(value: unknown): value is Date\nexport function isDate<T>(value: T): value is Extract<T, Date>\nexport function isDate(value: unknown): value is Date {\n return value instanceof Date\n}\n\n/** Type guard that checks whether a value is a RegExp instance. */\nexport function isRegExp(value: unknown): value is RegExp\nexport function isRegExp<T extends RegExp>(value: T): value is Extract<T, RegExp>\nexport function isRegExp(value: unknown): value is RegExp {\n return value instanceof RegExp\n}\n\n/** Type guard that checks whether a value is an Error instance. */\nexport function isError(value: unknown): value is Error\nexport function isError<T>(value: T): value is Extract<T, Error>\nexport function isError(value: unknown): value is Error {\n return value instanceof Error\n}\n\n/** Type guard that checks whether a value is a Promise instance. */\nexport function isPromise(value: unknown): value is Promise<unknown>\nexport function isPromise<T>(value: T): value is Extract<T, Promise<unknown>>\nexport function isPromise(value: unknown): value is Promise<unknown> {\n return value instanceof Promise\n}\n\n/** Type guard that checks whether a value is promise-like (has a `then` method). */\nexport function isPromiseLike(value: unknown): value is Promise<unknown>\nexport function isPromiseLike<T>(value: T): value is Extract<T, Promise<unknown>>\nexport function isPromiseLike(value: unknown): value is Promise<unknown> {\n return (\n typeof value === 'object'\n && value !== null\n && typeof (value as Record<string, unknown>).then === 'function'\n )\n}\n\n/** Type guard that checks whether a value is a Map instance. */\nexport function isMap(value: unknown): value is Map<unknown, unknown>\nexport function isMap<K, V, T extends Map<K, V>>(value: T): value is Extract<T, Map<K, V>>\nexport function isMap(value: unknown): value is Map<unknown, unknown> {\n return value instanceof Map\n}\n\n/** Type guard that checks whether a value is an ArrayBufferView (e.g., TypedArray or DataView). */\nexport function isArrayBufferView(value: unknown): value is ArrayBufferView\nexport function isArrayBufferView<T extends ArrayBufferView>(value: T): value is Extract<T, ArrayBufferView>\nexport function isArrayBufferView(value: unknown): value is ArrayBufferView {\n return ArrayBuffer.isView(value)\n}\n\n/** Type guard that checks whether a value is a Set instance. */\nexport function isSet(value: unknown): value is Set<unknown>\nexport function isSet<T extends Set<unknown>>(value: unknown | Set<T>): value is Extract<T, Set<unknown>>\nexport function isSet(value: unknown): value is Set<unknown> {\n return value instanceof Set\n}\n\n/** Type guard that checks whether a value is a WeakMap instance. */\nexport function isWeakMap(value: unknown): value is WeakMap<WeakKey, unknown>\nexport function isWeakMap<K extends WeakKey, V, T extends WeakMap<K, V>>(value: T): value is Extract<T, WeakMap<K, V>>\nexport function isWeakMap(value: unknown): value is WeakMap<WeakKey, unknown> {\n return value instanceof WeakMap\n}\n\n/** Type guard that checks whether a value is a WeakSet instance. */\nexport function isWeakSet(value: unknown): value is WeakSet<WeakKey>\nexport function isWeakSet<K extends WeakKey, T extends WeakSet<K>>(value: T): value is Extract<T, WeakSet<K>>\nexport function isWeakSet(value: unknown): value is WeakSet<WeakKey> {\n return value instanceof WeakSet\n}\n\n/** Type guard that checks whether a value is a DataView instance. */\nexport function isDataView(value: unknown): value is DataView\nexport function isDataView<T>(value: T): value is Extract<T, DataView>\nexport function isDataView(value: unknown): value is DataView {\n return value instanceof DataView\n}\n\n/** Type guard that checks whether a value is a Blob instance. */\nexport function isBlob(value: unknown): value is Blob\nexport function isBlob<T extends Blob>(value: T): value is Extract<T, Blob>\nexport function isBlob(value: unknown): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob\n}\n\n/** Type guard that checks whether a value is a File instance. */\nexport function isFile(value: unknown): value is File\nexport function isFile<T extends File>(value: T): value is Extract<T, File>\nexport function isFile(value: unknown): value is File {\n return typeof File !== 'undefined' && value instanceof File\n}\n","import type { FieldType } from './ObjectTypeShape.ts'\n\n/**\n * Checks whether a value matches the expected field type, with correct handling for arrays and nulls.\n * @param value - The value to check.\n * @param expectedType - The expected type string.\n * @returns True if the value matches the expected type.\n */\nexport const isType = (value: unknown, expectedType: FieldType) => {\n const typeofValue = typeof value\n switch (expectedType) {\n case 'array': {\n return Array.isArray(value)\n }\n case 'null': {\n return value === null\n }\n case 'undefined': {\n return value === undefined\n }\n case 'object': {\n // nulls resolve to objects, so exclude them\n if (value === null) {\n return false\n }\n // arrays resolve to objects, so exclude them\n return typeofValue === 'object' && !Array.isArray(value)\n }\n default: {\n return typeofValue === expectedType\n }\n }\n}\n","import { isType } from './isType.ts'\n\n/** A value that can appear in a typed object tree (primitives, objects, arrays, functions, and symbols). */\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport type TypedValue = bigint | string | number | boolean | null | TypedObject | TypedArray | Function | symbol | undefined\n\n/** A valid key for a typed object. Defaults to string | number | symbol unless narrowed by T. */\nexport type TypedKey<T extends string | void = void> = T extends string ? T : string | number | symbol\n\n/** An object whose keys are TypedKey and whose values are TypedValue. */\nexport type TypedObject = { [key: TypedKey]: TypedValue } | object\n\n/** An array of TypedValue elements. */\nexport type TypedArray = TypedValue[]\n\n/**\n * Type guard that checks whether a value is a valid TypedKey (string, bigint, number, or symbol).\n * @param value - The value to check.\n * @returns True if the value is a valid TypedKey.\n */\nexport const isTypedKey = (value: unknown): value is TypedKey => {\n switch (typeof value) {\n case 'string':\n case 'bigint':\n case 'number':\n case 'symbol': {\n return true\n }\n default: {\n return false\n }\n }\n}\n\n/**\n * Type guard that checks whether a value is a valid TypedValue.\n * @param value - The value to check.\n * @returns True if the value is a string, number, boolean, null, TypedObject, or TypedArray.\n */\nexport const isTypedValue = (value: unknown): value is TypedValue => {\n switch (typeof value) {\n case 'string':\n case 'number':\n case 'boolean': {\n return true\n }\n default: {\n return value === null || isTypedObject(value) || isTypedArray(value)\n }\n }\n}\n\n/**\n * Type guard that checks whether a value is a TypedArray (an array where every element is a TypedValue).\n * @param value - The value to check.\n * @returns True if the value is an array of TypedValue elements.\n */\nexport const isTypedArray = (value: unknown): value is TypedArray => {\n return Array.isArray(value) && !value.some(item => !isTypedValue(item))\n}\n\n/**\n * Type guard that checks whether a key-value pair has a valid TypedKey and TypedValue.\n * @param pair - A tuple of [key, value] to validate.\n * @returns True if the key is a TypedKey and the value is a TypedValue.\n */\nexport const isValidTypedFieldPair = (pair: [key: unknown, value: unknown]): pair is [key: TypedKey, value: TypedValue] => {\n const [key, value] = pair\n return isTypedKey(key) && isTypedValue(value)\n}\n\n/**\n * Type guard that checks whether a value is a TypedObject (an object with TypedKey keys and TypedValue values).\n * @param value - The value to check.\n * @returns True if the value is a valid TypedObject.\n */\nexport const isTypedObject = (value: unknown): value is TypedObject => {\n return (\n isType(value, 'object')\n // check if all keys are strings\n && !Object.entries(value as object).some(item => !isValidTypedFieldPair(item))\n )\n}\n\n// Object Type Test\n/*\ninterface TestObject {\n value: number\n}\n\nconst x: TestObject = { value: 1 }\n\nconst f = (p: TypedValue): void => {\n console.log(p)\n}\n\nf(x)\n*/\n","import { typeOf } from './typeOf.ts'\nimport type { TypeOfTypes } from './TypeOfTypes.ts'\n\n/**\n * Validates that a value matches the expected type, returning the value and any errors.\n * @param typeName - The expected type name.\n * @param value - The value to validate.\n * @param optional - If true, undefined values are accepted without error.\n * @returns A tuple of [value or undefined, array of errors].\n */\nexport const validateType = <T>(typeName: TypeOfTypes, value: T, optional = false): [T | undefined, Error[]] => {\n switch (typeOf(value)) {\n case typeName: {\n return [value, []]\n }\n default: {\n if (optional && typeOf(value) === 'undefined') {\n return [value, []]\n }\n return [undefined, [new Error(`value type is not '${typeName}:${typeof value}'`)]]\n }\n }\n}\n"],"mappings":";AAOO,IAAM,SAAS,CAAI,SAAyB;AACjD,SAAO,MAAM,QAAQ,IAAI,IAAI,UAAU,OAAO;AAChD;;;ACDO,IAAM,YAAY,CAAI,OAAU,SAA6B;AAClE,UAAQ,OAAO,KAAK,GAAG;AAAA,IACrB,KAAK;AAAA,IACL,KAAK,QAAQ;AACX;AAAA,IACF;AAAA,IACA,SAAS;AACP,WAAK,KAAK;AACV,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;ACRO,IAAM,WAAW,CAAO,UAAuB,OAAgB,UAA2B,WAAmC;AAClI,UAAQ,OAAO,KAAK,GAAG;AAAA,IACrB,KAAK,UAAU;AACb,aAAO,CAAC,UAAU,OAAO,KAAU,IAAI,SAAS,KAAU,IAAI;AAAA,IAChE;AAAA,EACF;AACF;;;ACRO,SAAS,YAAY,OAAoC;AAC9D,SAAO,UAAU;AACnB;AAGO,SAAS,UAAa,OAA0C;AACrE,SAAO,CAAC,YAAY,KAAK;AAC3B;AAKO,SAAS,OAAO,OAA+B;AACpD,SAAO,UAAU;AACnB;AAGO,SAAS,iBAAoB,OAAiD;AACnF,SAAO,CAAC,YAAY,KAAK,KAAK,CAAC,OAAO,KAAK;AAC7C;AAKO,SAAS,kBAAkB,OAA2C;AAC3E,SAAO,YAAY,KAAK,KAAK,OAAO,KAAK;AAC3C;AAKO,SAAS,SAAS,OAAiC;AACxD,SAAO,OAAO,UAAU;AAC1B;AAKO,SAAS,SAAS,OAAiC;AACxD,SAAO,OAAO,UAAU;AAC1B;AAKO,SAAS,SAAS,OAAiC;AACxD,SAAO,OAAO,UAAU;AAC1B;AAKO,SAAS,SAAS,OAAiC;AACxD,SAAQ,OAAO,UAAU,YAAc,UAAU,QAAS,CAAC,MAAM,QAAQ,KAAK;AAChF;AAKO,SAAS,QAAQ,OAA6C;AACnE,SAAO,MAAM,QAAQ,KAAK;AAC5B;AAKO,SAAS,WAAW,OAAsC;AAC/D,SAAO,OAAO,UAAU;AAC1B;AAKO,SAAS,SAAS,OAAiC;AACxD,SAAO,OAAO,UAAU;AAC1B;AAKO,SAAS,cAAc,OAA6B;AACzD,SAAO,SAAS,KAAK,KAAK,OAAO,KAAK,KAAK,EAAE,WAAW;AAC1D;AAKO,SAAS,cAAc,OAA6B;AACzD,SAAO,SAAS,KAAK,KAAK,MAAM,WAAW;AAC7C;AAKO,SAAS,aAAa,OAA6B;AACxD,SAAO,QAAQ,KAAK,KAAK,MAAM,WAAW;AAC5C;AAKO,SAAS,iBAAiB,OAA6C;AAC5E,SAAO,QAAQ,KAAK,KAAK,MAAM,SAAS;AAC1C;AAMO,SAAS,QAAW,OAA4B;AACrD,SAAO,cAAc,KAAK,KAAK,aAAa,KAAK,KAAK,cAAc,KAAK;AAC3E;AAUO,SAAS,QAAW,OAAsB;AAC/C,SAAO,CAAC;AACV;AAUO,SAAS,SAAY,OAAsB;AAChD,SAAO,CAAC,CAAC;AACX;AAKO,SAAS,UAAU,OAAkC;AAC1D,SAAO,OAAO,UAAU;AAC1B;AAKO,SAAS,aAAa,OAAiC;AAC5D,SAAO,SAAS,KAAK,KAAK,CAAC,OAAO,MAAM,KAAK,MAAM,KAAK,CAAC;AAC3D;AAKO,SAAS,OAAO,OAA+B;AACpD,SAAO,iBAAiB;AAC1B;AAKO,SAAS,SAAS,OAAiC;AACxD,SAAO,iBAAiB;AAC1B;AAKO,SAAS,QAAQ,OAAgC;AACtD,SAAO,iBAAiB;AAC1B;AAKO,SAAS,UAAU,OAA2C;AACnE,SAAO,iBAAiB;AAC1B;AAKO,SAAS,cAAc,OAA2C;AACvE,SACE,OAAO,UAAU,YACd,UAAU,QACV,OAAQ,MAAkC,SAAS;AAE1D;AAKO,SAAS,MAAM,OAAgD;AACpE,SAAO,iBAAiB;AAC1B;AAKO,SAAS,kBAAkB,OAA0C;AAC1E,SAAO,YAAY,OAAO,KAAK;AACjC;AAKO,SAAS,MAAM,OAAuC;AAC3D,SAAO,iBAAiB;AAC1B;AAKO,SAAS,UAAU,OAAoD;AAC5E,SAAO,iBAAiB;AAC1B;AAKO,SAAS,UAAU,OAA2C;AACnE,SAAO,iBAAiB;AAC1B;AAKO,SAAS,WAAW,OAAmC;AAC5D,SAAO,iBAAiB;AAC1B;AAKO,SAAS,OAAO,OAA+B;AACpD,SAAO,OAAO,SAAS,eAAe,iBAAiB;AACzD;AAKO,SAAS,OAAO,OAA+B;AACpD,SAAO,OAAO,SAAS,eAAe,iBAAiB;AACzD;;;ACrPO,IAAM,SAAS,CAAC,OAAgB,iBAA4B;AACjE,QAAM,cAAc,OAAO;AAC3B,UAAQ,cAAc;AAAA,IACpB,KAAK,SAAS;AACZ,aAAO,MAAM,QAAQ,KAAK;AAAA,IAC5B;AAAA,IACA,KAAK,QAAQ;AACX,aAAO,UAAU;AAAA,IACnB;AAAA,IACA,KAAK,aAAa;AAChB,aAAO,UAAU;AAAA,IACnB;AAAA,IACA,KAAK,UAAU;AAEb,UAAI,UAAU,MAAM;AAClB,eAAO;AAAA,MACT;AAEA,aAAO,gBAAgB,YAAY,CAAC,MAAM,QAAQ,KAAK;AAAA,IACzD;AAAA,IACA,SAAS;AACP,aAAO,gBAAgB;AAAA,IACzB;AAAA,EACF;AACF;;;ACZO,IAAM,aAAa,CAAC,UAAsC;AAC/D,UAAQ,OAAO,OAAO;AAAA,IACpB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK,UAAU;AACb,aAAO;AAAA,IACT;AAAA,IACA,SAAS;AACP,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAOO,IAAM,eAAe,CAAC,UAAwC;AACnE,UAAQ,OAAO,OAAO;AAAA,IACpB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK,WAAW;AACd,aAAO;AAAA,IACT;AAAA,IACA,SAAS;AACP,aAAO,UAAU,QAAQ,cAAc,KAAK,KAAK,aAAa,KAAK;AAAA,IACrE;AAAA,EACF;AACF;AAOO,IAAM,eAAe,CAAC,UAAwC;AACnE,SAAO,MAAM,QAAQ,KAAK,KAAK,CAAC,MAAM,KAAK,UAAQ,CAAC,aAAa,IAAI,CAAC;AACxE;AAOO,IAAM,wBAAwB,CAAC,SAAqF;AACzH,QAAM,CAAC,KAAK,KAAK,IAAI;AACrB,SAAO,WAAW,GAAG,KAAK,aAAa,KAAK;AAC9C;AAOO,IAAM,gBAAgB,CAAC,UAAyC;AACrE,SACE,OAAO,OAAO,QAAQ,KAEnB,CAAC,OAAO,QAAQ,KAAe,EAAE,KAAK,UAAQ,CAAC,sBAAsB,IAAI,CAAC;AAEjF;;;ACxEO,IAAM,eAAe,CAAI,UAAuB,OAAU,WAAW,UAAoC;AAC9G,UAAQ,OAAO,KAAK,GAAG;AAAA,IACrB,KAAK,UAAU;AACb,aAAO,CAAC,OAAO,CAAC,CAAC;AAAA,IACnB;AAAA,IACA,SAAS;AACP,UAAI,YAAY,OAAO,KAAK,MAAM,aAAa;AAC7C,eAAO,CAAC,OAAO,CAAC,CAAC;AAAA,MACnB;AACA,aAAO,CAAC,QAAW,CAAC,IAAI,MAAM,sBAAsB,QAAQ,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC;AAAA,IACnF;AAAA,EACF;AACF;","names":[]}
|
package/dist/neutral/is.d.ts
CHANGED
|
@@ -1,38 +1,58 @@
|
|
|
1
|
+
/** A function type that accepts any arguments and returns unknown. */
|
|
1
2
|
export type AnyFunction = (...args: unknown[]) => unknown;
|
|
3
|
+
/** A union of valid object key types. */
|
|
2
4
|
export type RecordKey = string | number | symbol;
|
|
5
|
+
/** Type guard that checks whether a value is undefined. */
|
|
3
6
|
export declare function isUndefined(value: unknown): value is undefined;
|
|
4
7
|
export declare function isUndefined<T>(value: T): value is Extract<T, undefined>;
|
|
8
|
+
/** Type guard that checks whether a value is not undefined. */
|
|
5
9
|
export declare function isDefined<T>(value: T): value is Exclude<T, undefined>;
|
|
10
|
+
/** Type guard that checks whether a value is null. */
|
|
6
11
|
export declare function isNull(value: unknown): value is null;
|
|
7
12
|
export declare function isNull<T>(value: T): value is Extract<T, null>;
|
|
13
|
+
/** Type guard that checks whether a value is neither undefined nor null. */
|
|
8
14
|
export declare function isDefinedNotNull<T>(value: T): value is Exclude<T, undefined | null>;
|
|
15
|
+
/** Type guard that checks whether a value is undefined or null. */
|
|
9
16
|
export declare function isUndefinedOrNull(value: unknown): value is undefined | null;
|
|
10
17
|
export declare function isUndefinedOrNull<T>(value: T): value is Extract<T, undefined | null>;
|
|
18
|
+
/** Type guard that checks whether a value is a bigint. */
|
|
11
19
|
export declare function isBigInt(value: unknown): value is bigint;
|
|
12
20
|
export declare function isBigInt<T extends bigint>(value: T): value is Extract<T, bigint>;
|
|
21
|
+
/** Type guard that checks whether a value is a string. */
|
|
13
22
|
export declare function isString(value: unknown): value is string;
|
|
14
23
|
export declare function isString<T extends string>(value: T): value is Extract<T, string>;
|
|
24
|
+
/** Type guard that checks whether a value is a number. */
|
|
15
25
|
export declare function isNumber(value: unknown): value is number;
|
|
16
26
|
export declare function isNumber<T extends number>(value: T): value is Extract<T, number>;
|
|
27
|
+
/** Type guard that checks whether a value is a plain object (not null and not an array). */
|
|
17
28
|
export declare function isObject(value: unknown): value is object;
|
|
18
29
|
export declare function isObject<T extends object>(value: T): value is Extract<T, object>;
|
|
30
|
+
/** Type guard that checks whether a value is an array. */
|
|
19
31
|
export declare function isArray(value: unknown): value is readonly unknown[];
|
|
20
32
|
export declare function isArray<T>(value: T): value is Extract<T, readonly unknown[]>;
|
|
33
|
+
/** Type guard that checks whether a value is a function. */
|
|
21
34
|
export declare function isFunction(value: unknown): value is AnyFunction;
|
|
22
35
|
export declare function isFunction<T extends AnyFunction>(value: T): value is Extract<T, AnyFunction>;
|
|
36
|
+
/** Type guard that checks whether a value is a symbol. */
|
|
23
37
|
export declare function isSymbol(value: unknown): value is symbol;
|
|
24
38
|
export declare function isSymbol<T extends symbol>(value: T): value is Extract<T, symbol>;
|
|
39
|
+
/** Type guard that checks whether a value is an object with no own keys. */
|
|
25
40
|
export declare function isEmptyObject(value: unknown): value is {};
|
|
26
41
|
export declare function isEmptyObject<K extends RecordKey, V, T extends Record<K, V>>(value: T): value is Extract<T, Record<K, never>>;
|
|
42
|
+
/** Type guard that checks whether a value is an empty string. */
|
|
27
43
|
export declare function isEmptyString(value: unknown): value is '';
|
|
28
44
|
export declare function isEmptyString<T extends string>(value: T): value is Extract<T, ''>;
|
|
45
|
+
/** Type guard that checks whether a value is an empty array. */
|
|
29
46
|
export declare function isEmptyArray(value: unknown): value is [];
|
|
30
47
|
export declare function isEmptyArray<T extends Array<unknown>>(value: T): value is Extract<T, Array<unknown>>;
|
|
48
|
+
/** Type guard that checks whether a value is a non-empty array. */
|
|
31
49
|
export declare function isPopulatedArray(value: unknown): value is readonly unknown[];
|
|
32
50
|
export declare function isPopulatedArray<T extends Array<unknown>>(value: T): value is Extract<T, readonly unknown[]>;
|
|
51
|
+
/** Type guard that checks whether a value is empty (empty string, empty array, or empty object). */
|
|
33
52
|
export declare function isEmpty<T>(value: unknown): value is T;
|
|
34
53
|
export declare function isEmpty<K extends RecordKey, V, T extends Record<K, V>>(value: T): value is Extract<T, Record<K, never>>;
|
|
35
54
|
export declare function isEmpty<T extends Array<unknown>>(value: T): value is Extract<T, Array<never>>;
|
|
55
|
+
/** Type guard that checks whether a value is falsy (0, null, undefined, false, '', or 0n). */
|
|
36
56
|
export declare function isFalsy<T>(value: T): value is Extract<T, 0 | null | undefined | false | '' | 0n>;
|
|
37
57
|
export declare function isFalsy<T extends boolean>(value: T): value is Extract<T, false>;
|
|
38
58
|
export declare function isFalsy<T extends number>(value: T): value is Extract<T, 0>;
|
|
@@ -40,6 +60,7 @@ export declare function isFalsy<T extends bigint>(value: T): value is Extract<T,
|
|
|
40
60
|
export declare function isFalsy<T extends null>(value: T): value is Extract<T, null>;
|
|
41
61
|
export declare function isFalsy<T extends undefined>(value: T): value is Extract<T, undefined>;
|
|
42
62
|
export declare function isFalsy<T extends string>(value: T): value is Extract<T, ''>;
|
|
63
|
+
/** Type guard that checks whether a value is truthy (not 0, null, undefined, false, '', or 0n). */
|
|
43
64
|
export declare function isTruthy<T>(value: T): value is Exclude<T, 0 | null | undefined | false | '' | 0n>;
|
|
44
65
|
export declare function isTruthy<T extends boolean>(value: T): value is Extract<T, true>;
|
|
45
66
|
export declare function isTruthy<T extends number>(value: T): value is Extract<T, number>;
|
|
@@ -47,34 +68,49 @@ export declare function isTruthy<T extends bigint>(value: T): value is Extract<T
|
|
|
47
68
|
export declare function isTruthy<T extends null>(value: T): value is Extract<T, null>;
|
|
48
69
|
export declare function isTruthy<T extends undefined>(value: T): value is Extract<T, undefined>;
|
|
49
70
|
export declare function isTruthy<T extends string>(value: T): value is Extract<T, string>;
|
|
71
|
+
/** Type guard that checks whether a value is a boolean. */
|
|
50
72
|
export declare function isBoolean(value: unknown): value is boolean;
|
|
51
73
|
export declare function isBoolean<T extends boolean>(value: T): value is Extract<T, boolean>;
|
|
74
|
+
/** Type guard that checks whether a value is a string that can be parsed as a valid date. */
|
|
52
75
|
export declare function isDateString(value: unknown): value is string;
|
|
53
76
|
export declare function isDateString<T>(value: T): value is Extract<T, string>;
|
|
77
|
+
/** Type guard that checks whether a value is a Date instance. */
|
|
54
78
|
export declare function isDate(value: unknown): value is Date;
|
|
55
79
|
export declare function isDate<T>(value: T): value is Extract<T, Date>;
|
|
80
|
+
/** Type guard that checks whether a value is a RegExp instance. */
|
|
56
81
|
export declare function isRegExp(value: unknown): value is RegExp;
|
|
57
82
|
export declare function isRegExp<T extends RegExp>(value: T): value is Extract<T, RegExp>;
|
|
83
|
+
/** Type guard that checks whether a value is an Error instance. */
|
|
58
84
|
export declare function isError(value: unknown): value is Error;
|
|
59
85
|
export declare function isError<T>(value: T): value is Extract<T, Error>;
|
|
86
|
+
/** Type guard that checks whether a value is a Promise instance. */
|
|
60
87
|
export declare function isPromise(value: unknown): value is Promise<unknown>;
|
|
61
88
|
export declare function isPromise<T>(value: T): value is Extract<T, Promise<unknown>>;
|
|
89
|
+
/** Type guard that checks whether a value is promise-like (has a `then` method). */
|
|
62
90
|
export declare function isPromiseLike(value: unknown): value is Promise<unknown>;
|
|
63
91
|
export declare function isPromiseLike<T>(value: T): value is Extract<T, Promise<unknown>>;
|
|
92
|
+
/** Type guard that checks whether a value is a Map instance. */
|
|
64
93
|
export declare function isMap(value: unknown): value is Map<unknown, unknown>;
|
|
65
94
|
export declare function isMap<K, V, T extends Map<K, V>>(value: T): value is Extract<T, Map<K, V>>;
|
|
95
|
+
/** Type guard that checks whether a value is an ArrayBufferView (e.g., TypedArray or DataView). */
|
|
66
96
|
export declare function isArrayBufferView(value: unknown): value is ArrayBufferView;
|
|
67
97
|
export declare function isArrayBufferView<T extends ArrayBufferView>(value: T): value is Extract<T, ArrayBufferView>;
|
|
98
|
+
/** Type guard that checks whether a value is a Set instance. */
|
|
68
99
|
export declare function isSet(value: unknown): value is Set<unknown>;
|
|
69
100
|
export declare function isSet<T extends Set<unknown>>(value: unknown | Set<T>): value is Extract<T, Set<unknown>>;
|
|
101
|
+
/** Type guard that checks whether a value is a WeakMap instance. */
|
|
70
102
|
export declare function isWeakMap(value: unknown): value is WeakMap<WeakKey, unknown>;
|
|
71
103
|
export declare function isWeakMap<K extends WeakKey, V, T extends WeakMap<K, V>>(value: T): value is Extract<T, WeakMap<K, V>>;
|
|
104
|
+
/** Type guard that checks whether a value is a WeakSet instance. */
|
|
72
105
|
export declare function isWeakSet(value: unknown): value is WeakSet<WeakKey>;
|
|
73
106
|
export declare function isWeakSet<K extends WeakKey, T extends WeakSet<K>>(value: T): value is Extract<T, WeakSet<K>>;
|
|
107
|
+
/** Type guard that checks whether a value is a DataView instance. */
|
|
74
108
|
export declare function isDataView(value: unknown): value is DataView;
|
|
75
109
|
export declare function isDataView<T>(value: T): value is Extract<T, DataView>;
|
|
110
|
+
/** Type guard that checks whether a value is a Blob instance. */
|
|
76
111
|
export declare function isBlob(value: unknown): value is Blob;
|
|
77
112
|
export declare function isBlob<T extends Blob>(value: T): value is Extract<T, Blob>;
|
|
113
|
+
/** Type guard that checks whether a value is a File instance. */
|
|
78
114
|
export declare function isFile(value: unknown): value is File;
|
|
79
115
|
export declare function isFile<T extends File>(value: T): value is Extract<T, File>;
|
|
80
116
|
//# sourceMappingURL=is.d.ts.map
|
package/dist/neutral/is.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../../src/is.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../../src/is.ts"],"names":[],"mappings":"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"}
|
package/dist/neutral/isType.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import type { FieldType } from './ObjectTypeShape.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Checks whether a value matches the expected field type, with correct handling for arrays and nulls.
|
|
4
|
+
* @param value - The value to check.
|
|
5
|
+
* @param expectedType - The expected type string.
|
|
6
|
+
* @returns True if the value matches the expected type.
|
|
7
|
+
*/
|
|
2
8
|
export declare const isType: (value: unknown, expectedType: FieldType) => boolean;
|
|
3
9
|
//# sourceMappingURL=isType.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isType.d.ts","sourceRoot":"","sources":["../../src/isType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,EAAE,cAAc,SAAS,YAwB7D,CAAA"}
|
|
1
|
+
{"version":3,"file":"isType.d.ts","sourceRoot":"","sources":["../../src/isType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,EAAE,cAAc,SAAS,YAwB7D,CAAA"}
|
package/dist/neutral/typeOf.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import type { TypeOfTypes } from './TypeOfTypes.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Extended typeof that distinguishes arrays from objects (unlike native `typeof`).
|
|
4
|
+
* @param item - The value to check.
|
|
5
|
+
* @returns The type of the item as a TypeOfTypes string.
|
|
6
|
+
*/
|
|
2
7
|
export declare const typeOf: <T>(item: T) => TypeOfTypes;
|
|
3
8
|
//# sourceMappingURL=typeOf.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeOf.d.ts","sourceRoot":"","sources":["../../src/typeOf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,MAAM,CAAC,KAAG,WAEnC,CAAA"}
|
|
1
|
+
{"version":3,"file":"typeOf.d.ts","sourceRoot":"","sources":["../../src/typeOf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,MAAM,CAAC,KAAG,WAEnC,CAAA"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import type { TypeOfTypes } from './TypeOfTypes.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Validates that a value matches the expected type, returning the value and any errors.
|
|
4
|
+
* @param typeName - The expected type name.
|
|
5
|
+
* @param value - The value to validate.
|
|
6
|
+
* @param optional - If true, undefined values are accepted without error.
|
|
7
|
+
* @returns A tuple of [value or undefined, array of errors].
|
|
8
|
+
*/
|
|
2
9
|
export declare const validateType: <T>(typeName: TypeOfTypes, value: T, optional?: boolean) => [T | undefined, Error[]];
|
|
3
10
|
//# sourceMappingURL=validateType.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateType.d.ts","sourceRoot":"","sources":["../../src/validateType.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,UAAU,WAAW,EAAE,OAAO,CAAC,EAAE,kBAAgB,KAAG,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,CAY1G,CAAA"}
|
|
1
|
+
{"version":3,"file":"validateType.d.ts","sourceRoot":"","sources":["../../src/validateType.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,UAAU,WAAW,EAAE,OAAO,CAAC,EAAE,kBAAgB,KAAG,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,CAY1G,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xylabs/typeof",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.86",
|
|
4
4
|
"description": "Base functionality used throughout XY Labs TypeScript/JavaScript libraries",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typeof",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"!**/*.test.*"
|
|
43
43
|
],
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@xylabs/ts-scripts-yarn3": "~7.4.
|
|
46
|
-
"@xylabs/tsconfig": "~7.4.
|
|
45
|
+
"@xylabs/ts-scripts-yarn3": "~7.4.16",
|
|
46
|
+
"@xylabs/tsconfig": "~7.4.16",
|
|
47
47
|
"typescript": "~5.9.3",
|
|
48
48
|
"vitest": "~4.0.18"
|
|
49
49
|
},
|