uint8arraylist 2.1.1 → 2.2.0
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.
- package/dist/src/index.d.ts +12 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +103 -56
- package/dist/src/index.js.map +1 -1
- package/package.json +3 -2
- package/src/index.ts +110 -58
package/dist/src/index.d.ts
CHANGED
|
@@ -10,13 +10,21 @@ export declare class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
10
10
|
[Symbol.iterator](): Generator<Uint8Array, void, undefined>;
|
|
11
11
|
get byteLength(): number;
|
|
12
12
|
/**
|
|
13
|
-
* Add one or more `bufs` to this Uint8ArrayList
|
|
13
|
+
* Add one or more `bufs` to the end of this Uint8ArrayList
|
|
14
14
|
*/
|
|
15
15
|
append(...bufs: Appendable[]): void;
|
|
16
16
|
/**
|
|
17
|
-
* Add all `bufs` to this Uint8ArrayList
|
|
17
|
+
* Add all `bufs` to the end of this Uint8ArrayList
|
|
18
18
|
*/
|
|
19
19
|
appendAll(bufs: Appendable[]): void;
|
|
20
|
+
/**
|
|
21
|
+
* Add one or more `bufs` to the start of this Uint8ArrayList
|
|
22
|
+
*/
|
|
23
|
+
prepend(...bufs: Appendable[]): void;
|
|
24
|
+
/**
|
|
25
|
+
* Add all `bufs` to the start of this Uint8ArrayList
|
|
26
|
+
*/
|
|
27
|
+
prependAll(bufs: Appendable[]): void;
|
|
20
28
|
/**
|
|
21
29
|
* Read the value at `index`
|
|
22
30
|
*/
|
|
@@ -41,14 +49,14 @@ export declare class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
41
49
|
*/
|
|
42
50
|
slice(beginInclusive?: number, endExclusive?: number): Uint8Array;
|
|
43
51
|
/**
|
|
44
|
-
* Returns a
|
|
52
|
+
* Returns a alloc from the given start and end element index.
|
|
45
53
|
*
|
|
46
54
|
* In the best case where the data extracted comes from a single Uint8Array
|
|
47
55
|
* internally this is a no-copy operation otherwise it is a copy operation.
|
|
48
56
|
*/
|
|
49
57
|
subarray(beginInclusive?: number, endExclusive?: number): Uint8Array;
|
|
50
58
|
/**
|
|
51
|
-
* Returns a
|
|
59
|
+
* Returns a allocList from the given start and end element index.
|
|
52
60
|
*
|
|
53
61
|
* This is a no-copy operation.
|
|
54
62
|
*/
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAMA,aAAK,UAAU,GAAG,cAAc,GAAG,UAAU,CAAA;AAyB7C;;GAEG;AACH,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,cAAc,CAErE;AAED,qBAAa,cAAe,YAAW,QAAQ,CAAC,UAAU,CAAC;IACzD,OAAO,CAAC,IAAI,CAAc;IACnB,MAAM,EAAE,MAAM,CAAA;gBAER,GAAG,IAAI,EAAE,UAAU,EAAE;IAUhC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAInB,IAAI,UAAU,WAEb;IAED;;OAEG;IACH,MAAM,CAAE,GAAG,IAAI,EAAE,UAAU,EAAE;IAI7B;;OAEG;IACH,SAAS,CAAE,IAAI,EAAE,UAAU,EAAE;IAkB7B;;OAEG;IACH,OAAO,CAAE,GAAG,IAAI,EAAE,UAAU,EAAE;IAI9B;;OAEG;IACH,UAAU,CAAE,IAAI,EAAE,UAAU,EAAE;IAkB9B;;OAEG;IACH,GAAG,CAAE,KAAK,EAAE,MAAM;IAMlB;;OAEG;IACH,GAAG,CAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAMjC;;OAEG;IACH,KAAK,CAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAE,MAAU;IAc1C;;OAEG;IACH,OAAO,CAAE,KAAK,EAAE,MAAM;IAsBtB;;;;;OAKG;IACH,KAAK,CAAE,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU;IAMlE;;;;;OAKG;IACH,QAAQ,CAAE,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU;IAUrE;;;;OAIG;IACH,OAAO,CAAE,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,cAAc;IAWxE,OAAO,CAAC,QAAQ;IAyFhB,OAAO,CAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAOpC,OAAO,CAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQjD,QAAQ,CAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM;IAO7D,QAAQ,CAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ1E,QAAQ,CAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM;IAO7D,QAAQ,CAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ1E,WAAW,CAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM;IAOhE,WAAW,CAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ7E,QAAQ,CAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAOrC,QAAQ,CAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQlD,SAAS,CAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM;IAO9D,SAAS,CAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ3E,SAAS,CAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM;IAO9D,SAAS,CAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ3E,YAAY,CAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM;IAOjE,YAAY,CAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ9E,UAAU,CAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM;IAO/D,UAAU,CAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ5E,UAAU,CAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM;IAO/D,UAAU,CAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ5E,MAAM,CAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,cAAc;CAqB7C"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { concat } from 'uint8arrays/concat';
|
|
2
2
|
import { equals } from 'uint8arrays/equals';
|
|
3
|
+
import { allocUnsafe, alloc } from 'uint8arrays/alloc';
|
|
3
4
|
const symbol = Symbol.for('@achingbrain/uint8arraylist');
|
|
4
|
-
function findBufAndOffset(bufs, index
|
|
5
|
-
if (index == null || index < 0
|
|
5
|
+
function findBufAndOffset(bufs, index) {
|
|
6
|
+
if (index == null || index < 0) {
|
|
6
7
|
throw new RangeError('index is out of bounds');
|
|
7
8
|
}
|
|
8
9
|
let offset = 0;
|
|
@@ -39,13 +40,13 @@ export class Uint8ArrayList {
|
|
|
39
40
|
return this.length;
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
|
-
* Add one or more `bufs` to this Uint8ArrayList
|
|
43
|
+
* Add one or more `bufs` to the end of this Uint8ArrayList
|
|
43
44
|
*/
|
|
44
45
|
append(...bufs) {
|
|
45
46
|
this.appendAll(bufs);
|
|
46
47
|
}
|
|
47
48
|
/**
|
|
48
|
-
* Add all `bufs` to this Uint8ArrayList
|
|
49
|
+
* Add all `bufs` to the end of this Uint8ArrayList
|
|
49
50
|
*/
|
|
50
51
|
appendAll(bufs) {
|
|
51
52
|
let length = 0;
|
|
@@ -55,8 +56,8 @@ export class Uint8ArrayList {
|
|
|
55
56
|
this.bufs.push(buf);
|
|
56
57
|
}
|
|
57
58
|
else if (isUint8ArrayList(buf)) {
|
|
58
|
-
length += buf.
|
|
59
|
-
this.bufs
|
|
59
|
+
length += buf.byteLength;
|
|
60
|
+
this.bufs.push(...buf.bufs);
|
|
60
61
|
}
|
|
61
62
|
else {
|
|
62
63
|
throw new Error('Could not append value, must be an Uint8Array or a Uint8ArrayList');
|
|
@@ -64,18 +65,44 @@ export class Uint8ArrayList {
|
|
|
64
65
|
}
|
|
65
66
|
this.length += length;
|
|
66
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Add one or more `bufs` to the start of this Uint8ArrayList
|
|
70
|
+
*/
|
|
71
|
+
prepend(...bufs) {
|
|
72
|
+
this.prependAll(bufs);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Add all `bufs` to the start of this Uint8ArrayList
|
|
76
|
+
*/
|
|
77
|
+
prependAll(bufs) {
|
|
78
|
+
let length = 0;
|
|
79
|
+
for (const buf of bufs.reverse()) {
|
|
80
|
+
if (buf instanceof Uint8Array) {
|
|
81
|
+
length += buf.byteLength;
|
|
82
|
+
this.bufs.unshift(buf);
|
|
83
|
+
}
|
|
84
|
+
else if (isUint8ArrayList(buf)) {
|
|
85
|
+
length += buf.byteLength;
|
|
86
|
+
this.bufs.unshift(...buf.bufs);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
throw new Error('Could not prepend value, must be an Uint8Array or a Uint8ArrayList');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
this.length += length;
|
|
93
|
+
}
|
|
67
94
|
/**
|
|
68
95
|
* Read the value at `index`
|
|
69
96
|
*/
|
|
70
97
|
get(index) {
|
|
71
|
-
const res = findBufAndOffset(this.bufs, index
|
|
98
|
+
const res = findBufAndOffset(this.bufs, index);
|
|
72
99
|
return res.buf[res.index];
|
|
73
100
|
}
|
|
74
101
|
/**
|
|
75
102
|
* Set the value at `index` to `value`
|
|
76
103
|
*/
|
|
77
104
|
set(index, value) {
|
|
78
|
-
const res = findBufAndOffset(this.bufs, index
|
|
105
|
+
const res = findBufAndOffset(this.bufs, index);
|
|
79
106
|
res.buf[res.index] = value;
|
|
80
107
|
}
|
|
81
108
|
/**
|
|
@@ -130,7 +157,7 @@ export class Uint8ArrayList {
|
|
|
130
157
|
return concat(bufs, length);
|
|
131
158
|
}
|
|
132
159
|
/**
|
|
133
|
-
* Returns a
|
|
160
|
+
* Returns a alloc from the given start and end element index.
|
|
134
161
|
*
|
|
135
162
|
* In the best case where the data extracted comes from a single Uint8Array
|
|
136
163
|
* internally this is a no-copy operation otherwise it is a copy operation.
|
|
@@ -143,22 +170,21 @@ export class Uint8ArrayList {
|
|
|
143
170
|
return concat(bufs, length);
|
|
144
171
|
}
|
|
145
172
|
/**
|
|
146
|
-
* Returns a
|
|
173
|
+
* Returns a allocList from the given start and end element index.
|
|
147
174
|
*
|
|
148
175
|
* This is a no-copy operation.
|
|
149
176
|
*/
|
|
150
177
|
sublist(beginInclusive, endExclusive) {
|
|
151
|
-
const { bufs } = this._subList(beginInclusive, endExclusive);
|
|
178
|
+
const { bufs, length } = this._subList(beginInclusive, endExclusive);
|
|
152
179
|
const list = new Uint8ArrayList();
|
|
153
|
-
list.
|
|
180
|
+
list.length = length;
|
|
181
|
+
// don't loop, just set the bufs
|
|
182
|
+
list.bufs = bufs;
|
|
154
183
|
return list;
|
|
155
184
|
}
|
|
156
185
|
_subList(beginInclusive, endExclusive) {
|
|
157
|
-
if (beginInclusive == null && endExclusive == null) {
|
|
158
|
-
return { bufs: this.bufs, length: this.length };
|
|
159
|
-
}
|
|
160
186
|
beginInclusive = beginInclusive ?? 0;
|
|
161
|
-
endExclusive = endExclusive ??
|
|
187
|
+
endExclusive = endExclusive ?? this.length;
|
|
162
188
|
if (beginInclusive < 0) {
|
|
163
189
|
beginInclusive = this.length + beginInclusive;
|
|
164
190
|
}
|
|
@@ -166,151 +192,172 @@ export class Uint8ArrayList {
|
|
|
166
192
|
endExclusive = this.length + endExclusive;
|
|
167
193
|
}
|
|
168
194
|
if (beginInclusive < 0 || endExclusive > this.length) {
|
|
169
|
-
throw new RangeError('index out of bounds');
|
|
195
|
+
throw new RangeError('index is out of bounds');
|
|
170
196
|
}
|
|
171
197
|
if (beginInclusive === endExclusive) {
|
|
172
198
|
return { bufs: [], length: 0 };
|
|
173
199
|
}
|
|
200
|
+
if (beginInclusive === 0 && endExclusive === this.length) {
|
|
201
|
+
return { bufs: this.bufs, length: this.length };
|
|
202
|
+
}
|
|
174
203
|
const bufs = [];
|
|
175
204
|
let offset = 0;
|
|
176
|
-
for (
|
|
205
|
+
for (let i = 0; i < this.bufs.length; i++) {
|
|
206
|
+
const buf = this.bufs[i];
|
|
177
207
|
const bufStart = offset;
|
|
178
208
|
const bufEnd = bufStart + buf.byteLength;
|
|
179
|
-
|
|
180
|
-
const sliceEndsInBuf = endExclusive > bufStart && endExclusive <= bufEnd;
|
|
181
|
-
const bufInSlice = beginInclusive < bufStart && endExclusive >= bufEnd;
|
|
209
|
+
// for next loop
|
|
182
210
|
offset = bufEnd;
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
startIndex = beginInclusive - bufStart;
|
|
187
|
-
endIndex = buf.byteLength;
|
|
211
|
+
if (beginInclusive >= bufEnd) {
|
|
212
|
+
// start after this buf
|
|
213
|
+
continue;
|
|
188
214
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
215
|
+
const sliceStartInBuf = beginInclusive >= bufStart && beginInclusive < bufEnd;
|
|
216
|
+
const sliceEndsInBuf = endExclusive > bufStart && endExclusive <= bufEnd;
|
|
217
|
+
if (sliceStartInBuf && sliceEndsInBuf) {
|
|
218
|
+
// slice is wholly contained within this buffer
|
|
219
|
+
if (beginInclusive === bufStart && endExclusive === bufEnd) {
|
|
220
|
+
// requested whole buffer
|
|
221
|
+
bufs.push(buf);
|
|
222
|
+
break;
|
|
193
223
|
}
|
|
224
|
+
// requested part of buffer
|
|
225
|
+
const start = beginInclusive - bufStart;
|
|
226
|
+
bufs.push(buf.subarray(start, start + (endExclusive - beginInclusive)));
|
|
227
|
+
break;
|
|
194
228
|
}
|
|
195
|
-
if (
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
229
|
+
if (sliceStartInBuf) {
|
|
230
|
+
// slice starts in this buffer
|
|
231
|
+
if (beginInclusive === 0) {
|
|
232
|
+
// requested whole buffer
|
|
233
|
+
bufs.push(buf);
|
|
234
|
+
continue;
|
|
235
|
+
}
|
|
236
|
+
// requested part of buffer
|
|
237
|
+
bufs.push(buf.subarray(beginInclusive - bufStart));
|
|
238
|
+
continue;
|
|
201
239
|
}
|
|
202
240
|
if (sliceEndsInBuf) {
|
|
241
|
+
if (endExclusive === bufEnd) {
|
|
242
|
+
// requested whole buffer
|
|
243
|
+
bufs.push(buf);
|
|
244
|
+
break;
|
|
245
|
+
}
|
|
246
|
+
// requested part of buffer
|
|
247
|
+
bufs.push(buf.subarray(0, endExclusive - bufStart));
|
|
203
248
|
break;
|
|
204
249
|
}
|
|
250
|
+
// slice started before this buffer and ends after it
|
|
251
|
+
bufs.push(buf);
|
|
205
252
|
}
|
|
206
253
|
return { bufs, length: endExclusive - beginInclusive };
|
|
207
254
|
}
|
|
208
255
|
getInt8(byteOffset) {
|
|
209
|
-
const buf = this.
|
|
256
|
+
const buf = this.subarray(byteOffset, byteOffset + 1);
|
|
210
257
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
211
258
|
return view.getInt8(0);
|
|
212
259
|
}
|
|
213
260
|
setInt8(byteOffset, value) {
|
|
214
|
-
const buf =
|
|
261
|
+
const buf = allocUnsafe(1);
|
|
215
262
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
216
263
|
view.setInt8(0, value);
|
|
217
264
|
this.write(buf, byteOffset);
|
|
218
265
|
}
|
|
219
266
|
getInt16(byteOffset, littleEndian) {
|
|
220
|
-
const buf = this.
|
|
267
|
+
const buf = this.subarray(byteOffset, byteOffset + 2);
|
|
221
268
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
222
269
|
return view.getInt16(0, littleEndian);
|
|
223
270
|
}
|
|
224
271
|
setInt16(byteOffset, value, littleEndian) {
|
|
225
|
-
const buf =
|
|
272
|
+
const buf = alloc(2);
|
|
226
273
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
227
274
|
view.setInt16(0, value, littleEndian);
|
|
228
275
|
this.write(buf, byteOffset);
|
|
229
276
|
}
|
|
230
277
|
getInt32(byteOffset, littleEndian) {
|
|
231
|
-
const buf = this.
|
|
278
|
+
const buf = this.subarray(byteOffset, byteOffset + 4);
|
|
232
279
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
233
280
|
return view.getInt32(0, littleEndian);
|
|
234
281
|
}
|
|
235
282
|
setInt32(byteOffset, value, littleEndian) {
|
|
236
|
-
const buf =
|
|
283
|
+
const buf = alloc(4);
|
|
237
284
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
238
285
|
view.setInt32(0, value, littleEndian);
|
|
239
286
|
this.write(buf, byteOffset);
|
|
240
287
|
}
|
|
241
288
|
getBigInt64(byteOffset, littleEndian) {
|
|
242
|
-
const buf = this.
|
|
289
|
+
const buf = this.subarray(byteOffset, byteOffset + 8);
|
|
243
290
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
244
291
|
return view.getBigInt64(0, littleEndian);
|
|
245
292
|
}
|
|
246
293
|
setBigInt64(byteOffset, value, littleEndian) {
|
|
247
|
-
const buf =
|
|
294
|
+
const buf = alloc(8);
|
|
248
295
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
249
296
|
view.setBigInt64(0, value, littleEndian);
|
|
250
297
|
this.write(buf, byteOffset);
|
|
251
298
|
}
|
|
252
299
|
getUint8(byteOffset) {
|
|
253
|
-
const buf = this.
|
|
300
|
+
const buf = this.subarray(byteOffset, byteOffset + 1);
|
|
254
301
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
255
302
|
return view.getUint8(0);
|
|
256
303
|
}
|
|
257
304
|
setUint8(byteOffset, value) {
|
|
258
|
-
const buf =
|
|
305
|
+
const buf = allocUnsafe(1);
|
|
259
306
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
260
307
|
view.setUint8(0, value);
|
|
261
308
|
this.write(buf, byteOffset);
|
|
262
309
|
}
|
|
263
310
|
getUint16(byteOffset, littleEndian) {
|
|
264
|
-
const buf = this.
|
|
311
|
+
const buf = this.subarray(byteOffset, byteOffset + 2);
|
|
265
312
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
266
313
|
return view.getUint16(0, littleEndian);
|
|
267
314
|
}
|
|
268
315
|
setUint16(byteOffset, value, littleEndian) {
|
|
269
|
-
const buf =
|
|
316
|
+
const buf = alloc(2);
|
|
270
317
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
271
318
|
view.setUint16(0, value, littleEndian);
|
|
272
319
|
this.write(buf, byteOffset);
|
|
273
320
|
}
|
|
274
321
|
getUint32(byteOffset, littleEndian) {
|
|
275
|
-
const buf = this.
|
|
322
|
+
const buf = this.subarray(byteOffset, byteOffset + 4);
|
|
276
323
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
277
324
|
return view.getUint32(0, littleEndian);
|
|
278
325
|
}
|
|
279
326
|
setUint32(byteOffset, value, littleEndian) {
|
|
280
|
-
const buf =
|
|
327
|
+
const buf = alloc(4);
|
|
281
328
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
282
329
|
view.setUint32(0, value, littleEndian);
|
|
283
330
|
this.write(buf, byteOffset);
|
|
284
331
|
}
|
|
285
332
|
getBigUint64(byteOffset, littleEndian) {
|
|
286
|
-
const buf = this.
|
|
333
|
+
const buf = this.subarray(byteOffset, byteOffset + 8);
|
|
287
334
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
288
335
|
return view.getBigUint64(0, littleEndian);
|
|
289
336
|
}
|
|
290
337
|
setBigUint64(byteOffset, value, littleEndian) {
|
|
291
|
-
const buf =
|
|
338
|
+
const buf = alloc(8);
|
|
292
339
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
293
340
|
view.setBigUint64(0, value, littleEndian);
|
|
294
341
|
this.write(buf, byteOffset);
|
|
295
342
|
}
|
|
296
343
|
getFloat32(byteOffset, littleEndian) {
|
|
297
|
-
const buf = this.
|
|
344
|
+
const buf = this.subarray(byteOffset, byteOffset + 4);
|
|
298
345
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
299
346
|
return view.getFloat32(0, littleEndian);
|
|
300
347
|
}
|
|
301
348
|
setFloat32(byteOffset, value, littleEndian) {
|
|
302
|
-
const buf =
|
|
349
|
+
const buf = alloc(4);
|
|
303
350
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
304
351
|
view.setFloat32(0, value, littleEndian);
|
|
305
352
|
this.write(buf, byteOffset);
|
|
306
353
|
}
|
|
307
354
|
getFloat64(byteOffset, littleEndian) {
|
|
308
|
-
const buf = this.
|
|
355
|
+
const buf = this.subarray(byteOffset, byteOffset + 8);
|
|
309
356
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
310
357
|
return view.getFloat64(0, littleEndian);
|
|
311
358
|
}
|
|
312
359
|
setFloat64(byteOffset, value, littleEndian) {
|
|
313
|
-
const buf =
|
|
360
|
+
const buf = alloc(8);
|
|
314
361
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
315
362
|
view.setFloat64(0, value, littleEndian);
|
|
316
363
|
this.write(buf, byteOffset);
|
package/dist/src/index.js.map
CHANGED
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "uint8arraylist",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
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",
|
|
@@ -136,10 +136,11 @@
|
|
|
136
136
|
"release": "aegir release"
|
|
137
137
|
},
|
|
138
138
|
"dependencies": {
|
|
139
|
-
"uint8arrays": "^3.
|
|
139
|
+
"uint8arrays": "^3.1.0"
|
|
140
140
|
},
|
|
141
141
|
"devDependencies": {
|
|
142
142
|
"aegir": "^37.4.6",
|
|
143
|
+
"benchmark": "^2.1.4",
|
|
143
144
|
"bl": "^5.0.0",
|
|
144
145
|
"it-all": "^1.0.6"
|
|
145
146
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { concat } from 'uint8arrays/concat'
|
|
2
2
|
import { equals } from 'uint8arrays/equals'
|
|
3
|
+
import { allocUnsafe, alloc } from 'uint8arrays/alloc'
|
|
3
4
|
|
|
4
5
|
const symbol = Symbol.for('@achingbrain/uint8arraylist')
|
|
5
6
|
|
|
6
7
|
type Appendable = Uint8ArrayList | Uint8Array
|
|
7
8
|
|
|
8
|
-
function findBufAndOffset (bufs: Uint8Array[], index: number
|
|
9
|
-
if (index == null || index < 0
|
|
9
|
+
function findBufAndOffset (bufs: Uint8Array[], index: number) {
|
|
10
|
+
if (index == null || index < 0) {
|
|
10
11
|
throw new RangeError('index is out of bounds')
|
|
11
12
|
}
|
|
12
13
|
|
|
@@ -58,14 +59,14 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
/**
|
|
61
|
-
* Add one or more `bufs` to this Uint8ArrayList
|
|
62
|
+
* Add one or more `bufs` to the end of this Uint8ArrayList
|
|
62
63
|
*/
|
|
63
64
|
append (...bufs: Appendable[]) {
|
|
64
65
|
this.appendAll(bufs)
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
/**
|
|
68
|
-
* Add all `bufs` to this Uint8ArrayList
|
|
69
|
+
* Add all `bufs` to the end of this Uint8ArrayList
|
|
69
70
|
*/
|
|
70
71
|
appendAll (bufs: Appendable[]) {
|
|
71
72
|
let length = 0
|
|
@@ -75,8 +76,8 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
75
76
|
length += buf.byteLength
|
|
76
77
|
this.bufs.push(buf)
|
|
77
78
|
} else if (isUint8ArrayList(buf)) {
|
|
78
|
-
length += buf.
|
|
79
|
-
this.bufs
|
|
79
|
+
length += buf.byteLength
|
|
80
|
+
this.bufs.push(...buf.bufs)
|
|
80
81
|
} else {
|
|
81
82
|
throw new Error('Could not append value, must be an Uint8Array or a Uint8ArrayList')
|
|
82
83
|
}
|
|
@@ -85,11 +86,39 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
85
86
|
this.length += length
|
|
86
87
|
}
|
|
87
88
|
|
|
89
|
+
/**
|
|
90
|
+
* Add one or more `bufs` to the start of this Uint8ArrayList
|
|
91
|
+
*/
|
|
92
|
+
prepend (...bufs: Appendable[]) {
|
|
93
|
+
this.prependAll(bufs)
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Add all `bufs` to the start of this Uint8ArrayList
|
|
98
|
+
*/
|
|
99
|
+
prependAll (bufs: Appendable[]) {
|
|
100
|
+
let length = 0
|
|
101
|
+
|
|
102
|
+
for (const buf of bufs.reverse()) {
|
|
103
|
+
if (buf instanceof Uint8Array) {
|
|
104
|
+
length += buf.byteLength
|
|
105
|
+
this.bufs.unshift(buf)
|
|
106
|
+
} else if (isUint8ArrayList(buf)) {
|
|
107
|
+
length += buf.byteLength
|
|
108
|
+
this.bufs.unshift(...buf.bufs)
|
|
109
|
+
} else {
|
|
110
|
+
throw new Error('Could not prepend value, must be an Uint8Array or a Uint8ArrayList')
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
this.length += length
|
|
115
|
+
}
|
|
116
|
+
|
|
88
117
|
/**
|
|
89
118
|
* Read the value at `index`
|
|
90
119
|
*/
|
|
91
120
|
get (index: number) {
|
|
92
|
-
const res = findBufAndOffset(this.bufs, index
|
|
121
|
+
const res = findBufAndOffset(this.bufs, index)
|
|
93
122
|
|
|
94
123
|
return res.buf[res.index]
|
|
95
124
|
}
|
|
@@ -98,7 +127,7 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
98
127
|
* Set the value at `index` to `value`
|
|
99
128
|
*/
|
|
100
129
|
set (index: number, value: number) {
|
|
101
|
-
const res = findBufAndOffset(this.bufs, index
|
|
130
|
+
const res = findBufAndOffset(this.bufs, index)
|
|
102
131
|
|
|
103
132
|
res.buf[res.index] = value
|
|
104
133
|
}
|
|
@@ -158,7 +187,7 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
158
187
|
}
|
|
159
188
|
|
|
160
189
|
/**
|
|
161
|
-
* Returns a
|
|
190
|
+
* Returns a alloc from the given start and end element index.
|
|
162
191
|
*
|
|
163
192
|
* In the best case where the data extracted comes from a single Uint8Array
|
|
164
193
|
* internally this is a no-copy operation otherwise it is a copy operation.
|
|
@@ -174,26 +203,24 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
174
203
|
}
|
|
175
204
|
|
|
176
205
|
/**
|
|
177
|
-
* Returns a
|
|
206
|
+
* Returns a allocList from the given start and end element index.
|
|
178
207
|
*
|
|
179
208
|
* This is a no-copy operation.
|
|
180
209
|
*/
|
|
181
210
|
sublist (beginInclusive?: number, endExclusive?: number): Uint8ArrayList {
|
|
182
|
-
const { bufs } = this._subList(beginInclusive, endExclusive)
|
|
211
|
+
const { bufs, length } = this._subList(beginInclusive, endExclusive)
|
|
183
212
|
|
|
184
213
|
const list = new Uint8ArrayList()
|
|
185
|
-
list.
|
|
214
|
+
list.length = length
|
|
215
|
+
// don't loop, just set the bufs
|
|
216
|
+
list.bufs = bufs
|
|
186
217
|
|
|
187
218
|
return list
|
|
188
219
|
}
|
|
189
220
|
|
|
190
221
|
private _subList (beginInclusive?: number, endExclusive?: number) {
|
|
191
|
-
if (beginInclusive == null && endExclusive == null) {
|
|
192
|
-
return { bufs: this.bufs, length: this.length }
|
|
193
|
-
}
|
|
194
|
-
|
|
195
222
|
beginInclusive = beginInclusive ?? 0
|
|
196
|
-
endExclusive = endExclusive ??
|
|
223
|
+
endExclusive = endExclusive ?? this.length
|
|
197
224
|
|
|
198
225
|
if (beginInclusive < 0) {
|
|
199
226
|
beginInclusive = this.length + beginInclusive
|
|
@@ -204,66 +231,91 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
204
231
|
}
|
|
205
232
|
|
|
206
233
|
if (beginInclusive < 0 || endExclusive > this.length) {
|
|
207
|
-
throw new RangeError('index out of bounds')
|
|
234
|
+
throw new RangeError('index is out of bounds')
|
|
208
235
|
}
|
|
209
236
|
|
|
210
237
|
if (beginInclusive === endExclusive) {
|
|
211
238
|
return { bufs: [], length: 0 }
|
|
212
239
|
}
|
|
213
240
|
|
|
241
|
+
if (beginInclusive === 0 && endExclusive === this.length) {
|
|
242
|
+
return { bufs: this.bufs, length: this.length }
|
|
243
|
+
}
|
|
244
|
+
|
|
214
245
|
const bufs: Uint8Array[] = []
|
|
215
246
|
let offset = 0
|
|
216
247
|
|
|
217
|
-
for (
|
|
248
|
+
for (let i = 0; i < this.bufs.length; i++) {
|
|
249
|
+
const buf = this.bufs[i]
|
|
218
250
|
const bufStart = offset
|
|
219
251
|
const bufEnd = bufStart + buf.byteLength
|
|
220
|
-
const sliceStartInBuf = beginInclusive >= bufStart && beginInclusive < bufEnd
|
|
221
|
-
const sliceEndsInBuf = endExclusive > bufStart && endExclusive <= bufEnd
|
|
222
|
-
const bufInSlice = beginInclusive < bufStart && endExclusive >= bufEnd
|
|
223
|
-
offset = bufEnd
|
|
224
252
|
|
|
225
|
-
|
|
226
|
-
|
|
253
|
+
// for next loop
|
|
254
|
+
offset = bufEnd
|
|
227
255
|
|
|
228
|
-
if (
|
|
229
|
-
|
|
230
|
-
|
|
256
|
+
if (beginInclusive >= bufEnd) {
|
|
257
|
+
// start after this buf
|
|
258
|
+
continue
|
|
231
259
|
}
|
|
232
260
|
|
|
233
|
-
|
|
234
|
-
|
|
261
|
+
const sliceStartInBuf = beginInclusive >= bufStart && beginInclusive < bufEnd
|
|
262
|
+
const sliceEndsInBuf = endExclusive > bufStart && endExclusive <= bufEnd
|
|
235
263
|
|
|
236
|
-
|
|
237
|
-
|
|
264
|
+
if (sliceStartInBuf && sliceEndsInBuf) {
|
|
265
|
+
// slice is wholly contained within this buffer
|
|
266
|
+
if (beginInclusive === bufStart && endExclusive === bufEnd) {
|
|
267
|
+
// requested whole buffer
|
|
268
|
+
bufs.push(buf)
|
|
269
|
+
break
|
|
238
270
|
}
|
|
239
|
-
}
|
|
240
271
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
272
|
+
// requested part of buffer
|
|
273
|
+
const start = beginInclusive - bufStart
|
|
274
|
+
bufs.push(buf.subarray(start, start + (endExclusive - beginInclusive)))
|
|
275
|
+
break
|
|
244
276
|
}
|
|
245
277
|
|
|
246
|
-
if (
|
|
247
|
-
|
|
278
|
+
if (sliceStartInBuf) {
|
|
279
|
+
// slice starts in this buffer
|
|
280
|
+
if (beginInclusive === 0) {
|
|
281
|
+
// requested whole buffer
|
|
282
|
+
bufs.push(buf)
|
|
283
|
+
continue
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
// requested part of buffer
|
|
287
|
+
bufs.push(buf.subarray(beginInclusive - bufStart))
|
|
288
|
+
continue
|
|
248
289
|
}
|
|
249
290
|
|
|
250
291
|
if (sliceEndsInBuf) {
|
|
292
|
+
if (endExclusive === bufEnd) {
|
|
293
|
+
// requested whole buffer
|
|
294
|
+
bufs.push(buf)
|
|
295
|
+
break
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
// requested part of buffer
|
|
299
|
+
bufs.push(buf.subarray(0, endExclusive - bufStart))
|
|
251
300
|
break
|
|
252
301
|
}
|
|
302
|
+
|
|
303
|
+
// slice started before this buffer and ends after it
|
|
304
|
+
bufs.push(buf)
|
|
253
305
|
}
|
|
254
306
|
|
|
255
307
|
return { bufs, length: endExclusive - beginInclusive }
|
|
256
308
|
}
|
|
257
309
|
|
|
258
310
|
getInt8 (byteOffset: number): number {
|
|
259
|
-
const buf = this.
|
|
311
|
+
const buf = this.subarray(byteOffset, byteOffset + 1)
|
|
260
312
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
261
313
|
|
|
262
314
|
return view.getInt8(0)
|
|
263
315
|
}
|
|
264
316
|
|
|
265
317
|
setInt8 (byteOffset: number, value: number): void {
|
|
266
|
-
const buf =
|
|
318
|
+
const buf = allocUnsafe(1)
|
|
267
319
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
268
320
|
view.setInt8(0, value)
|
|
269
321
|
|
|
@@ -271,14 +323,14 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
271
323
|
}
|
|
272
324
|
|
|
273
325
|
getInt16 (byteOffset: number, littleEndian?: boolean): number {
|
|
274
|
-
const buf = this.
|
|
326
|
+
const buf = this.subarray(byteOffset, byteOffset + 2)
|
|
275
327
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
276
328
|
|
|
277
329
|
return view.getInt16(0, littleEndian)
|
|
278
330
|
}
|
|
279
331
|
|
|
280
332
|
setInt16 (byteOffset: number, value: number, littleEndian?: boolean): void {
|
|
281
|
-
const buf =
|
|
333
|
+
const buf = alloc(2)
|
|
282
334
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
283
335
|
view.setInt16(0, value, littleEndian)
|
|
284
336
|
|
|
@@ -286,14 +338,14 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
286
338
|
}
|
|
287
339
|
|
|
288
340
|
getInt32 (byteOffset: number, littleEndian?: boolean): number {
|
|
289
|
-
const buf = this.
|
|
341
|
+
const buf = this.subarray(byteOffset, byteOffset + 4)
|
|
290
342
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
291
343
|
|
|
292
344
|
return view.getInt32(0, littleEndian)
|
|
293
345
|
}
|
|
294
346
|
|
|
295
347
|
setInt32 (byteOffset: number, value: number, littleEndian?: boolean): void {
|
|
296
|
-
const buf =
|
|
348
|
+
const buf = alloc(4)
|
|
297
349
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
298
350
|
view.setInt32(0, value, littleEndian)
|
|
299
351
|
|
|
@@ -301,14 +353,14 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
301
353
|
}
|
|
302
354
|
|
|
303
355
|
getBigInt64 (byteOffset: number, littleEndian?: boolean): bigint {
|
|
304
|
-
const buf = this.
|
|
356
|
+
const buf = this.subarray(byteOffset, byteOffset + 8)
|
|
305
357
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
306
358
|
|
|
307
359
|
return view.getBigInt64(0, littleEndian)
|
|
308
360
|
}
|
|
309
361
|
|
|
310
362
|
setBigInt64 (byteOffset: number, value: bigint, littleEndian?: boolean): void {
|
|
311
|
-
const buf =
|
|
363
|
+
const buf = alloc(8)
|
|
312
364
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
313
365
|
view.setBigInt64(0, value, littleEndian)
|
|
314
366
|
|
|
@@ -316,14 +368,14 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
316
368
|
}
|
|
317
369
|
|
|
318
370
|
getUint8 (byteOffset: number): number {
|
|
319
|
-
const buf = this.
|
|
371
|
+
const buf = this.subarray(byteOffset, byteOffset + 1)
|
|
320
372
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
321
373
|
|
|
322
374
|
return view.getUint8(0)
|
|
323
375
|
}
|
|
324
376
|
|
|
325
377
|
setUint8 (byteOffset: number, value: number): void {
|
|
326
|
-
const buf =
|
|
378
|
+
const buf = allocUnsafe(1)
|
|
327
379
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
328
380
|
view.setUint8(0, value)
|
|
329
381
|
|
|
@@ -331,14 +383,14 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
331
383
|
}
|
|
332
384
|
|
|
333
385
|
getUint16 (byteOffset: number, littleEndian?: boolean): number {
|
|
334
|
-
const buf = this.
|
|
386
|
+
const buf = this.subarray(byteOffset, byteOffset + 2)
|
|
335
387
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
336
388
|
|
|
337
389
|
return view.getUint16(0, littleEndian)
|
|
338
390
|
}
|
|
339
391
|
|
|
340
392
|
setUint16 (byteOffset: number, value: number, littleEndian?: boolean): void {
|
|
341
|
-
const buf =
|
|
393
|
+
const buf = alloc(2)
|
|
342
394
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
343
395
|
view.setUint16(0, value, littleEndian)
|
|
344
396
|
|
|
@@ -346,14 +398,14 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
346
398
|
}
|
|
347
399
|
|
|
348
400
|
getUint32 (byteOffset: number, littleEndian?: boolean): number {
|
|
349
|
-
const buf = this.
|
|
401
|
+
const buf = this.subarray(byteOffset, byteOffset + 4)
|
|
350
402
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
351
403
|
|
|
352
404
|
return view.getUint32(0, littleEndian)
|
|
353
405
|
}
|
|
354
406
|
|
|
355
407
|
setUint32 (byteOffset: number, value: number, littleEndian?: boolean): void {
|
|
356
|
-
const buf =
|
|
408
|
+
const buf = alloc(4)
|
|
357
409
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
358
410
|
view.setUint32(0, value, littleEndian)
|
|
359
411
|
|
|
@@ -361,14 +413,14 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
361
413
|
}
|
|
362
414
|
|
|
363
415
|
getBigUint64 (byteOffset: number, littleEndian?: boolean): bigint {
|
|
364
|
-
const buf = this.
|
|
416
|
+
const buf = this.subarray(byteOffset, byteOffset + 8)
|
|
365
417
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
366
418
|
|
|
367
419
|
return view.getBigUint64(0, littleEndian)
|
|
368
420
|
}
|
|
369
421
|
|
|
370
422
|
setBigUint64 (byteOffset: number, value: bigint, littleEndian?: boolean): void {
|
|
371
|
-
const buf =
|
|
423
|
+
const buf = alloc(8)
|
|
372
424
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
373
425
|
view.setBigUint64(0, value, littleEndian)
|
|
374
426
|
|
|
@@ -376,14 +428,14 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
376
428
|
}
|
|
377
429
|
|
|
378
430
|
getFloat32 (byteOffset: number, littleEndian?: boolean): number {
|
|
379
|
-
const buf = this.
|
|
431
|
+
const buf = this.subarray(byteOffset, byteOffset + 4)
|
|
380
432
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
381
433
|
|
|
382
434
|
return view.getFloat32(0, littleEndian)
|
|
383
435
|
}
|
|
384
436
|
|
|
385
437
|
setFloat32 (byteOffset: number, value: number, littleEndian?: boolean): void {
|
|
386
|
-
const buf =
|
|
438
|
+
const buf = alloc(4)
|
|
387
439
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
388
440
|
view.setFloat32(0, value, littleEndian)
|
|
389
441
|
|
|
@@ -391,14 +443,14 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
391
443
|
}
|
|
392
444
|
|
|
393
445
|
getFloat64 (byteOffset: number, littleEndian?: boolean): number {
|
|
394
|
-
const buf = this.
|
|
446
|
+
const buf = this.subarray(byteOffset, byteOffset + 8)
|
|
395
447
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
396
448
|
|
|
397
449
|
return view.getFloat64(0, littleEndian)
|
|
398
450
|
}
|
|
399
451
|
|
|
400
452
|
setFloat64 (byteOffset: number, value: number, littleEndian?: boolean): void {
|
|
401
|
-
const buf =
|
|
453
|
+
const buf = alloc(8)
|
|
402
454
|
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
403
455
|
view.setFloat64(0, value, littleEndian)
|
|
404
456
|
|