UNPKG

which-istypedarray

Version:

check if [a] an array or [b] is an typed array or [c] an buffer array or [d] specific type using the package

1 lines 2.82 kB
"use strict";function isBrowser(){return("object"!=typeof process||"function"!=typeof require)&&"function"!=typeof importScripts&&("object"==typeof window||void 0)}var MAX_ARRAY_INDEX=Math.pow(2,53)-1;function tagTester(e){var t="[object "+e+"]";return function(e){return toString.call(e)===t}}var supportsArrayBuffer=()=>"undefined"!=typeof ArrayBuffer,ObjProto=Object.prototype,toString=ObjProto.toString,supportsDataView=()=>"undefined"!=typeof DataView,nativeIsArrayBufferView=supportsArrayBuffer()&&ArrayBuffer.isView;function isObject(e){var t=typeof e;return"function"==t||"object"==t&&!!e}function isNull(e){return null===e}function isUndefined(e){return void 0===e}function isBoolean(e){return!0===e||!1===e||"[object Boolean]"===toString.call(e)}function isElement(e){return!(!e||1!==e.nodeType)}var isString=tagTester("String"),isNumber=tagTester("Number"),isDate=tagTester("Date"),isRegExp=tagTester("RegExp"),isError=tagTester("Error"),isSymbol=tagTester("Symbol"),isArrayBuffer=tagTester("ArrayBuffer"),isFunction=tagTester("Function"),isDataView=tagTester("DataView"),hasObjectTag=tagTester("Object");function alternateIsDataView(e){return null!=e&&isFunction$1(e.getInt8)&&isArrayBuffer(e.buffer)}var hasDataViewBug=supportsDataView()&&(!/\[native code\]/.test(String(DataView))||hasObjectTag(new DataView(new ArrayBuffer(8)))),isDataView$1=hasDataViewBug?alternateIsDataView:isDataView,typedArrayPattern=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/,isTypedArrayUsingPattern=e=>typedArrayPattern.test(toString.call(e));function toBufferView(e){return new Uint8Array(e.buffer||e,e.byteOffset||0,getByteLength(e))}function getShallowProperty(t){return function(e){return null==e?void 0:e[t]}}function createSizePropertyCheck(t){return function(e){e=t(e);return"number"==typeof e&&0<=e&&e<=MAX_ARRAY_INDEX}}var getByteLength=getShallowProperty("byteLength"),isBufferLike=createSizePropertyCheck(getByteLength);function isTypedArray(e){return nativeIsArrayBufferView?nativeIsArrayBufferView(e)&&!isDataView$1(e):isBufferLike(e)&&typedArrayPattern.test(toString.call(e))}isBrowser()||(module.exports={isTypedArray:isTypedArray,isBufferLike:isBufferLike,supportsArrayBuffer:supportsArrayBuffer,toString:toString,supportsDataView:supportsDataView,nativeIsArrayBufferView:nativeIsArrayBufferView,isTypedArrayUsingPattern:isTypedArrayUsingPattern,toBufferView:toBufferView,getShallowProperty:getShallowProperty,tagTester:tagTester},module.exports.default={isTypedArray:isTypedArray,isBufferLike:isBufferLike,supportsArrayBuffer:supportsArrayBuffer,toString:toString,supportsDataView:supportsDataView,nativeIsArrayBufferView:nativeIsArrayBufferView,isTypedArrayUsingPattern:isTypedArrayUsingPattern,toBufferView:toBufferView,getShallowProperty:getShallowProperty,tagTester:tagTester});