uint8arraylist 1.6.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -33,12 +33,27 @@ export declare class Uint8ArrayList implements Iterable<Uint8Array> {
33
33
  * Remove bytes from the front of the pool
34
34
  */
35
35
  consume(bytes: number): void;
36
+ /**
37
+ * Extracts a section of an array and returns a new array.
38
+ *
39
+ * This is a copy operation as it is with Uint8Arrays and Arrays
40
+ * - note this is different to the behaviour of Node Buffers.
41
+ */
36
42
  slice(beginInclusive?: number, endExclusive?: number): Uint8Array;
37
- subarray(beginInclusive?: number, endExclusive?: number): Uint8ArrayList;
38
- _subList(beginInclusive?: number, endExclusive?: number): {
39
- bufs: Uint8Array[];
40
- length: number;
41
- };
43
+ /**
44
+ * Returns a new Uint8Array from the given start and end element index.
45
+ *
46
+ * In the best case where the data extracted comes from a single Uint8Array
47
+ * internally this is a no-copy operation otherwise it is a copy operation.
48
+ */
49
+ subarray(beginInclusive?: number, endExclusive?: number): Uint8Array;
50
+ /**
51
+ * Returns a new Uint8ArrayList from the given start and end element index.
52
+ *
53
+ * This is a no-copy operation.
54
+ */
55
+ sublist(beginInclusive?: number, endExclusive?: number): Uint8ArrayList;
56
+ private _subList;
42
57
  getInt8(byteOffset: number): number;
43
58
  setInt8(byteOffset: number, value: number): void;
44
59
  getInt16(byteOffset: number, littleEndian?: boolean): number;
@@ -59,6 +74,7 @@ export declare class Uint8ArrayList implements Iterable<Uint8Array> {
59
74
  setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void;
60
75
  getFloat64(byteOffset: number, littleEndian?: boolean): number;
61
76
  setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void;
77
+ equals(other: any): other is Uint8ArrayList;
62
78
  }
63
79
  export {};
64
80
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -1,4 +1,5 @@
1
- import { concat } from 'uint8arrays';
1
+ import { concat } from 'uint8arrays/concat';
2
+ import { equals } from 'uint8arrays/equals';
2
3
  const symbol = Symbol.for('@achingbrain/uint8arraylist');
3
4
  function findBufAndOffset(bufs, index, totalLength) {
4
5
  if (index == null || index < 0 || index >= totalLength) {
@@ -118,11 +119,35 @@ export class Uint8ArrayList {
118
119
  }
119
120
  }
120
121
  }
122
+ /**
123
+ * Extracts a section of an array and returns a new array.
124
+ *
125
+ * This is a copy operation as it is with Uint8Arrays and Arrays
126
+ * - note this is different to the behaviour of Node Buffers.
127
+ */
121
128
  slice(beginInclusive, endExclusive) {
122
129
  const { bufs, length } = this._subList(beginInclusive, endExclusive);
123
130
  return concat(bufs, length);
124
131
  }
132
+ /**
133
+ * Returns a new Uint8Array from the given start and end element index.
134
+ *
135
+ * In the best case where the data extracted comes from a single Uint8Array
136
+ * internally this is a no-copy operation otherwise it is a copy operation.
137
+ */
125
138
  subarray(beginInclusive, endExclusive) {
139
+ const { bufs, length } = this._subList(beginInclusive, endExclusive);
140
+ if (bufs.length === 1) {
141
+ return bufs[0];
142
+ }
143
+ return concat(bufs, length);
144
+ }
145
+ /**
146
+ * Returns a new Uint8ArrayList from the given start and end element index.
147
+ *
148
+ * This is a no-copy operation.
149
+ */
150
+ sublist(beginInclusive, endExclusive) {
126
151
  const { bufs } = this._subList(beginInclusive, endExclusive);
127
152
  const list = new Uint8ArrayList();
128
153
  list.appendAll(bufs);
@@ -290,5 +315,22 @@ export class Uint8ArrayList {
290
315
  view.setFloat64(0, value, littleEndian);
291
316
  this.write(buf, byteOffset);
292
317
  }
318
+ equals(other) {
319
+ if (other == null) {
320
+ return false;
321
+ }
322
+ if (!(other instanceof Uint8ArrayList)) {
323
+ return false;
324
+ }
325
+ if (other.bufs.length !== this.bufs.length) {
326
+ return false;
327
+ }
328
+ for (let i = 0; i < this.bufs.length; i++) {
329
+ if (!equals(this.bufs[i], other.bufs[i])) {
330
+ return false;
331
+ }
332
+ }
333
+ return true;
334
+ }
293
335
  }
294
336
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;AAIxD,SAAS,gBAAgB,CAAE,IAAkB,EAAE,KAAa,EAAE,WAAmB;IAC/E,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,WAAW,EAAE;QACtD,MAAM,IAAI,UAAU,CAAC,wBAAwB,CAAC,CAAA;KAC/C;IAED,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,UAAU,CAAA;QAEtC,IAAI,KAAK,GAAG,MAAM,EAAE;YAClB,OAAO;gBACL,GAAG;gBACH,KAAK,EAAE,KAAK,GAAG,MAAM;aACtB,CAAA;SACF;QAED,MAAM,GAAG,MAAM,CAAA;KAChB;IAED,MAAM,IAAI,UAAU,CAAC,wBAAwB,CAAC,CAAA;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAE,KAAU;IAC1C,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,OAAO,cAAc;IAIzB,YAAa,GAAG,IAAkB;QAChC,gBAAgB;QAChB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAEpD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QAEf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC;IAED,CAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;QACjB,KAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,MAAM,CAAE,GAAG,IAAkB;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,SAAS,CAAE,IAAkB;QAC3B,IAAI,MAAM,GAAG,CAAC,CAAA;QAEd,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,GAAG,YAAY,UAAU,EAAE;gBAC7B,MAAM,IAAI,GAAG,CAAC,UAAU,CAAA;gBACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aACpB;iBAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE;gBAChC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAA;gBACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;aACvC;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;aACrF;SACF;QAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAA;IACvB,CAAC;IAED;;OAEG;IACH,GAAG,CAAE,KAAa;QAChB,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE3D,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,GAAG,CAAE,KAAa,EAAE,KAAa;QAC/B,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE3D,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAE,GAAe,EAAE,SAAiB,CAAC;QACxC,IAAI,GAAG,YAAY,UAAU,EAAE;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;aAC7B;SACF;aAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;aACjC;SACF;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;SACpF;IACH,CAAC;IAED;;OAEG;IACH,OAAO,CAAE,KAAa;QACpB,uEAAuE;QACvE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAEzB,sCAAsC;QACtC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;YACrC,OAAM;SACP;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;gBACpC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;gBAChC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;gBACtC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;aAClB;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC3C,IAAI,CAAC,MAAM,IAAI,KAAK,CAAA;gBACpB,MAAK;aACN;SACF;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAE,cAAuB,EAAE,YAAqB;QACnD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;QAEpE,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAE,cAAuB,EAAE,YAAqB;QACtD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;QAEpE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;SACf;QAED,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAE,cAAuB,EAAE,YAAqB;QACrD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;QAE5D,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAA;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAEpB,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,QAAQ,CAAE,cAAuB,EAAE,YAAqB;QAC9D,IAAI,cAAc,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,EAAE;YAClD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;SAChD;QAED,cAAc,GAAG,cAAc,IAAI,CAAC,CAAA;QACpC,YAAY,GAAG,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAElE,IAAI,cAAc,GAAG,CAAC,EAAE;YACtB,cAAc,GAAG,IAAI,CAAC,MAAM,GAAG,cAAc,CAAA;SAC9C;QAED,IAAI,YAAY,GAAG,CAAC,EAAE;YACpB,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,YAAY,CAAA;SAC1C;QAED,IAAI,cAAc,GAAG,CAAC,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE;YACpD,MAAM,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAA;SAC5C;QAED,IAAI,cAAc,KAAK,YAAY,EAAE;YACnC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;SAC/B;QAED,MAAM,IAAI,GAAiB,EAAE,CAAA;QAC7B,IAAI,MAAM,GAAG,CAAC,CAAA;QAEd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YAC3B,MAAM,QAAQ,GAAG,MAAM,CAAA;YACvB,MAAM,MAAM,GAAG,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAA;YACxC,MAAM,eAAe,GAAG,cAAc,IAAI,QAAQ,IAAI,cAAc,GAAG,MAAM,CAAA;YAC7E,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,IAAI,YAAY,IAAI,MAAM,CAAA;YACxE,MAAM,UAAU,GAAG,cAAc,GAAG,QAAQ,IAAI,YAAY,IAAI,MAAM,CAAA;YACtE,MAAM,GAAG,MAAM,CAAA;YAEf,IAAI,UAA8B,CAAA;YAClC,IAAI,QAA4B,CAAA;YAEhC,IAAI,eAAe,EAAE;gBACnB,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAA;gBACtC,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAA;aAC1B;YAED,IAAI,cAAc,EAAE;gBAClB,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAA;gBAElC,IAAI,UAAU,IAAI,IAAI,EAAE;oBACtB,UAAU,GAAG,CAAC,CAAA;iBACf;aACF;YAED,IAAI,UAAU,EAAE;gBACd,UAAU,GAAG,CAAC,CAAA;gBACd,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAA;aAC1B;YAED,IAAI,UAAU,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;aAC9C;YAED,IAAI,cAAc,EAAE;gBAClB,MAAK;aACN;SACF;QAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,GAAG,cAAc,EAAE,CAAA;IACxD,CAAC;IAED,OAAO,CAAE,UAAkB;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAErE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,CAAE,UAAkB,EAAE,KAAa;QACxC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QACrE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAEtB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,QAAQ,CAAE,UAAkB,EAAE,YAAsB;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAErE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IACvC,CAAC;IAED,QAAQ,CAAE,UAAkB,EAAE,KAAa,EAAE,YAAsB;QACjE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QACrE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;QAErC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,QAAQ,CAAE,UAAkB,EAAE,YAAsB;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAErE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IACvC,CAAC;IAED,QAAQ,CAAE,UAAkB,EAAE,KAAa,EAAE,YAAsB;QACjE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QACrE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;QAErC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,WAAW,CAAE,UAAkB,EAAE,YAAsB;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAErE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IAC1C,CAAC;IAED,WAAW,CAAE,UAAkB,EAAE,KAAa,EAAE,YAAsB;QACpE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QACrE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;QAExC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,QAAQ,CAAE,UAAkB;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAErE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC;IAED,QAAQ,CAAE,UAAkB,EAAE,KAAa;QACzC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QACrE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAEvB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,SAAS,CAAE,UAAkB,EAAE,YAAsB;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAErE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IACxC,CAAC;IAED,SAAS,CAAE,UAAkB,EAAE,KAAa,EAAE,YAAsB;QAClE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QACrE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;QAEtC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,SAAS,CAAE,UAAkB,EAAE,YAAsB;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAErE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IACxC,CAAC;IAED,SAAS,CAAE,UAAkB,EAAE,KAAa,EAAE,YAAsB;QAClE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QACrE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;QAEtC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,YAAY,CAAE,UAAkB,EAAE,YAAsB;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAErE,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IAC3C,CAAC;IAED,YAAY,CAAE,UAAkB,EAAE,KAAa,EAAE,YAAsB;QACrE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QACrE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;QAEzC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,UAAU,CAAE,UAAkB,EAAE,YAAsB;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAErE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IACzC,CAAC;IAED,UAAU,CAAE,UAAkB,EAAE,KAAa,EAAE,YAAsB;QACnE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QACrE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;QAEvC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,UAAU,CAAE,UAAkB,EAAE,YAAsB;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAErE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IACzC,CAAC;IAED,UAAU,CAAE,UAAkB,EAAE,KAAa,EAAE,YAAsB;QACnE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QACrE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;QAEvC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,CAAE,KAAU;QAChB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,OAAO,KAAK,CAAA;SACb;QAED,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,EAAE;YACtC,OAAO,KAAK,CAAA;SACb;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAC1C,OAAO,KAAK,CAAA;SACb;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBACxC,OAAO,KAAK,CAAA;aACb;SACF;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uint8arraylist",
3
- "version": "1.6.0",
3
+ "version": "2.1.1",
4
4
  "description": "Append and consume bytes using only no-copy operations",
5
5
  "author": "Alex Potsides <alex@achingbrain.net>",
6
6
  "license": "Apache-2.0 OR MIT",
package/src/index.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { concat } from 'uint8arrays'
1
+ import { concat } from 'uint8arrays/concat'
2
+ import { equals } from 'uint8arrays/equals'
2
3
 
3
4
  const symbol = Symbol.for('@achingbrain/uint8arraylist')
4
5
 
@@ -144,13 +145,40 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
144
145
  }
