6.6.85 • Published 16 days ago

@taktikorg/odit-similique v6.6.85

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

@taktikorg/odit-similique 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('@taktikorg/odit-similique');
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

global objectastrequestconcatfunctionfunctionsclientES7varslocalcircularapisymlinksECMAScript 2019fastcopybundlerstabletexttypeslesscsslruexecfileroutingmomentformattingdirectoryschemapolyfillinstallerdataViewhttpchromeincludesbinariesWebSocketreact posefpruntimemulti-packageenvironmentsesdatepackage managersqsArray.prototype.findLastIndextestWeakMapECMAScript 2023fast-deep-clonetacitredirectthreeESnextsymlinkspinnerRegExp#flagsmacoseventDispatchernamedefineassertionArrayBuffer#slice-0assertsmoduledotenvStreamserializationgetoptclass-validatorvarmatchAllfnmatchsharedarraybuffergitignoreajaxloadbalancingReactiveExtensionsconsoleECMAScript 2022execunicodeprivate3dlazyelectronwaitURLindicatorflatMapchromiumprototypeInt16Arraytypedreact-componentglobalURLSearchParamsnativeownmakeArray.prototype.containsrobustslotenv@@toStringTagwindowsagentconsumeworkspace:*RFC-6455urljsdomtrimRightcollectionmixinsstreamsdefinePropertyprotoworkerless mixinsTypedArraychineseexitcorecloudwatchidleregexphandlerspnpm9front-endES2023argsshellminimalnegative zeroconfigurableservicedomimmutablejwtMicrosoftjQuerysomebinnested cssshrinkwrapnpmignoretrimLeftreplaypositiveshimsortedespreeworkflowdescriptormatchmrujson-schema-validatortyped arrayglobal this valuefastifyhttpsES2022selfflattenschemereadablestreampromisestringifyYAMLvalidationignorepluginFloat32ArraycloudtrailfigletarraywritedirSymbolcoerciblesharedObservableobjcall-bound[[Prototype]]hasOwnPropertyio-tstoSortedprogresswgetprotobufcallbindfindhardlinksfetchcolorObject.definePropertyhooksglobalThishasOwncontainsdataless.jses2017full-widthisConcatSpreadablejsxcommanders3inmaputilsexit-codemake dirstringifiertimedragmkdirschannelphonerapidenderutilitiesprotocol-bufferselbObservableswindowenumerablecss nestingcss-in-jscolorsfindLastIndexletfunctionalnegativeseti18nArray.prototype.filterquoteECMAScript 2018equalityaccessorAsyncIteratortypeerroreventEmittercacheregexstreamencryptionexpressinternal slotObject.keyspasswordspinnerskeytrimdropdeepcopydeep-copytypescriptendpointtddspecnamesESwidthArrayBufferkoreancommandReflect.getPrototypeOf256fast-copystateIteratortslibrandomtrimEndcurlutilitycloudformationartcallawsestreezerosetPrototypeOfes2016iteratorbrowserslistclonepurevaluecommand-lineec2internaldeep-cloneviewbabel-corebrowserPromiseglobserializerObject.isECMAScript 2020ansilistenerstoolsmetadatahas-ownjoiconstECMAScript 6warningformsshebangBigUint64ArraystoragegatewaySeteventswhichgradients cssloadingECMAScript 2016speedcensorreducerpropfilematchesES6cloudsearchtypesafeSymbol.toStringTagArrayerrordom-testing-librarypackage.jsoneffect-tssignalsposetakejsdiffjestdependenciesnopearraybufferbinaryes6Object.valuesTypeBoxstyleescapeqses8setImmediateJSON-SchemasettingsObject.getPrototypeOfInt8Arrayprefixstylesgradients css3forEachredux-toolkitpropertyuploadpopmotiones-abstractfast-deep-copyparserpipechecknpmES2020deletetoolkitinputgenericsjsvisualbufferssigtermECMAScript 7diffbyteOffsetHyBivalidatorPushreadmobileserverpersistentObject.fromEntriesArray.prototype.findLasthelperentriesarktypeweaksetES2016readablestylingstatelessfile systemUnderscoreJSONxhrregular expressionpatchintrinsiciamjshintroutefunction.lengthhelperswhatwgglacierfindLastreact-testing-librarypoint-freereactvalidassignECMAScriptasterisksjavascriptdynamodbcompile lessUint8Arrayxtermforktranspileshamimmerimportsubprocessmergea11yes5.envhandlermockingstyleguidesortformatextendtypanionpostcss-pluginfiltersequencelivefluxsyntaxterminalarraysemitless compilerttybufferFloat64Arrayresolvedeterministichookformbootstrap csshotsettercss variablefullbundlingiterationmock__proto__route53querystringES2018callboundmodulesbcryptisclisameValueZeromkdirObjectdeepcloneeslint-pluginnumberBigInt64ArrayacornArray.prototype.includesdeepinstalllibphonenumberreusebusy6to5pyyamlebsbannerlintstarterequalponyfillutilreducechildeslinteast-asian-widthbrowserlistconfigbddscheme-validationprocesssesinspectremove$.extendirqFunction.prototype.namekinesisspringwritablewalkcloudfrontinvariantawesomesaucelengthuser-streamsextraprettymapreduceform-validationeverybabelyupenvironmentmovewaapivestprivate dataES8vpcreal-timeECMAScript 5yamlflagsamazonsidepicomatchsafeelasticacheiees-shim APIanimationramdasymbolsdescriptionrecursiveauthstatusdatastructureMapReactiveXcompileres7comparecall-bindemrObject.entrieserror-handlingjapaneseinterruptsvaluesRxJSmanagercolumnlastfast-clone
6.6.85

