1.0.0 • Published 1 year ago

@f1stnpm2/nam-voluptatibus-iste v1.0.0

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

@f1stnpm2/nam-voluptatibus-iste 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('@f1stnpm2/nam-voluptatibus-iste');
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

fromString.prototype.trimutilitiesYAMLUint32ArraypackagesproxywgetpropoffsetfpsWebSocketfilecomputed-typesES2018regular expressionswhichless.jsrobustbreakfastcloneoutputuuidslotauthdefinejwtArray.prototype.includestouchargsthroattaskdeterministicTypeScripttoSortedpostcssRxnamesairbnbpyyamlpreserve-symlinkswrapperformantnopematchesESnextfigletlistenersECMAScript 2018bootstrap cssFloat32Arrayidutil.inspectargvdependency managerinternal slotcss lessArray.prototype.findLastIndexdateArrayBuffer#slicemake dirgroupBycolorfoldersortedparenttrimEndes7operating-systemcsstoolsflatasynciterateexenodeaccessibility@@toStringTagjsdomtrimArraycensortimeECMAScript 7watchfsprivate datatostringtagdayjsdebuggroupvariablesonceconsumeAsyncIteratorintrinsicmiddlewareeventDispatcherPromisetsstartiammakeemitdotenvendpointspinnerrestfulexit-codeworkerhashmimetypescss nestingrangeerrorstatelesssignalsStreamfile systemclonedeleteMapArray.prototype.flattenspecpreprocessorchannel256sequenceECMAScript 2021inStreamsglobalsdynamodbpackage managerfunctionUint16Arraylook-uphastakereduxgradients css3promisesparseragenthasOwn0Reflect.getPrototypeOfextendcorestylelinewrapstatusinferenceconnectyupMicrosoftbinderrorrfc4122weaksetes2015filtermoduledefinePropertyargumentcloudwatchexitcolorsmkdirregexconfigurablereadablestreamUnderscoresymbolcoloures-abstractconfigsymbolsomitkeystyped arraywebsitermenvironmentmochatextfind-upreact-hook-formcomparegradients cssplugineast-asian-widthnumbermatchexpressparentsECMAScript 5protobuflinkcryptodeep-cloneyamlschemaarraysdatastructureargumentsObject.assignxtermlruequalityRegExp.prototype.flagsloadbalancinghookformmkdirsless csscallparsinginstalleslint-pluginiteratorspeedbusyjQueryES5optimistqsfast-deep-copybatchbrowserslisttoobjectassertsloggingmetadatasetterreadenvironmentsreal-timeEStestenumerableStyleSheetelasticacheclassesestreenodejsprunedataViewmacosrapidweakmapswfttykoreanes-shim APIfindLastIndexhasOwnPropertyworkspace:*trimLeftcodesBigInt64ArrayfunctionalURLprotocol-buffersInt32ArrayArray.prototype.containscloudsearchdirauthenticationES8react-hooksformattingcallboundprocesslibphonenumberECMAScript 2022getintrinsicamazonpnpm9waitlinuxpositiveequalReactiveExtensionstelephonecompilerrequireassertiontypescriptsigtermserializerobjArray.prototype.filtergetECMAScript 2019urlvarsefficientES3utilityfinddomfindLastTypeBoxdescriptiongetPrototypeOfcolumnirqvisualshebangcore-jspackagees2016rm -rfsliceisConcatSpreadablegettercloudformationsymlinksstableObject.getPrototypeOfjsdiffES2022ECMAScript 2017columnsdataviewlazywatchFilerouterflatMapcontainsCSSmodulesRegExp#flagslockfilevalidbyteOffsetescapecss variablecjkredactajvmatchAllwidthdropES2021ArrayBuffer.prototype.slicevalidatejsonclassnamelogsearchTypedArrayReactiveXstreams2.envvaluesarraybufferiepersistentpromiseautoscalingcharacterlessencryptionSettypeofECMAScript 6streamUint8Arraydescriptorsjsonpathfastifyaststringifyjshintjsxvalidationlookreduces3sharedarraybufferstateBigUint64ArraycliworkflowpushrestES2017isObject.valuestappredictableowndebuggerruntimesetImmediatereplayvpcIteratorurlswordwrapforEachpropertyObject.fromEntriesURLSearchParamsbufferenderbyteLengthframeworkavaRFC-6455ES2016prefixfixed-widthcss-in-jsscheme-validationcopywalkingxdg-opentypesaferemoveassertcryptsometypesgdprcorscloudtrailbeanstalkponyfillES6eslintconfigsetPrototypeOfobject[[Prototype]]protoreact-testing-librarybddarrayrandomexpressionsettypeerrortapelastxdgform-validationObservablesfullwidthmapzeropasswordFunction.prototype.nametrimStartWebSocketsES7momentbootstrap lessasciimruwordbreakInt8ArraytestingObject.entriescall-boundtslibchromiumsyntaxerrorES2020collection.es6Objectchaidataemojistylesless mixinssortfast-clonees2018esawshttpsawesomesauceformfast-copysignalhandlersredux-toolkites2017browserstyled-componentsformatcloudfrontdom-testing-libraryconcatdefaultpathmime-dbhelpersquoteeslintpluginArray.prototype.findLastexecfast-deep-cloneUint8ClampedArraypipepatchArrayBufferinspectcharacterselmzodbuffersappmergestringtoolkitnegativelimitedSymbolnpmstyleguidekeyWeakSetratelimitarktypeObject.keystypedarraysqueueMicrotaskinvariantlaunchsqsdirectorytypeterminalwalkflatteneverysesquerystringJSONECMAScript 2020a11yidletdd$.extendclass-validatorsidehas-ownbundlerdeepcopycoercibledescriptorsnsjsrequestimmutableglaciertypanioncheckflagsmoveprettymulti-packageprogressES2015findupFloat64ArrayhooksspawncacheArray.prototype.flatregularmonorepogenericskarmacurlECMAScript 2015boundpackage.jsoninterruptsstreamsebsshellInt16ArraydeepclonereadabletoStringTagwritechildloggershrinkwraprgb__proto__xhrbluebirdvariables in cssperformancestringifier
1.0.0

1 year ago