0.5.0 • Published 8 months ago

@curong/types v0.5.0

Weekly downloads
3
License
MIT
Repository
github
Last release
8 months ago

@curong/types

@curong/types 是一个功能全面的检测 JavaScript 类型的依赖,可以很方便的检测变量的类型。它们会接收一个参数并返回一个 boolean 值。有关详细的用法,请查看 文档注释

@curong/types 主要包含以下的方法:

  • getTag: 获取原型上的类型标记
  • isAnyError: 是不是一个任意的 Error 对象
  • isArguments: 是不是函数的参数
  • isArray: 是不是一个数组
  • isArrayBuffer: 是不是一个 ArrayBuffer
  • isArrayBufferView: 是不是一个 ArrayBufferView
  • isArrayHave: 是不是一个长度大于 0 的数组
  • isArrayIndex: 是不是一个数组的下标索引,它是一个大于或等于 0 并且小于或等于数组的最大长度的整数
  • isArrayLike: 是不是一个类数组 (不包含数组)
  • isArrayLikeHave: 是不是一个长度大于 0 的类数组 (不包含数组)
  • isAsyncFunction: 是不是一个异步函数
  • isAsyncFunctionHave: 是不是一个参数个数大于 0 的异步函数
  • isAsyncIterable: 是不是一个异步可迭代的对象
  • isBigInt: 是不是一个 bigInt (大数) 或被包装后的 BigInt 对象
  • isBigInt64Array: 是不是一个 BigInt64Array
  • isBigIntHave: 是不是一个大于 0nBigInt (大数)
  • isBigIntObject: 是不是一个被包装后的 BigInt 对象,即 Object(0n)
  • isBigIntPrimitive: 是不是一个基本的大数,即 bigint
  • isBigUint64Array: 是不是一个 BigUint64Array
  • isBlob: 是不是一个 Blob
  • isBoolean: 是不是一个布尔值或被包装后的布尔值对象
  • isBooleanObject: 是不是一个被包装后的布尔值对象,即 new Boolean
  • isBooleanPrimitive: 是不是一个基本的布尔值,即 boolean
  • isBuffer: 是不是一个 Buffer
  • isBufferHave: 是不是一个长度大于 0Buffer
  • isClass: 是不是一个类
  • isDataView: 是不是一个 DataView
  • isDate: 是不是一个有效的 Date
  • isDouble: 是不是一个浮点数
  • isDuplex: 是不是一个 Duplex
  • isElement: 是不是一个 Element
  • isEqual: 简单 的判断多个的值是否相等
  • isError: 是不是一个 Error 对象
  • isEvalError: 是不是一个 EvalError 对象
  • isEvent: 是不是一个 Event 事件
  • isFalse: 是不是 false
  • isFalsy: 是不是一个虚值 (强制转换为 Boolean 后为 false 的值)
  • isFile: 是不是一个 File 对象
  • isFileReader: 是不是一个 FileReader 对象
  • isFloat32Array: 是不是一个 Float32Array,每一项的值为 1.2×10-38 - 3.4×1038
  • isFloat64Array: 是不是一个 Float64Array,每一项的值为 5.0×10-324 - 1.8×10308
  • isFormData: 是不是一个 isFormData
  • isFunction: 是不是一个函数(包含同步函数、异步函数和 Generator 函数)
  • isFunctionHave: 是不是一个参数个数大于 0 的函数
  • isGenerator: 是不是一个 Generator
  • isGeneratorFunction: 是不是一个 Generator 函数
  • isInfinity: 是不是一个 Infinity,即超出 1.7976931348623157E+103088 的数值
  • isInt: 是不是一个整数
  • isInt16Array: 是不是一个 Int8Array,每一项的值为 -128 - 127
  • isInt32Array: 是不是一个 Int16Array,每一项的值为 -32768 - 32767
  • isInt8Array: 是不是一个 Int32Array,每一项的值为 -2147483648 - 2147483647
  • isIntHave: 是不是一个大于 0 的整数,即无符号整数
  • isIntSafe: 是不是一个安全的整数
  • isIterable: 是不是一个同步或异步的可迭代的对象
  • isIterator: 是不是一个 Iterator
  • isLengthy: 是不是一个具有 length 属性的类型,其 length 的值是一个大于或等于 0 的整数
  • isLengthyHave: 是不是一个具有 length 属性的类型,其 length 的值是一个大于 0 的整数
  • isMap: 是不是一个 Map
  • isMapHave: 是不是一个长度大于 0Map
  • isNaN: 是不是一个 NaN
  • isNegativeInfinity: 是不是一个 -Infinity,即小于 -1.7976931348623157E+103088 的数值
  • isNodeList: 是不是一个 NodeList
  • isNotEqual: 简单 的判断多个的值是否不相等
  • isNotZero: 不是 0
  • isNull: 是不是 null
  • isNullOrUndefined: 是不是 undefined 或者 null
  • isNumber: 是不是一个数字或被包装后的数字对象
  • isNumberHave: 是不是一个大于 0 并且小于或等于 Number.MAX_VALUE 的数字
  • isNumberObject: 是不是一个被包装后的数字对象,即 new Number()
  • isNumberPrimitive: 是不是一个基本的数字,即 number
  • isNumberSafe: 是不是一个安全的数字,该数字不能为 NaN ,并且介于 MAX_VALUE-MAX_VALUE 之间
  • isNumeric: 是不是一个不是 NaN 的数字或数字字符串
  • isObject: 是不是一个 [object Object] 的对象
  • isObjectHave: 是不是一个属性个数大于 0 的对象
  • isOwnProperty: 确定一个值上是否具有指定名称的私有属性
  • isPlainObject: 是不是一个普通对象,即 {},该对象的原型指向 Object.prototype
  • isPlainObjectHave: 是不是一个属性个数大于 0 的普通对象,即 {}
  • isPrimitive: 是不是一个基本类型的值
  • isPromise: 是不是一个 Promise
  • isProperty: 确定一个值上是否具有指定名称的属性,该属性可以是私有属性,也可以是原型上的属性
  • isPropertyDescriptor: 是不是一个属性描述器
  • isPropertyKey: 是不是一个可以作为属性的值
  • isRangeError: 是不是一个 RangeError 对象
  • isReactElement: 是不是一个 React 元素
  • isReadable: 是不是一个 Readable
  • isReferenceError: 是不是一个 ReferenceError 对象
  • isRegExp: 是不是一个正则表达式
  • isSameError: 是不是一个 namemessage 相同的 Error 对象
  • isSet: 是不是一个 Set
  • isSetHave: 是不是一个长度大于 0Set
  • isSizey: 是不是一个具有 size 属性的类型,其 size 的值是一个大于或等于 0 的整数
  • isSizeyHave: 是不是一个具有 size 属性的类型,其 size 的值是一个大于 0 的整数
  • isStream: 是不是一个 Stream
  • isString: 是不是一个字符串或被包装后的字符串对象
  • isStringHave: 是不是一个长度大于 0 的字符串
  • isStringObject: 是不是一个被包装后的字符串对象,即 new String()
  • isStringPrimitive: 是不是一个基本的字符串,即 string
  • isStringTrim: 是不是一个经过 trim 后长度大于 0 的字符串
  • isSymbol: 是不是一个 symbol 或被包装后的 Symbol 对象
  • isSymbolObject: 是不是一个被包装后的 Symbol 对象,即 Object(Symbol())
  • isSyncFunction: 是不是一个同步函数
  • isSyncIterable: 是不是一个同步可迭代的对象
  • isSyntaxError: 是不是一个 SyntaxError 对象
  • isTextNode: 是不是一个 TextNode
  • isTransform: 是不是一个 Transform
  • isTrue: 是不是 true
  • isTruthy: 是不是一个非虚值 (强制转换为 Boolean 后为 true 的值)
  • isTypeError: 是不是一个 TypeError 对象
  • isTypeofObject: 使用 typeof 判断是不是一个不是 null 的任意对象
  • isUDouble: 是不是一个无符号浮点数,即大于 0 的浮点数
  • isUint: 是不是一个无符号整数,即大于或等于 0 的整数
  • isUint16Array: 是不是一个 Uint16Array,每一项的值为 0 - 65535
  • isUint32Array: 是不是一个 Uint32Array,每一项的值为 0 - 4294967295
  • isUint8Array: 是不是一个 Uint8Array,每一项的值为 0 - 255
  • isUint8ClampedArray: 是不是一个 Uint8ClampedArray,每一项的值为 0 - 255
  • isUintHave: 是不是一个大于 0 的无符号整数
  • isUintSafe: 是不是一个安全的无符号整数
  • isUintSafeHave: 是不是一个大于 0 的安全的无符号整数
  • isUndefined: 是不是 undefined
  • isURL: 是不是一个 URL
  • isUrlSearchParams: 是不是一个 URLSearchParams
  • isVarName: 是不是可以把值当做 JavaScript 的变量名
  • isWeakMap: 是不是一个 WeakMap
  • isWeakSet: 是不是一个 WeakSet
  • isWindow: 是不是 Window 对象
  • isWritable: 是不是一个 Writable
  • isZero: 是不是 0
  • MAX_ARRAY_LENGTH: 获取数组最大索引下标的数字。最大为 232 次方减一,即 4294967295

以下函数用于判断执行环境:

  • isBrowser: 当前的执行环境是不是浏览器
  • isDeno: 当前的执行环境是不是 Deno
  • isNodejs: 当前的执行环境是不是 Node.js
  • isWebWorker: 当前的执行环境是不是 Web Worker

一些 TypeScript 类型:

  • IsAny: 是不是一个 any 类型的值
  • IsNever: 是不是一个 never 类型的值
  • IsUnknown: 是不是一个 unknown 类型的值
  • IsNullable: 是不是一个 nullundefined 类型的值