2.2.15 • Published 1 year ago

@kollorg/quia-facere v2.2.15

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@kollorg/quia-facere 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/quia-facere');
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

rm -frupcensorfile systemvarsECMAScript 5east-asian-widthsymlinksweakmapprivate dataimportfast-deep-clonesymbolsapimatchesvpcscheme-validationmkdirpletwaitautoprefixerwalkautoscalingaccessibilitySystem.globalfull-widthgetopthas-ownoptionUnderscoreserializationhashtoStringTagbabel-corepostcssvariablesfastifyglobal this valuerobustconfigArrayBuffer#slicei18nbingesturesTypeBoxregexpcolourreworkspinnermoduleslengthes2016timeObject.assignes2017cloudtrailnpmignoreresolvebundlerpackage managerjson-schema-validatorenvironmentsnopeprotojsonschematranspiledayjssinatrabddnamefast-copyArray.prototype.filtercopytypeerrorbeanstalkxmlpreprocessorcsslinkroutingglobalcallpromiseinformselasticachehookformES6getterfpsvestdebugvisualconfigurableobjectuuid0karmajson-schema-validationfolderutilses-shim API.gitignorefigletajaxRxdeepclonedebuggerArrayECMAScript 2022cachemapreducermdirzodrmflag256es8Array.prototype.includesexecfilediryamlUint8ArraywriteBigUint64ArraydeterministicguidignorelookvalidatesqsrulesmapbrowserlistwarningES2020telephoneclassnamedataviewWeakMapbyteLengthES2015descriptorscollectionES3asciidroplintreuseviewietextcollection.es6typehelperspackage.jsonurlbinarieshasOwnPropertyUint32ArrayistanbulcloneSymbol.toStringTagperformanceflattentc39inputFloat64ArrayESstarterfindrequestttytacitYAMLecmascriptregular-expressioncolorsfiletyped arraychromesimpledbcloudsearchbabelpropertyoutputfastequalloggerfpES2016randomterminalapollointernal slotES2022puresameValueZero[[Prototype]]expressionio-tstranspilertapereducematchdefinePropertytesterpatcheveryqueryrouterimmutableimportexportisConcatSpreadablequeueMicrotasknamesconsolestoragegatewaynegative zerobusydescriptorassertsboundtoSorteddeep-cloneES2019findupcloudformation6to5findLastIndexargumentemojiuninstallECMAScript 2021concatkinesissyntaxerrorwhichJSON-SchemakoreanestreethreeparenttoReversedpositiveenumerablecallbind__proto__agentnodejses-shimsassertionformatequalitypluginpropertieschanneleslintconfigmrudeletefunction.lengtharrayseslint-plugininstallObject.getPrototypeOfchairegular expressionMicrosoftES8react poseObject.valuesmetadatarestECMAScript 2020typeofsetPrototypeOftddBigInt64ArraynativeWeakSetprivatebyteflagsbrowserObjectflatMappostcss-pluginmanagerdataisfastcopyargv.envmomentmobile@@toStringTagbyteOffsetwebhigher-ordershrinkwrapquotewaapistreamoptimistexecutedeepglacierECMAScript 7requireglobemittoolkitforEachsescompilerponyfillWebSocketUint16Arraytermpnpm9call-boundasserttslibansilastpinofixed-widthutil.inspecttraversecommand-linearraycommandInt8ArrayES2023takeharmonysettingsdescriptionhasloadingcliartcharacterefficienttrimLeftes7httpArrayBuffer.prototype.slicenumberdependency managerschemeimmertransportdom-testing-libraryconstECMAScript 2023elbbundlingECMAScript 2019serializediffexpressvaluesextraURLSearchParamsparentszxrssperformantsidejson-schemacore-jsvalueajvprogresss3eventEmittertstapshamstructuredCloneeffect-tspopmotionremovemkdirssearchArray.prototype.flatMapdotenvTypedArraypackagescallbackinvariantjshintutilityPushdateworkspace:*concatMaplocalreduceres5react-hook-formfullwidthreduxIteratorjsstringifylook-upaccessorkeymodulebrowserslistconsumesuperagentwafreact-testing-librarypyyamlrecursiveformsafedragHyBigetOwnPropertyDescriptorObject.keysclassesprototyperegular expressionscoercibleiteratemonorepodeep-copycode pointsPromiseutilitiesa11yjsdomposextermwhatwgwritablesharedarraybuffergraphqlsomefullerrorvalidationtrimRightsorttostringtagbindInt16Array-0regexcircularES7includeschromiumiamsortedclass-validatorsymbolprettyTypeScriptcloudwatchwalkinghelperassignfnmatchObject.isFunction.prototype.nameWebSocketsoncecloudfrontstringreact animationfeedshellstylinghooksappstringifiertransformidentifiersmkdirjesthardlinksprefixprotobufpipephoneES2018workerreverseesownkeysdefineESnextreversedreal-timelibphonenumbercomputed-typescolumnjsonmochaSetregularReactiveExtensionsdirectoryparsersetxhrjsdiffarktypeidleschemainferencelistenersdynamodbtypedarrayRegExp#flagsbannersubprocessmake dirES5ECMAScriptFloat32ArraytypedpushshimrestfulchineseserializerReactiveXswframdaprocessoffsetcallboundpropminimalweaksetgitignoreespreecurriedtypaniontrimRFC-6455emrstylerm -rfURLreadableMapStyleSheetinstallerwgetslotbinaryRxJSInt32Arrayreactspringexechttpsloggingcryptoairbnbfast-clonechildbufferstoolsloadbalancingquerystringUint8ClampedArraywidthfunctionsString.prototype.matchAlljsxECMAScript 6sharedfind-upshebangfunctionalutilStreamsvalidatortrimStartECMAScript 2016spawnString.prototype.trimArray.prototype.flattenidgetroute53Object.fromEntriescodesframeworkprotocol-buffersec2iteratorselffsObject.definePropertygetPrototypeOfReflect.getPrototypeOffantasy-landcoloramazonfindLastES2021dombuffertypescriptproxyawesomesauceECMAScript 3npmpackagerangeerrorcreateinstrumentation$.extendtypestoobjectmoveruntimeECMAScript 2018awspathjQueryAsyncIteratorES2017japaneseinspectanimationnodeextendgenericsfromgdprredux-toolkitindicatorendpointenvacornvarjavascriptenvironmentObservablesredactdataViewsetImmediateformattingsyntaxpolyfillspeeddependenciesrapidsuperstructglobalsArray.prototype.findLastcharacters3dSymbolfastclonereact-hooksjasminel10nflatmulti-packageeventDispatcherArray.prototype.findLastIndexelectrones-abstractcurluser-streamsglobal objectwindowqsqueuevalidhtmlenderCSSArrayBufferescapeobj
2.2.15

1 year ago

2.2.14

1 year ago

2.2.13

1 year ago

2.2.12

1 year ago

2.2.11

1 year ago

2.2.10

1 year ago

2.1.10

1 year ago

2.1.9

1 year ago

2.1.8

1 year ago

2.1.7

1 year ago

2.1.6

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

1.1.4

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago