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;  | 
