Base functionality used throughout XY Labs TypeScript/JavaScript libraries
npm install @xylabs/typeof[![logo][]](https://xylabs.com)
[![main-build][]][main-build-link]
[![npm-badge][]][npm-link]
[![npm-downloads-badge][]][npm-link]
[![jsdelivr-badge][]][jsdelivr-link]
[![npm-license-badge][]](LICENSE)
[![codacy-badge][]][codacy-link]
[![codeclimate-badge][]][codeclimate-link]
[![snyk-badge][]][snyk-link]
[![socket-badge][]][socket-link]
Base functionality used throughout XY Labs TypeScript/JavaScript libraries
@xylabs/typeof
*
- FieldType
- ObjectTypeShape
- TypeOfTypes
- TypedValue
- TypedKey
- TypedObject
- TypedArray
- AnyFunction
- RecordKey
- isTypedKey
- isTypedValue
- isTypedArray
- isValidTypedFieldPair
- isTypedObject
- ifDefined
- ifTypeOf
- isUndefined
- isDefined
- isNull
- isDefinedNotNull
- isUndefinedOrNull
- isBigInt
- isString
- isNumber
- isObject
- isArray
- isFunction
- isSymbol
- isEmptyObject
- isEmptyString
- isEmptyArray
- isPopulatedArray
- isEmpty
- isFalsy
- isTruthy
- isBoolean
- isDateString
- isDate
- isRegExp
- isError
- isPromise
- isPromiseLike
- isMap
- isArrayBufferView
- isSet
- isWeakMap
- isWeakSet
- isArrayBuffer
- isDataView
- isBlob
- isFile
- isType
- typeOf
- validateType
*
``ts`
function ifDefined
T
T
(value) => void
undefined \| T
*
`ts`
function ifTypeOf
typeName,
value,
trueFunc,
isFunc?): undefined | R;
T
R
unknown
(value) => R
(value) => boolean
undefined \| R
*
`ts`
function isArray(value): value is [];
unknown
value is []
`ts`
function isArray
T extends \[\]
T
value is Extract
*
`ts`
function isArrayBuffer(value): value is ArrayBuffer;
unknown
value is ArrayBuffer
`ts`
function isArrayBuffer
T extends ArrayBuffer
T
value is Extract
*
`ts`
function isArrayBufferView(value): value is ArrayBufferView
unknown
value is ArrayBufferView
`ts`
function isArrayBufferView
T extends ArrayBufferView\<ArrayBufferLike\>
T
value is Extract
*
`ts`
function isBigInt(value): value is bigint;
unknown
value is bigint
`ts`
function isBigInt
T extends bigint
T
value is Extract
*
`ts`
function isBlob(value): value is Blob;
unknown
value is Blob
`ts`
function isBlob
T extends Blob
T
value is Extract
*
`ts`
function isBoolean(value): value is boolean;
unknown
value is boolean
`ts`
function isBoolean
T extends boolean
T
value is Extract
*
`ts`
function isDataView(value): value is DataView
unknown
value is DataView
`ts`
function isDataView
T
T
value is Extract
*
`ts`
function isDate(value): value is Date;
unknown
value is Date
`ts`
function isDate
T
T
value is Extract
*
`ts`
function isDateString(value): value is string;
unknown
value is string
`ts`
function isDateString
T
T
value is Extract
*
`ts`
function isDefined
T
T
value is Exclude
*
`ts`
function isDefinedNotNull
T
T
value is Exclude\
*
`ts`
function isEmpty
T
unknown
value is T
`ts`
function isEmpty
V
T extends Record\<K, V\>
T
value is Extract
`ts`
function isEmpty
T extends unknown[]
T
value is Extract
*
`ts`
function isEmptyArray(value): value is [];
unknown
value is []
`ts`
function isEmptyArray
T extends unknown[]
T
value is Extract
*
`ts`
function isEmptyObject(value): value is {};
unknown
value is {}
`ts`
function isEmptyObject
V
T extends Record\<K, V\>
T
value is Extract
*
`ts`
function isEmptyString(value): value is "";
unknown
value is ""
`ts`
function isEmptyString
T extends string
T
value is Extract
*
`ts`
function isError(value): value is Error;
unknown
value is Error
`ts`
function isError
T
T
value is Extract
*
`ts`
function isFalsy
T
T
value is Extract\
`ts`
function isFalsy
T extends boolean
T
value is Extract
`ts`
function isFalsy
T extends number
T
value is Extract
`ts`
function isFalsy
T extends bigint
T
value is Extract
`ts`
function isFalsy
T extends null
T
value is Extract
`ts`
function isFalsy
T extends undefined
T
value is Extract
`ts`
function isFalsy
T extends string
T
value is Extract
*
`ts`
function isFile(value): value is File;
unknown
value is File
`ts`
function isFile
T extends File
T
value is Extract
*
`ts`
function isFunction(value): value is AnyFunction;
unknown
value is AnyFunction
`ts`
function isFunction
T
value is Extract
*
`ts`
function isMap(value): value is Map
unknown
value is Map
`ts`
function isMap
K
V
T extends Map\<K, V\>
T
value is Extract
*
`ts`
function isNull(value): value is null;
unknown
value is null
`ts`
function isNull
T
T
value is Extract
*
`ts`
function isNumber(value): value is number;
unknown
value is number
`ts`
function isNumber
T extends number
T
value is Extract
*
`ts`
function isObject(value): value is object;
unknown
value is object
`ts`
function isObject
T extends object
T
value is Extract
*
`ts`
function isPopulatedArray(value): value is [];
unknown
value is []
`ts`
function isPopulatedArray
T extends unknown[]
T
value is Extract
*
`ts`
function isPromise(value): value is Promise
unknown
value is Promise
`ts`
function isPromise
T
T
value is Extract
*
`ts`
function isPromiseLike(value): value is Promise
unknown
value is Promise
`ts`
function isPromiseLike
T
T
value is Extract
*
`ts`
function isRegExp(value): value is RegExp;
unknown
value is RegExp
`ts`
function isRegExp
T extends RegExp
T
value is Extract
*
`ts`
function isSet(value): value is Set
unknown
value is Set
`ts`
function isSet
T extends Set\<unknown\>
unknown
value is Extract
*
`ts`
function isString(value): value is string;
unknown
value is string
`ts`
function isString
T extends string
T
value is Extract
*
`ts`
function isSymbol(value): value is symbol;
unknown
value is symbol
`ts`
function isSymbol
T extends symbol
T
value is Extract
*
`ts`
function isTruthy
T
T
value is Exclude\
`ts`
function isTruthy
T extends boolean
T
value is Extract
`ts`
function isTruthy
T extends number
T
value is Extract
`ts`
function isTruthy
T extends bigint
T
value is Extract
`ts`
function isTruthy
T extends null
T
value is Extract
`ts`
function isTruthy
T extends undefined
T
value is Extract
`ts`
function isTruthy
T extends string
T
value is Extract
*
`ts`
function isType(value, expectedType): boolean;
unknown
boolean
*
`ts`
function isTypedArray(value): value is TypedArray;
unknown
value is TypedArray
*
`ts`
function isTypedKey(value): value is string | number | symbol;
unknown
value is string \| number \| symbol
*
`ts`
function isTypedObject(value): value is TypedObject;
unknown
value is TypedObject
*
`ts`
function isTypedValue(value): value is TypedValue;
unknown
value is TypedValue
*
`ts`
function isUndefined(value): value is undefined;
unknown
value is undefined
`ts`
function isUndefined
T
T
value is Extract
*
`ts`
function isUndefinedOrNull(value): value is undefined | null;
unknown
value is undefined \| null
`ts`
function isUndefinedOrNull
T
T
value is Extract\
*
`ts`
function isValidTypedFieldPair(pair): pair is [key: string | number | symbol, value: TypedValue];
\[unknown, unknown\]
pair is \[key: string \| number \| symbol, value: TypedValue\]
*
`ts`
function isWeakMap(value): value is WeakMap
unknown
value is WeakMap
`ts`
function isWeakMap
K extends WeakKey
V
T extends WeakMap\<K, V\>
T
value is Extract
*
`ts`
function isWeakSet(value): value is WeakSet
unknown
value is WeakSet
`ts`
function isWeakSet
K extends WeakKey
T extends WeakSet\<K\>
T
value is Extract
*
`ts`
function typeOf
T
T
*
`ts`
function validateType
typeName,
value,
optional): [undefined | T, Error[]];
T
T
boolean = false
\[undefined \| T, Error[]\]
*
`ts`
type AnyFunction = (...args) => unknown;
...unknown[]
unknown
*
`ts`
type FieldType =
| "string"
| "number"
| "object"
| "symbol"
| "undefined"
| "null"
| "array"
| "function";
*
`ts`
type ObjectTypeShape = Record
*
`ts`
type RecordKey = string | number | symbol;
*
`ts`
type TypeOfTypes =
| "string"
| "number"
| "object"
| "array"
| "buffer"
| "null"
| "undefined"
| "bigint"
| "boolean"
| "function"
| "symbol";
*
`ts`
type TypedArray = TypedValue[];
*
`ts`
type TypedKey
T extends string \| void = void
*
`ts`
type TypedObject =
| {
[key: string | number | symbol]: TypedValue;
}
| object;
*
`ts``
type TypedValue =
| bigint
| string
| number
| boolean
| null
| TypedObject
| TypedArray
| Function
| symbol
| undefined;
Part of sdk-js
- Arie Trouw (arietrouw.com)
- Matt Jones
- Joel Carter
- Jordan Trouw
> See the LICENSE file for license details
[logo]: https://cdn.xy.company/img/brand/XYPersistentCompany_Logo_Icon_Colored.svg
[main-build]: https://github.com/xylabs/sdk-js/actions/workflows/build.yml/badge.svg
[main-build-link]: https://github.com/xylabs/sdk-js/actions/workflows/build.yml
[npm-badge]: https://img.shields.io/npm/v/@xylabs/typeof.svg
[npm-link]: https://www.npmjs.com/package/@xylabs/typeof
[codacy-badge]: https://app.codacy.com/project/badge/Grade/c8e15e14f37741c18cfb47ac7245c698
[codacy-link]: https://www.codacy.com/gh/xylabs/sdk-js/dashboard?utm_source=github.com&utm_medium=referral&utm_content=xylabs/sdk-js&utm_campaign=Badge_Grade
[codeclimate-badge]: https://api.codeclimate.com/v1/badges/c5eb068f806f0b047ea7/maintainability
[codeclimate-link]: https://codeclimate.com/github/xylabs/sdk-js/maintainability
[snyk-badge]: https://snyk.io/test/github/xylabs/sdk-js/badge.svg?targetFile=package.json
[snyk-link]: https://snyk.io/test/github/xylabs/sdk-js?targetFile=package.json
[npm-downloads-badge]: https://img.shields.io/npm/dw/@xylabs/typeof
[npm-license-badge]: https://img.shields.io/npm/l/@xylabs/typeof
[jsdelivr-badge]: https://data.jsdelivr.com/v1/package/npm/@xylabs/typeof/badge
[jsdelivr-link]: https://www.jsdelivr.com/package/npm/@xylabs/typeof
[socket-badge]: https://socket.dev/api/badge/npm/package/@xylabs/typeof
[socket-link]: https://socket.dev/npm/package/@xylabs/typeof