bireader 2.0.0 → 3.0.0

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