uint8arraylist 1.2.0 → 1.5.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 +41 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +173 -10
- package/dist/src/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +221 -13
package/dist/src/index.d.ts
CHANGED
|
@@ -1,13 +1,34 @@
|
|
|
1
1
|
declare type Appendable = Uint8ArrayList | Uint8Array;
|
|
2
|
+
/**
|
|
3
|
+
* Check if object is a CID instance
|
|
4
|
+
*/
|
|
5
|
+
export declare function isUint8ArrayList(value: any): value is Uint8ArrayList;
|
|
2
6
|
export declare class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
3
7
|
private bufs;
|
|
4
8
|
length: number;
|
|
5
9
|
constructor(...data: Appendable[]);
|
|
6
10
|
[Symbol.iterator](): Generator<Uint8Array, void, undefined>;
|
|
7
11
|
get byteLength(): number;
|
|
12
|
+
/**
|
|
13
|
+
* Add one or more `bufs` to this Uint8ArrayList
|
|
14
|
+
*/
|
|
8
15
|
append(...bufs: Appendable[]): void;
|
|
16
|
+
/**
|
|
17
|
+
* Add all `bufs` to this Uint8ArrayList
|
|
18
|
+
*/
|
|
9
19
|
appendAll(bufs: Appendable[]): void;
|
|
20
|
+
/**
|
|
21
|
+
* Read the value at `index`
|
|
22
|
+
*/
|
|
10
23
|
get(index: number): number;
|
|
24
|
+
/**
|
|
25
|
+
* Set the value at `index` to `value`
|
|
26
|
+
*/
|
|
27
|
+
set(index: number, value: number): void;
|
|
28
|
+
/**
|
|
29
|
+
* Copy bytes from `buf` to the index specified by `offset`
|
|
30
|
+
*/
|
|
31
|
+
write(buf: Appendable, offset?: number): void;
|
|
11
32
|
/**
|
|
12
33
|
* Remove bytes from the front of the pool
|
|
13
34
|
*/
|
|
@@ -18,6 +39,26 @@ export declare class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
18
39
|
bufs: Uint8Array[];
|
|
19
40
|
length: number;
|
|
20
41
|
};
|
|
42
|
+
getInt8(byteOffset: number): number;
|
|
43
|
+
setInt8(byteOffset: number, value: number): void;
|
|
44
|
+
getInt16(byteOffset: number, littleEndian?: boolean): number;
|
|
45
|
+
setInt16(byteOffset: number, value: number, littleEndian?: boolean): void;
|
|
46
|
+
getInt32(byteOffset: number, littleEndian?: boolean): number;
|
|
47
|
+
setInt32(byteOffset: number, value: number, littleEndian?: boolean): void;
|
|
48
|
+
getBigInt64(byteOffset: number, littleEndian?: boolean): BigInt;
|
|
49
|
+
setBigInt64(byteOffset: number, value: bigint, littleEndian?: boolean): void;
|
|
50
|
+
getUint8(byteOffset: number): number;
|
|
51
|
+
setUint8(byteOffset: number, value: number): void;
|
|
52
|
+
getUint16(byteOffset: number, littleEndian?: boolean): number;
|
|
53
|
+
setUint16(byteOffset: number, value: number, littleEndian?: boolean): void;
|
|
54
|
+
getUint32(byteOffset: number, littleEndian?: boolean): number;
|
|
55
|
+
setUint32(byteOffset: number, value: number, littleEndian?: boolean): void;
|
|
56
|
+
getBigUint64(byteOffset: number, littleEndian?: boolean): BigInt;
|
|
57
|
+
setBigUint64(byteOffset: number, value: bigint, littleEndian?: boolean): void;
|
|
58
|
+
getFloat32(byteOffset: number, littleEndian?: boolean): number;
|
|
59
|
+
setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void;
|
|
60
|
+
getFloat64(byteOffset: number, littleEndian?: boolean): number;
|
|
61
|
+
setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void;
|
|
21
62
|
}
|
|
22
63
|
export {};
|
|
23
64
|
//# sourceMappingURL=index.d.ts.map
|
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":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,6 +1,32 @@
|
|
|
1
1
|
import { concat } from 'uint8arrays';
|
|
2
|
+
const symbol = Symbol.for('@achingbrain/uint8arraylist');
|
|
3
|
+
function findBufAndOffset(bufs, index, totalLength) {
|
|
4
|
+
if (index == null || index < 0 || index >= totalLength) {
|
|
5
|
+
throw new RangeError('index is out of bounds');
|
|
6
|
+
}
|
|
7
|
+
let offset = 0;
|
|
8
|
+
for (const buf of bufs) {
|
|
9
|
+
const bufEnd = offset + buf.byteLength;
|
|
10
|
+
if (index < bufEnd) {
|
|
11
|
+
return {
|
|
12
|
+
buf,
|
|
13
|
+
index: index - offset
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
offset = bufEnd;
|
|
17
|
+
}
|
|
18
|
+
throw new RangeError('index is out of bounds');
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Check if object is a CID instance
|
|
22
|
+
*/
|
|
23
|
+
export function isUint8ArrayList(value) {
|
|
24
|
+
return Boolean(value?.[symbol]);
|
|
25
|
+
}
|
|
2
26
|
export class Uint8ArrayList {
|
|
3
27
|
constructor(...data) {
|
|
28
|
+
// Define symbol
|
|
29
|
+
Object.defineProperty(this, symbol, { value: true });
|
|
4
30
|
this.bufs = [];
|
|
5
31
|
this.length = 0;
|
|
6
32
|
this.appendAll(data);
|
|
@@ -11,9 +37,15 @@ export class Uint8ArrayList {
|
|
|
11
37
|
get byteLength() {
|
|
12
38
|
return this.length;
|
|
13
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Add one or more `bufs` to this Uint8ArrayList
|
|
42
|
+
*/
|
|
14
43
|
append(...bufs) {
|
|
15
44
|
this.appendAll(bufs);
|
|
16
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Add all `bufs` to this Uint8ArrayList
|
|
48
|
+
*/
|
|
17
49
|
appendAll(bufs) {
|
|
18
50
|
let length = 0;
|
|
19
51
|
for (const buf of bufs) {
|
|
@@ -21,26 +53,47 @@ export class Uint8ArrayList {
|
|
|
21
53
|
length += buf.byteLength;
|
|
22
54
|
this.bufs.push(buf);
|
|
23
55
|
}
|
|
24
|
-
else {
|
|
56
|
+
else if (isUint8ArrayList(buf)) {
|
|
25
57
|
length += buf.length;
|
|
26
58
|
this.bufs = this.bufs.concat(buf.bufs);
|
|
27
59
|
}
|
|
60
|
+
else {
|
|
61
|
+
throw new Error('Could not append value, must be an Uint8Array or a Uint8ArrayList');
|
|
62
|
+
}
|
|
28
63
|
}
|
|
29
64
|
this.length += length;
|
|
30
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Read the value at `index`
|
|
68
|
+
*/
|
|
31
69
|
get(index) {
|
|
32
|
-
|
|
33
|
-
|
|
70
|
+
const res = findBufAndOffset(this.bufs, index, this.length);
|
|
71
|
+
return res.buf[res.index];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Set the value at `index` to `value`
|
|
75
|
+
*/
|
|
76
|
+
set(index, value) {
|
|
77
|
+
const res = findBufAndOffset(this.bufs, index, this.length);
|
|
78
|
+
res.buf[res.index] = value;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Copy bytes from `buf` to the index specified by `offset`
|
|
82
|
+
*/
|
|
83
|
+
write(buf, offset = 0) {
|
|
84
|
+
if (buf instanceof Uint8Array) {
|
|
85
|
+
for (let i = 0; i < buf.length; i++) {
|
|
86
|
+
this.set(offset + i, buf[i]);
|
|
87
|
+
}
|
|
34
88
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (index < bufEnd) {
|
|
39
|
-
return buf[index - offset];
|
|
89
|
+
else if (isUint8ArrayList(buf)) {
|
|
90
|
+
for (let i = 0; i < buf.length; i++) {
|
|
91
|
+
this.set(offset + i, buf.get(i));
|
|
40
92
|
}
|
|
41
|
-
offset = bufEnd;
|
|
42
93
|
}
|
|
43
|
-
|
|
94
|
+
else {
|
|
95
|
+
throw new Error('Could not write value, must be an Uint8Array or a Uint8ArrayList');
|
|
96
|
+
}
|
|
44
97
|
}
|
|
45
98
|
/**
|
|
46
99
|
* Remove bytes from the front of the pool
|
|
@@ -121,5 +174,115 @@ export class Uint8ArrayList {
|
|
|
121
174
|
}
|
|
122
175
|
return { bufs, length: endExclusive - beginInclusive };
|
|
123
176
|
}
|
|
177
|
+
getInt8(byteOffset) {
|
|
178
|
+
const buf = this.slice(byteOffset, byteOffset + 1);
|
|
179
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
180
|
+
return view.getInt8(0);
|
|
181
|
+
}
|
|
182
|
+
setInt8(byteOffset, value) {
|
|
183
|
+
const buf = new Uint8Array(1);
|
|
184
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
185
|
+
view.setInt8(0, value);
|
|
186
|
+
this.write(buf, byteOffset);
|
|
187
|
+
}
|
|
188
|
+
getInt16(byteOffset, littleEndian) {
|
|
189
|
+
const buf = this.slice(byteOffset, byteOffset + 2);
|
|
190
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
191
|
+
return view.getInt16(0, littleEndian);
|
|
192
|
+
}
|
|
193
|
+
setInt16(byteOffset, value, littleEndian) {
|
|
194
|
+
const buf = new Uint8Array(2);
|
|
195
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
196
|
+
view.setInt16(0, value, littleEndian);
|
|
197
|
+
this.write(buf, byteOffset);
|
|
198
|
+
}
|
|
199
|
+
getInt32(byteOffset, littleEndian) {
|
|
200
|
+
const buf = this.slice(byteOffset, byteOffset + 4);
|
|
201
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
202
|
+
return view.getInt32(0, littleEndian);
|
|
203
|
+
}
|
|
204
|
+
setInt32(byteOffset, value, littleEndian) {
|
|
205
|
+
const buf = new Uint8Array(4);
|
|
206
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
207
|
+
view.setInt32(0, value, littleEndian);
|
|
208
|
+
this.write(buf, byteOffset);
|
|
209
|
+
}
|
|
210
|
+
getBigInt64(byteOffset, littleEndian) {
|
|
211
|
+
const buf = this.slice(byteOffset, byteOffset + 8);
|
|
212
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
213
|
+
return view.getBigInt64(0, littleEndian);
|
|
214
|
+
}
|
|
215
|
+
setBigInt64(byteOffset, value, littleEndian) {
|
|
216
|
+
const buf = new Uint8Array(8);
|
|
217
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
218
|
+
view.setBigInt64(0, value, littleEndian);
|
|
219
|
+
this.write(buf, byteOffset);
|
|
220
|
+
}
|
|
221
|
+
getUint8(byteOffset) {
|
|
222
|
+
const buf = this.slice(byteOffset, byteOffset + 1);
|
|
223
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
224
|
+
return view.getUint8(0);
|
|
225
|
+
}
|
|
226
|
+
setUint8(byteOffset, value) {
|
|
227
|
+
const buf = new Uint8Array(1);
|
|
228
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
229
|
+
view.setUint8(0, value);
|
|
230
|
+
this.write(buf, byteOffset);
|
|
231
|
+
}
|
|
232
|
+
getUint16(byteOffset, littleEndian) {
|
|
233
|
+
const buf = this.slice(byteOffset, byteOffset + 2);
|
|
234
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
235
|
+
return view.getUint16(0, littleEndian);
|
|
236
|
+
}
|
|
237
|
+
setUint16(byteOffset, value, littleEndian) {
|
|
238
|
+
const buf = new Uint8Array(2);
|
|
239
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
240
|
+
view.setUint16(0, value, littleEndian);
|
|
241
|
+
this.write(buf, byteOffset);
|
|
242
|
+
}
|
|
243
|
+
getUint32(byteOffset, littleEndian) {
|
|
244
|
+
const buf = this.slice(byteOffset, byteOffset + 4);
|
|
245
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
246
|
+
return view.getUint32(0, littleEndian);
|
|
247
|
+
}
|
|
248
|
+
setUint32(byteOffset, value, littleEndian) {
|
|
249
|
+
const buf = new Uint8Array(4);
|
|
250
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
251
|
+
view.setUint32(0, value, littleEndian);
|
|
252
|
+
this.write(buf, byteOffset);
|
|
253
|
+
}
|
|
254
|
+
getBigUint64(byteOffset, littleEndian) {
|
|
255
|
+
const buf = this.slice(byteOffset, byteOffset + 8);
|
|
256
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
257
|
+
return view.getBigUint64(0, littleEndian);
|
|
258
|
+
}
|
|
259
|
+
setBigUint64(byteOffset, value, littleEndian) {
|
|
260
|
+
const buf = new Uint8Array(8);
|
|
261
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
262
|
+
view.setBigUint64(0, value, littleEndian);
|
|
263
|
+
this.write(buf, byteOffset);
|
|
264
|
+
}
|
|
265
|
+
getFloat32(byteOffset, littleEndian) {
|
|
266
|
+
const buf = this.slice(byteOffset, byteOffset + 4);
|
|
267
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
268
|
+
return view.getFloat32(0, littleEndian);
|
|
269
|
+
}
|
|
270
|
+
setFloat32(byteOffset, value, littleEndian) {
|
|
271
|
+
const buf = new Uint8Array(4);
|
|
272
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
273
|
+
view.setFloat32(0, value, littleEndian);
|
|
274
|
+
this.write(buf, byteOffset);
|
|
275
|
+
}
|
|
276
|
+
getFloat64(byteOffset, littleEndian) {
|
|
277
|
+
const buf = this.slice(byteOffset, byteOffset + 8);
|
|
278
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
279
|
+
return view.getFloat64(0, littleEndian);
|
|
280
|
+
}
|
|
281
|
+
setFloat64(byteOffset, value, littleEndian) {
|
|
282
|
+
const buf = new Uint8Array(8);
|
|
283
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
284
|
+
view.setFloat64(0, value, littleEndian);
|
|
285
|
+
this.write(buf, byteOffset);
|
|
286
|
+
}
|
|
124
287
|
}
|
|
125
288
|
//# sourceMappingURL=index.js.map
|
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
package/src/index.ts
CHANGED
|
@@ -1,12 +1,47 @@
|
|
|
1
1
|
import { concat } from 'uint8arrays'
|
|
2
2
|
|
|
3
|
+
const symbol = Symbol.for('@achingbrain/uint8arraylist')
|
|
4
|
+
|
|
3
5
|
type Appendable = Uint8ArrayList | Uint8Array
|
|
4
6
|
|
|
7
|
+
function findBufAndOffset (bufs: Uint8Array[], index: number, totalLength: number) {
|
|
8
|
+
if (index == null || index < 0 || index >= totalLength) {
|
|
9
|
+
throw new RangeError('index is out of bounds')
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
let offset = 0
|
|
13
|
+
|
|
14
|
+
for (const buf of bufs) {
|
|
15
|
+
const bufEnd = offset + buf.byteLength
|
|
16
|
+
|
|
17
|
+
if (index < bufEnd) {
|
|
18
|
+
return {
|
|
19
|
+
buf,
|
|
20
|
+
index: index - offset
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
offset = bufEnd
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
throw new RangeError('index is out of bounds')
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Check if object is a CID instance
|
|
32
|
+
*/
|
|
33
|
+
export function isUint8ArrayList (value: any): value is Uint8ArrayList {
|
|
34
|
+
return Boolean(value?.[symbol])
|
|
35
|
+
}
|
|
36
|
+
|
|
5
37
|
export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
6
38
|
private bufs: Uint8Array[]
|
|
7
39
|
public length: number
|
|
8
40
|
|
|
9
41
|
constructor (...data: Appendable[]) {
|
|
42
|
+
// Define symbol
|
|
43
|
+
Object.defineProperty(this, symbol, { value: true })
|
|
44
|
+
|
|
10
45
|
this.bufs = []
|
|
11
46
|
this.length = 0
|
|
12
47
|
|
|
@@ -21,10 +56,16 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
21
56
|
return this.length
|
|
22
57
|
}
|
|
23
58
|
|
|
59
|
+
/**
|
|
60
|
+
* Add one or more `bufs` to this Uint8ArrayList
|
|
61
|
+
*/
|
|
24
62
|
append (...bufs: Appendable[]) {
|
|
25
63
|
this.appendAll(bufs)
|
|
26
64
|
}
|
|
27
65
|
|
|
66
|
+
/**
|
|
67
|
+
* Add all `bufs` to this Uint8ArrayList
|
|
68
|
+
*/
|
|
28
69
|
appendAll (bufs: Appendable[]) {
|
|
29
70
|
let length = 0
|
|
30
71
|
|
|
@@ -32,33 +73,50 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
32
73
|
if (buf instanceof Uint8Array) {
|
|
33
74
|
length += buf.byteLength
|
|
34
75
|
this.bufs.push(buf)
|
|
35
|
-
} else {
|
|
76
|
+
} else if (isUint8ArrayList(buf)) {
|
|
36
77
|
length += buf.length
|
|
37
78
|
this.bufs = this.bufs.concat(buf.bufs)
|
|
79
|
+
} else {
|
|
80
|
+
throw new Error('Could not append value, must be an Uint8Array or a Uint8ArrayList')
|
|
38
81
|
}
|
|
39
82
|
}
|
|
40
83
|
|
|
41
84
|
this.length += length
|
|
42
85
|
}
|
|
43
86
|
|
|
87
|
+
/**
|
|
88
|
+
* Read the value at `index`
|
|
89
|
+
*/
|
|
44
90
|
get (index: number) {
|
|
45
|
-
|
|
46
|
-
throw new RangeError('index is out of bounds')
|
|
47
|
-
}
|
|
91
|
+
const res = findBufAndOffset(this.bufs, index, this.length)
|
|
48
92
|
|
|
49
|
-
|
|
93
|
+
return res.buf[res.index]
|
|
94
|
+
}
|
|
50
95
|
|
|
51
|
-
|
|
52
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Set the value at `index` to `value`
|
|
98
|
+
*/
|
|
99
|
+
set (index: number, value: number) {
|
|
100
|
+
const res = findBufAndOffset(this.bufs, index, this.length)
|
|
53
101
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
102
|
+
res.buf[res.index] = value
|
|
103
|
+
}
|
|
57
104
|
|
|
58
|
-
|
|
105
|
+
/**
|
|
106
|
+
* Copy bytes from `buf` to the index specified by `offset`
|
|
107
|
+
*/
|
|
108
|
+
write (buf: Appendable, offset: number = 0) {
|
|
109
|
+
if (buf instanceof Uint8Array) {
|
|
110
|
+
for (let i = 0; i < buf.length; i++) {
|
|
111
|
+
this.set(offset + i, buf[i])
|
|
112
|
+
}
|
|
113
|
+
} else if (isUint8ArrayList(buf)) {
|
|
114
|
+
for (let i = 0; i < buf.length; i++) {
|
|
115
|
+
this.set(offset + i, buf.get(i))
|
|
116
|
+
}
|
|
117
|
+
} else {
|
|
118
|
+
throw new Error('Could not write value, must be an Uint8Array or a Uint8ArrayList')
|
|
59
119
|
}
|
|
60
|
-
|
|
61
|
-
throw new RangeError('index is out of bounds')
|
|
62
120
|
}
|
|
63
121
|
|
|
64
122
|
/**
|
|
@@ -160,4 +218,154 @@ export class Uint8ArrayList implements Iterable<Uint8Array> {
|
|
|
160
218
|
|
|
161
219
|
return { bufs, length: endExclusive - beginInclusive }
|
|
162
220
|
}
|
|
221
|
+
|
|
222
|
+
getInt8 (byteOffset: number): number {
|
|
223
|
+
const buf = this.slice(byteOffset, byteOffset + 1)
|
|
224
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
225
|
+
|
|
226
|
+
return view.getInt8(0)
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
setInt8 (byteOffset: number, value: number): void {
|
|
230
|
+
const buf = new Uint8Array(1)
|
|
231
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
232
|
+
view.setInt8(0, value)
|
|
233
|
+
|
|
234
|
+
this.write(buf, byteOffset)
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
getInt16 (byteOffset: number, littleEndian?: boolean): number {
|
|
238
|
+
const buf = this.slice(byteOffset, byteOffset + 2)
|
|
239
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
240
|
+
|
|
241
|
+
return view.getInt16(0, littleEndian)
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
setInt16 (byteOffset: number, value: number, littleEndian?: boolean): void {
|
|
245
|
+
const buf = new Uint8Array(2)
|
|
246
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
247
|
+
view.setInt16(0, value, littleEndian)
|
|
248
|
+
|
|
249
|
+
this.write(buf, byteOffset)
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
getInt32 (byteOffset: number, littleEndian?: boolean): number {
|
|
253
|
+
const buf = this.slice(byteOffset, byteOffset + 4)
|
|
254
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
255
|
+
|
|
256
|
+
return view.getInt32(0, littleEndian)
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
setInt32 (byteOffset: number, value: number, littleEndian?: boolean): void {
|
|
260
|
+
const buf = new Uint8Array(4)
|
|
261
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
262
|
+
view.setInt32(0, value, littleEndian)
|
|
263
|
+
|
|
264
|
+
this.write(buf, byteOffset)
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
getBigInt64 (byteOffset: number, littleEndian?: boolean): BigInt {
|
|
268
|
+
const buf = this.slice(byteOffset, byteOffset + 8)
|
|
269
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
270
|
+
|
|
271
|
+
return view.getBigInt64(0, littleEndian)
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
setBigInt64 (byteOffset: number, value: bigint, littleEndian?: boolean): void {
|
|
275
|
+
const buf = new Uint8Array(8)
|
|
276
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
277
|
+
view.setBigInt64(0, value, littleEndian)
|
|
278
|
+
|
|
279
|
+
this.write(buf, byteOffset)
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
getUint8 (byteOffset: number): number {
|
|
283
|
+
const buf = this.slice(byteOffset, byteOffset + 1)
|
|
284
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
285
|
+
|
|
286
|
+
return view.getUint8(0)
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
setUint8 (byteOffset: number, value: number): void {
|
|
290
|
+
const buf = new Uint8Array(1)
|
|
291
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
292
|
+
view.setUint8(0, value)
|
|
293
|
+
|
|
294
|
+
this.write(buf, byteOffset)
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
getUint16 (byteOffset: number, littleEndian?: boolean): number {
|
|
298
|
+
const buf = this.slice(byteOffset, byteOffset + 2)
|
|
299
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
300
|
+
|
|
301
|
+
return view.getUint16(0, littleEndian)
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
setUint16 (byteOffset: number, value: number, littleEndian?: boolean): void {
|
|
305
|
+
const buf = new Uint8Array(2)
|
|
306
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
307
|
+
view.setUint16(0, value, littleEndian)
|
|
308
|
+
|
|
309
|
+
this.write(buf, byteOffset)
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
getUint32 (byteOffset: number, littleEndian?: boolean): number {
|
|
313
|
+
const buf = this.slice(byteOffset, byteOffset + 4)
|
|
314
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
315
|
+
|
|
316
|
+
return view.getUint32(0, littleEndian)
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
setUint32 (byteOffset: number, value: number, littleEndian?: boolean): void {
|
|
320
|
+
const buf = new Uint8Array(4)
|
|
321
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
322
|
+
view.setUint32(0, value, littleEndian)
|
|
323
|
+
|
|
324
|
+
this.write(buf, byteOffset)
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
getBigUint64 (byteOffset: number, littleEndian?: boolean): BigInt {
|
|
328
|
+
const buf = this.slice(byteOffset, byteOffset + 8)
|
|
329
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
330
|
+
|
|
331
|
+
return view.getBigUint64(0, littleEndian)
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
setBigUint64 (byteOffset: number, value: bigint, littleEndian?: boolean): void {
|
|
335
|
+
const buf = new Uint8Array(8)
|
|
336
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
337
|
+
view.setBigUint64(0, value, littleEndian)
|
|
338
|
+
|
|
339
|
+
this.write(buf, byteOffset)
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
getFloat32 (byteOffset: number, littleEndian?: boolean): number {
|
|
343
|
+
const buf = this.slice(byteOffset, byteOffset + 4)
|
|
344
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
345
|
+
|
|
346
|
+
return view.getFloat32(0, littleEndian)
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
setFloat32 (byteOffset: number, value: number, littleEndian?: boolean): void {
|
|
350
|
+
const buf = new Uint8Array(4)
|
|
351
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
352
|
+
view.setFloat32(0, value, littleEndian)
|
|
353
|
+
|
|
354
|
+
this.write(buf, byteOffset)
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
getFloat64 (byteOffset: number, littleEndian?: boolean): number {
|
|
358
|
+
const buf = this.slice(byteOffset, byteOffset + 8)
|
|
359
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
360
|
+
|
|
361
|
+
return view.getFloat64(0, littleEndian)
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
setFloat64 (byteOffset: number, value: number, littleEndian?: boolean): void {
|
|
365
|
+
const buf = new Uint8Array(8)
|
|
366
|
+
const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
|
|
367
|
+
view.setFloat64(0, value, littleEndian)
|
|
368
|
+
|
|
369
|
+
this.write(buf, byteOffset)
|
|
370
|
+
}
|
|
163
371
|
}
|