@xylabs/typeof 4.12.3 → 4.12.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/neutral/index.mjs +1 -5
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/types/is.d.ts +66 -23
- package/dist/types/is.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/is.ts +108 -42
package/dist/neutral/index.mjs
CHANGED
|
@@ -82,7 +82,7 @@ function isFalsy(value) {
|
|
|
82
82
|
return !value;
|
|
83
83
|
}
|
|
84
84
|
function isTruthy(value) {
|
|
85
|
-
return
|
|
85
|
+
return !value;
|
|
86
86
|
}
|
|
87
87
|
function isBoolean(value) {
|
|
88
88
|
return typeof value === "boolean";
|
|
@@ -108,9 +108,6 @@ function isPromiseLike(value) {
|
|
|
108
108
|
function isMap(value) {
|
|
109
109
|
return value instanceof Map;
|
|
110
110
|
}
|
|
111
|
-
function isPlainObject(value) {
|
|
112
|
-
return isObject(value) && value.constructor === Object;
|
|
113
|
-
}
|
|
114
111
|
function isArrayBufferView(value) {
|
|
115
112
|
return ArrayBuffer.isView(value);
|
|
116
113
|
}
|
|
@@ -238,7 +235,6 @@ export {
|
|
|
238
235
|
isNull,
|
|
239
236
|
isNumber,
|
|
240
237
|
isObject,
|
|
241
|
-
isPlainObject,
|
|
242
238
|
isPopulatedArray,
|
|
243
239
|
isPromise,
|
|
244
240
|
isPromiseLike,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/typeOf.ts","../../src/ifDefined.ts","../../src/ifTypeOf.ts","../../src/is.ts","../../src/isType.ts","../../src/Typed.ts","../../src/validateType.ts"],"sourcesContent":["import type { TypeOfTypes } from './TypeOfTypes.ts'\n\nexport const typeOf = <T>(item: T): TypeOfTypes => {\n return Array.isArray(item) ? 'array' : typeof item\n}\n","import { typeOf } from './typeOf.ts'\n\nexport const ifDefined = <T>(value: T, func: (value: T) => void) => {\n switch (typeOf(value)) {\n case 'undefined':\n case 'null': {\n break\n }\n default: {\n func(value)\n return value\n }\n }\n}\n","import { typeOf } from './typeOf.ts'\nimport type { TypeOfTypes } from './TypeOfTypes.ts'\n\nexport const ifTypeOf = <T, R>(typeName: TypeOfTypes, value: unknown, trueFunc: (value: T) => R, isFunc?: (value: T) => boolean) => {\n switch (typeOf(value)) {\n case typeName: {\n return !isFunc || isFunc(value as T) ? trueFunc(value as T) : undefined\n }\n }\n}\n","export type AnyFunction = (...args: unknown[]) => unknown\n\nexport function isUndefined<T>(value: T): value is Extract<T, 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<T>(value: T): value is Extract<T, 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<T>(value: T): value is Extract<T, undefined | null> {\n return isUndefined(value) || isNull(value)\n}\n\nexport function isBigInt<T>(value: T): value is Extract<T, bigint> {\n return typeof value === 'bigint'\n}\n\nexport function isString<T>(value: T): value is Extract<T, string> {\n return typeof value === 'string'\n}\n\nexport function isNumber<T>(value: unknown): value is Extract<T, 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<T>(value: T): value is Extract<T, Array<unknown>> {\n return Array.isArray(value)\n}\n\nexport function isFunction<T>(value: T): value is Extract<T, AnyFunction> {\n return typeof value === 'function'\n}\n\nexport function isSymbol(value: unknown): value is symbol {\n return typeof value === 'symbol'\n}\n\nexport function isEmptyObject<T, K extends string | number | symbol>(value: T | Record<K, unknown>): value is Extract<T, Record<K, never>> {\n return isObject(value) && Object.keys(value).length === 0\n}\n\nexport function isEmptyString<T>(value: T): value is Extract<T, ''> {\n return isString(value) && value.length === 0\n}\n\nexport function isEmptyArray<T>(value: T): value is Extract<T, Array<unknown>> {\n return isArray(value) && value.length === 0\n}\n\nexport function isPopulatedArray<T>(value: T): value is Extract<T, Array<unknown>> {\n return isArray(value) && value.length > 0\n}\n\nexport function isEmpty<\n T,\n K extends string | number | symbol = keyof Extract<T, object>,\n>(\n value: T | Record<K, unknown> | Array<unknown>,\n): value is Extract<T, '' | Array<unknown> | Record<K, never>> {\n return isEmptyString(value) || isEmptyArray(value) || isEmptyObject(value)\n}\n\nexport function isFalsy<T>(value: T): value is Extract<T, false | 0 | '' | null | undefined> {\n return !value\n}\n\nexport function isTruthy<T>(value: unknown): value is Extract<T, true | number | string | object | symbol | AnyFunction | []> {\n return !!value\n}\n\nexport function isBoolean<T>(value: T): value is Extract<T, boolean> {\n return typeof value === 'boolean'\n}\n\nexport function isDateString<T>(value: T): value is Extract<T, string> {\n return isString(value) && !Number.isNaN(Date.parse(value))\n}\n\nexport function isDate<T>(value: T): value is Extract<T, Date> {\n return value instanceof Date\n}\n\nexport function isRegExp<T>(value: T): value is Extract<T, RegExp> {\n return value instanceof RegExp\n}\n\nexport function isError<T>(value: T): value is Extract<T, Error> {\n return value instanceof Error\n}\n\nexport function isPromise<T>(value: T): value is Extract<T, Promise<unknown>> {\n return value instanceof Promise\n}\n\nexport function isPromiseLike<T>(value: T): value is Extract<T, 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<K, V>(value: unknown | Map<K, V>): value is Map<K, V> {\n return value instanceof Map\n}\n\n// excludes classes not a class\nexport function isPlainObject<T>(value: T): value is Extract<T, object> {\n return isObject(value) && value.constructor === Object\n}\n\nexport function isArrayBufferView<T>(value: T): value is Extract<T, ArrayBufferView> {\n return ArrayBuffer.isView(value)\n}\n\nexport function isSet<T>(value: unknown | Set<T>): value is Extract<T, Set<T>> {\n return value instanceof Set\n}\n\nexport function isWeakMap<K extends WeakKey, V>(value: unknown | WeakMap<K, V>): value is WeakMap<K, V> {\n return value instanceof WeakMap\n}\n\nexport function isWeakSet<K extends WeakKey>(value: unknown | WeakSet<K>): value is WeakSet<K> {\n return value instanceof WeakSet\n}\n\nexport function isArrayBuffer<T>(value: T): value is Extract<T, ArrayBuffer> {\n return value instanceof ArrayBuffer\n}\n\nexport function isDataView<T>(value: T): value is Extract<T, DataView> {\n return value instanceof DataView\n}\n\nexport function isBlob<T>(value: T): value is Extract<T, Blob> {\n return typeof Blob !== 'undefined' && value instanceof Blob\n}\n\nexport function isFile<T>(value: T): value is Extract<T, File> {\n return typeof File !== 'undefined' && value instanceof File\n}\n","import type { FieldType } from './ObjectTypeShape.ts'\n\nexport const isType = (value: unknown, expectedType: FieldType) => {\n const typeofValue = typeof value\n switch (expectedType) {\n case 'array': {\n return Array.isArray(value)\n }\n case 'null': {\n return value === null\n }\n case 'undefined': {\n return value === undefined\n }\n case 'object': {\n // nulls resolve to objects, so exclude them\n if (value === null) {\n return false\n }\n // arrays resolve to objects, so exclude them\n return typeofValue === 'object' && !Array.isArray(value)\n }\n default: {\n return typeofValue === expectedType\n }\n }\n}\n","import { isType } from './isType.ts'\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport type TypedValue = bigint | string | number | boolean | null | TypedObject | TypedArray | Function | symbol | undefined\nexport type TypedKey<T extends string | void = void> = T extends string ? T : string | number | symbol\nexport type TypedObject = { [key: TypedKey]: TypedValue } | object\nexport type TypedArray = TypedValue[]\n\nexport const isTypedKey = (value: unknown): value is TypedKey => {\n switch (typeof value) {\n case 'string':\n case 'bigint':\n case 'number':\n case 'symbol': {\n return true\n }\n default: {\n return false\n }\n }\n}\n\nexport const isTypedValue = (value: unknown): value is TypedValue => {\n switch (typeof value) {\n case 'string':\n case 'number':\n case 'boolean': {\n return true\n }\n default: {\n return value === null || isTypedObject(value) || isTypedArray(value)\n }\n }\n}\n\nexport const isTypedArray = (value: unknown): value is TypedArray => {\n return Array.isArray(value) && !value.some(item => !isTypedValue(item))\n}\n\nexport const isValidTypedFieldPair = (pair: [key: unknown, value: unknown]): pair is [key: TypedKey, value: TypedValue] => {\n const [key, value] = pair\n return isTypedKey(key) && isTypedValue(value)\n}\n\nexport const isTypedObject = (value: unknown): value is TypedObject => {\n return (\n isType(value, 'object')\n // check if all keys are strings\n && !Object.entries(value as object).some(item => !isValidTypedFieldPair(item))\n )\n}\n\n// Object Type Test\n/*\ninterface TestObject {\n value: number\n}\n\nconst x: TestObject = { value: 1 }\n\nconst f = (p: TypedValue): void => {\n console.log(p)\n}\n\nf(x)\n*/\n","import { typeOf } from './typeOf.ts'\nimport type { TypeOfTypes } from './TypeOfTypes.ts'\n\nexport const validateType = <T>(typeName: TypeOfTypes, value: T, optional = false): [T | undefined, Error[]] => {\n switch (typeOf(value)) {\n case typeName: {\n return [value, []]\n }\n default: {\n if (optional && typeOf(value) === 'undefined') {\n return [value, []]\n }\n return [undefined, [new Error(`value type is not '${typeName}:${typeof value}'`)]]\n }\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/typeOf.ts","../../src/ifDefined.ts","../../src/ifTypeOf.ts","../../src/is.ts","../../src/isType.ts","../../src/Typed.ts","../../src/validateType.ts"],"sourcesContent":["import type { TypeOfTypes } from './TypeOfTypes.ts'\n\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 []\nexport function isArray<T extends []>(value: T): value is Extract<T, Array<unknown>>\nexport function isArray(value: unknown): value is [] {\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 []\nexport function isPopulatedArray<T extends Array<unknown>>(value: T): value is Extract<T, Array<unknown>>\nexport function isPopulatedArray(value: unknown): value is [] {\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(value: unknown): value is false\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(value: unknown): value is false {\n return !value\n}\n\nexport function isTruthy(value: unknown): value is true\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(value: unknown): value is true {\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 isArrayBuffer(value: unknown): value is ArrayBuffer\nexport function isArrayBuffer<T extends ArrayBuffer>(value: T): value is Extract<T, ArrayBuffer>\nexport function isArrayBuffer(value: unknown): value is ArrayBuffer {\n return value instanceof ArrayBuffer\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":[]}
|
package/dist/types/is.d.ts
CHANGED
|
@@ -1,39 +1,82 @@
|
|
|
1
1
|
export type AnyFunction = (...args: unknown[]) => unknown;
|
|
2
|
+
export type RecordKey = string | number | symbol;
|
|
3
|
+
export declare function isUndefined(value: unknown): value is undefined;
|
|
2
4
|
export declare function isUndefined<T>(value: T): value is Extract<T, undefined>;
|
|
3
5
|
export declare function isDefined<T>(value: T): value is Exclude<T, undefined>;
|
|
6
|
+
export declare function isNull(value: unknown): value is null;
|
|
4
7
|
export declare function isNull<T>(value: T): value is Extract<T, null>;
|
|
5
8
|
export declare function isDefinedNotNull<T>(value: T): value is Exclude<T, undefined | null>;
|
|
9
|
+
export declare function isUndefinedOrNull(value: unknown): value is undefined | null;
|
|
6
10
|
export declare function isUndefinedOrNull<T>(value: T): value is Extract<T, undefined | null>;
|
|
7
|
-
export declare function isBigInt
|
|
8
|
-
export declare function
|
|
9
|
-
export declare function
|
|
11
|
+
export declare function isBigInt(value: unknown): value is bigint;
|
|
12
|
+
export declare function isBigInt<T extends bigint>(value: T): value is Extract<T, bigint>;
|
|
13
|
+
export declare function isString(value: unknown): value is string;
|
|
14
|
+
export declare function isString<T extends string>(value: T): value is Extract<T, string>;
|
|
15
|
+
export declare function isNumber(value: unknown): value is number;
|
|
16
|
+
export declare function isNumber<T extends number>(value: T): value is Extract<T, number>;
|
|
10
17
|
export declare function isObject(value: unknown): value is object;
|
|
11
18
|
export declare function isObject<T extends object>(value: T): value is Extract<T, object>;
|
|
12
|
-
export declare function isArray
|
|
13
|
-
export declare function
|
|
19
|
+
export declare function isArray(value: unknown): value is [];
|
|
20
|
+
export declare function isArray<T extends []>(value: T): value is Extract<T, Array<unknown>>;
|
|
21
|
+
export declare function isFunction(value: unknown): value is AnyFunction;
|
|
22
|
+
export declare function isFunction<T extends AnyFunction>(value: T): value is Extract<T, AnyFunction>;
|
|
14
23
|
export declare function isSymbol(value: unknown): value is symbol;
|
|
15
|
-
export declare function
|
|
16
|
-
export declare function
|
|
17
|
-
export declare function
|
|
18
|
-
export declare function
|
|
19
|
-
export declare function
|
|
20
|
-
export declare function
|
|
21
|
-
export declare function
|
|
22
|
-
export declare function
|
|
24
|
+
export declare function isSymbol<T extends symbol>(value: T): value is Extract<T, symbol>;
|
|
25
|
+
export declare function isEmptyObject(value: unknown): value is {};
|
|
26
|
+
export declare function isEmptyObject<K extends RecordKey, V, T extends Record<K, V>>(value: T): value is Extract<T, Record<K, never>>;
|
|
27
|
+
export declare function isEmptyString(value: unknown): value is '';
|
|
28
|
+
export declare function isEmptyString<T extends string>(value: T): value is Extract<T, ''>;
|
|
29
|
+
export declare function isEmptyArray(value: unknown): value is [];
|
|
30
|
+
export declare function isEmptyArray<T extends Array<unknown>>(value: T): value is Extract<T, Array<unknown>>;
|
|
31
|
+
export declare function isPopulatedArray(value: unknown): value is [];
|
|
32
|
+
export declare function isPopulatedArray<T extends Array<unknown>>(value: T): value is Extract<T, Array<unknown>>;
|
|
33
|
+
export declare function isEmpty<T>(value: unknown): value is T;
|
|
34
|
+
export declare function isEmpty<K extends RecordKey, V, T extends Record<K, V>>(value: T): value is Extract<T, Record<K, never>>;
|
|
35
|
+
export declare function isEmpty<T extends Array<unknown>>(value: T): value is Extract<T, Array<never>>;
|
|
36
|
+
export declare function isFalsy(value: unknown): value is false;
|
|
37
|
+
export declare function isFalsy<T extends boolean>(value: T): value is Extract<T, false>;
|
|
38
|
+
export declare function isFalsy<T extends number>(value: T): value is Extract<T, 0>;
|
|
39
|
+
export declare function isFalsy<T extends bigint>(value: T): value is Extract<T, 0n>;
|
|
40
|
+
export declare function isFalsy<T extends null>(value: T): value is Extract<T, null>;
|
|
41
|
+
export declare function isFalsy<T extends undefined>(value: T): value is Extract<T, undefined>;
|
|
42
|
+
export declare function isFalsy<T extends string>(value: T): value is Extract<T, ''>;
|
|
43
|
+
export declare function isTruthy(value: unknown): value is true;
|
|
44
|
+
export declare function isTruthy<T extends boolean>(value: T): value is Extract<T, true>;
|
|
45
|
+
export declare function isTruthy<T extends number>(value: T): value is Extract<T, number>;
|
|
46
|
+
export declare function isTruthy<T extends bigint>(value: T): value is Extract<T, bigint>;
|
|
47
|
+
export declare function isTruthy<T extends null>(value: T): value is Extract<T, null>;
|
|
48
|
+
export declare function isTruthy<T extends undefined>(value: T): value is Extract<T, undefined>;
|
|
49
|
+
export declare function isTruthy<T extends string>(value: T): value is Extract<T, string>;
|
|
50
|
+
export declare function isBoolean(value: unknown): value is boolean;
|
|
51
|
+
export declare function isBoolean<T extends boolean>(value: T): value is Extract<T, boolean>;
|
|
52
|
+
export declare function isDateString(value: unknown): value is string;
|
|
23
53
|
export declare function isDateString<T>(value: T): value is Extract<T, string>;
|
|
54
|
+
export declare function isDate(value: unknown): value is Date;
|
|
24
55
|
export declare function isDate<T>(value: T): value is Extract<T, Date>;
|
|
25
|
-
export declare function isRegExp
|
|
56
|
+
export declare function isRegExp(value: unknown): value is RegExp;
|
|
57
|
+
export declare function isRegExp<T extends RegExp>(value: T): value is Extract<T, RegExp>;
|
|
58
|
+
export declare function isError(value: unknown): value is Error;
|
|
26
59
|
export declare function isError<T>(value: T): value is Extract<T, Error>;
|
|
60
|
+
export declare function isPromise(value: unknown): value is Promise<unknown>;
|
|
27
61
|
export declare function isPromise<T>(value: T): value is Extract<T, Promise<unknown>>;
|
|
62
|
+
export declare function isPromiseLike(value: unknown): value is Promise<unknown>;
|
|
28
63
|
export declare function isPromiseLike<T>(value: T): value is Extract<T, Promise<unknown>>;
|
|
29
|
-
export declare function isMap
|
|
30
|
-
export declare function
|
|
31
|
-
export declare function isArrayBufferView
|
|
32
|
-
export declare function
|
|
33
|
-
export declare function
|
|
34
|
-
export declare function
|
|
35
|
-
export declare function
|
|
64
|
+
export declare function isMap(value: unknown): value is Map<unknown, unknown>;
|
|
65
|
+
export declare function isMap<K, V, T extends Map<K, V>>(value: T): value is Extract<T, Map<K, V>>;
|
|
66
|
+
export declare function isArrayBufferView(value: unknown): value is ArrayBufferView;
|
|
67
|
+
export declare function isArrayBufferView<T extends ArrayBufferView>(value: T): value is Extract<T, ArrayBufferView>;
|
|
68
|
+
export declare function isSet(value: unknown): value is Set<unknown>;
|
|
69
|
+
export declare function isSet<T extends Set<unknown>>(value: unknown | Set<T>): value is Extract<T, Set<unknown>>;
|
|
70
|
+
export declare function isWeakMap(value: unknown): value is WeakMap<WeakKey, unknown>;
|
|
71
|
+
export declare function isWeakMap<K extends WeakKey, V, T extends WeakMap<K, V>>(value: T): value is Extract<T, WeakMap<K, V>>;
|
|
72
|
+
export declare function isWeakSet(value: unknown): value is WeakSet<WeakKey>;
|
|
73
|
+
export declare function isWeakSet<K extends WeakKey, T extends WeakSet<K>>(value: T): value is Extract<T, WeakSet<K>>;
|
|
74
|
+
export declare function isArrayBuffer(value: unknown): value is ArrayBuffer;
|
|
75
|
+
export declare function isArrayBuffer<T extends ArrayBuffer>(value: T): value is Extract<T, ArrayBuffer>;
|
|
76
|
+
export declare function isDataView(value: unknown): value is DataView;
|
|
36
77
|
export declare function isDataView<T>(value: T): value is Extract<T, DataView>;
|
|
37
|
-
export declare function isBlob
|
|
38
|
-
export declare function
|
|
78
|
+
export declare function isBlob(value: unknown): value is Blob;
|
|
79
|
+
export declare function isBlob<T extends Blob>(value: T): value is Extract<T, Blob>;
|
|
80
|
+
export declare function isFile(value: unknown): value is File;
|
|
81
|
+
export declare function isFile<T extends File>(value: T): value is Extract<T, File>;
|
|
39
82
|
//# sourceMappingURL=is.d.ts.map
|
package/dist/types/is.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../../src/is.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../../src/is.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/is.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export type AnyFunction = (...args: unknown[]) => unknown
|
|
2
|
+
export type RecordKey = string | number | symbol
|
|
2
3
|
|
|
3
|
-
export function isUndefined
|
|
4
|
+
export function isUndefined(value: unknown): value is undefined
|
|
5
|
+
export function isUndefined<T>(value: T): value is Extract<T, undefined>
|
|
6
|
+
export function isUndefined(value: unknown): value is undefined {
|
|
4
7
|
return value === undefined
|
|
5
8
|
}
|
|
6
9
|
|
|
@@ -8,7 +11,9 @@ export function isDefined<T>(value: T): value is Exclude<T, undefined> {
|
|
|
8
11
|
return !isUndefined(value)
|
|
9
12
|
}
|
|
10
13
|
|
|
11
|
-
export function isNull
|
|
14
|
+
export function isNull(value: unknown): value is null
|
|
15
|
+
export function isNull<T>(value: T): value is Extract<T, null>
|
|
16
|
+
export function isNull(value: unknown): value is null {
|
|
12
17
|
return value === null
|
|
13
18
|
}
|
|
14
19
|
|
|
@@ -16,19 +21,27 @@ export function isDefinedNotNull<T>(value: T): value is Exclude<T, undefined | n
|
|
|
16
21
|
return !isUndefined(value) && !isNull(value)
|
|
17
22
|
}
|
|
18
23
|
|
|
19
|
-
export function isUndefinedOrNull
|
|
24
|
+
export function isUndefinedOrNull(value: unknown): value is undefined | null
|
|
25
|
+
export function isUndefinedOrNull<T>(value: T): value is Extract<T, undefined | null>
|
|
26
|
+
export function isUndefinedOrNull(value: unknown): value is undefined | null {
|
|
20
27
|
return isUndefined(value) || isNull(value)
|
|
21
28
|
}
|
|
22
29
|
|
|
23
|
-
export function isBigInt
|
|
30
|
+
export function isBigInt(value: unknown): value is bigint
|
|
31
|
+
export function isBigInt<T extends bigint>(value: T): value is Extract<T, bigint>
|
|
32
|
+
export function isBigInt(value: unknown): value is bigint {
|
|
24
33
|
return typeof value === 'bigint'
|
|
25
34
|
}
|
|
26
35
|
|
|
27
|
-
export function isString
|
|
36
|
+
export function isString(value: unknown): value is string
|
|
37
|
+
export function isString<T extends string>(value: T): value is Extract<T, string>
|
|
38
|
+
export function isString(value: unknown): value is string {
|
|
28
39
|
return typeof value === 'string'
|
|
29
40
|
}
|
|
30
41
|
|
|
31
|
-
export function isNumber
|
|
42
|
+
export function isNumber(value: unknown): value is number
|
|
43
|
+
export function isNumber<T extends number>(value: T): value is Extract<T, number>
|
|
44
|
+
export function isNumber(value: unknown): value is number {
|
|
32
45
|
return typeof value === 'number'
|
|
33
46
|
}
|
|
34
47
|
|
|
@@ -38,76 +51,116 @@ export function isObject(value: unknown): value is object {
|
|
|
38
51
|
return (typeof value === 'object') && (value !== null) && !Array.isArray(value)
|
|
39
52
|
}
|
|
40
53
|
|
|
41
|
-
export function isArray
|
|
54
|
+
export function isArray(value: unknown): value is []
|
|
55
|
+
export function isArray<T extends []>(value: T): value is Extract<T, Array<unknown>>
|
|
56
|
+
export function isArray(value: unknown): value is [] {
|
|
42
57
|
return Array.isArray(value)
|
|
43
58
|
}
|
|
44
59
|
|
|
45
|
-
export function isFunction
|
|
60
|
+
export function isFunction(value: unknown): value is AnyFunction
|
|
61
|
+
export function isFunction<T extends AnyFunction>(value: T): value is Extract<T, AnyFunction>
|
|
62
|
+
export function isFunction(value: unknown): value is AnyFunction {
|
|
46
63
|
return typeof value === 'function'
|
|
47
64
|
}
|
|
48
65
|
|
|
66
|
+
export function isSymbol(value: unknown): value is symbol
|
|
67
|
+
export function isSymbol<T extends symbol>(value: T): value is Extract<T, symbol>
|
|
49
68
|
export function isSymbol(value: unknown): value is symbol {
|
|
50
69
|
return typeof value === 'symbol'
|
|
51
70
|
}
|
|
52
71
|
|
|
53
|
-
export function isEmptyObject
|
|
72
|
+
export function isEmptyObject(value: unknown): value is {}
|
|
73
|
+
export function isEmptyObject<K extends RecordKey, V, T extends Record<K, V>>(value: T): value is Extract<T, Record<K, never>>
|
|
74
|
+
export function isEmptyObject(value: unknown): value is {} {
|
|
54
75
|
return isObject(value) && Object.keys(value).length === 0
|
|
55
76
|
}
|
|
56
77
|
|
|
57
|
-
export function isEmptyString
|
|
78
|
+
export function isEmptyString(value: unknown): value is ''
|
|
79
|
+
export function isEmptyString<T extends string>(value: T): value is Extract<T, ''>
|
|
80
|
+
export function isEmptyString(value: unknown): value is '' {
|
|
58
81
|
return isString(value) && value.length === 0
|
|
59
82
|
}
|
|
60
83
|
|
|
61
|
-
export function isEmptyArray
|
|
84
|
+
export function isEmptyArray(value: unknown): value is []
|
|
85
|
+
export function isEmptyArray<T extends Array<unknown>>(value: T): value is Extract<T, Array<unknown>>
|
|
86
|
+
export function isEmptyArray(value: unknown): value is [] {
|
|
62
87
|
return isArray(value) && value.length === 0
|
|
63
88
|
}
|
|
64
89
|
|
|
65
|
-
export function isPopulatedArray
|
|
90
|
+
export function isPopulatedArray(value: unknown): value is []
|
|
91
|
+
export function isPopulatedArray<T extends Array<unknown>>(value: T): value is Extract<T, Array<unknown>>
|
|
92
|
+
export function isPopulatedArray(value: unknown): value is [] {
|
|
66
93
|
return isArray(value) && value.length > 0
|
|
67
94
|
}
|
|
68
95
|
|
|
69
|
-
export function isEmpty<
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
>(
|
|
73
|
-
value: T | Record<K, unknown> | Array<unknown>,
|
|
74
|
-
): value is Extract<T, '' | Array<unknown> | Record<K, never>> {
|
|
96
|
+
export function isEmpty<T>(value: unknown): value is T
|
|
97
|
+
export function isEmpty<K extends RecordKey, V, T extends Record<K, V>>(value: T): value is Extract<T, Record<K, never>>
|
|
98
|
+
export function isEmpty<T extends Array<unknown>>(value: T): value is Extract<T, Array<never>>
|
|
99
|
+
export function isEmpty<T>(value: unknown): value is T {
|
|
75
100
|
return isEmptyString(value) || isEmptyArray(value) || isEmptyObject(value)
|
|
76
101
|
}
|
|
77
102
|
|
|
78
|
-
export function isFalsy
|
|
103
|
+
export function isFalsy(value: unknown): value is false
|
|
104
|
+
export function isFalsy<T extends boolean>(value: T): value is Extract<T, false>
|
|
105
|
+
export function isFalsy<T extends number>(value: T): value is Extract<T, 0>
|
|
106
|
+
export function isFalsy<T extends bigint>(value: T): value is Extract<T, 0n>
|
|
107
|
+
export function isFalsy<T extends null>(value: T): value is Extract<T, null>
|
|
108
|
+
export function isFalsy<T extends undefined>(value: T): value is Extract<T, undefined>
|
|
109
|
+
export function isFalsy<T extends string>(value: T): value is Extract<T, ''>
|
|
110
|
+
export function isFalsy(value: unknown): value is false {
|
|
79
111
|
return !value
|
|
80
112
|
}
|
|
81
113
|
|
|
82
|
-
export function isTruthy
|
|
83
|
-
|
|
114
|
+
export function isTruthy(value: unknown): value is true
|
|
115
|
+
export function isTruthy<T extends boolean>(value: T): value is Extract<T, true>
|
|
116
|
+
export function isTruthy<T extends number>(value: T): value is Extract<T, number>
|
|
117
|
+
export function isTruthy<T extends bigint>(value: T): value is Extract<T, bigint>
|
|
118
|
+
export function isTruthy<T extends null>(value: T): value is Extract<T, null>
|
|
119
|
+
export function isTruthy<T extends undefined>(value: T): value is Extract<T, undefined>
|
|
120
|
+
export function isTruthy<T extends string>(value: T): value is Extract<T, string>
|
|
121
|
+
export function isTruthy(value: unknown): value is true {
|
|
122
|
+
return !value
|
|
84
123
|
}
|
|
85
124
|
|
|
86
|
-
export function isBoolean
|
|
125
|
+
export function isBoolean(value: unknown): value is boolean
|
|
126
|
+
export function isBoolean<T extends boolean>(value: T): value is Extract<T, boolean>
|
|
127
|
+
export function isBoolean(value: unknown): value is boolean {
|
|
87
128
|
return typeof value === 'boolean'
|
|
88
129
|
}
|
|
89
130
|
|
|
90
|
-
export function isDateString
|
|
131
|
+
export function isDateString(value: unknown): value is string
|
|
132
|
+
export function isDateString<T>(value: T): value is Extract<T, string>
|
|
133
|
+
export function isDateString(value: unknown): value is string {
|
|
91
134
|
return isString(value) && !Number.isNaN(Date.parse(value))
|
|
92
135
|
}
|
|
93
136
|
|
|
94
|
-
export function isDate
|
|
137
|
+
export function isDate(value: unknown): value is Date
|
|
138
|
+
export function isDate<T>(value: T): value is Extract<T, Date>
|
|
139
|
+
export function isDate(value: unknown): value is Date {
|
|
95
140
|
return value instanceof Date
|
|
96
141
|
}
|
|
97
142
|
|
|
98
|
-
export function isRegExp
|
|
143
|
+
export function isRegExp(value: unknown): value is RegExp
|
|
144
|
+
export function isRegExp<T extends RegExp>(value: T): value is Extract<T, RegExp>
|
|
145
|
+
export function isRegExp(value: unknown): value is RegExp {
|
|
99
146
|
return value instanceof RegExp
|
|
100
147
|
}
|
|
101
148
|
|
|
102
|
-
export function isError
|
|
149
|
+
export function isError(value: unknown): value is Error
|
|
150
|
+
export function isError<T>(value: T): value is Extract<T, Error>
|
|
151
|
+
export function isError(value: unknown): value is Error {
|
|
103
152
|
return value instanceof Error
|
|
104
153
|
}
|
|
105
154
|
|
|
106
|
-
export function isPromise
|
|
155
|
+
export function isPromise(value: unknown): value is Promise<unknown>
|
|
156
|
+
export function isPromise<T>(value: T): value is Extract<T, Promise<unknown>>
|
|
157
|
+
export function isPromise(value: unknown): value is Promise<unknown> {
|
|
107
158
|
return value instanceof Promise
|
|
108
159
|
}
|
|
109
160
|
|
|
110
|
-
export function isPromiseLike
|
|
161
|
+
export function isPromiseLike(value: unknown): value is Promise<unknown>
|
|
162
|
+
export function isPromiseLike<T>(value: T): value is Extract<T, Promise<unknown>>
|
|
163
|
+
export function isPromiseLike(value: unknown): value is Promise<unknown> {
|
|
111
164
|
return (
|
|
112
165
|
typeof value === 'object'
|
|
113
166
|
&& value !== null
|
|
@@ -115,43 +168,56 @@ export function isPromiseLike<T>(value: T): value is Extract<T, Promise<unknown>
|
|
|
115
168
|
)
|
|
116
169
|
}
|
|
117
170
|
|
|
118
|
-
export function isMap
|
|
171
|
+
export function isMap(value: unknown): value is Map<unknown, unknown>
|
|
172
|
+
export function isMap<K, V, T extends Map<K, V>>(value: T): value is Extract<T, Map<K, V>>
|
|
173
|
+
export function isMap(value: unknown): value is Map<unknown, unknown> {
|
|
119
174
|
return value instanceof Map
|
|
120
175
|
}
|
|
121
176
|
|
|
122
|
-
|
|
123
|
-
export function
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export function isArrayBufferView<T>(value: T): value is Extract<T, ArrayBufferView> {
|
|
177
|
+
export function isArrayBufferView(value: unknown): value is ArrayBufferView
|
|
178
|
+
export function isArrayBufferView<T extends ArrayBufferView>(value: T): value is Extract<T, ArrayBufferView>
|
|
179
|
+
export function isArrayBufferView(value: unknown): value is ArrayBufferView {
|
|
128
180
|
return ArrayBuffer.isView(value)
|
|
129
181
|
}
|
|
130
182
|
|
|
131
|
-
export function isSet
|
|
183
|
+
export function isSet(value: unknown): value is Set<unknown>
|
|
184
|
+
export function isSet<T extends Set<unknown>>(value: unknown | Set<T>): value is Extract<T, Set<unknown>>
|
|
185
|
+
export function isSet(value: unknown): value is Set<unknown> {
|
|
132
186
|
return value instanceof Set
|
|
133
187
|
}
|
|
134
188
|
|
|
135
|
-
export function isWeakMap
|
|
189
|
+
export function isWeakMap(value: unknown): value is WeakMap<WeakKey, unknown>
|
|
190
|
+
export function isWeakMap<K extends WeakKey, V, T extends WeakMap<K, V>>(value: T): value is Extract<T, WeakMap<K, V>>
|
|
191
|
+
export function isWeakMap(value: unknown): value is WeakMap<WeakKey, unknown> {
|
|
136
192
|
return value instanceof WeakMap
|
|
137
193
|
}
|
|
138
194
|
|
|
139
|
-
export function isWeakSet
|
|
195
|
+
export function isWeakSet(value: unknown): value is WeakSet<WeakKey>
|
|
196
|
+
export function isWeakSet<K extends WeakKey, T extends WeakSet<K>>(value: T): value is Extract<T, WeakSet<K>>
|
|
197
|
+
export function isWeakSet(value: unknown): value is WeakSet<WeakKey> {
|
|
140
198
|
return value instanceof WeakSet
|
|
141
199
|
}
|
|
142
200
|
|
|
143
|
-
export function isArrayBuffer
|
|
201
|
+
export function isArrayBuffer(value: unknown): value is ArrayBuffer
|
|
202
|
+
export function isArrayBuffer<T extends ArrayBuffer>(value: T): value is Extract<T, ArrayBuffer>
|
|
203
|
+
export function isArrayBuffer(value: unknown): value is ArrayBuffer {
|
|
144
204
|
return value instanceof ArrayBuffer
|
|
145
205
|
}
|
|
146
206
|
|
|
147
|
-
export function isDataView
|
|
207
|
+
export function isDataView(value: unknown): value is DataView
|
|
208
|
+
export function isDataView<T>(value: T): value is Extract<T, DataView>
|
|
209
|
+
export function isDataView(value: unknown): value is DataView {
|
|
148
210
|
return value instanceof DataView
|
|
149
211
|
}
|
|
150
212
|
|
|
151
|
-
export function isBlob
|
|
213
|
+
export function isBlob(value: unknown): value is Blob
|
|
214
|
+
export function isBlob<T extends Blob>(value: T): value is Extract<T, Blob>
|
|
215
|
+
export function isBlob(value: unknown): value is Blob {
|
|
152
216
|
return typeof Blob !== 'undefined' && value instanceof Blob
|
|
153
217
|
}
|
|
154
218
|
|
|
155
|
-
export function isFile
|
|
219
|
+
export function isFile(value: unknown): value is File
|
|
220
|
+
export function isFile<T extends File>(value: T): value is Extract<T, File>
|
|
221
|
+
export function isFile(value: unknown): value is File {
|
|
156
222
|
return typeof File !== 'undefined' && value instanceof File
|
|
157
223
|
}
|