diff options
Diffstat (limited to 'node_modules/jest-get-type/build')
-rw-r--r-- | node_modules/jest-get-type/build/index.d.ts | 10 | ||||
-rw-r--r-- | node_modules/jest-get-type/build/index.js | 57 |
2 files changed, 67 insertions, 0 deletions
diff --git a/node_modules/jest-get-type/build/index.d.ts b/node_modules/jest-get-type/build/index.d.ts new file mode 100644 index 0000000..46b6128 --- /dev/null +++ b/node_modules/jest-get-type/build/index.d.ts @@ -0,0 +1,10 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +declare type ValueType = 'array' | 'bigint' | 'boolean' | 'function' | 'null' | 'number' | 'object' | 'regexp' | 'map' | 'set' | 'date' | 'string' | 'symbol' | 'undefined'; +export declare function getType(value: unknown): ValueType; +export declare const isPrimitive: (value: unknown) => boolean; +export {}; diff --git a/node_modules/jest-get-type/build/index.js b/node_modules/jest-get-type/build/index.js new file mode 100644 index 0000000..d2bc995 --- /dev/null +++ b/node_modules/jest-get-type/build/index.js @@ -0,0 +1,57 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +exports.getType = getType; +exports.isPrimitive = void 0; + +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +// get the type of a value with handling the edge cases like `typeof []` +// and `typeof null` +function getType(value) { + if (value === undefined) { + return 'undefined'; + } else if (value === null) { + return 'null'; + } else if (Array.isArray(value)) { + return 'array'; + } else if (typeof value === 'boolean') { + return 'boolean'; + } else if (typeof value === 'function') { + return 'function'; + } else if (typeof value === 'number') { + return 'number'; + } else if (typeof value === 'string') { + return 'string'; + } else if (typeof value === 'bigint') { + return 'bigint'; + } else if (typeof value === 'object') { + if (value != null) { + if (value.constructor === RegExp) { + return 'regexp'; + } else if (value.constructor === Map) { + return 'map'; + } else if (value.constructor === Set) { + return 'set'; + } else if (value.constructor === Date) { + return 'date'; + } + } + + return 'object'; + } else if (typeof value === 'symbol') { + return 'symbol'; + } + + throw new Error(`value of unknown type: ${value}`); +} + +const isPrimitive = value => Object(value) !== value; + +exports.isPrimitive = isPrimitive; |