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