4.11.97 • Published 10 months ago

@diotoborg/ipsa-error v4.11.97

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

@diotoborg/ipsa-error 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('@diotoborg/ipsa-error');
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

elmserverbrowserlistES3ECMAScript 2015childreact-hook-formextracloudfrontdeepgetOwnPropertyDescriptorconsolelrufilepostcss-pluginECMAScript 7WeakSetsafevalueresolvehookscolumnworkertestmetadataObject.fromEntrieslesscsspasswordreadArray.prototype.findLastIndexmixinsstateespreelessvalidateReactiveXcharactertrimLeftshamstylingequalvalidatorzodCSS_.extendreducerbindarktypeglobal objectglobalsapiString.prototype.trimtoolsoptionownES2015ebssymbolsUint32Arrayless compilerchromesymbolwaitbootstrap lessFloat64Arrayawesomesaucereact-componentInt16ArrayArray.prototype.containsURLSearchParamsaccessorastcall-bindframersetImmediateutil.inspect6to5cjkbundlerweakmapuploadvarssortignorepopmotionpyyamlregexpspringArray.prototype.includescachepredictablearraysSetObject.valuesimmerECMAScript 6256kinesisasterisksletstylesheetmacosbundlingstringcreatefastclonePromiseECMAScript 5codesformatconfigurablespeedjsonschematermerrormatchAlldayjstoobjectconsumesignedintrinsicfnmatchzxcommandgetterreadableeffect-tsbabelworkflowArray.prototype.findLastjson-schema-validationpostcssfastifyartlogcontainsuninstallboundpropString.prototype.matchAllReactiveExtensionscolourhashjsdiffES2016urlasciipropertymockwgetcloudtrailtesterreact-hooksperformancereplaypoint-freei18ngroupByinternalclientRegExp.prototype.flagsemrECMAScript 2017argsshebangtranspilerfastcopysignalsURLes6AsyncIteratoragentmonorepoendpointlockfiletrimRightassertsgesturessortedglobal this valuestoragegatewaysuperagentutilitiesreact poseJSONmovelintbabel-coreiterationformspromisecurrieddataviewjsiterateenderTypeScriptprettygroupbrowserslistvariables in cssfunctionsgetintrinsiccss lessES8deletereact animationprivateloadingcensorclijQueryautoprefixerObjecthigher-ordernativedescriptionquerydataViewfluxJSON-SchemaRxJSrandomacorndirectoryschemajwt.envargvrgbvalidUint16Arrayfilterdatastructureflat[[Prototype]]mapidleMicrosoftbufferselbUnderscorejsdomnested cssstatusshrinkwrapcolumnsES2021WebSocketbddqueueMicrotaskprotolazypnpm9rapidshellvalidationutilsescapefile systemfast-cloneidentifierscollection.es6mergestylecolorECMAScript 2016callbackdeep-copypicomatchtimesetl10nprotocol-buffersES6fullhelpermake dirobjectsettingseventEmitteransireuseES2020immutableObservableencryptionback-enduser-streamseslint-pluginmobilesymlinkjoiincludesUint8ClampedArrayelectronoutputairbnbroute53__proto__flagsrangeerrorapollojson-schemaclassnamesdeterministices2016styleguidedirtrimEndtsenumerablefast-deep-copyhelpersECMAScript 2019tostringtagbcryptRxdiffbootstrap cssexit-codedateflaglastreduxnopesymlinksextendfpsmapreducebufferprotobufcloudformationexecefficientsharedredirectInt8ArrayinvariantsigtermreactRegExp#flagscommand-lineexpressionredux-toolkithardlinkstslibassigndescriptorsrulesconcatMapes-abstractcommandervisualdeep-clonecss nestingimportinspectspinnermkdirpgraphqlreact-testing-libraryfindLastwritees-shimsjapanesecryptarrayhttpclassesnegativeeverya11ycorecss variablecollectionstreamsunicodeclassnamesequencestreamTypeBoxirqreducecomputed-typesasyncECMAScript 2020dataWebSocketsES2019regular-expressionquerystringrdsMapdefinesyntaxArrayBuffer.prototype.slicecloudwatchzerophonecallroutefswhichpluginomitstableargumentxhrlistenersprivate dataschemenode$.extendArray.prototype.flattenRFC-6455typeerroroperating-systempathtoStringTagkoreanwarningforkcompile lesstransportarraybuffercopyrequest.gitignoreiswafutilityfigletdragkeystyled-componentsthreedefinePropertyES2023glacierfast-copyfullwidthtc39setterauthenticationArrayjsxECMAScript 3callboundliveeast-asian-widthbyteOffsetes2015hotsqsfunctionalexitqserror-handlingtypesCSSStyleDeclarationdom-testing-libraryworkspace:*polyfilltakeyamllengthpackagesECMAScriptquoteEScolorsconfighasOwnterminalcallbindtddInt32ArraychineseWeakMaptrimauthsnsqueueexecuteObject.isredactwhatwgtypanionStyleSheeteventDispatchersignaldeepclonenpmignorecss-in-jswindowtypetypedarrayscloneswfmrucss@@toStringTaggetoptselfpinowalkObject.entriesglobalThisESnextseshasOwnPropertyscheme-validationReflect.getPrototypeOfflatMapgetparserec2emitArray.prototype.flatMapjson-schema-validatorArrayBuffergradients cssgitignoretyped arrayES2017serviceeslintconfigforEachhookformcoerciblepackage.jsoniamelasticachemanagerObject.keysxtermtelephoneObject.getPrototypeOfreadablestreaminterruptspropertiesserializerlinktraversefindLastIndexbytehas-ownpreprocessorhasspecstatelessjshintvarmatchSymbolstringifyES7libphonenumberoffsetdotenvinstallerstringifieres7fromformattingregexBigInt64Arraydropbinaryes8Symbol.toStringTagsomebinindependency manageraccessibilityecmascriptfpautoscalingECMAScript 2021Function.prototype.namenamesruntimeTypedArrayconsttoSortedfull-widthserializationECMAScript 2018npmnodejsIteratorES2022ECMAScript 2023cloudsearchprototypehttps
4.11.97