16 days ago

6.6.84

17 days ago

6.6.83

18 days ago

6.6.82

19 days ago

6.6.81

20 days ago

6.6.80

21 days ago

6.6.79

22 days ago

6.6.78

23 days ago

6.6.77

24 days ago

6.6.76

25 days ago

6.6.75

26 days ago

6.6.74

27 days ago

6.6.73

28 days ago

6.5.73

29 days ago

6.4.73

30 days ago

6.4.72

1 month ago

6.4.71

1 month ago

6.4.70

1 month ago

6.4.69

1 month ago

6.4.68

1 month ago

6.4.67

1 month ago

6.4.66

1 month ago

6.4.65

1 month ago

6.4.64

1 month ago

6.4.63

1 month ago

6.3.63

1 month ago

6.3.62

1 month ago

5.3.62

1 month ago

5.2.62

1 month ago

4.2.62

1 month ago

4.2.61

2 months ago

4.2.60

2 months ago

3.2.60

2 months ago

3.2.59

2 months ago

3.2.58

2 months ago

3.2.57

2 months ago

3.2.56

2 months ago

3.2.55

2 months ago

3.2.54

2 months ago

3.2.53

2 months ago

3.2.52

2 months ago

3.2.51

2 months ago

3.2.50

2 months ago

3.2.49

2 months ago

2.2.49

2 months ago

2.2.48

2 months ago

2.2.47

2 months ago

2.2.46

2 months ago

2.2.45

2 months ago

2.2.44

2 months ago

2.2.43

2 months ago

2.2.42

2 months ago

2.2.41

2 months ago

2.2.40

2 months ago

2.2.39

2 months ago

2.2.38

2 months ago

2.2.37

2 months ago

2.2.36

2 months ago

2.2.35

2 months ago

2.2.34

2 months ago

2.2.33

3 months ago

2.2.32

3 months ago

2.2.31

3 months ago

2.1.31

3 months ago

2.1.30

3 months ago

2.1.29

3 months ago

2.1.28

3 months ago

2.1.27

3 months ago

2.1.26

3 months ago

2.1.25

3 months ago

2.1.24

3 months ago

2.1.23

3 months ago

1.1.23

3 months ago

1.1.22

3 months ago

1.1.21

3 months ago

1.1.20

3 months ago

1.1.19

3 months ago

1.0.19

3 months ago

1.0.18

3 months ago

1.0.17

3 months ago

1.0.16

3 months ago

1.0.15

3 months ago

1.0.14

3 months ago

1.0.13

3 months ago

1.0.12

3 months ago

1.0.11

3 months ago

1.0.10

3 months ago

1.0.9

3 months ago

1.0.8

3 months ago

1.0.7

3 months ago

1.0.6

4 months ago

1.0.5

4 months ago

1.0.4

4 months ago

1.0.3

4 months ago

1.0.2

4 months ago

1.0.1

4 months ago

1.0.0

4 months ago