1 | /// <reference types="node" />
|
2 | /**
|
3 | * Object interface for constructing new SmartBuffer instances.
|
4 | */
|
5 | interface SmartBufferOptions {
|
6 | encoding?: BufferEncoding;
|
7 | size?: number;
|
8 | buff?: Buffer;
|
9 | }
|
10 | declare class SmartBuffer {
|
11 | length: number;
|
12 | private _encoding;
|
13 | private _buff;
|
14 | private _writeOffset;
|
15 | private _readOffset;
|
16 | /**
|
17 | * Creates a new SmartBuffer instance.
|
18 | *
|
19 | * @param options { SmartBufferOptions } The SmartBufferOptions to apply to this instance.
|
20 | */
|
21 | constructor(options?: SmartBufferOptions);
|
22 | /**
|
23 | * Creates a new SmartBuffer instance with the provided internal Buffer size and optional encoding.
|
24 | *
|
25 | * @param size { Number } The size of the internal Buffer.
|
26 | * String } The BufferEncoding to use for strings.
encoding { |
27 | *
|
28 | * { SmartBuffer }
|
29 | */
|
30 | static fromSize(size: number, encoding?: BufferEncoding): SmartBuffer;
|
31 | /**
|
32 | * Creates a new SmartBuffer instance with the provided Buffer and optional encoding.
|
33 | *
|
34 | * @param buffer { Buffer } The Buffer to use as the internal Buffer value.
|
35 | * @param encoding { String } The BufferEncoding to use for strings.
|
36 | *
|
37 | * @return { SmartBuffer }
|
38 | */
|
39 | static fromBuffer(buff: Buffer, encoding?: BufferEncoding): SmartBuffer;
|
40 | /**
|
41 | * Creates a new SmartBuffer instance with the provided SmartBufferOptions options.
|
42 | *
|
43 | * @param options { SmartBufferOptions } The options to use when creating the SmartBuffer instance.
|
44 | */
|
45 | static fromOptions(options: SmartBufferOptions): SmartBuffer;
|
46 | /**
|
47 | * Type checking function that determines if an object is a SmartBufferOptions object.
|
48 | */
|
49 | static isSmartBufferOptions(options: SmartBufferOptions): options is SmartBufferOptions;
|
50 | /**
|
51 | * Reads an Int8 value from the current read position or an optionally provided offset.
|
52 | *
|
53 | * @param offset { Number } The offset to read data from (optional)
|
54 | * @return { Number }
|
55 | */
|
56 | readInt8(offset?: number): number;
|
57 | /**
|
58 | * Reads an Int16BE value from the current read position or an optionally provided offset.
|
59 | *
|
60 | * @param offset { Number } The offset to read data from (optional)
|
61 | * @return { Number }
|
62 | */
|
63 | readInt16BE(offset?: number): number;
|
64 | /**
|
65 | * Reads an Int16LE value from the current read position or an optionally provided offset.
|
66 | *
|
67 | * @param offset { Number } The offset to read data from (optional)
|
68 | * @return { Number }
|
69 | */
|
70 | readInt16LE(offset?: number): number;
|
71 | /**
|
72 | * Reads an Int32BE value from the current read position or an optionally provided offset.
|
73 | *
|
74 | * @param offset { Number } The offset to read data from (optional)
|
75 | * @return { Number }
|
76 | */
|
77 | readInt32BE(offset?: number): number;
|
78 | /**
|
79 | * Reads an Int32LE value from the current read position or an optionally provided offset.
|
80 | *
|
81 | * @param offset { Number } The offset to read data from (optional)
|
82 | * @return { Number }
|
83 | */
|
84 | readInt32LE(offset?: number): number;
|
85 | /**
|
86 | * Reads a BigInt64BE value from the current read position or an optionally provided offset.
|
87 | *
|
88 | * @param offset { Number } The offset to read data from (optional)
|
89 | * @return { BigInt }
|
90 | */
|
91 | readBigInt64BE(offset?: number): bigint;
|
92 | /**
|
93 | * Reads a BigInt64LE value from the current read position or an optionally provided offset.
|
94 | *
|
95 | * @param offset { Number } The offset to read data from (optional)
|
96 | * @return { BigInt }
|
97 | */
|
98 | readBigInt64LE(offset?: number): bigint;
|
99 | /**
|
100 | * Writes an Int8 value to the current write position (or at optional offset).
|
101 | *
|
102 | * @param value { Number } The value to write.
|
103 | * @param offset { Number } The offset to write the value at.
|
104 | *
|
105 | * @return this
|
106 | */
|
107 | writeInt8(value: number, offset?: number): SmartBuffer;
|
108 | /**
|
109 | * Inserts an Int8 value at the given offset value.
|
110 | *
|
111 | * @param value { Number } The value to insert.
|
112 | * @param offset { Number } The offset to insert the value at.
|
113 | *
|
114 | * @return this
|
115 | */
|
116 | insertInt8(value: number, offset: number): SmartBuffer;
|
117 | /**
|
118 | * Writes an Int16BE value to the current write position (or at optional offset).
|
119 | *
|
120 | * @param value { Number } The value to write.
|
121 | * @param offset { Number } The offset to write the value at.
|
122 | *
|
123 | * @return this
|
124 | */
|
125 | writeInt16BE(value: number, offset?: number): SmartBuffer;
|
126 | /**
|
127 | * Inserts an Int16BE value at the given offset value.
|
128 | *
|
129 | * @param value { Number } The value to insert.
|
130 | * @param offset { Number } The offset to insert the value at.
|
131 | *
|
132 | * @return this
|
133 | */
|
134 | insertInt16BE(value: number, offset: number): SmartBuffer;
|
135 | /**
|
136 | * Writes an Int16LE value to the current write position (or at optional offset).
|
137 | *
|
138 | * @param value { Number } The value to write.
|
139 | * @param offset { Number } The offset to write the value at.
|
140 | *
|
141 | * @return this
|
142 | */
|
143 | writeInt16LE(value: number, offset?: number): SmartBuffer;
|
144 | /**
|
145 | * Inserts an Int16LE value at the given offset value.
|
146 | *
|
147 | * @param value { Number } The value to insert.
|
148 | * @param offset { Number } The offset to insert the value at.
|
149 | *
|
150 | * @return this
|
151 | */
|
152 | insertInt16LE(value: number, offset: number): SmartBuffer;
|
153 | /**
|
154 | * Writes an Int32BE value to the current write position (or at optional offset).
|
155 | *
|
156 | * @param value { Number } The value to write.
|
157 | * @param offset { Number } The offset to write the value at.
|
158 | *
|
159 | * @return this
|
160 | */
|
161 | writeInt32BE(value: number, offset?: number): SmartBuffer;
|
162 | /**
|
163 | * Inserts an Int32BE value at the given offset value.
|
164 | *
|
165 | * @param value { Number } The value to insert.
|
166 | * @param offset { Number } The offset to insert the value at.
|
167 | *
|
168 | * @return this
|
169 | */
|
170 | insertInt32BE(value: number, offset: number): SmartBuffer;
|
171 | /**
|
172 | * Writes an Int32LE value to the current write position (or at optional offset).
|
173 | *
|
174 | * @param value { Number } The value to write.
|
175 | * @param offset { Number } The offset to write the value at.
|
176 | *
|
177 | * @return this
|
178 | */
|
179 | writeInt32LE(value: number, offset?: number): SmartBuffer;
|
180 | /**
|
181 | * Inserts an Int32LE value at the given offset value.
|
182 | *
|
183 | * @param value { Number } The value to insert.
|
184 | * @param offset { Number } The offset to insert the value at.
|
185 | *
|
186 | * @return this
|
187 | */
|
188 | insertInt32LE(value: number, offset: number): SmartBuffer;
|
189 | /**
|
190 | * Writes a BigInt64BE value to the current write position (or at optional offset).
|
191 | *
|
192 | * @param value { BigInt } The value to write.
|
193 | * @param offset { Number } The offset to write the value at.
|
194 | *
|
195 | * @return this
|
196 | */
|
197 | writeBigInt64BE(value: bigint, offset?: number): SmartBuffer;
|
198 | /**
|
199 | * Inserts a BigInt64BE value at the given offset value.
|
200 | *
|
201 | * @param value { BigInt } The value to insert.
|
202 | * @param offset { Number } The offset to insert the value at.
|
203 | *
|
204 | * @return this
|
205 | */
|
206 | insertBigInt64BE(value: bigint, offset: number): SmartBuffer;
|
207 | /**
|
208 | * Writes a BigInt64LE value to the current write position (or at optional offset).
|
209 | *
|
210 | * @param value { BigInt } The value to write.
|
211 | * @param offset { Number } The offset to write the value at.
|
212 | *
|
213 | * @return this
|
214 | */
|
215 | writeBigInt64LE(value: bigint, offset?: number): SmartBuffer;
|
216 | /**
|
217 | * Inserts a Int64LE value at the given offset value.
|
218 | *
|
219 | * @param value { BigInt } The value to insert.
|
220 | * @param offset { Number } The offset to insert the value at.
|
221 | *
|
222 | * @return this
|
223 | */
|
224 | insertBigInt64LE(value: bigint, offset: number): SmartBuffer;
|
225 | /**
|
226 | * Reads an UInt8 value from the current read position or an optionally provided offset.
|
227 | *
|
228 | * @param offset { Number } The offset to read data from (optional)
|
229 | * @return { Number }
|
230 | */
|
231 | readUInt8(offset?: number): number;
|
232 | /**
|
233 | * Reads an UInt16BE value from the current read position or an optionally provided offset.
|
234 | *
|
235 | * @param offset { Number } The offset to read data from (optional)
|
236 | * @return { Number }
|
237 | */
|
238 | readUInt16BE(offset?: number): number;
|
239 | /**
|
240 | * Reads an UInt16LE value from the current read position or an optionally provided offset.
|
241 | *
|
242 | * @param offset { Number } The offset to read data from (optional)
|
243 | * @return { Number }
|
244 | */
|
245 | readUInt16LE(offset?: number): number;
|
246 | /**
|
247 | * Reads an UInt32BE value from the current read position or an optionally provided offset.
|
248 | *
|
249 | * @param offset { Number } The offset to read data from (optional)
|
250 | * @return { Number }
|
251 | */
|
252 | readUInt32BE(offset?: number): number;
|
253 | /**
|
254 | * Reads an UInt32LE value from the current read position or an optionally provided offset.
|
255 | *
|
256 | * @param offset { Number } The offset to read data from (optional)
|
257 | * @return { Number }
|
258 | */
|
259 | readUInt32LE(offset?: number): number;
|
260 | /**
|
261 | * Reads a BigUInt64BE value from the current read position or an optionally provided offset.
|
262 | *
|
263 | * @param offset { Number } The offset to read data from (optional)
|
264 | * @return { BigInt }
|
265 | */
|
266 | readBigUInt64BE(offset?: number): bigint;
|
267 | /**
|
268 | * Reads a BigUInt64LE value from the current read position or an optionally provided offset.
|
269 | *
|
270 | * @param offset { Number } The offset to read data from (optional)
|
271 | * @return { BigInt }
|
272 | */
|
273 | readBigUInt64LE(offset?: number): bigint;
|
274 | /**
|
275 | * Writes an UInt8 value to the current write position (or at optional offset).
|
276 | *
|
277 | * @param value { Number } The value to write.
|
278 | * @param offset { Number } The offset to write the value at.
|
279 | *
|
280 | * @return this
|
281 | */
|
282 | writeUInt8(value: number, offset?: number): SmartBuffer;
|
283 | /**
|
284 | * Inserts an UInt8 value at the given offset value.
|
285 | *
|
286 | * @param value { Number } The value to insert.
|
287 | * @param offset { Number } The offset to insert the value at.
|
288 | *
|
289 | * @return this
|
290 | */
|
291 | insertUInt8(value: number, offset: number): SmartBuffer;
|
292 | /**
|
293 | * Writes an UInt16BE value to the current write position (or at optional offset).
|
294 | *
|
295 | * @param value { Number } The value to write.
|
296 | * @param offset { Number } The offset to write the value at.
|
297 | *
|
298 | * @return this
|
299 | */
|
300 | writeUInt16BE(value: number, offset?: number): SmartBuffer;
|
301 | /**
|
302 | * Inserts an UInt16BE value at the given offset value.
|
303 | *
|
304 | * @param value { Number } The value to insert.
|
305 | * @param offset { Number } The offset to insert the value at.
|
306 | *
|
307 | * @return this
|
308 | */
|
309 | insertUInt16BE(value: number, offset: number): SmartBuffer;
|
310 | /**
|
311 | * Writes an UInt16LE value to the current write position (or at optional offset).
|
312 | *
|
313 | * @param value { Number } The value to write.
|
314 | * @param offset { Number } The offset to write the value at.
|
315 | *
|
316 | * @return this
|
317 | */
|
318 | writeUInt16LE(value: number, offset?: number): SmartBuffer;
|
319 | /**
|
320 | * Inserts an UInt16LE value at the given offset value.
|
321 | *
|
322 | * @param value { Number } The value to insert.
|
323 | * @param offset { Number } The offset to insert the value at.
|
324 | *
|
325 | * @return this
|
326 | */
|
327 | insertUInt16LE(value: number, offset: number): SmartBuffer;
|
328 | /**
|
329 | * Writes an UInt32BE value to the current write position (or at optional offset).
|
330 | *
|
331 | * @param value { Number } The value to write.
|
332 | * @param offset { Number } The offset to write the value at.
|
333 | *
|
334 | * @return this
|
335 | */
|
336 | writeUInt32BE(value: number, offset?: number): SmartBuffer;
|
337 | /**
|
338 | * Inserts an UInt32BE value at the given offset value.
|
339 | *
|
340 | * @param value { Number } The value to insert.
|
341 | * @param offset { Number } The offset to insert the value at.
|
342 | *
|
343 | * @return this
|
344 | */
|
345 | insertUInt32BE(value: number, offset: number): SmartBuffer;
|
346 | /**
|
347 | * Writes an UInt32LE value to the current write position (or at optional offset).
|
348 | *
|
349 | * @param value { Number } The value to write.
|
350 | * @param offset { Number } The offset to write the value at.
|
351 | *
|
352 | * @return this
|
353 | */
|
354 | writeUInt32LE(value: number, offset?: number): SmartBuffer;
|
355 | /**
|
356 | * Inserts an UInt32LE value at the given offset value.
|
357 | *
|
358 | * @param value { Number } The value to insert.
|
359 | * @param offset { Number } The offset to insert the value at.
|
360 | *
|
361 | * @return this
|
362 | */
|
363 | insertUInt32LE(value: number, offset: number): SmartBuffer;
|
364 | /**
|
365 | * Writes a BigUInt64BE value to the current write position (or at optional offset).
|
366 | *
|
367 | * @param value { Number } The value to write.
|
368 | * @param offset { Number } The offset to write the value at.
|
369 | *
|
370 | * @return this
|
371 | */
|
372 | writeBigUInt64BE(value: bigint, offset?: number): SmartBuffer;
|
373 | /**
|
374 | * Inserts a BigUInt64BE value at the given offset value.
|
375 | *
|
376 | * @param value { Number } The value to insert.
|
377 | * @param offset { Number } The offset to insert the value at.
|
378 | *
|
379 | * @return this
|
380 | */
|
381 | insertBigUInt64BE(value: bigint, offset: number): SmartBuffer;
|
382 | /**
|
383 | * Writes a BigUInt64LE value to the current write position (or at optional offset).
|
384 | *
|
385 | * @param value { Number } The value to write.
|
386 | * @param offset { Number } The offset to write the value at.
|
387 | *
|
388 | * @return this
|
389 | */
|
390 | writeBigUInt64LE(value: bigint, offset?: number): SmartBuffer;
|
391 | /**
|
392 | * Inserts a BigUInt64LE value at the given offset value.
|
393 | *
|
394 | * @param value { Number } The value to insert.
|
395 | * @param offset { Number } The offset to insert the value at.
|
396 | *
|
397 | * @return this
|
398 | */
|
399 | insertBigUInt64LE(value: bigint, offset: number): SmartBuffer;
|
400 | /**
|
401 | * Reads an FloatBE value from the current read position or an optionally provided offset.
|
402 | *
|
403 | * @param offset { Number } The offset to read data from (optional)
|
404 | * @return { Number }
|
405 | */
|
406 | readFloatBE(offset?: number): number;
|
407 | /**
|
408 | * Reads an FloatLE value from the current read position or an optionally provided offset.
|
409 | *
|
410 | * @param offset { Number } The offset to read data from (optional)
|
411 | * @return { Number }
|
412 | */
|
413 | readFloatLE(offset?: number): number;
|
414 | /**
|
415 | * Writes a FloatBE value to the current write position (or at optional offset).
|
416 | *
|
417 | * @param value { Number } The value to write.
|
418 | * @param offset { Number } The offset to write the value at.
|
419 | *
|
420 | * @return this
|
421 | */
|
422 | writeFloatBE(value: number, offset?: number): SmartBuffer;
|
423 | /**
|
424 | * Inserts a FloatBE value at the given offset value.
|
425 | *
|
426 | * @param value { Number } The value to insert.
|
427 | * @param offset { Number } The offset to insert the value at.
|
428 | *
|
429 | * @return this
|
430 | */
|
431 | insertFloatBE(value: number, offset: number): SmartBuffer;
|
432 | /**
|
433 | * Writes a FloatLE value to the current write position (or at optional offset).
|
434 | *
|
435 | * @param value { Number } The value to write.
|
436 | * @param offset { Number } The offset to write the value at.
|
437 | *
|
438 | * @return this
|
439 | */
|
440 | writeFloatLE(value: number, offset?: number): SmartBuffer;
|
441 | /**
|
442 | * Inserts a FloatLE value at the given offset value.
|
443 | *
|
444 | * @param value { Number } The value to insert.
|
445 | * @param offset { Number } The offset to insert the value at.
|
446 | *
|
447 | * @return this
|
448 | */
|
449 | insertFloatLE(value: number, offset: number): SmartBuffer;
|
450 | /**
|
451 | * Reads an DoublEBE value from the current read position or an optionally provided offset.
|
452 | *
|
453 | * @param offset { Number } The offset to read data from (optional)
|
454 | * @return { Number }
|
455 | */
|
456 | readDoubleBE(offset?: number): number;
|
457 | /**
|
458 | * Reads an DoubleLE value from the current read position or an optionally provided offset.
|
459 | *
|
460 | * @param offset { Number } The offset to read data from (optional)
|
461 | * @return { Number }
|
462 | */
|
463 | readDoubleLE(offset?: number): number;
|
464 | /**
|
465 | * Writes a DoubleBE value to the current write position (or at optional offset).
|
466 | *
|
467 | * @param value { Number } The value to write.
|
468 | * @param offset { Number } The offset to write the value at.
|
469 | *
|
470 | * @return this
|
471 | */
|
472 | writeDoubleBE(value: number, offset?: number): SmartBuffer;
|
473 | /**
|
474 | * Inserts a DoubleBE value at the given offset value.
|
475 | *
|
476 | * @param value { Number } The value to insert.
|
477 | * @param offset { Number } The offset to insert the value at.
|
478 | *
|
479 | * @return this
|
480 | */
|
481 | insertDoubleBE(value: number, offset: number): SmartBuffer;
|
482 | /**
|
483 | * Writes a DoubleLE value to the current write position (or at optional offset).
|
484 | *
|
485 | * @param value { Number } The value to write.
|
486 | * @param offset { Number } The offset to write the value at.
|
487 | *
|
488 | * @return this
|
489 | */
|
490 | writeDoubleLE(value: number, offset?: number): SmartBuffer;
|
491 | /**
|
492 | * Inserts a DoubleLE value at the given offset value.
|
493 | *
|
494 | * @param value { Number } The value to insert.
|
495 | * @param offset { Number } The offset to insert the value at.
|
496 | *
|
497 | * @return this
|
498 | */
|
499 | insertDoubleLE(value: number, offset: number): SmartBuffer;
|
500 | /**
|
501 | * Reads a String from the current read position.
|
502 | *
|
503 | * @param arg1 { Number | String } The number of bytes to read as a String, or the BufferEncoding to use for
|
504 | * the string (Defaults to instance level encoding).
|
505 | * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding).
|
506 | *
|
507 | * @return { String }
|
508 | */
|
509 | readString(arg1?: number | BufferEncoding, encoding?: BufferEncoding): string;
|
510 | /**
|
511 | * Inserts a String
|
512 | *
|
513 | * @param value { String } The String value to insert.
|
514 | * @param offset { Number } The offset to insert the string at.
|
515 | * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
|
516 | *
|
517 | * @return this
|
518 | */
|
519 | insertString(value: string, offset: number, encoding?: BufferEncoding): SmartBuffer;
|
520 | /**
|
521 | * Writes a String
|
522 | *
|
523 | * @param value { String } The String value to write.
|
524 | * @param arg2 { Number | String } The offset to write the string at, or the BufferEncoding to use.
|
525 | * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
|
526 | *
|
527 | * @return this
|
528 | */
|
529 | writeString(value: string, arg2?: number | BufferEncoding, encoding?: BufferEncoding): SmartBuffer;
|
530 | /**
|
531 | * Reads a null-terminated String from the current read position.
|
532 | *
|
533 | * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding).
|
534 | *
|
535 | * @return { String }
|
536 | */
|
537 | readStringNT(encoding?: BufferEncoding): string;
|
538 | /**
|
539 | * Inserts a null-terminated String.
|
540 | *
|
541 | * @param value { String } The String value to write.
|
542 | * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use.
|
543 | * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
|
544 | *
|
545 | * @return this
|
546 | */
|
547 | insertStringNT(value: string, offset: number, encoding?: BufferEncoding): SmartBuffer;
|
548 | /**
|
549 | * Writes a null-terminated String.
|
550 | *
|
551 | * @param value { String } The String value to write.
|
552 | * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use.
|
553 | * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
|
554 | *
|
555 | * @return this
|
556 | */
|
557 | writeStringNT(value: string, arg2?: number | BufferEncoding, encoding?: BufferEncoding): SmartBuffer;
|
558 | /**
|
559 | * Reads a Buffer from the internal read position.
|
560 | *
|
561 | * @param length { Number } The length of data to read as a Buffer.
|
562 | *
|
563 | * @return { Buffer }
|
564 | */
|
565 | readBuffer(length?: number): Buffer;
|
566 | /**
|
567 | * Writes a Buffer to the current write position.
|
568 | *
|
569 | * @param value { Buffer } The Buffer to write.
|
570 | * @param offset { Number } The offset to write the Buffer to.
|
571 | *
|
572 | * @return this
|
573 | */
|
574 | insertBuffer(value: Buffer, offset: number): SmartBuffer;
|
575 | /**
|
576 | * Writes a Buffer to the current write position.
|
577 | *
|
578 | * @param value { Buffer } The Buffer to write.
|
579 | * @param offset { Number } The offset to write the Buffer to.
|
580 | *
|
581 | * @return this
|
582 | */
|
583 | writeBuffer(value: Buffer, offset?: number): SmartBuffer;
|
584 | /**
|
585 | * Reads a null-terminated Buffer from the current read poisiton.
|
586 | *
|
587 | * @return { Buffer }
|
588 | */
|
589 | readBufferNT(): Buffer;
|
590 | /**
|
591 | * Inserts a null-terminated Buffer.
|
592 | *
|
593 | * @param value { Buffer } The Buffer to write.
|
594 | * @param offset { Number } The offset to write the Buffer to.
|
595 | *
|
596 | * @return this
|
597 | */
|
598 | insertBufferNT(value: Buffer, offset: number): SmartBuffer;
|
599 | /**
|
600 | * Writes a null-terminated Buffer.
|
601 | *
|
602 | * @param value { Buffer } The Buffer to write.
|
603 | * @param offset { Number } The offset to write the Buffer to.
|
604 | *
|
605 | * @return this
|
606 | */
|
607 | writeBufferNT(value: Buffer, offset?: number): SmartBuffer;
|
608 | /**
|
609 | * Clears the SmartBuffer instance to its original empty state.
|
610 | */
|
611 | clear(): SmartBuffer;
|
612 | /**
|
613 | * Gets the remaining data left to be read from the SmartBuffer instance.
|
614 | *
|
615 | * @return { Number }
|
616 | */
|
617 | remaining(): number;
|
618 | /**
|
619 | * Gets the current read offset value of the SmartBuffer instance.
|
620 | *
|
621 | * @return { Number }
|
622 | */
|
623 | /**
|
624 | * Sets the read offset value of the SmartBuffer instance.
|
625 | *
|
626 | * @param offset { Number } - The offset value to set.
|
627 | */
|
628 | readOffset: number;
|
629 | /**
|
630 | * Gets the current write offset value of the SmartBuffer instance.
|
631 | *
|
632 | * @return { Number }
|
633 | */
|
634 | /**
|
635 | * Sets the write offset value of the SmartBuffer instance.
|
636 | *
|
637 | * @param offset { Number } - The offset value to set.
|
638 | */
|
639 | writeOffset: number;
|
640 | /**
|
641 | * Gets the currently set string encoding of the SmartBuffer instance.
|
642 | *
|
643 | * @return { BufferEncoding } The string Buffer encoding currently set.
|
644 | */
|
645 | /**
|
646 | * Sets the string encoding of the SmartBuffer instance.
|
647 | *
|
648 | * @param encoding { BufferEncoding } The string Buffer encoding to set.
|
649 | */
|
650 | encoding: BufferEncoding;
|
651 | /**
|
652 | * Gets the underlying internal Buffer. (This includes unmanaged data in the Buffer)
|
653 | *
|
654 | * @return { Buffer } The Buffer value.
|
655 | */
|
656 | readonly internalBuffer: Buffer;
|
657 | /**
|
658 | * Gets the value of the internal managed Buffer (Includes managed data only)
|
659 | *
|
660 | * @param { Buffer }
|
661 | */
|
662 | toBuffer(): Buffer;
|
663 | /**
|
664 | * Gets the String value of the internal managed Buffer
|
665 | *
|
666 | * @param encoding { String } The BufferEncoding to display the Buffer as (defaults to instance level encoding).
|
667 | */
|
668 | toString(encoding?: BufferEncoding): string;
|
669 | /**
|
670 | * Destroys the SmartBuffer instance.
|
671 | */
|
672 | destroy(): SmartBuffer;
|
673 | /**
|
674 | * Handles inserting and writing strings.
|
675 | *
|
676 | * @param value { String } The String value to insert.
|
677 | * @param isInsert { Boolean } True if inserting a string, false if writing.
|
678 | * @param arg2 { Number | String } The offset to insert the string at, or the BufferEncoding to use.
|
679 | * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
|
680 | */
|
681 | private _handleString;
|
682 | /**
|
683 | * Handles writing or insert of a Buffer.
|
684 | *
|
685 | * @param value { Buffer } The Buffer to write.
|
686 | * @param offset { Number } The offset to write the Buffer to.
|
687 | */
|
688 | private _handleBuffer;
|
689 | /**
|
690 | * Ensures that the internal Buffer is large enough to read data.
|
691 | *
|
692 | * @param length { Number } The length of the data that needs to be read.
|
693 | * @param offset { Number } The offset of the data that needs to be read.
|
694 | */
|
695 | private ensureReadable;
|
696 | /**
|
697 | * Ensures that the internal Buffer is large enough to insert data.
|
698 | *
|
699 | * @param dataLength { Number } The length of the data that needs to be written.
|
700 | * @param offset { Number } The offset of the data to be written.
|
701 | */
|
702 | private ensureInsertable;
|
703 | /**
|
704 | * Ensures that the internal Buffer is large enough to write data.
|
705 | *
|
706 | * @param dataLength { Number } The length of the data that needs to be written.
|
707 | * @param offset { Number } The offset of the data to be written (defaults to writeOffset).
|
708 | */
|
709 | private _ensureWriteable;
|
710 | /**
|
711 | * Ensures that the internal Buffer is large enough to write at least the given amount of data.
|
712 | *
|
713 | * @param minLength { Number } The minimum length of the data needs to be written.
|
714 | */
|
715 | private _ensureCapacity;
|
716 | /**
|
717 | * Reads a numeric number value using the provided function.
|
718 | *
|
719 | * @typeparam T { number | bigint } The type of the value to be read
|
720 | *
|
721 | * @param func { Function(offset: number) => number } The function to read data on the internal Buffer with.
|
722 | * @param byteSize { Number } The number of bytes read.
|
723 | * @param offset { Number } The offset to read from (optional). When this is not provided, the managed readOffset is used instead.
|
724 | *
|
725 | * @returns { T } the number value
|
726 | */
|
727 | private _readNumberValue;
|
728 | /**
|
729 | * Inserts a numeric number value based on the given offset and value.
|
730 | *
|
731 | * @typeparam T { number | bigint } The type of the value to be written
|
732 | *
|
733 | * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with.
|
734 | * @param byteSize { Number } The number of bytes written.
|
735 | * @param value { T } The number value to write.
|
736 | * @param offset { Number } the offset to write the number at (REQUIRED).
|
737 | *
|
738 | * @returns SmartBuffer this buffer
|
739 | */
|
740 | private _insertNumberValue;
|
741 | /**
|
742 | * Writes a numeric number value based on the given offset and value.
|
743 | *
|
744 | * @typeparam T { number | bigint } The type of the value to be written
|
745 | *
|
746 | * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with.
|
747 | * @param byteSize { Number } The number of bytes written.
|
748 | * @param value { T } The number value to write.
|
749 | * @param offset { Number } the offset to write the number at (REQUIRED).
|
750 | *
|
751 | * @returns SmartBuffer this buffer
|
752 | */
|
753 | private _writeNumberValue;
|
754 | }
|
755 | export { SmartBufferOptions, SmartBuffer };
|