UNPKG

3.43 kBJavaScriptView Raw
1import _typeof from "@babel/runtime/helpers/typeof";
2
3/** Used as references for various `Number` constants. */
4var MAX_SAFE_INTEGER = 9007199254740991;
5/** `Object#toString` result references. */
6
7var argsTag = '[object Arguments]';
8var arrayTag = '[object Array]';
9var boolTag = '[object Boolean]';
10var dateTag = '[object Date]';
11var errorTag = '[object Error]';
12var funcTag = '[object Function]';
13var mapTag = '[object Map]';
14var numberTag = '[object Number]';
15var objectTag = '[object Object]';
16var regexpTag = '[object RegExp]';
17var setTag = '[object Set]';
18var stringTag = '[object String]';
19var weakMapTag = '[object WeakMap]';
20var arrayBufferTag = '[object ArrayBuffer]';
21var dataViewTag = '[object DataView]';
22var float32Tag = '[object Float32Array]';
23var float64Tag = '[object Float64Array]';
24var int8Tag = '[object Int8Array]';
25var int16Tag = '[object Int16Array]';
26var int32Tag = '[object Int32Array]';
27var uint8Tag = '[object Uint8Array]';
28var uint8ClampedTag = '[object Uint8ClampedArray]';
29var uint16Tag = '[object Uint16Array]';
30var uint32Tag = '[object Uint32Array]';
31/** Used to identify `toStringTag` values of typed arrays. */
32
33var typedArrayTags = {};
34typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
35typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
36/**
37 * The base implementation of `_.unary` without support for storing metadata.
38 *
39 * @private
40 * @param {Function} func The function to cap arguments for.
41 * @returns {Function} Returns the new capped function.
42 */
43
44function baseUnary(func) {
45 return function (value) {
46 return func(value);
47 };
48}
49/** Used for built-in method references. */
50
51
52var objectProto = Object.prototype;
53/**
54 * Used to resolve the
55 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
56 * of values.
57 */
58
59var objectToString = objectProto.toString;
60/**
61 * The base implementation of `_.isTypedArray` without Node.js optimizations.
62 *
63 * @private
64 * @param {*} value The value to check.
65 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
66 */
67
68function baseIsTypedArray(value) {
69 return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objectToString.call(value)];
70}
71
72function isLength(value) {
73 return typeof value === 'number' && value > -1 && value % 1 === 0 && value <= MAX_SAFE_INTEGER;
74}
75
76function isObjectLike(value) {
77 return !!value && _typeof(value) === 'object';
78}
79/**
80 * Checks if `value` is classified as a typed array.
81 *
82 * @static
83 * @memberOf _
84 * @since 3.0.0
85 * @category Lang
86 * @param {*} value The value to check.
87 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
88 * @example
89 *
90 * _.isTypedArray(new Uint8Array);
91 * // => true
92 *
93 * _.isTypedArray([]);
94 * // => false
95 */
96
97
98export var isTypedArray = baseIsTypedArray;
99//# sourceMappingURL=is-typedarray.js.map
\No newline at end of file