🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@xylabs/typeof

Package Overview
Dependencies
Maintainers
5
Versions
455
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
7.0.2
to
7.0.3
+1
-11
dist/neutral/index.d.ts

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

export * from './Brand.ts';
export * from './IdentityFunction.ts';
export * from './ifDefined.ts';
export * from './ifTypeOf.ts';
export * from './is.ts';
export * from './isType.ts';
export * from './ObjectTypeShape.ts';
export * from './Typed.ts';
export * from './typeOf.ts';
export * from './TypeOfTypes.ts';
export * from './validateType.ts';
export * from '@ariestools/sdk/typeof';
//# sourceMappingURL=index.d.ts.map
+1
-1

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

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}

@@ -1,255 +0,3 @@

// src/typeOf.ts
var typeOf = (item) => {
return Array.isArray(item) ? "array" : typeof item;
};
// src/ifDefined.ts
var ifDefined = (value, func) => {
switch (typeOf(value)) {
case "undefined":
case "null": {
break;
}
default: {
func(value);
return value;
}
}
};
// src/ifTypeOf.ts
var ifTypeOf = (typeName, value, trueFunc, isFunc) => {
switch (typeOf(value)) {
case typeName: {
return !isFunc || isFunc(value) ? trueFunc(value) : void 0;
}
}
};
// src/is.ts
function isUndefined(value) {
return value === void 0;
}
function isDefined(value) {
return !isUndefined(value);
}
function isNull(value) {
return value === null;
}
function isDefinedNotNull(value) {
return !isUndefined(value) && !isNull(value);
}
function isUndefinedOrNull(value) {
return isUndefined(value) || isNull(value);
}
function isBigInt(value) {
return typeof value === "bigint";
}
function isString(value) {
return typeof value === "string";
}
function isNumber(value) {
return typeof value === "number";
}
function isObject(value) {
return typeof value === "object" && value !== null && !Array.isArray(value);
}
function isArray(value) {
return Array.isArray(value);
}
function isFunction(value) {
return typeof value === "function";
}
function isSymbol(value) {
return typeof value === "symbol";
}
function isEmptyObject(value) {
return isObject(value) && Object.keys(value).length === 0;
}
function isEmptyString(value) {
return isString(value) && value.length === 0;
}
function isEmptyArray(value) {
return isArray(value) && value.length === 0;
}
function isPopulatedArray(value) {
return isArray(value) && value.length > 0;
}
function isEmpty(value) {
return isEmptyString(value) || isEmptyArray(value) || isEmptyObject(value);
}
function isFalsy(value) {
return !value;
}
function isTruthy(value) {
return !!value;
}
function isBoolean(value) {
return typeof value === "boolean";
}
function isDateString(value) {
return isString(value) && !Number.isNaN(Date.parse(value));
}
function isDate(value) {
return value instanceof Date;
}
function isRegExp(value) {
return value instanceof RegExp;
}
function isError(value) {
return value instanceof Error;
}
function isPromise(value) {
return value instanceof Promise;
}
function isPromiseLike(value) {
return typeof value === "object" && value !== null && typeof value.then === "function";
}
function isMap(value) {
return value instanceof Map;
}
function isArrayBufferView(value) {
return ArrayBuffer.isView(value);
}
function isSet(value) {
return value instanceof Set;
}
function isWeakMap(value) {
return value instanceof WeakMap;
}
function isWeakSet(value) {
return value instanceof WeakSet;
}
function isDataView(value) {
return value instanceof DataView;
}
function isBlob(value) {
return typeof Blob !== "undefined" && value instanceof Blob;
}
function isFile(value) {
return typeof File !== "undefined" && value instanceof File;
}
// src/isType.ts
var isType = (value, expectedType) => {
const typeofValue = typeof value;
switch (expectedType) {
case "array": {
return Array.isArray(value);
}
case "null": {
return value === null;
}
case "undefined": {
return value === void 0;
}
case "object": {
if (value === null) {
return false;
}
return typeofValue === "object" && !Array.isArray(value);
}
default: {
return typeofValue === expectedType;
}
}
};
// src/Typed.ts
var isTypedKey = (value) => {
switch (typeof value) {
case "string":
case "bigint":
case "number":
case "symbol": {
return true;
}
default: {
return false;
}
}
};
var isTypedValue = (value) => {
switch (typeof value) {
case "string":
case "number":
case "boolean": {
return true;
}
default: {
return value === null || isTypedObject(value) || isTypedArray(value);
}
}
};
var isTypedArray = (value) => {
return Array.isArray(value) && value.every((item) => isTypedValue(item));
};
var isValidTypedFieldPair = (pair) => {
const [key, value] = pair;
return isTypedKey(key) && isTypedValue(value);
};
var isTypedObject = (value) => {
return isType(value, "object") && Object.entries(value).every((item) => isValidTypedFieldPair(item));
};
// src/validateType.ts
var validateType = (typeName, value, optional = false) => {
switch (typeOf(value)) {
case typeName: {
return [value, []];
}
default: {
if (optional && typeOf(value) === "undefined") {
return [value, []];
}
return [void 0, [new Error(`value type is not '${typeName}:${typeof value}'`)]];
}
}
};
export {
ifDefined,
ifTypeOf,
isArray,
isArrayBufferView,
isBigInt,
isBlob,
isBoolean,
isDataView,
isDate,
isDateString,
isDefined,
isDefinedNotNull,
isEmpty,
isEmptyArray,
isEmptyObject,
isEmptyString,
isError,
isFalsy,
isFile,
isFunction,
isMap,
isNull,
isNumber,
isObject,
isPopulatedArray,
isPromise,
isPromiseLike,
isRegExp,
isSet,
isString,
isSymbol,
isTruthy,
isType,
isTypedArray,
isTypedKey,
isTypedObject,
isTypedValue,
isUndefined,
isUndefinedOrNull,
isValidTypedFieldPair,
isWeakMap,
isWeakSet,
typeOf,
validateType
};
// src/index.ts
export * from "@ariestools/sdk/typeof";
//# sourceMappingURL=index.mjs.map
{
"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 unknown[]>(value: T): value is Extract<T, 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 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 unknown[]>(value: T): value is Extract<T, 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 // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions -- mirrors JavaScript falsy semantics (incl. NaN)\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 // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions -- mirrors JavaScript truthy semantics\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: 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 = object | { [key: TypedKey]: TypedValue }\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.every(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).every(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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",
"sources": ["../../src/index.ts"],
"sourcesContent": ["export * from '@ariestools/sdk/typeof'\n"],
"mappings": ";AAAA,cAAc;",
"names": []
}

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

