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