145
146
  }
146
147
 
147
- slice (beginInclusive?: number, endExclusive?: number) {
148
+ /**
149
+ * Extracts a section of an array and returns a new array.
150
+ *
151
+ * This is a copy operation as it is with Uint8Arrays and Arrays
152
+ * - note this is different to the behaviour of Node Buffers.
153
+ */
154
+ slice (beginInclusive?: number, endExclusive?: number): Uint8Array {
155
+ const { bufs, length } = this._subList(beginInclusive, endExclusive)
156
+
157
+ return concat(bufs, length)
158
+ }
159
+
160
+ /**
161
+ * Returns a new Uint8Array from the given start and end element index.
162
+ *
163
+ * In the best case where the data extracted comes from a single Uint8Array
164
+ * internally this is a no-copy operation otherwise it is a copy operation.
165
+ */
166
+ subarray (beginInclusive?: number, endExclusive?: number): Uint8Array {
148
167
  const { bufs, length } = this._subList(beginInclusive, endExclusive)
149
168
 
169
+ if (bufs.length === 1) {
170
+ return bufs[0]
171
+ }
172
+
150
173
  return concat(bufs, length)
151
174
  }
152
175
 
153
- subarray (beginInclusive?: number, endExclusive?: number) {
176
+ /**
177
+ * Returns a new Uint8ArrayList from the given start and end element index.
178
+ *
179
+ * This is a no-copy operation.
180
+ */
181
+ sublist (beginInclusive?: number, endExclusive?: number): Uint8ArrayList {
154
182
  const { bufs } = this._subList(beginInclusive, endExclusive)
155
183
 
156
184
  const list = new Uint8ArrayList()
@@ -159,7 +187,7 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
159
187
  return list
160
188
  }
161
189
 
162
- _subList (beginInclusive?: number, endExclusive?: number) {
190
+ private _subList (beginInclusive?: number, endExclusive?: number) {
163
191
  if (beginInclusive == null && endExclusive == null) {
164
192
  return { bufs: this.bufs, length: this.length }
165
193
  }
@@ -376,4 +404,26 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
376
404
 
377
405
  this.write(buf, byteOffset)
378
406
  }
407
+
408
+ equals (other: any): other is Uint8ArrayList {
409
+ if (other == null) {
410
+ return false
411
+ }
412
+
413
+ if (!(other instanceof Uint8ArrayList)) {
414
+ return false
415
+ }
416
+
417
+ if (other.bufs.length !== this.bufs.length) {
418
+ return false
419
+ }
420
+
421
+ for (let i = 0; i < this.bufs.length; i++) {
422
+ if (!equals(this.bufs[i], other.bufs[i])) {
423
+ return false
424
+ }
425
+ }
426
+
427
+ return true
428
+ }
379
429
  }