export type * from './Brand.ts';
export type * from './IdentityFunction.ts';
export type { AnyFunction, RecordKey, } from './is.ts';
export type * from './ObjectTypeShape.ts';
export type { TypedArray, TypedKey, TypedObject, TypedValue, } from './Typed.ts';
export type * from './TypeOfTypes.ts';
export type * from '@ariestools/sdk/typeof/model';
//# sourceMappingURL=model.d.ts.map

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

{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,uBAAuB,CAAA;AAC1C,YAAY,EACV,WAAW,EACX,SAAS,GACV,MAAM,SAAS,CAAA;AAChB,mBAAmB,sBAAsB,CAAA;AACzC,YAAY,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,UAAU,GACX,MAAM,YAAY,CAAA;AACnB,mBAAmB,kBAAkB,CAAA"}
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AAAA,mBAAmB,8BAA8B,CAAA"}
{
"name": "@xylabs/typeof",
"version": "7.0.2",
"description": "Base functionality used throughout XY Labs TypeScript/JavaScript libraries",
"version": "7.0.3",
"description": "DEPRECATED — use @ariestools/sdk/typeof. Backward-compatibility re-export shim.",
"keywords": [
"typeof",
"xylabs",

@@ -34,7 +33,7 @@ "utility",

},
"./package.json": "./package.json",
"./model": {
"types": "./dist/neutral/model.d.ts",
"default": "./dist/neutral/model.mjs"
},
"./package.json": "./package.json"
}
},

