1.2.8 • Published 4 days ago

@kollorg/quae-nam-minus v1.2.8

Weekly downloads
-
License
MIT
Repository
github
Last release
4 days ago

@kollorg/quae-nam-minus Version Badge

github actions coverage License Downloads

npm badge

Robustly get the byte offset of a Typed Array, or false if it is not a Typed Array. Works cross-realm, in every engine, even if the byteOffset property is overridden.

Example

var typedArrayByteOffset = require('@kollorg/quae-nam-minus');
var assert = require('assert');

assert.equal(false, typedArrayByteOffset(undefined));
assert.equal(false, typedArrayByteOffset(null));
assert.equal(false, typedArrayByteOffset(false));
assert.equal(false, typedArrayByteOffset(true));
assert.equal(false, typedArrayByteOffset([]));
assert.equal(false, typedArrayByteOffset({}));
assert.equal(false, typedArrayByteOffset(/a/g));
assert.equal(false, typedArrayByteOffset(new RegExp('a', 'g')));
assert.equal(false, typedArrayByteOffset(new Date()));
assert.equal(false, typedArrayByteOffset(42));
assert.equal(false, typedArrayByteOffset(NaN));
assert.equal(false, typedArrayByteOffset(Infinity));
assert.equal(false, typedArrayByteOffset(new Number(42)));
assert.equal(false, typedArrayByteOffset('foo'));
assert.equal(false, typedArrayByteOffset(Object('foo')));
assert.equal(false, typedArrayByteOffset(function () {}));
assert.equal(false, typedArrayByteOffset(function* () {}));
assert.equal(false, typedArrayByteOffset(x => x * x));
assert.equal(false, typedArrayByteOffset([]));

const buffer = new ArrayBuffer(32);

assert.equal(8, typedArrayByteOffset(new Int8Array(buffer, 8)));
assert.equal(8, typedArrayByteOffset(new Uint8Array(buffer, 8)));
assert.equal(8, typedArrayByteOffset(new Uint8ClampedArray(buffer, 8)));
assert.equal(4, typedArrayByteOffset(new Int16Array(buffer, 4)));
assert.equal(4, typedArrayByteOffset(new Uint16Array(buffer, 4)));
assert.equal(8, typedArrayByteOffset(new Int32Array(buffer, 8)));
assert.equal(8, typedArrayByteOffset(new Uint32Array(buffer, 8)));
assert.equal(16, typedArrayByteOffset(new Float32Array(buffer, 16)));
assert.equal(16, typedArrayByteOffset(new Float64Array(buffer, 16)));
assert.equal(16, typedArrayByteOffset(new BigInt64Array(buffer, 16)));
assert.equal(16, typedArrayByteOffset(new BigUint64Array(buffer, 16)));

Tests

Simply clone the repo, npm install, and run npm test

