bireader 3.1.4 → 3.1.6

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.
@@ -1,1328 +0,0 @@
1
- /// <reference types="node" />
2
- import { BigValue, endian, hexdumpOptions, stringOptions } from '../common.js';
3
- export declare class BiBase {
4
- /**
5
- * Endianness of default read.
6
- * @type {endian}
7
- */
8
- endian: endian;
9
- /**
10
- * Current read byte location.
11
- */
12
- offset: number;
13
- /**
14
- * Current read byte's bit location.
15
- */
16
- bitoffset: number;
17
- /**
18
- * Size in bytes of the current buffer.
19
- */
20
- size: number;
21
- /**
22
- * Size in bits of the current buffer.
23
- */
24
- sizeB: number;
25
- /**
26
- * Allows the buffer to extend reading or writing outside of current size
27
- */
28
- strict: boolean;
29
- /**
30
- * Console log a hexdump on error.
31
- */
32
- errorDump: boolean;
33
- /**
34
- * Current buffer data.
35
- * @type {Buffer|Uint8Array|null}
36
- */
37
- data: Buffer | Uint8Array | null;
38
- /**
39
- * When the data buffer needs to be extended while strict mode is ``false``, this will be the amount it extends.
40
- *
41
- * Otherwise it extends just the amount of the next written value.
42
- *
43
- * This can greatly speed up data writes when large files are being written.
44
- *
45
- * NOTE: Using ``BiWriter.get`` or ``BiWriter.return`` will now remove all data after the current write position. Use ``BiWriter.data`` to get the full buffer instead.
46
- */
47
- extendBufferSize: number;
48
- fd: any;
49
- filePath: string;
50
- fsMode: string;
51
- /**
52
- * The settings that used when using the .str getter / setter
53
- */
54
- private strDefaults;
55
- maxFileSize: number | null;
56
- constructor();
57
- /**
58
- * Settings for when using .str
59
- *
60
- * @param {stringOptions} settings options to use with .str
61
- */
62
- set strSettings(settings: stringOptions);
63
- /**
64
- * Enables expanding in reader (changes strict)
65
- *
66
- * @param {boolean} mode - Enable expanding in reader (changes strict)
67
- */
68
- writeMode(mode: boolean): void;
69
- /**
70
- * Dummy function, not needed on Non-Stream
71
- */
72
- open(): number;
73
- /**
74
- * Dummy function, not needed on Non-Stream
75
- */
76
- updateSize(): void;
77
- /**
78
- * removes data.
79
- */
80
- close(): void;
81
- /**
82
- * Dummy function, not needed on Non-Stream
83
- */
84
- read(start: number, length: number, consume?: boolean): Buffer | Uint8Array;
85
- /**
86
- * Dummy function, not needed on Non-Stream
87
- */
88
- write(start: number, data: Buffer, consume?: boolean): number;
89
- /**
90
- * Dummy function, not needed on Non-Stream
91
- */
92
- commit(consume?: boolean): number;
93
- extendArray(to_padd: number): void;
94
- isBufferOrUint8Array(obj: Buffer | Uint8Array): boolean;
95
- /**
96
- *
97
- * Change endian, defaults to little.
98
- *
99
- * Can be changed at any time, doesn't loose position.
100
- *
101
- * @param {endian} endian - endianness ``big`` or ``little``
102
- */
103
- endianness(endian: endian): void;
104
- /**
105
- * Sets endian to big.
106
- */
107
- bigEndian(): void;
108
- /**
109
- * Sets endian to big.
110
- */
111
- big(): void;
112
- /**
113
- * Sets endian to big.
114
- */
115
- be(): void;
116
- /**
117
- * Sets endian to little.
118
- */
119
- littleEndian(): void;
120
- /**
121
- * Sets endian to little.
122
- */
123
- little(): void;
124
- /**
125
- * Sets endian to little.
126
- */
127
- le(): void;
128
- /**
129
- * Size in bytes of the current buffer.
130
- *
131
- * @returns {number} size
132
- */
133
- get length(): number;
134
- /**
135
- * Size in bytes of the current buffer.
136
- *
137
- * @returns {number} size
138
- */
139
- get len(): number;
140
- /**
141
- * Size in bytes of the current buffer.
142
- *
143
- * @returns {number} size
144
- */
145
- get FileSize(): number;
146
- /**
147
- * Size in bits of the current buffer.
148
- *
149
- * @returns {number} size
150
- */
151
- get lengthB(): number;
152
- /**
153
- * Size in bits of the current buffer.
154
- *
155
- * @returns {number} size
156
- */
157
- get FileSizeB(): number;
158
- /**
159
- * Size in bits of the current buffer.
160
- *
161
- * @returns {number} size
162
- */
163
- get lenb(): number;
164
- /**
165
- * Get the current byte position.
166
- *
167
- * @return {number} current byte position
168
- */
169
- get tell(): number;
170
- /**
171
- * Get the current byte position.
172
- *
173
- * @return {number} current byte position
174
- */
175
- get FTell(): number;
176
- /**
177
- * Get the current byte position.
178
- *
179
- * @return {number} current byte position
180
- */
181
- get getOffset(): number;
182
- /**
183
- * Get the current byte position;
184
- *
185
- * @return {number} current byte position
186
- */
187
- get saveOffset(): number;
188
- /**
189
- * Get the current byte position;
190
- *
191
- * @return {number} current byte position
192
- */
193
- get off(): number;
194
- /**
195
- * Get the current bit position (0-7).
196
- *
197
- * @return {number} current bit position
198
- */
199
- get getOffsetBit(): number;
200
- /**
201
- * Get the current bit position (0-7).
202
- *
203
- * @return {number} current bit position
204
- */
205
- get tellB(): number;
206
- /**
207
- * Get the current bit position (0-7).
208
- *
209
- * @return {number} current bit position
210
- */
211
- get FTellB(): number;
212
- /**
213
- * Get the current bit position (0-7).
214
- *
215
- * @return {number} current bit position
216
- */
217
- get offb(): number;
218
- /**
219
- * Get the current absolute bit position (from start of data).
220
- *
221
- * @return {number} current absolute bit position
222
- */
223
- get getOffsetAbsBit(): number;
224
- /**
225
- * Get the current absolute bit position (from start of data).
226
- *
227
- * @return {number} current bit position
228
- */
229
- get saveOffsetAbsBit(): number;
230
- /**
231
- * Get the current absolute bit position (from start of data).
232
- *
233
- * @return {number} current absolute bit position
234
- */
235
- get tellAbsB(): number;
236
- /**
237
- * Get the current absolute bit position (from start of data).
238
- *
239
- * @return {number} current absolute bit position
240
- */
241
- get saveOffsetBit(): number;
242
- /**
243
- * Get the current absolute bit position (from start of data).
244
- *
245
- * @return {number} current absolute bit position
246
- */
247
- get offab(): number;
248
- /**
249
- * Size in bytes of current read position to the end
250
- *
251
- * @returns {number} size
252
- */
253
- get remain(): number;
254
- /**
255
- * Size in bytes of current read position to the end
256
- *
257
- * @returns {number} size
258
- */
259
- get FEoF(): number;
260
- /**
261
- * Size in bits of current read position to the end
262
- *
263
- * @returns {number} size
264
- */
265
- get remainB(): number;
266
- /**
267
- * Size in bits of current read position to the end
268
- *
269
- * @returns {number} size
270
- */
271
- get FEoFB(): number;
272
- /**
273
- * Row line of the file (16 bytes per row).
274
- *
275
- * @returns {number} size
276
- */
277
- get getLine(): number;
278
- /**
279
- * Row line of the file (16 bytes per row).
280
- *
281
- * @returns {number} size
282
- */
283
- get row(): number;
284
- /**
285
- * Returns current data.
286
- *
287
- * Note: Will remove all data after current position if ``extendBufferSize`` was set.
288
- *
289
- * Use ``.data`` instead if you want the full buffer data.
290
- *
291
- * @returns {Buffer|Uint8Array} ``Buffer`` or ``Uint8Array``
292
- */
293
- get get(): Buffer | Uint8Array;
294
- /**
295
- * Returns current data.
296
- *
297
- * Note: Will remove all data after current position if ``extendBufferSize`` was set.
298
- *
299
- * Use ``.data`` instead if you want the full buffer data.
300
- *
301
- * @returns {Buffer|Uint8Array} ``Buffer`` or ``Uint8Array``
302
- */
303
- get return(): Buffer | Uint8Array;
304
- /**
305
- * Creates hex dump string. Will console log or return string if set in options.
306
- *
307
- * @param {object} options
308
- * @param {hexdumpOptions?} options - hex dump options
309
- * @param {number?} options.length - number of bytes to log, default ``192`` or end of data
310
- * @param {number?} options.startByte - byte to start dump (default ``0``)
311
- * @param {boolean?} options.supressUnicode - Supress unicode character preview for even columns.
312
- * @param {boolean?} options.returnString - Returns the hex dump string instead of logging it.
313
- */
314
- hexdump(options?: hexdumpOptions): void | string;
315
- /**
316
- * Turn hexdump on error off (default on).
317
- */
318
- errorDumpOff(): void;
319
- /**
320
- * Turn hexdump on error on (default on).
321
- */
322
- errorDumpOn(): void;
323
- /**
324
- * Disallows extending data if position is outside of max size.
325
- */
326
- restrict(): void;
327
- /**
328
- * Allows extending data if position is outside of max size.
329
- */
330
- unrestrict(): void;
331
- /**
332
- * removes data.
333
- */
334
- end(): void;
335
- /**
336
- * removes data.
337
- */
338
- done(): void;
339
- /**
340
- * removes data.
341
- */
342
- finished(): void;
343
- /**
344
- * Searches for byte position of string from current read position.
345
- *
346
- * Returns -1 if not found.
347
- *
348
- * Does not change current read position.
349
- *
350
- * @param {string} string - String to search for.
351
- */
352
- findString(string: string): number;
353
- /**
354
- * Searches for byte value (can be signed or unsigned) position from current read position.
355
- *
356
- * Returns -1 if not found.
357
- *
358
- * Does not change current read position.
359
- *
360
- * @param {number} value - Number to search for.
361
- * @param {boolean} unsigned - If the number is unsigned (default true)
362
- * @param {endian} endian - endianness of value (default set endian).
363
- */
364
- findByte(value: number, unsigned?: boolean, endian?: endian): number;
365
- /**
366
- * Searches for short value (can be signed or unsigned) position from current read position.
367
- *
368
- * Returns -1 if not found.
369
- *
370
- * Does not change current read position.
371
- *
372
- * @param {number} value - Number to search for.
373
- * @param {boolean} unsigned - If the number is unsigned (default true)
374
- * @param {endian} endian - endianness of value (default set endian).
375
- */
376
- findShort(value: number, unsigned?: boolean, endian?: endian): number;
377
- /**
378
- * Searches for integer value (can be signed or unsigned) position from current read position.
379
- *
380
- * Returns -1 if not found.
381
- *
382
- * Does not change current read position.
383
- *
384
- * @param {number} value - Number to search for.
385
- * @param {boolean} unsigned - If the number is unsigned (default true)
386
- * @param {endian} endian - endianness of value (default set endian).
387
- */
388
- findInt(value: number, unsigned?: boolean, endian?: endian): number;
389
- /**
390
- * Searches for 64 bit value (can be signed or unsigned) position from current read position.
391
- *
392
- * Returns -1 if not found.
393
- *
394
- * Does not change current read position.
395
- *
396
- * @param {BigValue} value - Number to search for.
397
- * @param {boolean} unsigned - If the number is unsigned (default true)
398
- * @param {endian} endian - endianness of value (default set endian).
399
- */
400
- findInt64(value: BigValue, unsigned?: boolean, endian?: endian): number;
401
- /**
402
- * Searches for half float value position from current read position.
403
- *
404
- * Returns -1 if not found.
405
- *
406
- * Does not change current read position.
407
- *
408
- * @param {number} value - Number to search for.
409
- * @param {endian} endian - endianness of value (default set endian).
410
- */
411
- findHalfFloat(value: number, endian?: endian): number;
412
- /**
413
- * Searches for float value position from current read position.
414
- *
415
- * Returns -1 if not found.
416
- *
417
- * Does not change current read position.
418
- *
419
- * @param {number} value - Number to search for.
420
- * @param {endian} endian - endianness of value (default set endian).
421
- */
422
- findFloat(value: number, endian?: endian): number;
423
- /**
424
- * Searches for double float value position from current read position.
425
- *
426
- * Returns -1 if not found.
427
- *
428
- * Does not change current read position.
429
- *
430
- * @param {number} value - Number to search for.
431
- * @param {endian} endian - endianness of value (default set endian).
432
- */
433
- findDoubleFloat(value: number, endian?: endian): number;
434
- /**
435
- * Aligns current byte position.
436
- *
437
- * Note: Will extend array if strict mode is off and outside of max size.
438
- *
439
- * @param {number} number - Byte to align
440
- */
441
- align(number: number): void;
442
- /**
443
- * Reverse aligns current byte position.
444
- *
445
- * Note: Will extend array if strict mode is off and outside of max size.
446
- *
447
- * @param {number} number - Byte to align
448
- */
449
- alignRev(number: number): void;
450
- /**
451
- * Offset current byte or bit position.
452
- *
453
- * Note: Will extend array if strict mode is off and outside of max size.
454
- *
455
- * @param {number} bytes - Bytes to skip
456
- * @param {number} bits - Bits to skip
457
- */
458
- skip(bytes: number, bits?: number): void;
459
- /**
460
- * Offset current byte or bit position.
461
- *
462
- * Note: Will extend array if strict mode is off and outside of max size.
463
- *
464
- * @param {number} bytes - Bytes to skip
465
- * @param {number} bits - Bits to skip
466
- */
467
- jump(bytes: number, bits?: number): void;
468
- /**
469
- * Change position directly to address.
470
- *
471
- * Note: Will extend array if strict mode is off and outside of max size.
472
- *
473
- * @param {number} byte - byte to set to
474
- * @param {number} bit - bit to set to
475
- */
476
- FSeek(byte: number, bit?: number): void;
477
- /**
478
- * Offset current byte or bit position.
479
- *
480
- * Note: Will extend array if strict mode is off and outside of max size.
481
- *
482
- * @param {number} bytes - Bytes to skip
483
- * @param {number} bits - Bits to skip
484
- */
485
- seek(bytes: number, bits?: number): void;
486
- /**
487
- * Change position directly to address.
488
- *
489
- * Note: Will extend array if strict mode is off and outside of max size.
490
- *
491
- * @param {number} byte - byte to set to
492
- * @param {number} bit - bit to set to
493
- */
494
- goto(byte: number, bit?: number): void;
495
- /**
496
- * Change position directly to address.
497
- *
498
- * Note: Will extend array if strict mode is off and outside of max size.
499
- *
500
- * @param {number} byte - byte to set to
501
- * @param {number} bit - bit to set to
502
- */
503
- pointer(byte: number, bit?: number): void;
504
- /**
505
- * Change position directly to address.
506
- *
507
- * Note: Will extend array if strict mode is off and outside of max size.
508
- *
509
- * @param {number} byte - byte to set to
510
- * @param {number} bit - bit to set to
511
- */
512
- warp(byte: number, bit?: number): void;
513
- /**
514
- * Set byte and bit position to start of data.
515
- */
516
- rewind(): void;
517
- /**
518
- * Set byte and bit position to start of data.
519
- */
520
- gotoStart(): void;
521
- /**
522
- * Set current byte and bit position to end of data.
523
- */
524
- last(): void;
525
- /**
526
- * Set current byte and bit position to end of data.
527
- */
528
- gotoEnd(): void;
529
- /**
530
- * Set byte and bit position to start of data.
531
- */
532
- EoF(): void;
533
- /**
534
- * Deletes part of data from start to current byte position unless supplied, returns removed.
535
- *
536
- * Note: Errors in strict mode.
537
- *
538
- * @param {number} startOffset - Start location (default 0)
539
- * @param {number} endOffset - End location (default current position)
540
- * @param {boolean} consume - Move position to end of removed data (default false)
541
- * @returns {Buffer|Uint8Array} Removed data as ``Buffer`` or ``Uint8Array``
542
- */
543
- delete(startOffset?: number, endOffset?: number, consume?: boolean): Buffer | Uint8Array;
544
- /**
545
- * Deletes part of data from current byte position to end, returns removed.
546
- *
547
- * Note: Errors in strict mode.
548
- *
549
- * @returns {Buffer|Uint8Array} Removed data as ``Buffer`` or ``Uint8Array``
550
- */
551
- clip(): Buffer | Uint8Array;
552
- /**
553
- * Deletes part of data from current byte position to end, returns removed.
554
- *
555
- * Note: Errors in strict mode.
556
- *
557
- * @returns {Buffer|Uint8Array} Removed data as ``Buffer`` or ``Uint8Array``
558
- */
559
- trim(): Buffer | Uint8Array;
560
- /**
561
- * Deletes part of data from current byte position to supplied length, returns removed.
562
- *
563
- * Note: Errors in strict mode.
564
- *
565
- * @param {number} length - Length of data in bytes to remove
566
- * @param {boolean} consume - Move position to end of removed data (default false)
567
- * @returns {Buffer|Uint8Array} Removed data as ``Buffer`` or ``Uint8Array``
568
- */
569
- crop(length: number, consume?: boolean): Buffer | Uint8Array;
570
- /**
571
- * Deletes part of data from current position to supplied length, returns removed.
572
- *
573
- * Note: Only works in strict mode.
574
- *
575
- * @param {number} length - Length of data in bytes to remove
576
- * @param {boolean} consume - Move position to end of removed data (default false)
577
- * @returns {Buffer|Uint8Array} Removed data as ``Buffer`` or ``Uint8Array``
578
- */
579
- drop(length: number, consume?: boolean): Buffer | Uint8Array;
580
- /**
581
- * Replaces data in data.
582
- *
583
- * Note: Errors on strict mode.
584
- *
585
- * @param {Buffer|Uint8Array} data - ``Uint8Array`` or ``Buffer`` to replace in data
586
- * @param {boolean} consume - Move current byte position to end of data (default false)
587
- * @param {number} offset - Offset to add it at (defaults to current position)
588
- */
589
- replace(data: Buffer | Uint8Array, consume?: boolean, offset?: number): void;
590
- /**
591
- * Replaces data in data.
592
- *
593
- * Note: Errors on strict mode.
594
- *
595
- * @param {Buffer|Uint8Array} data - ``Uint8Array`` or ``Buffer`` to replace in data
596
- * @param {boolean} consume - Move current byte position to end of data (default false)
597
- * @param {number} offset - Offset to add it at (defaults to current position)
598
- */
599
- overwrite(data: Buffer | Uint8Array, consume?: boolean, offset?: number): void;
600
- /**
601
- * Returns part of data from current byte position to end of data unless supplied.
602
- *
603
- * @param {number} startOffset - Start location (default current position)
604
- * @param {number} endOffset - End location (default end of data)
605
- * @param {boolean} consume - Move position to end of lifted data (default false)
606
- * @param {number} fillValue - Byte value to to fill returned data (does NOT fill unless supplied)
607
- * @returns {Buffer|Uint8Array} Selected data as ``Uint8Array`` or ``Buffer``
608
- */
609
- lift(startOffset?: number, endOffset?: number, consume?: boolean, fillValue?: number): Buffer | Uint8Array;
610
- /**
611
- * Returns part of data from current byte position to end of data unless supplied.
612
- *
613
- * @param {number} startOffset - Start location (default current position)
614
- * @param {number} endOffset - End location (default end of data)
615
- * @param {boolean} consume - Move position to end of lifted data (default false)
616
- * @param {number} fillValue - Byte value to to fill returned data (does NOT fill unless supplied)
617
- * @returns {Buffer|Uint8Array} Selected data as ``Uint8Array`` or ``Buffer``
618
- */
619
- fill(startOffset?: number, endOffset?: number, consume?: boolean, fillValue?: number): Buffer | Uint8Array;
620
- /**
621
- * Extract data from current position to length supplied.
622
- *
623
- * Note: Does not affect supplied data.
624
- *
625
- * @param {number} length - Length of data in bytes to copy from current offset
626
- * @param {number} consume - Moves offset to end of length
627
- * @returns {Buffer|Uint8Array} Selected data as ``Uint8Array`` or ``Buffer``
628
- */
629
- extract(length: number, consume?: boolean): Buffer | Uint8Array;
630
- /**
631
- * Extract data from current position to length supplied.
632
- *
633
- * Note: Does not affect supplied data.
634
- *
635
- * @param {number} length - Length of data in bytes to copy from current offset
636
- * @param {number} consume - Moves offset to end of length
637
- * @returns {Buffer|Uint8Array} Selected data as ``Uint8Array`` or ``Buffer``
638
- */
639
- slice(length: number, consume?: boolean): Buffer | Uint8Array;
640
- /**
641
- * Extract data from current position to length supplied.
642
- *
643
- * Note: Does not affect supplied data.
644
- *
645
- * @param {number} length - Length of data in bytes to copy from current offset
646
- * @param {number} consume - Moves offset to end of length
647
- * @returns {Buffer|Uint8Array} Selected data as ``Uint8Array`` or ``Buffer``
648
- */
649
- wrap(length: number, consume?: boolean): Buffer | Uint8Array;
650
- /**
651
- * Inserts data into data.
652
- *
653
- * Note: Errors on strict mode.
654
- *
655
- * @param {Buffer|Uint8Array} data - ``Uint8Array`` or ``Buffer`` to add to data
656
- * @param {boolean} consume - Move current byte position to end of data (default false)
657
- * @param {number} offset - Byte position to add at (defaults to current position)
658
- */
659
- insert(data: Buffer | Uint8Array, consume?: boolean, offset?: number): void;
660
- /**
661
- * Inserts data into data.
662
- *
663
- * Note: Errors on strict mode.
664
- *
665
- * @param {Buffer|Uint8Array} data - ``Uint8Array`` or ``Buffer`` to add to data
666
- * @param {boolean} consume - Move current byte position to end of data (default false)
667
- * @param {number} offset - Byte position to add at (defaults to current position)
668
- */
669
- place(data: Buffer | Uint8Array, consume?: boolean, offset?: number): void;
670
- /**
671
- * Adds data to start of supplied data.
672
- *
673
- * Note: Errors on strict mode.
674
- *
675
- * @param {Buffer|Uint8Array} data - ``Uint8Array`` or ``Buffer`` to add to data
676
- * @param {boolean} consume - Move current write position to end of data (default false)
677
- */
678
- unshift(data: Buffer | Uint8Array, consume?: boolean): void;
679
- /**
680
- * Adds data to start of supplied data.
681
- *
682
- * Note: Errors on strict mode.
683
- *
684
- * @param {Buffer|Uint8Array} data - ``Uint8Array`` or ``Buffer`` to add to data
685
- * @param {boolean} consume - Move current write position to end of data (default false)
686
- */
687
- prepend(data: Buffer | Uint8Array, consume?: boolean): void;
688
- /**
689
- * Adds data to end of supplied data.
690
- *
691
- * Note: Errors on strict mode.
692
- *
693
- * @param {Buffer|Uint8Array} data - ``Uint8Array`` or ``Buffer`` to add to data
694
- * @param {boolean} consume - Move current write position to end of data (default false)
695
- */
696
- push(data: Buffer | Uint8Array, consume?: boolean): void;
697
- /**
698
- * Adds data to end of supplied data.
699
- *
700
- * Note: Errors on strict mode.
701
- *
702
- * @param {Buffer|Uint8Array} data - ``Uint8Array`` or ``Buffer`` to add to data
703
- * @param {boolean} consume - Move current write position to end of data (default false)
704
- */
705
- append(data: Buffer | Uint8Array, consume?: boolean): void;
706
- /**
707
- * XOR data.
708
- *
709
- * @param {number|string|Uint8Array|Buffer} xorKey - Value, string or array to XOR
710
- * @param {number} startOffset - Start location (default current byte position)
711
- * @param {number} endOffset - End location (default end of data)
712
- * @param {boolean} consume - Move current position to end of data (default false)
713
- */
714
- xor(xorKey: number | string | Uint8Array | Buffer, startOffset?: number, endOffset?: number, consume?: boolean): void;
715
- /**
716
- * XOR data.
717
- *
718
- * @param {number|string|Uint8Array|Buffer} xorKey - Value, string or array to XOR
719
- * @param {number} length - Length in bytes to XOR from curent position (default 1 byte for value, length of string or array for Uint8Array or Buffer)
720
- * @param {boolean} consume - Move current position to end of data (default false)
721
- */
722
- xorThis(xorKey: number | string | Uint8Array | Buffer, length?: number, consume?: boolean): void;
723
- /**
724
- * OR data
725
- *
726
- * @param {number|string|Uint8Array|Buffer} orKey - Value, string or array to OR
727
- * @param {number} startOffset - Start location (default current byte position)
728
- * @param {number} endOffset - End location (default end of data)
729
- * @param {boolean} consume - Move current position to end of data (default false)
730
- */
731
- or(orKey: number | string | Uint8Array | Buffer, startOffset?: number, endOffset?: number, consume?: boolean): void;
732
- /**
733
- * OR data.
734
- *
735
- * @param {number|string|Uint8Array|Buffer} orKey - Value, string or array to OR
736
- * @param {number} length - Length in bytes to OR from curent position (default 1 byte for value, length of string or array for Uint8Array or Buffer)
737
- * @param {boolean} consume - Move current position to end of data (default false)
738
- */
739
- orThis(orKey: number | string | Uint8Array | Buffer, length?: number, consume?: boolean): void;
740
- /**
741
- * AND data.
742
- *
743
- * @param {number|string|Array<number>|Buffer} andKey - Value, string or array to AND
744
- * @param {number} startOffset - Start location (default current byte position)
745
- * @param {number} endOffset - End location (default end of data)
746
- * @param {boolean} consume - Move current position to end of data (default false)
747
- */
748
- and(andKey: number | string | Array<number> | Buffer, startOffset?: number, endOffset?: number, consume?: boolean): void;
749
- /**
750
- * AND data.
751
- *
752
- * @param {number|string|Array<number>|Buffer} andKey - Value, string or array to AND
753
- * @param {number} length - Length in bytes to AND from curent position (default 1 byte for value, length of string or array for Uint8Array or Buffer)
754
- * @param {boolean} consume - Move current position to end of data (default false)
755
- */
756
- andThis(andKey: number | string | Array<number> | Buffer, length?: number, consume?: boolean): void;
757
- /**
758
- * Add value to data.
759
- *
760
- * @param {number|string|Array<number>|Buffer} addKey - Value, string or array to add to data
761
- * @param {number} startOffset - Start location (default current byte position)
762
- * @param {number} endOffset - End location (default end of data)
763
- * @param {boolean} consume - Move current position to end of data (default false)
764
- */
765
- add(addKey: number | string | Array<number> | Buffer, startOffset?: number, endOffset?: number, consume?: boolean): void;
766
- /**
767
- * Add value to data.
768
- *
769
- * @param {number|string|Array<number>|Buffer} addKey - Value, string or array to add to data
770
- * @param {number} length - Length in bytes to add from curent position (default 1 byte for value, length of string or array for Uint8Array or Buffer)
771
- * @param {boolean} consume - Move current position to end of data (default false)
772
- */
773
- addThis(addKey: number | string | Array<number> | Buffer, length?: number, consume?: boolean): void;
774
- /**
775
- * Not data.
776
- *
777
- * @param {number} startOffset - Start location (default current byte position)
778
- * @param {number} endOffset - End location (default end of data)
779
- * @param {boolean} consume - Move current position to end of data (default false)
780
- */
781
- not(startOffset?: number, endOffset?: number, consume?: boolean): void;
782
- /**
783
- * Not data.
784
- *
785
- * @param {number} length - Length in bytes to NOT from curent position (default 1 byte for value, length of string or array for Uint8Array or Buffer)
786
- * @param {boolean} consume - Move current position to end of data (default false)
787
- */
788
- notThis(length?: number, consume?: boolean): void;
789
- /**
790
- * Left shift data.
791
- *
792
- * @param {number|string|Array<number>|Buffer} shiftKey - Value, string or array to left shift data
793
- * @param {number} startOffset - Start location (default current byte position)
794
- * @param {number} endOffset - End location (default end of data)
795
- * @param {boolean} consume - Move current position to end of data (default false)
796
- */
797
- lShift(shiftKey: number | string | Array<number> | Buffer, startOffset?: number, endOffset?: number, consume?: boolean): void;
798
- /**
799
- * Left shift data.
800
- *
801
- * @param {number|string|Array<number>|Buffer} shiftKey - Value, string or array to left shift data
802
- * @param {number} length - Length in bytes to left shift from curent position (default 1 byte for value, length of string or array for Uint8Array or Buffer)
803
- * @param {boolean} consume - Move current position to end of data (default false)
804
- */
805
- lShiftThis(shiftKey: number | string | Array<number> | Buffer, length?: number, consume?: boolean): void;
806
- /**
807
- * Right shift data.
808
- *
809
- * @param {number|string|Array<number>|Buffer} shiftKey - Value, string or array to right shift data
810
- * @param {number} startOffset - Start location (default current byte position)
811
- * @param {number} endOffset - End location (default end of data)
812
- * @param {boolean} consume - Move current position to end of data (default false)
813
- */
814
- rShift(shiftKey: number | string | Array<number> | Buffer, startOffset?: number, endOffset?: number, consume?: boolean): void;
815
- /**
816
- * Right shift data.
817
- *
818
- * @param {number|string|Array<number>|Buffer} shiftKey - Value, string or array to right shift data
819
- * @param {number} length - Length in bytes to right shift from curent position (default 1 byte for value, length of string or array for Uint8Array or Buffer)
820
- * @param {boolean} consume - Move current position to end of data (default false)
821
- */
822
- rShiftThis(shiftKey: number | string | Array<number> | Buffer, length?: number, consume?: boolean): void;
823
- /**
824
- *
825
- * Write bits, must have at least value and number of bits.
826
- *
827
- * ``Note``: When returning to a byte write, remaining bits are skipped.
828
- *
829
- * @param {number} value - value as int
830
- * @param {number} bits - number of bits to write
831
- * @param {boolean} unsigned - if value is unsigned
832
- * @param {endian} endian - ``big`` or ``little``
833
- */
834
- writeBit(value: number, bits: number, unsigned?: boolean, endian?: endian): void;
835
- /**
836
- * Bit field writer.
837
- *
838
- * Note: When returning to a byte write, remaining bits are dropped.
839
- *
840
- * @param {number} value - value as int
841
- * @param {number} bits - bits to write
842
- * @returns number
843
- */
844
- writeUBitBE(value: number, bits: number): void;
845
- /**
846
- * Bit field writer.
847
- *
848
- * Note: When returning to a byte write, remaining bits are dropped.
849
- *
850
- * @param {number} value - value as int
851
- * @param {number} bits - bits to write
852
- * @param {boolean} unsigned - if the value is unsigned
853
- * @returns number
854
- */
855
- writeBitBE(value: number, bits: number, unsigned?: boolean): void;
856
- /**
857
- * Bit field writer.
858
- *
859
- * Note: When returning to a byte write, remaining bits are dropped.
860
- *
861
- * @param {number} value - value as int
862
- * @param {number} bits - bits to write
863
- * @returns number
864
- */
865
- writeUBitLE(value: number, bits: number): void;
866
- /**
867
- * Bit field writer.
868
- *
869
- * Note: When returning to a byte write, remaining bits are dropped.
870
- *
871
- * @param {number} value - value as int
872
- * @param {number} bits - bits to write
873
- * @param {boolean} unsigned - if the value is unsigned
874
- * @returns number
875
- */
876
- writeBitLE(value: number, bits: number, unsigned?: boolean): void;
877
- /**
878
- * Bit field reader.
879
- *
880
- * Note: When returning to a byte read, remaining bits are dropped.
881
- *
882
- * @param {number} bits - bits to read
883
- * @param {boolean} unsigned - if the value is unsigned
884
- * @param {endian} endian - ``big`` or ``little``
885
- * @returns {number}
886
- */
887
- readBit(bits?: number, unsigned?: boolean, endian?: endian): number;
888
- /**
889
- * Bit field reader.
890
- *
891
- * Note: When returning to a byte read, remaining bits are dropped.
892
- *
893
- * @param {number} bits - bits to read
894
- * @returns {number}
895
- */
896
- readUBitBE(bits: number): number;
897
- /**
898
- * Bit field reader.
899
- *
900
- * Note: When returning to a byte read, remaining bits are dropped.
901
- *
902
- * @param {number} bits - bits to read
903
- * @param {boolean} unsigned - if the value is unsigned
904
- * @returns {number}
905
- */
906
- readBitBE(bits: number, unsigned?: boolean): number;
907
- /**
908
- * Bit field reader.
909
- *
910
- * Note: When returning to a byte read, remaining bits are dropped.
911
- *
912
- * @param {number} bits - bits to read
913
- * @returns {number}
914
- */
915
- readUBitLE(bits: number): number;
916
- /**
917
- * Bit field reader.
918
- *
919
- * Note: When returning to a byte read, remaining bits are dropped.
920
- *
921
- * @param {number} bits - bits to read
922
- * @param {boolean} unsigned - if the value is unsigned
923
- * @returns {number}
924
- */
925
- readBitLE(bits: number, unsigned?: boolean): number;
926
- /**
927
- * Read byte.
928
- *
929
- * @param {boolean} unsigned - if value is unsigned or not
930
- * @returns {number}
931
- */
932
- readByte(unsigned?: boolean): number;
933
- /**
934
- * Read multiple bytes.
935
- *
936
- * @param {number} amount - amount of bytes to read
937
- * @param {boolean} unsigned - if value is unsigned or not
938
- * @returns {number[]}
939
- */
940
- readBytes(amount: number, unsigned?: boolean): number[];
941
- /**
942
- * Write byte.
943
- *
944
- * @param {number} value - value as int
945
- * @param {boolean} unsigned - if the value is unsigned
946
- */
947
- writeByte(value: number, unsigned?: boolean): void;
948
- /**
949
- * Write multiple bytes.
950
- *
951
- * @param {number[]} values - array of values as int
952
- * @param {boolean} unsigned - if the value is unsigned
953
- */
954
- writeBytes(values: number[], unsigned?: boolean): void;
955
- /**
956
- * Write unsigned byte.
957
- *
958
- * @param {number} value - value as int
959
- */
960
- writeUByte(value: number): void;
961
- /**
962
- * Read unsigned byte.
963
- *
964
- * @returns {number}
965
- */
966
- readUByte(): number;
967
- /**
968
- * Read short.
969
- *
970
- * @param {boolean} unsigned - if value is unsigned or not
971
- * @param {endian} endian - ``big`` or ``little``
972
- * @returns {number}
973
- */
974
- readInt16(unsigned?: boolean, endian?: endian): number;
975
- /**
976
- * Write int16.
977
- *
978
- * @param {number} value - value as int
979
- * @param {boolean} unsigned - if the value is unsigned
980
- * @param {endian} endian - ``big`` or ``little``
981
- */
982
- writeInt16(value: number, unsigned?: boolean, endian?: endian): void;
983
- /**
984
- * Write unsigned int16.
985
- *
986
- * @param {number} value - value as int
987
- * @param {endian} endian - ``big`` or ``little``
988
- */
989
- writeUInt16(value: number, endian?: endian): void;
990
- /**
991
- * Write unsigned int16.
992
- *
993
- * @param {number} value - value as int
994
- */
995
- writeUInt16BE(value: number): void;
996
- /**
997
- * Write unsigned int16.
998
- *
999
- * @param {number} value - value as int
1000
- */
1001
- writeUInt16LE(value: number): void;
1002
- /**
1003
- * Write signed int16.
1004
- *
1005
- * @param {number} value - value as int
1006
- */
1007
- writeInt16LE(value: number): void;
1008
- /**
1009
- * Read unsigned short.
1010
- *
1011
- * @param {endian} endian - ``big`` or ``little``
1012
- *
1013
- * @returns {number}
1014
- */
1015
- readUInt16(endian?: endian): number;
1016
- /**
1017
- * Read unsigned short in little endian.
1018
- *
1019
- * @returns {number}
1020
- */
1021
- readUInt16LE(): number;
1022
- /**
1023
- * Read signed short in little endian.
1024
- *
1025
- * @returns {number}
1026
- */
1027
- readInt16LE(): number;
1028
- /**
1029
- * Read unsigned short in big endian.
1030
- *
1031
- * @returns {number}
1032
- */
1033
- readUInt16BE(): number;
1034
- /**
1035
- * Read signed short in big endian.
1036
- *
1037
- * @returns {number}
1038
- */
1039
- readInt16BE(): number;
1040
- /**
1041
- * Read half float.
1042
- *
1043
- * @param {endian} endian - ``big`` or ``little``
1044
- * @returns {number}
1045
- */
1046
- readHalfFloat(endian?: endian): number;
1047
- /**
1048
- * Writes half float.
1049
- *
1050
- * @param {number} value - value as int
1051
- * @param {endian} endian - ``big`` or ``little``
1052
- */
1053
- writeHalfFloat(value: number, endian?: endian): void;
1054
- /**
1055
- * Writes half float.
1056
- *
1057
- * @param {number} value - value as int
1058
- */
1059
- writeHalfFloatBE(value: number): void;
1060
- /**
1061
- * Writes half float.
1062
- *
1063
- * @param {number} value - value as int
1064
- */
1065
- writeHalfFloatLE(value: number): void;
1066
- /**
1067
- * Read half float.
1068
- *
1069
- * @returns {number}
1070
- */
1071
- readHalfFloatBE(): number;
1072
- /**
1073
- * Read half float.
1074
- *
1075
- * @returns {number}
1076
- */
1077
- readHalfFloatLE(): number;
1078
- /**
1079
- * Read 32 bit integer.
1080
- *
1081
- * @param {boolean} unsigned - if value is unsigned or not
1082
- * @param {endian} endian - ``big`` or ``little``
1083
- * @returns {number}
1084
- */
1085
- readInt32(unsigned?: boolean, endian?: endian): number;
1086
- /**
1087
- * Write int32.
1088
- *
1089
- * @param {number} value - value as int
1090
- * @param {boolean} unsigned - if the value is unsigned
1091
- * @param {endian} endian - ``big`` or ``little``
1092
- */
1093
- writeInt32(value: number, unsigned?: boolean, endian?: endian): void;
1094
- /**
1095
- * Write unsigned int32.
1096
- *
1097
- * @param {number} value - value as int
1098
- * @param {endian} endian - ``big`` or ``little``
1099
- */
1100
- writeUInt32(value: number, endian?: endian): void;
1101
- /**
1102
- * Write signed int32.
1103
- *
1104
- * @param {number} value - value as int
1105
- */
1106
- writeInt32LE(value: number): void;
1107
- /**
1108
- * Write unsigned int32.
1109
- *
1110
- * @param {number} value - value as int
1111
- */
1112
- writeUInt32LE(value: number): void;
1113
- /**
1114
- * Write signed int32.
1115
- *
1116
- * @param {number} value - value as int
1117
- */
1118
- writeInt32BE(value: number): void;
1119
- /**
1120
- * Read signed 32 bit integer.
1121
- *
1122
- * @returns {number}
1123
- */
1124
- readInt32BE(): number;
1125
- /**
1126
- * Read unsigned 32 bit integer.
1127
- *
1128
- * @returns {number}
1129
- */
1130
- readUInt32BE(): number;
1131
- /**
1132
- * Read signed 32 bit integer.
1133
- *
1134
- * @returns {number}
1135
- */
1136
- readInt32LE(): number;
1137
- /**
1138
- * Read signed 32 bit integer.
1139
- *
1140
- * @returns {number}
1141
- */
1142
- readUInt32LE(): number;
1143
- /**
1144
- * Read unsigned 32 bit integer.
1145
- *
1146
- * @returns {number}
1147
- */
1148
- readUInt(): number;
1149
- /**
1150
- * Read float.
1151
- *
1152
- * @param {endian} endian - ``big`` or ``little``
1153
- * @returns {number}
1154
- */
1155
- readFloat(endian?: endian): number;
1156
- /**
1157
- * Write float.
1158
- *
1159
- * @param {number} value - value as int
1160
- * @param {endian} endian - ``big`` or ``little``
1161
- */
1162
- writeFloat(value: number, endian?: endian): void;
1163
- /**
1164
- * Write float.
1165
- *
1166
- * @param {number} value - value as int
1167
- */
1168
- writeFloatLE(value: number): void;
1169
- /**
1170
- * Write float.
1171
- *
1172
- * @param {number} value - value as int
1173
- */
1174
- writeFloatBE(value: number): void;
1175
- /**
1176
- * Read float.
1177
- *
1178
- * @returns {number}
1179
- */
1180
- readFloatBE(): number;
1181
- /**
1182
- * Read float.
1183
- *
1184
- * @returns {number}
1185
- */
1186
- readFloatLE(): number;
1187
- /**
1188
- * Read signed 64 bit integer.
1189
- *
1190
- * @param {boolean} unsigned - if value is unsigned or not
1191
- * @param {endian?} endian - ``big`` or ``little``
1192
- * @returns {bigint}
1193
- */
1194
- readInt64(unsigned?: boolean, endian?: endian): bigint;
1195
- /**
1196
- * Write 64 bit integer.
1197
- *
1198
- * @param {BigValue} value - value as int
1199
- * @param {boolean} unsigned - if the value is unsigned
1200
- * @param {endian} endian - ``big`` or ``little``
1201
- */
1202
- writeInt64(value: BigValue, unsigned?: boolean, endian?: endian): void;
1203
- /**
1204
- * Write unsigned 64 bit integer.
1205
- *
1206
- * @param {BigValue} value - value as int
1207
- * @param {endian} endian - ``big`` or ``little``
1208
- */
1209
- writeUInt64(value: BigValue, endian?: endian): void;
1210
- /**
1211
- * Write signed 64 bit integer.
1212
- *
1213
- * @param {BigValue} value - value as int
1214
- */
1215
- writeInt64LE(value: BigValue): void;
1216
- /**
1217
- * Write unsigned 64 bit integer.
1218
- *
1219
- * @param {BigValue} value - value as int
1220
- */
1221
- writeUInt64LE(value: BigValue): void;
1222
- /**
1223
- * Write signed 64 bit integer.
1224
- *
1225
- * @param {BigValue} value - value as int
1226
- */
1227
- writeInt64BE(value: BigValue): void;
1228
- /**
1229
- * Write unsigned 64 bit integer.
1230
- *
1231
- * @param {BigValue} value - value as int
1232
- */
1233
- writeUInt64BE(value: BigValue): void;
1234
- /**
1235
- * Read unsigned 64 bit integer.
1236
- *
1237
- * @returns {bigint}
1238
- */
1239
- readUInt64(): bigint;
1240
- /**
1241
- * Read signed 64 bit integer.
1242
- *
1243
- * @returns {bigint}
1244
- */
1245
- readInt64BE(): bigint;
1246
- /**
1247
- * Read unsigned 64 bit integer.
1248
- *
1249
- * @returns {bigint}
1250
- */
1251
- readUInt64BE(): bigint;
1252
- /**
1253
- * Read signed 64 bit integer.
1254
- *
1255
- * @returns {bigint}
1256
- */
1257
- readInt64LE(): bigint;
1258
- /**
1259
- * Read unsigned 64 bit integer.
1260
- *
1261
- * @returns {bigint}
1262
- */
1263
- readUInt64LE(): bigint;
1264
- /**
1265
- * Read double float.
1266
- *
1267
- * @param {endian} endian - ``big`` or ``little``
1268
- * @returns {number}
1269
- */
1270
- readDoubleFloat(endian?: endian): number;
1271
- /**
1272
- * Writes double float.
1273
- *
1274
- * @param {number} value - value as int
1275
- * @param {endian} endian - ``big`` or ``little``
1276
- */
1277
- writeDoubleFloat(value: number, endian?: endian): void;
1278
- /**
1279
- * Writes double float.
1280
- *
1281
- * @param {number} value - value as int
1282
- */
1283
- writeDoubleFloatBE(value: number): void;
1284
- /**
1285
- * Writes double float.
1286
- *
1287
- * @param {number} value - value as int
1288
- */
1289
- writeDoubleFloatLE(value: number): void;
1290
- /**
1291
- * Read double float.
1292
- *
1293
- * @returns {number}
1294
- */
1295
- readDoubleFloatBE(): number;
1296
- /**
1297
- * Read double float.
1298
- *
1299
- * @returns {number}
1300
- */
1301
- readDoubleFloatLE(): number;
1302
- /**
1303
- * Reads string, use options object for different types.
1304
- *
1305
- * @param {stringOptions} options
1306
- * @param {stringOptions["length"]?} options.length - for fixed length, non-terminate value utf strings
1307
- * @param {stringOptions["stringType"]?} options.stringType - utf-8, utf-16, pascal or wide-pascal
1308
- * @param {stringOptions["terminateValue"]?} options.terminateValue - only with stringType: "utf"
1309
- * @param {stringOptions["lengthReadSize"]?} options.lengthReadSize - for pascal strings. 1, 2 or 4 byte length read size
1310
- * @param {stringOptions["encoding"]?} options.encoding - TextEncoder accepted types
1311
- * @param {stringOptions["endian"]?} options.endian - for wide-pascal and utf-16
1312
- * @return {Promise<string>}
1313
- */
1314
- readString(options?: stringOptions): string;
1315
- /**
1316
- * Writes string, use options object for different types.
1317
- *
1318
- * @param {string} string - text string
1319
- * @param {stringOptions?} options
1320
- * @param {stringOptions["length"]?} options.length - for fixed length, non-terminate value utf strings
1321
- * @param {stringOptions["stringType"]?} options.stringType - utf-8, utf-16, pascal or wide-pascal
1322
- * @param {stringOptions["terminateValue"]?} options.terminateValue - only with stringType: "utf"
1323
- * @param {stringOptions["lengthWriteSize"]?} options.lengthWriteSize - for pascal strings. 1, 2 or 4 byte length write size
1324
- * @param {stringOptions["encoding"]?} options.encoding - TextEncoder accepted types
1325
- * @param {stringOptions["endian"]?} options.endian - for wide-pascal and utf-16
1326
- */
1327
- writeString(string: string, options?: stringOptions): void;
1328
- }