@@ -48,6 +47,11 @@ "files": [

],
"dependencies": {
"@ariestools/sdk": "~7.0.3"
},
"devDependencies": {
"@xylabs/toolchain": "^8.5.3",
"@xylabs/tsconfig": "^8.5.3",
"@xylabs/tsconfig-dom": "^8.5.3",
"@opentelemetry/api": "^1.9.1",
"@opentelemetry/sdk-trace-base": "^2.8.0",
"@xylabs/toolchain": "^8.5.5",
"@xylabs/tsconfig": "^8.5.5",
"async-mutex": "^0.5.0",
"browserslist": "4.28.4",

@@ -57,5 +61,10 @@ "eslint": "^10.6.0",

"typescript": "^6.0.3",
"vite": "^8.1.0",
"vitest": "^4.1.9"
"zod": "^4.4.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.9",
"@opentelemetry/sdk-trace-base": "^2.7",
"async-mutex": "^0.5",
"zod": "^4.4"
},
"engines": {

@@ -66,3 +75,4 @@ "node": ">=18"

"access": "public"
}
},
"deprecated": "Use @ariestools/sdk/typeof instead. @xylabs/typeof is a compatibility shim only and will not receive further updates."
}

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

> **Deprecated.** Use [`@ariestools/sdk`](../../ariestools-sdk/README.md) instead. This package is a backward-compatibility re-export shim.
[![logo][]](https://xylabs.com)

@@ -15,3 +17,3 @@

```sh
npm install {{name}}
npm install @xylabs/typeof
```

@@ -22,3 +24,3 @@

```sh
yarn add {{name}}
yarn add @xylabs/typeof
```

@@ -29,3 +31,3 @@

```sh
pnpm add {{name}}
pnpm add @xylabs/typeof
```

@@ -36,3 +38,3 @@

```sh
bun add {{name}}
bun add @xylabs/typeof
```

@@ -39,0 +41,0 @@

/** Creates a branded type by intersecting base type T with brand type B, enabling nominal typing in TypeScript. */
export type Brand<T, B> = T & {
[K in keyof B]: B[K];
};
//# sourceMappingURL=Brand.d.ts.map
{"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"}
/** 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
{"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"}
/**
* 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
{"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
{"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"}
/** 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 unknown[]>(value: T): value is Extract<T, 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 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 unknown[]>(value: T): value is Extract<T, 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>;
export declare function isFalsy<T extends boolean>(value: T): value is Extract<T, false>;
export declare function isFalsy<T extends number>(value: T): value is Extract<T, 0>;
export declare function isFalsy<T extends bigint>(value: T): value is Extract<T, 0n>;
export declare function isFalsy<T extends null>(value: T): value is Extract<T, null>;
export declare function isFalsy<T extends undefined>(value: T): value is Extract<T, undefined>;
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>;
export declare function isTruthy<T extends boolean>(value: T): value is Extract<T, true>;
export declare function isTruthy<T extends number>(value: T): value is Extract<T, number>;
export declare function isTruthy<T extends bigint>(value: T): value is Extract<T, bigint>;
export declare function isTruthy<T extends null>(value: T): value is Extract<T, null>;
export declare function isTruthy<T extends undefined>(value: T): value is Extract<T, undefined>;
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: 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
{"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
{"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"}
/** 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
{"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"}
/** 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 = object | {
[key: TypedKey]: TypedValue;
};
/** 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
{"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,MAAM,GAAG;IAAE,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU,CAAA;CAAE,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
{"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"}
/** 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
{"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
{"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"}