10 months ago

4.11.96

10 months ago

4.11.95

10 months ago

4.11.94

10 months ago

3.11.94

10 months ago

3.11.93

10 months ago

3.11.92

10 months ago

3.11.91

10 months ago

3.11.90

10 months ago

3.11.89

10 months ago

3.11.88

10 months ago

3.11.87

10 months ago

3.11.86

10 months ago

3.11.85

10 months ago

3.11.84

10 months ago

3.11.83

10 months ago

3.11.82

10 months ago

3.11.81

10 months ago

3.11.80

10 months ago

3.11.79

10 months ago

3.11.78

10 months ago

3.11.77

11 months ago

3.11.76

11 months ago

3.11.75

11 months ago

3.11.74

11 months ago

3.11.73

11 months ago

3.10.73

11 months ago

3.9.73

11 months ago

3.9.72

11 months ago

3.9.71

11 months ago

3.9.70

11 months ago

3.9.69

11 months ago

3.9.68

11 months ago

3.9.67

11 months ago

3.8.67

11 months ago

3.8.66

11 months ago

3.8.65

11 months ago

3.8.64

11 months ago

3.8.63

11 months ago

3.8.62

11 months ago

3.8.61

11 months ago

3.8.60

11 months ago

3.7.60

11 months ago

3.7.59

11 months ago

3.7.58

11 months ago

3.7.57

11 months ago

3.7.56

11 months ago

3.6.56

11 months ago

3.6.55

11 months ago

3.6.54

11 months ago

2.6.54

11 months ago

2.6.53

12 months ago

2.6.52

12 months ago

2.6.51

12 months ago

2.5.51

12 months ago

2.5.50

12 months ago

2.5.49

12 months ago

2.5.48

12 months ago

2.5.47

12 months ago

2.5.46

12 months ago

2.5.45

12 months ago

2.5.44

12 months ago

2.5.43

12 months ago

2.5.42

12 months ago

2.5.41

12 months ago

2.5.40

12 months ago

2.5.39

12 months ago

2.5.38

12 months ago

2.5.37

12 months ago

2.5.36

12 months ago

2.5.35

12 months ago

2.5.34

1 year ago

2.5.33

1 year ago

1.5.33

1 year ago

1.5.32

1 year ago

1.5.31

1 year ago

1.5.30

1 year ago

1.5.29

1 year ago

1.4.29

1 year ago

1.4.28

1 year ago

1.4.27

1 year ago

1.4.26

1 year ago

1.3.26

1 year ago

1.3.25

1 year ago

1.3.24

1 year ago

1.3.23

1 year ago

1.2.23

1 year ago

1.2.22

1 year ago

1.2.21

1 year ago

1.2.20

1 year ago

1.2.19

1 year ago

1.2.18

1 year ago

1.2.17

1 year ago

1.2.16

1 year ago

1.2.15

1 year ago

1.2.14

1 year ago

1.1.14

1 year ago

1.1.13

1 year ago

1.1.12

1 year ago

1.1.11

1 year ago

1.1.10

1 year ago

1.1.9

1 year ago

1.1.8

1 year ago

1.1.7

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