cmdlimitedexecutablecsswaittaskstringifyspectermfast-cloneYAMLstringcacheregularloadingeslintconfigcoercibleelasticacheredirectjsdiffi18nECMAScript 2017$.extendurlswidthhttpsoptimizerJSON-SchemacommandcolorsrapidSymbol.toStringTagReactiveXCSSStyleDeclarationTypedArraygroupemititerationviewvest.envwaapischemamimetypesmakefunctionaltypedarraysjasminetoolkitwritablerandomtestpackagestreamsfigletES3uuidObject.entriesfind-upsomeES2016functionsstringifiersetPrototypeOfreadformbuffertypesbuffersFloat64ArrayworkflowidlecopysafevalidationdescriptorsECMAScript 2022deep-clonewordwrapfilterflatintrinsicxdg-opentoStringTagStreamses-shimswgetinstallerelbReflect.getPrototypeOftypedcomputed-typesswfdatajsonpathString.prototype.trimxdgnegativeajaxkeysurlterminalmomenttypescriptstyled-componentsprettyES2019telephoneserializerthrottletypedarraytoolsdeep-copysuperstructhigher-orderespreegetPrototypeOfsyntaxfilethroatcloudwatchproxyprototrimRightfastexpressiongenericsArray.prototype.flatMapformatformsclass-validatorpicomatchcontainschildstyleguiderequestguidObject.valuessymbolsexeczodcheckes-shim APIiteratorlistenerssetImmediatePromisegdprconcatyupzeroclitddmergeECMAScript 5workspace:*corereduxnopedescriptionruntimeweakmapemojiappapolloieglobalenvpromisesInt16ArraymatchespostcssstructuredCloneecmascriptpackage.jsondirconfigdefineFunction.prototype.nameObject.keyschromiumbeanstalkregular expressionsparentsreact-testing-librarymetadataObservablefindLastlockfilejshintasyncinternal slotcryptostartervarswalkpositivedeeponceasciiclonedotenvdependenciesstreams2symlinksnameextensionapitypanionmoduleenumerablenodejseslintpluginbreakcloudformationSetquerystringdefaulticugraphqlinspectomitavadependency managerObject.getPrototypeOftslibslotpipeconcurrencydirectorymatchmime-dbInt32Arrayopenreact-hooksphonees-abstractpopmotioniamchromedeepcopyES2022colorargumentfunction.lengthlrusiderfc4122characterslogstdlibReactiveExtensionsl10nairbnbdiffMicrosoftWeakMapCSSvaluecallbindoptimisteast-asian-widthflagshookformsharedarraybufferunicodequotejsonlengthinferencelibphonenumberpushtappropertiesestreepruneshamreducedefinePropertyparseiteratebatchserializationbddhasOwnPropertyutilitycolumnfast-deep-copycore-jsratelimitES6equalcommanderfull-widthdynamodbshellmkdir@@toStringTaglookURLcloudtrailshebangstylingdayjsworkertouchreact-hook-formInt8ArraytestingbundlingtrimStartvalidregexpmapreduceJSONSymbolfastcopyes2016ansiprototyperecursiveformattingopenerUint8ClampedArraydatastructureObservablesstreamhelperargshttpconcatMapcallboundjoitesterprivatereadablestreammkdirsTypeBoxArray.prototype.findLastpersistentimmercirculartoArrayvariablesrmdates3traversetsES2015hardlinksfrommulti-packagesyntaxerrorloggercloudsearchspringserializestatelessa11yflatMaparrayreactWebSockethasobjectES2018es6jsWebSocketsprivate dataeverycallbacknpm[[Prototype]]accessibilityincludesfast-deep-cloneargvdebugelectronjsdomreadableawswordbreakspeedmake dirArray.prototype.filtersequencecollection.es6__proto__weaksetdebuggerlook-upcalloutputArray.prototype.flattenajvjapaneseprefixeswraptypesafeargumentsObject.definePropertyconsoleeslintwebconsumecreateECMAScript 6key_.extendcodesinternalminimalAsyncIteratores2017trimcensormruescapegetintrinsicbundlersymlinkfindupStreamtyped arrayHyBiec2whatwgdragvisualArray.prototype.includessharedrdsconfigurablespinnersfixed-widthprocesspackage managerBigInt64Arrayform-validationcharacterbindpolyfillreducerparentcharsettakeRFC-6455256compareIteratorObjectsuperagentfindLastIndexmimelaunchassertsdataViewhelpersregexinvarianttostringtagexpressbrowserslistECMAScript 2015modulesarraybufferawait0cloudfrontenderperformanceES5linewraputiltc39ECMAScript 2020protobufshrinkwraplimitchannelassigntapemochabusylintdescriptorbanneropensexeES2021typeofString.prototype.matchAllstartlastObject.ispropanimationdataviewArray.prototype.containsemrcommand-linejavascriptqskoreanES8identifiersttycall-bindfast-copyinisConcatSpreadableUint16Arraykinesissqsfullwidthschemetypeerrorcall-boundboundframerextrasliceebsmonorepoparsergesturescode pointsfullpackagesdropobjjestefficientastsesconvertObject.assignsortedeventDispatchervpceventslazypreserve-symlinksBigUint64ArrayoffsetdeepclonestyleESRxpostcss-pluginTypeScriptECMAScript 2018eslint-pluginforEachdeterministicautoprefixererrorreact animationchaipyyamlgetOwnPropertyDescriptorownratearktypestylesshimroutingposeECMAScript 7editorreusemoveloadbalancingcompilerresolveECMAScript 3xhrwhichpathmapRxJSpnpm9sortrmdirroute53routematchAllES2020optionwafthreebluebirdES2023linksetindicatormobileentriesbrowserredactupextendiconvrobustUnderscoreinstallnodefolderrm -frdom3dsymbolamazonrequirenameses5Array.prototype.findLastIndexlanguagefsinputparsingfpsredux-toolkitqueueMicrotaskautoscalingArrayutil.inspectargparseArrayBuffer.prototype.slicehasOwnxtermhashUint8ArraypluginuninstalljsxstoragegatewayeventEmittergetoptspinnertoobjectreact poseagentequalityWeakSetfetchutilitiesfindfile systemprogresskarmaRegExp.prototype.flagsremovelocationURLSearchParamsflattenrgbdeletecollectionassertionimportexportbyteLengthvaluesnumberwebsitesameValueZerohas-ownawesomesauceframeworkgroupByglacierimportArrayBuffertrimLeftglobRegExp#flagstrimEndwalkingpatchqueuerangeerrorarraysidcss-in-jstypesimpledbUint32Arrayes7flagimmutablefastclone
1.2.8

4 days ago

1.2.7

5 days ago

1.2.6

6 days ago

1.2.5

7 days ago

1.2.4

8 days ago

1.2.3

9 days ago

1.2.2

10 days ago

1.2.1

11 days ago

1.1.1

12 days ago

1.0.1

13 days ago

1.0.0

13 days ago