You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@xylabs/typeof

Package Overview
Dependencies
Maintainers
5
Versions
412
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@xylabs/typeof - npm Package Compare versions

Comparing version
5.0.83
to
5.0.84
+1
-0
dist/neutral/Brand.d.ts

@@ -0,1 +1,2 @@

/** Creates a branded type by intersecting base type T with brand type B, enabling nominal typing in TypeScript. */
export type Brand<T, B> = T & {

@@ -2,0 +3,0 @@ [K in keyof B]: B[K];

+1
-1

@@ -1,1 +0,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"}
{"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"}

@@ -0,2 +1,3 @@

/** A type guard function that narrows an unknown value to type T. */
export type IdentityFunction<T> = (value: unknown) => value is T;
//# sourceMappingURL=IdentityFunction.d.ts.map

@@ -1,1 +0,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"}
{"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"}

@@ -0,2 +1,8 @@

/**
* Invokes the callback only if the value is neither null nor undefined.
* @param value - The value to check.
* @param func - The callback to invoke with the value if it is defined.
* @returns The value if defined, or undefined otherwise.
*/
export declare const ifDefined: <T>(value: T, func: (value: T) => void) => T | undefined;
//# sourceMappingURL=ifDefined.d.ts.map

@@ -1,1 +0,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"}
{"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"}
import type { TypeOfTypes } from './TypeOfTypes.ts';
/**
* Invokes the callback if the value matches the specified type, with an optional additional predicate.
* @param typeName - The expected type name to match against.
* @param value - The value to check.
* @param trueFunc - The callback to invoke if the type matches.
* @param isFunc - Optional additional predicate that must also return true.
* @returns The result of trueFunc if the type matches (and isFunc passes), or undefined.
*/
export declare const ifTypeOf: <T, R>(typeName: TypeOfTypes, value: unknown, trueFunc: (value: T) => R, isFunc?: (value: T) => boolean) => R | undefined;
//# sourceMappingURL=ifTypeOf.d.ts.map

@@ -1,1 +0,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"}
{"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 +0,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":[]}
{"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":"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","names":[]}

@@ -0,36 +1,56 @@

/** A function type that accepts any arguments and returns unknown. */
export type AnyFunction = (...args: unknown[]) => unknown;
/** A union of valid object key types. */
export type RecordKey = string | number | symbol;
/** Type guard that checks whether a value is undefined. */
export declare function isUndefined(value: unknown): value is undefined;
export declare function isUndefined<T>(value: T): value is Extract<T, undefined>;
/** Type guard that checks whether a value is not undefined. */
export declare function isDefined<T>(value: T): value is Exclude<T, undefined>;
/** Type guard that checks whether a value is null. */
export declare function isNull(value: unknown): value is null;
export declare function isNull<T>(value: T): value is Extract<T, null>;
/** Type guard that checks whether a value is neither undefined nor null. */
export declare function isDefinedNotNull<T>(value: T): value is Exclude<T, undefined | null>;
/** Type guard that checks whether a value is undefined or null. */
export declare function isUndefinedOrNull(value: unknown): value is undefined | null;
export declare function isUndefinedOrNull<T>(value: T): value is Extract<T, undefined | null>;
/** Type guard that checks whether a value is a bigint. */
export declare function isBigInt(value: unknown): value is bigint;
export declare function isBigInt<T extends bigint>(value: T): value is Extract<T, bigint>;
/** Type guard that checks whether a value is a string. */
export declare function isString(value: unknown): value is string;
export declare function isString<T extends string>(value: T): value is Extract<T, string>;
/** Type guard that checks whether a value is a number. */
export declare function isNumber(value: unknown): value is number;
export declare function isNumber<T extends number>(value: T): value is Extract<T, number>;
/** Type guard that checks whether a value is a plain object (not null and not an array). */
export declare function isObject(value: unknown): value is object;
export declare function isObject<T extends object>(value: T): value is Extract<T, object>;
/** Type guard that checks whether a value is an array. */
export declare function isArray(value: unknown): value is readonly unknown[];
export declare function isArray<T>(value: T): value is Extract<T, readonly unknown[]>;
/** Type guard that checks whether a value is a function. */
export declare function isFunction(value: unknown): value is AnyFunction;
export declare function isFunction<T extends AnyFunction>(value: T): value is Extract<T, AnyFunction>;
/** Type guard that checks whether a value is a symbol. */
export declare function isSymbol(value: unknown): value is symbol;
export declare function isSymbol<T extends symbol>(value: T): value is Extract<T, symbol>;
/** Type guard that checks whether a value is an object with no own keys. */
export declare function isEmptyObject(value: unknown): value is {};
export declare function isEmptyObject<K extends RecordKey, V, T extends Record<K, V>>(value: T): value is Extract<T, Record<K, never>>;
/** Type guard that checks whether a value is an empty string. */
export declare function isEmptyString(value: unknown): value is '';
export declare function isEmptyString<T extends string>(value: T): value is Extract<T, ''>;
/** Type guard that checks whether a value is an empty array. */
export declare function isEmptyArray(value: unknown): value is [];
export declare function isEmptyArray<T extends Array<unknown>>(value: T): value is Extract<T, Array<unknown>>;
/** Type guard that checks whether a value is a non-empty array. */
export declare function isPopulatedArray(value: unknown): value is readonly unknown[];
export declare function isPopulatedArray<T extends Array<unknown>>(value: T): value is Extract<T, readonly unknown[]>;
/** Type guard that checks whether a value is empty (empty string, empty array, or empty object). */
export declare function isEmpty<T>(value: unknown): value is T;
export declare function isEmpty<K extends RecordKey, V, T extends Record<K, V>>(value: T): value is Extract<T, Record<K, never>>;
export declare function isEmpty<T extends Array<unknown>>(value: T): value is Extract<T, Array<never>>;
/** Type guard that checks whether a value is falsy (0, null, undefined, false, '', or 0n). */
export declare function isFalsy<T>(value: T): value is Extract<T, 0 | null | undefined | false | '' | 0n>;

@@ -43,2 +63,3 @@ export declare function isFalsy<T extends boolean>(value: T): value is Extract<T, false>;

export declare function isFalsy<T extends string>(value: T): value is Extract<T, ''>;
/** Type guard that checks whether a value is truthy (not 0, null, undefined, false, '', or 0n). */
export declare function isTruthy<T>(value: T): value is Exclude<T, 0 | null | undefined | false | '' | 0n>;

@@ -51,32 +72,47 @@ export declare function isTruthy<T extends boolean>(value: T): value is Extract<T, true>;

export declare function isTruthy<T extends string>(value: T): value is Extract<T, string>;
/** Type guard that checks whether a value is a boolean. */
export declare function isBoolean(value: unknown): value is boolean;
export declare function isBoolean<T extends boolean>(value: T): value is Extract<T, boolean>;
/** Type guard that checks whether a value is a string that can be parsed as a valid date. */
export declare function isDateString(value: unknown): value is string;
export declare function isDateString<T>(value: T): value is Extract<T, string>;
/** Type guard that checks whether a value is a Date instance. */
export declare function isDate(value: unknown): value is Date;
export declare function isDate<T>(value: T): value is Extract<T, Date>;
/** Type guard that checks whether a value is a RegExp instance. */
export declare function isRegExp(value: unknown): value is RegExp;
export declare function isRegExp<T extends RegExp>(value: T): value is Extract<T, RegExp>;
/** Type guard that checks whether a value is an Error instance. */
export declare function isError(value: unknown): value is Error;
export declare function isError<T>(value: T): value is Extract<T, Error>;
/** Type guard that checks whether a value is a Promise instance. */
export declare function isPromise(value: unknown): value is Promise<unknown>;
export declare function isPromise<T>(value: T): value is Extract<T, Promise<unknown>>;
/** Type guard that checks whether a value is promise-like (has a `then` method). */
export declare function isPromiseLike(value: unknown): value is Promise<unknown>;
export declare function isPromiseLike<T>(value: T): value is Extract<T, Promise<unknown>>;
/** Type guard that checks whether a value is a Map instance. */
export declare function isMap(value: unknown): value is Map<unknown, unknown>;
export declare function isMap<K, V, T extends Map<K, V>>(value: T): value is Extract<T, Map<K, V>>;
/** Type guard that checks whether a value is an ArrayBufferView (e.g., TypedArray or DataView). */
export declare function isArrayBufferView(value: unknown): value is ArrayBufferView;
export declare function isArrayBufferView<T extends ArrayBufferView>(value: T): value is Extract<T, ArrayBufferView>;
/** Type guard that checks whether a value is a Set instance. */
export declare function isSet(value: unknown): value is Set<unknown>;
export declare function isSet<T extends Set<unknown>>(value: unknown | Set<T>): value is Extract<T, Set<unknown>>;
/** Type guard that checks whether a value is a WeakMap instance. */
export declare function isWeakMap(value: unknown): value is WeakMap<WeakKey, unknown>;
export declare function isWeakMap<K extends WeakKey, V, T extends WeakMap<K, V>>(value: T): value is Extract<T, WeakMap<K, V>>;
/** Type guard that checks whether a value is a WeakSet instance. */
export declare function isWeakSet(value: unknown): value is WeakSet<WeakKey>;
export declare function isWeakSet<K extends WeakKey, T extends WeakSet<K>>(value: T): value is Extract<T, WeakSet<K>>;
/** Type guard that checks whether a value is a DataView instance. */
export declare function isDataView(value: unknown): value is DataView;
export declare function isDataView<T>(value: T): value is Extract<T, DataView>;
/** Type guard that checks whether a value is a Blob instance. */
export declare function isBlob(value: unknown): value is Blob;
export declare function isBlob<T extends Blob>(value: T): value is Extract<T, Blob>;
/** Type guard that checks whether a value is a File instance. */
export declare function isFile(value: unknown): value is File;
export declare function isFile<T extends File>(value: T): value is Extract<T, File>;
//# sourceMappingURL=is.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../../src/is.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../../src/is.ts"],"names":[],"mappings":"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"}
import type { FieldType } from './ObjectTypeShape.ts';
/**
* Checks whether a value matches the expected field type, with correct handling for arrays and nulls.
* @param value - The value to check.
* @param expectedType - The expected type string.
* @returns True if the value matches the expected type.
*/
export declare const isType: (value: unknown, expectedType: FieldType) => boolean;
//# sourceMappingURL=isType.d.ts.map

@@ -1,1 +0,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"}
{"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"}

@@ -0,3 +1,5 @@

/** Union of string literals representing the possible types of an object field. */
export type FieldType = 'string' | 'number' | 'object' | 'symbol' | 'undefined' | 'null' | 'array' | 'function';
/** Describes the expected shape of an object by mapping each key to its expected field type. */
export type ObjectTypeShape = Record<string | number | symbol, FieldType>;
//# sourceMappingURL=ObjectTypeShape.d.ts.map

@@ -1,1 +0,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"}
{"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"}

@@ -0,12 +1,41 @@

/** A value that can appear in a typed object tree (primitives, objects, arrays, functions, and symbols). */
export type TypedValue = bigint | string | number | boolean | null | TypedObject | TypedArray | Function | symbol | undefined;
/** A valid key for a typed object. Defaults to string | number | symbol unless narrowed by T. */
export type TypedKey<T extends string | void = void> = T extends string ? T : string | number | symbol;
/** An object whose keys are TypedKey and whose values are TypedValue. */
export type TypedObject = {
[key: TypedKey]: TypedValue;
} | object;
/** An array of TypedValue elements. */
export type TypedArray = TypedValue[];
/**
* Type guard that checks whether a value is a valid TypedKey (string, bigint, number, or symbol).
* @param value - The value to check.
* @returns True if the value is a valid TypedKey.
*/
export declare const isTypedKey: (value: unknown) => value is TypedKey;
/**
* Type guard that checks whether a value is a valid TypedValue.
* @param value - The value to check.
* @returns True if the value is a string, number, boolean, null, TypedObject, or TypedArray.
*/
export declare const isTypedValue: (value: unknown) => value is TypedValue;
/**
* Type guard that checks whether a value is a TypedArray (an array where every element is a TypedValue).
* @param value - The value to check.
* @returns True if the value is an array of TypedValue elements.
*/
export declare const isTypedArray: (value: unknown) => value is TypedArray;
/**
* Type guard that checks whether a key-value pair has a valid TypedKey and TypedValue.
* @param pair - A tuple of [key, value] to validate.
* @returns True if the key is a TypedKey and the value is a TypedValue.
*/
export declare const isValidTypedFieldPair: (pair: [key: unknown, value: unknown]) => pair is [key: TypedKey, value: TypedValue];
/**
* Type guard that checks whether a value is a TypedObject (an object with TypedKey keys and TypedValue values).
* @param value - The value to check.
* @returns True if the value is a valid TypedObject.
*/
export declare const isTypedObject: (value: unknown) => value is TypedObject;
//# sourceMappingURL=Typed.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"Typed.d.ts","sourceRoot":"","sources":["../../src/Typed.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;AAC7H,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AACtG,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU,CAAA;CAAE,GAAG,MAAM,CAAA;AAClE,MAAM,MAAM,UAAU,GAAG,UAAU,EAAE,CAAA;AAErC,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,QAYpD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UAWtD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UAEtD,CAAA;AAED,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,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAMvD,CAAA"}
{"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"}
import type { TypeOfTypes } from './TypeOfTypes.ts';
/**
* Extended typeof that distinguishes arrays from objects (unlike native `typeof`).
* @param item - The value to check.
* @returns The type of the item as a TypeOfTypes string.
*/
export declare const typeOf: <T>(item: T) => TypeOfTypes;
//# sourceMappingURL=typeOf.d.ts.map

@@ -1,1 +0,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"}
{"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"}

@@ -0,2 +1,3 @@

/** Union of string literals representing the possible results of the extended `typeOf` function. */
export type TypeOfTypes = 'string' | 'number' | 'object' | 'array' | 'buffer' | 'null' | 'undefined' | 'bigint' | 'boolean' | 'function' | 'symbol';
//# sourceMappingURL=TypeOfTypes.d.ts.map

@@ -1,1 +0,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"}
{"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"}
import type { TypeOfTypes } from './TypeOfTypes.ts';
/**
* Validates that a value matches the expected type, returning the value and any errors.
* @param typeName - The expected type name.
* @param value - The value to validate.
* @param optional - If true, undefined values are accepted without error.
* @returns A tuple of [value or undefined, array of errors].
*/
export declare const validateType: <T>(typeName: TypeOfTypes, value: T, optional?: boolean) => [T | undefined, Error[]];
//# sourceMappingURL=validateType.d.ts.map

@@ -1,1 +0,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"}
{"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"}
{
"name": "@xylabs/typeof",
"version": "5.0.83",
"version": "5.0.84",
"description": "Base functionality used throughout XY Labs TypeScript/JavaScript libraries",

@@ -45,4 +45,4 @@ "keywords": [

"devDependencies": {
"@xylabs/ts-scripts-yarn3": "~7.4.11",
"@xylabs/tsconfig": "~7.4.11",
"@xylabs/ts-scripts-yarn3": "~7.4.13",
"@xylabs/tsconfig": "~7.4.13",
"typescript": "~5.9.3",

@@ -49,0 +49,0 @@ "vitest": "~4.0.18"

+250
-0

@@ -97,2 +97,4 @@ # @xylabs/typeof

Invokes the callback only if the value is neither null nor undefined.
## Type Parameters

@@ -110,2 +112,4 @@

The value to check.
### func

@@ -115,2 +119,4 @@

The callback to invoke with the value if it is defined.
## Returns

@@ -120,2 +126,4 @@

The value if defined, or undefined otherwise.
### <a id="ifTypeOf"></a>ifTypeOf

@@ -135,2 +143,4 @@

Invokes the callback if the value matches the specified type, with an optional additional predicate.
## Type Parameters

@@ -152,2 +162,4 @@

The expected type name to match against.
### value

@@ -157,2 +169,4 @@

The value to check.
### trueFunc

@@ -162,2 +176,4 @@

The callback to invoke if the type matches.
### isFunc?

@@ -167,2 +183,4 @@

Optional additional predicate that must also return true.
## Returns

@@ -172,2 +190,4 @@

The result of trueFunc if the type matches (and isFunc passes), or undefined.
### <a id="isArray"></a>isArray

@@ -185,2 +205,4 @@

Type guard that checks whether a value is an array.
### Parameters

@@ -202,2 +224,4 @@

Type guard that checks whether a value is an array.
### Type Parameters

@@ -231,2 +255,4 @@

Type guard that checks whether a value is an ArrayBufferView (e.g., TypedArray or DataView).
### Parameters

@@ -248,2 +274,4 @@

Type guard that checks whether a value is an ArrayBufferView (e.g., TypedArray or DataView).
### Type Parameters

@@ -277,2 +305,4 @@

Type guard that checks whether a value is a bigint.
### Parameters

@@ -294,2 +324,4 @@

Type guard that checks whether a value is a bigint.
### Type Parameters

@@ -323,2 +355,4 @@

Type guard that checks whether a value is a Blob instance.
### Parameters

@@ -340,2 +374,4 @@

Type guard that checks whether a value is a Blob instance.
### Type Parameters

@@ -369,2 +405,4 @@

Type guard that checks whether a value is a boolean.
### Parameters

@@ -386,2 +424,4 @@

Type guard that checks whether a value is a boolean.
### Type Parameters

@@ -415,2 +455,4 @@

Type guard that checks whether a value is a DataView instance.
### Parameters

@@ -432,2 +474,4 @@

Type guard that checks whether a value is a DataView instance.
### Type Parameters

@@ -461,2 +505,4 @@

Type guard that checks whether a value is a Date instance.
### Parameters

@@ -478,2 +524,4 @@

Type guard that checks whether a value is a Date instance.
### Type Parameters

@@ -507,2 +555,4 @@

Type guard that checks whether a value is a string that can be parsed as a valid date.
### Parameters

@@ -524,2 +574,4 @@

Type guard that checks whether a value is a string that can be parsed as a valid date.
### Type Parameters

@@ -551,2 +603,4 @@

Type guard that checks whether a value is not undefined.
## Type Parameters

@@ -578,2 +632,4 @@

Type guard that checks whether a value is neither undefined nor null.
## Type Parameters

@@ -607,2 +663,4 @@

Type guard that checks whether a value is empty (empty string, empty array, or empty object).
### Type Parameters

@@ -630,2 +688,4 @@

Type guard that checks whether a value is empty (empty string, empty array, or empty object).
### Type Parameters

@@ -661,2 +721,4 @@

Type guard that checks whether a value is empty (empty string, empty array, or empty object).
### Type Parameters

@@ -690,2 +752,4 @@

Type guard that checks whether a value is an empty array.
### Parameters

@@ -707,2 +771,4 @@

Type guard that checks whether a value is an empty array.
### Type Parameters

@@ -736,2 +802,4 @@

Type guard that checks whether a value is an object with no own keys.
### Parameters

@@ -753,2 +821,4 @@

Type guard that checks whether a value is an object with no own keys.
### Type Parameters

@@ -790,2 +860,4 @@

Type guard that checks whether a value is an empty string.
### Parameters

@@ -807,2 +879,4 @@

Type guard that checks whether a value is an empty string.
### Type Parameters

@@ -836,2 +910,4 @@

Type guard that checks whether a value is an Error instance.
### Parameters

@@ -853,2 +929,4 @@

Type guard that checks whether a value is an Error instance.
### Type Parameters

@@ -882,2 +960,4 @@

Type guard that checks whether a value is falsy (0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -905,2 +985,4 @@

Type guard that checks whether a value is falsy (0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -928,2 +1010,4 @@

Type guard that checks whether a value is falsy (0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -951,2 +1035,4 @@

Type guard that checks whether a value is falsy (0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -974,2 +1060,4 @@

Type guard that checks whether a value is falsy (0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -997,2 +1085,4 @@

Type guard that checks whether a value is falsy (0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -1020,2 +1110,4 @@

Type guard that checks whether a value is falsy (0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -1049,2 +1141,4 @@

Type guard that checks whether a value is a File instance.
### Parameters

@@ -1066,2 +1160,4 @@

Type guard that checks whether a value is a File instance.
### Type Parameters

@@ -1095,2 +1191,4 @@

Type guard that checks whether a value is a function.
### Parameters

@@ -1112,2 +1210,4 @@

Type guard that checks whether a value is a function.
### Type Parameters

@@ -1141,2 +1241,4 @@

Type guard that checks whether a value is a Map instance.
### Parameters

@@ -1158,2 +1260,4 @@

Type guard that checks whether a value is a Map instance.
### Type Parameters

@@ -1195,2 +1299,4 @@

Type guard that checks whether a value is null.
### Parameters

@@ -1212,2 +1318,4 @@

Type guard that checks whether a value is null.
### Type Parameters

@@ -1241,2 +1349,4 @@

Type guard that checks whether a value is a number.
### Parameters

@@ -1258,2 +1368,4 @@

Type guard that checks whether a value is a number.
### Type Parameters

@@ -1287,2 +1399,4 @@

Type guard that checks whether a value is a plain object (not null and not an array).
### Parameters

@@ -1304,2 +1418,4 @@

Type guard that checks whether a value is a plain object (not null and not an array).
### Type Parameters

@@ -1333,2 +1449,4 @@

Type guard that checks whether a value is a non-empty array.
### Parameters

@@ -1350,2 +1468,4 @@

Type guard that checks whether a value is a non-empty array.
### Type Parameters

@@ -1379,2 +1499,4 @@

Type guard that checks whether a value is a Promise instance.
### Parameters

@@ -1396,2 +1518,4 @@

Type guard that checks whether a value is a Promise instance.
### Type Parameters

@@ -1425,2 +1549,4 @@

Type guard that checks whether a value is promise-like (has a `then` method).
### Parameters

@@ -1442,2 +1568,4 @@

Type guard that checks whether a value is promise-like (has a `then` method).
### Type Parameters

@@ -1471,2 +1599,4 @@

Type guard that checks whether a value is a RegExp instance.
### Parameters

@@ -1488,2 +1618,4 @@

Type guard that checks whether a value is a RegExp instance.
### Type Parameters

@@ -1517,2 +1649,4 @@

Type guard that checks whether a value is a Set instance.
### Parameters

@@ -1534,2 +1668,4 @@

Type guard that checks whether a value is a Set instance.
### Type Parameters

@@ -1563,2 +1699,4 @@

Type guard that checks whether a value is a string.
### Parameters

@@ -1580,2 +1718,4 @@

Type guard that checks whether a value is a string.
### Type Parameters

@@ -1609,2 +1749,4 @@

Type guard that checks whether a value is a symbol.
### Parameters

@@ -1626,2 +1768,4 @@

Type guard that checks whether a value is a symbol.
### Type Parameters

@@ -1655,2 +1799,4 @@

Type guard that checks whether a value is truthy (not 0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -1678,2 +1824,4 @@

Type guard that checks whether a value is truthy (not 0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -1701,2 +1849,4 @@

Type guard that checks whether a value is truthy (not 0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -1724,2 +1874,4 @@

Type guard that checks whether a value is truthy (not 0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -1747,2 +1899,4 @@

Type guard that checks whether a value is truthy (not 0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -1770,2 +1924,4 @@

Type guard that checks whether a value is truthy (not 0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -1793,2 +1949,4 @@

Type guard that checks whether a value is truthy (not 0, null, undefined, false, '', or 0n).
### Type Parameters

@@ -1820,2 +1978,4 @@

Checks whether a value matches the expected field type, with correct handling for arrays and nulls.
## Parameters

@@ -1827,2 +1987,4 @@

The value to check.
### expectedType

@@ -1832,2 +1994,4 @@

The expected type string.
## Returns

@@ -1837,2 +2001,4 @@

True if the value matches the expected type.
### <a id="isTypedArray"></a>isTypedArray

@@ -1848,2 +2014,4 @@

Type guard that checks whether a value is a TypedArray (an array where every element is a TypedValue).
## Parameters

@@ -1855,2 +2023,4 @@

The value to check.
## Returns

@@ -1860,2 +2030,4 @@

True if the value is an array of TypedValue elements.
### <a id="isTypedKey"></a>isTypedKey

@@ -1871,2 +2043,4 @@

Type guard that checks whether a value is a valid TypedKey (string, bigint, number, or symbol).
## Parameters

@@ -1878,2 +2052,4 @@

The value to check.
## Returns

@@ -1883,2 +2059,4 @@

True if the value is a valid TypedKey.
### <a id="isTypedObject"></a>isTypedObject

@@ -1894,2 +2072,4 @@

Type guard that checks whether a value is a TypedObject (an object with TypedKey keys and TypedValue values).
## Parameters

@@ -1901,2 +2081,4 @@

The value to check.
## Returns

@@ -1906,2 +2088,4 @@

True if the value is a valid TypedObject.
### <a id="isTypedValue"></a>isTypedValue

@@ -1917,2 +2101,4 @@

Type guard that checks whether a value is a valid TypedValue.
## Parameters

@@ -1924,2 +2110,4 @@

The value to check.
## Returns

@@ -1929,2 +2117,4 @@

True if the value is a string, number, boolean, null, TypedObject, or TypedArray.
### <a id="isUndefined"></a>isUndefined

@@ -1942,2 +2132,4 @@

Type guard that checks whether a value is undefined.
### Parameters

@@ -1959,2 +2151,4 @@

Type guard that checks whether a value is undefined.
### Type Parameters

@@ -1988,2 +2182,4 @@

Type guard that checks whether a value is undefined or null.
### Parameters

@@ -2005,2 +2201,4 @@

Type guard that checks whether a value is undefined or null.
### Type Parameters

@@ -2032,2 +2230,4 @@

Type guard that checks whether a key-value pair has a valid TypedKey and TypedValue.
## Parameters

@@ -2039,2 +2239,4 @@

A tuple of [key, value] to validate.
## Returns

@@ -2044,2 +2246,4 @@

True if the key is a TypedKey and the value is a TypedValue.
### <a id="isWeakMap"></a>isWeakMap

@@ -2057,2 +2261,4 @@

Type guard that checks whether a value is a WeakMap instance.
### Parameters

@@ -2074,2 +2280,4 @@

Type guard that checks whether a value is a WeakMap instance.
### Type Parameters

@@ -2111,2 +2319,4 @@

Type guard that checks whether a value is a WeakSet instance.
### Parameters

@@ -2128,2 +2338,4 @@

Type guard that checks whether a value is a WeakSet instance.
### Type Parameters

@@ -2159,2 +2371,4 @@

Extended typeof that distinguishes arrays from objects (unlike native `typeof`).
## Type Parameters

@@ -2172,2 +2386,4 @@

The value to check.
## Returns

@@ -2177,2 +2393,4 @@

The type of the item as a TypeOfTypes string.
### <a id="validateType"></a>validateType

@@ -2191,2 +2409,4 @@

Validates that a value matches the expected type, returning the value and any errors.
## Type Parameters

@@ -2204,2 +2424,4 @@

The expected type name.
### value

@@ -2209,2 +2431,4 @@

The value to validate.
### optional?

@@ -2214,2 +2438,4 @@

If true, undefined values are accepted without error.
## Returns

@@ -2219,2 +2445,4 @@

A tuple of [value or undefined, array of errors].
### type-aliases

@@ -2232,2 +2460,4 @@

A function type that accepts any arguments and returns unknown.
## Parameters

@@ -2253,2 +2483,4 @@

Creates a branded type by intersecting base type T with brand type B, enabling nominal typing in TypeScript.
## Type Parameters

@@ -2282,2 +2514,4 @@

Union of string literals representing the possible types of an object field.
### <a id="IdentityFunction"></a>IdentityFunction

@@ -2293,2 +2527,4 @@

A type guard function that narrows an unknown value to type T.
## Type Parameters

@@ -2320,2 +2556,4 @@

Describes the expected shape of an object by mapping each key to its expected field type.
### <a id="RecordKey"></a>RecordKey

@@ -2331,2 +2569,4 @@

A union of valid object key types.
### <a id="TypeOfTypes"></a>TypeOfTypes

@@ -2353,2 +2593,4 @@

Union of string literals representing the possible results of the extended `typeOf` function.
### <a id="TypedArray"></a>TypedArray

@@ -2364,2 +2606,4 @@

An array of TypedValue elements.
### <a id="TypedKey"></a>TypedKey

@@ -2375,2 +2619,4 @@

A valid key for a typed object. Defaults to string | number | symbol unless narrowed by T.
## Type Parameters

@@ -2396,2 +2642,4 @@

An object whose keys are TypedKey and whose values are TypedValue.
### <a id="TypedValue"></a>TypedValue

@@ -2417,3 +2665,5 @@

A value that can appear in a typed object tree (primitives, objects, arrays, functions, and symbols).
Part of [sdk-js](https://www.npmjs.com/package/@xyo-network/sdk-js)

@@ -2420,0 +2670,0 @@