@lexmata/micropdf 0.4.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.
- package/LICENSE +191 -0
- package/README.md +985 -0
- package/binding.gyp +73 -0
- package/dist/annot.d.ts +458 -0
- package/dist/annot.d.ts.map +1 -0
- package/dist/annot.js +697 -0
- package/dist/annot.js.map +1 -0
- package/dist/archive.d.ts +128 -0
- package/dist/archive.d.ts.map +1 -0
- package/dist/archive.js +268 -0
- package/dist/archive.js.map +1 -0
- package/dist/buffer.d.ts +572 -0
- package/dist/buffer.d.ts.map +1 -0
- package/dist/buffer.js +971 -0
- package/dist/buffer.js.map +1 -0
- package/dist/colorspace.d.ts +287 -0
- package/dist/colorspace.d.ts.map +1 -0
- package/dist/colorspace.js +542 -0
- package/dist/colorspace.js.map +1 -0
- package/dist/context.d.ts +184 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +320 -0
- package/dist/context.js.map +1 -0
- package/dist/cookie.d.ts +164 -0
- package/dist/cookie.d.ts.map +1 -0
- package/dist/cookie.js +306 -0
- package/dist/cookie.js.map +1 -0
- package/dist/device.d.ts +169 -0
- package/dist/device.d.ts.map +1 -0
- package/dist/device.js +350 -0
- package/dist/device.js.map +1 -0
- package/dist/display-list.d.ts +202 -0
- package/dist/display-list.d.ts.map +1 -0
- package/dist/display-list.js +410 -0
- package/dist/display-list.js.map +1 -0
- package/dist/document.d.ts +637 -0
- package/dist/document.d.ts.map +1 -0
- package/dist/document.js +902 -0
- package/dist/document.js.map +1 -0
- package/dist/easy.d.ts +423 -0
- package/dist/easy.d.ts.map +1 -0
- package/dist/easy.js +644 -0
- package/dist/easy.js.map +1 -0
- package/dist/enhanced.d.ts +226 -0
- package/dist/enhanced.d.ts.map +1 -0
- package/dist/enhanced.js +368 -0
- package/dist/enhanced.js.map +1 -0
- package/dist/filter.d.ts +51 -0
- package/dist/filter.d.ts.map +1 -0
- package/dist/filter.js +381 -0
- package/dist/filter.js.map +1 -0
- package/dist/font.d.ts +222 -0
- package/dist/font.d.ts.map +1 -0
- package/dist/font.js +381 -0
- package/dist/font.js.map +1 -0
- package/dist/form.d.ts +214 -0
- package/dist/form.d.ts.map +1 -0
- package/dist/form.js +497 -0
- package/dist/form.js.map +1 -0
- package/dist/geometry.d.ts +469 -0
- package/dist/geometry.d.ts.map +1 -0
- package/dist/geometry.js +780 -0
- package/dist/geometry.js.map +1 -0
- package/dist/image.d.ts +172 -0
- package/dist/image.d.ts.map +1 -0
- package/dist/image.js +348 -0
- package/dist/image.js.map +1 -0
- package/dist/index.d.ts +171 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +339 -0
- package/dist/index.js.map +1 -0
- package/dist/link.d.ts +168 -0
- package/dist/link.d.ts.map +1 -0
- package/dist/link.js +343 -0
- package/dist/link.js.map +1 -0
- package/dist/micropdf.d.ts +40 -0
- package/dist/micropdf.d.ts.map +1 -0
- package/dist/micropdf.js +45 -0
- package/dist/micropdf.js.map +1 -0
- package/dist/nanopdf.d.ts +40 -0
- package/dist/nanopdf.d.ts.map +1 -0
- package/dist/nanopdf.js +45 -0
- package/dist/nanopdf.js.map +1 -0
- package/dist/native.d.ts +242 -0
- package/dist/native.d.ts.map +1 -0
- package/dist/native.js +509 -0
- package/dist/native.js.map +1 -0
- package/dist/output.d.ts +166 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +365 -0
- package/dist/output.js.map +1 -0
- package/dist/path.d.ts +420 -0
- package/dist/path.d.ts.map +1 -0
- package/dist/path.js +687 -0
- package/dist/path.js.map +1 -0
- package/dist/pdf/object.d.ts +489 -0
- package/dist/pdf/object.d.ts.map +1 -0
- package/dist/pdf/object.js +1045 -0
- package/dist/pdf/object.js.map +1 -0
- package/dist/pixmap.d.ts +315 -0
- package/dist/pixmap.d.ts.map +1 -0
- package/dist/pixmap.js +590 -0
- package/dist/pixmap.js.map +1 -0
- package/dist/profiler.d.ts +159 -0
- package/dist/profiler.d.ts.map +1 -0
- package/dist/profiler.js +380 -0
- package/dist/profiler.js.map +1 -0
- package/dist/render-options.d.ts +227 -0
- package/dist/render-options.d.ts.map +1 -0
- package/dist/render-options.js +130 -0
- package/dist/render-options.js.map +1 -0
- package/dist/resource-tracking.d.ts +332 -0
- package/dist/resource-tracking.d.ts.map +1 -0
- package/dist/resource-tracking.js +653 -0
- package/dist/resource-tracking.js.map +1 -0
- package/dist/simple.d.ts +276 -0
- package/dist/simple.d.ts.map +1 -0
- package/dist/simple.js +343 -0
- package/dist/simple.js.map +1 -0
- package/dist/stext.d.ts +290 -0
- package/dist/stext.d.ts.map +1 -0
- package/dist/stext.js +312 -0
- package/dist/stext.js.map +1 -0
- package/dist/stream.d.ts +174 -0
- package/dist/stream.d.ts.map +1 -0
- package/dist/stream.js +476 -0
- package/dist/stream.js.map +1 -0
- package/dist/text.d.ts +337 -0
- package/dist/text.d.ts.map +1 -0
- package/dist/text.js +454 -0
- package/dist/text.js.map +1 -0
- package/dist/typed-arrays.d.ts +127 -0
- package/dist/typed-arrays.d.ts.map +1 -0
- package/dist/typed-arrays.js +410 -0
- package/dist/typed-arrays.js.map +1 -0
- package/dist/types.d.ts +358 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +216 -0
- package/dist/types.js.map +1 -0
- package/native/annot.cc +557 -0
- package/native/buffer.cc +204 -0
- package/native/colorspace.cc +166 -0
- package/native/context.cc +84 -0
- package/native/cookie.cc +179 -0
- package/native/device.cc +179 -0
- package/native/display_list.cc +179 -0
- package/native/document.cc +268 -0
- package/native/enhanced.cc +70 -0
- package/native/font.cc +282 -0
- package/native/form.cc +523 -0
- package/native/geometry.cc +255 -0
- package/native/image.cc +216 -0
- package/native/include/micropdf/enhanced.h +38 -0
- package/native/include/micropdf/types.h +36 -0
- package/native/include/micropdf.h +106 -0
- package/native/include/mupdf-ffi.h +39 -0
- package/native/include/mupdf.h +11 -0
- package/native/include/mupdf_minimal.h +381 -0
- package/native/lib/linux-x64/libmicropdf.a +0 -0
- package/native/link.cc +234 -0
- package/native/micropdf.cc +71 -0
- package/native/output.cc +229 -0
- package/native/page.cc +572 -0
- package/native/path.cc +259 -0
- package/native/pixmap.cc +240 -0
- package/native/stext.cc +610 -0
- package/native/stream.cc +239 -0
- package/package.json +120 -0
- package/scripts/build-from-rust.js +97 -0
- package/scripts/install.js +184 -0
package/dist/buffer.d.ts
ADDED
|
@@ -0,0 +1,572 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Buffer - Dynamic byte array wrapper for PDF data manipulation
|
|
3
|
+
*
|
|
4
|
+
* This module provides a flexible buffer implementation for working with binary PDF data.
|
|
5
|
+
* Buffers are used throughout the library for reading, writing, and manipulating
|
|
6
|
+
* PDF content, streams, and binary resources.
|
|
7
|
+
*
|
|
8
|
+
* This implementation mirrors the Rust `fitz::buffer::Buffer` for 100% API compatibility
|
|
9
|
+
* and wraps Node.js Buffer for efficient memory management.
|
|
10
|
+
*
|
|
11
|
+
* @module buffer
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { Buffer } from 'micropdf';
|
|
15
|
+
*
|
|
16
|
+
* // Create from string
|
|
17
|
+
* const buf = Buffer.fromString('Hello, PDF!');
|
|
18
|
+
*
|
|
19
|
+
* // Append data
|
|
20
|
+
* buf.append(Buffer.fromString(' More text.'));
|
|
21
|
+
*
|
|
22
|
+
* // Get as string
|
|
23
|
+
* console.log(buf.toString()); // "Hello, PDF! More text."
|
|
24
|
+
*
|
|
25
|
+
* // Get raw bytes
|
|
26
|
+
* const bytes = buf.toUint8Array();
|
|
27
|
+
*
|
|
28
|
+
* // Get size
|
|
29
|
+
* console.log(buf.length); // 24
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
import { type BufferLike, isBufferLike } from './types.js';
|
|
33
|
+
export { BufferLike, isBufferLike };
|
|
34
|
+
/**
|
|
35
|
+
* A dynamic byte buffer for PDF data manipulation.
|
|
36
|
+
*
|
|
37
|
+
* Buffer provides efficient storage and manipulation of binary data. It's used
|
|
38
|
+
* throughout the library for PDF streams, content, images, and other binary resources.
|
|
39
|
+
*
|
|
40
|
+
* **Key Features:**
|
|
41
|
+
* - Dynamic resizing as data is appended
|
|
42
|
+
* - Zero-copy conversion to/from Node.js Buffer
|
|
43
|
+
* - String encoding/decoding support
|
|
44
|
+
* - Slice and copy operations
|
|
45
|
+
* - Compatible with standard Node.js Buffer operations
|
|
46
|
+
*
|
|
47
|
+
* Mirrors the Rust `Buffer` implementation with `bytes` crate semantics.
|
|
48
|
+
*
|
|
49
|
+
* @class Buffer
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* // Create empty buffer
|
|
53
|
+
* const buf1 = Buffer.create();
|
|
54
|
+
*
|
|
55
|
+
* // Create from string
|
|
56
|
+
* const buf2 = Buffer.fromString('Hello');
|
|
57
|
+
*
|
|
58
|
+
* // Create from bytes
|
|
59
|
+
* const bytes = new Uint8Array([72, 101, 108, 108, 111]);
|
|
60
|
+
* const buf3 = Buffer.fromUint8Array(bytes);
|
|
61
|
+
*
|
|
62
|
+
* // Append data
|
|
63
|
+
* buf1.append(buf2);
|
|
64
|
+
* buf1.append(Buffer.fromString(' World!'));
|
|
65
|
+
*
|
|
66
|
+
* // Extract data
|
|
67
|
+
* console.log(buf1.toString()); // "Hello World!"
|
|
68
|
+
* console.log(buf1.length); // 12
|
|
69
|
+
*
|
|
70
|
+
* // Slice
|
|
71
|
+
* const hello = buf1.slice(0, 5);
|
|
72
|
+
* console.log(hello.toString()); // "Hello"
|
|
73
|
+
*
|
|
74
|
+
* // Clear
|
|
75
|
+
* buf1.clear();
|
|
76
|
+
* console.log(buf1.length); // 0
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export declare class Buffer {
|
|
80
|
+
/**
|
|
81
|
+
* The underlying Node.js Buffer containing the data.
|
|
82
|
+
* @private
|
|
83
|
+
* @type {globalThis.Buffer}
|
|
84
|
+
*/
|
|
85
|
+
private _data;
|
|
86
|
+
/**
|
|
87
|
+
* Creates a new Buffer instance.
|
|
88
|
+
*
|
|
89
|
+
* **Note**: Use static factory methods instead of calling this constructor directly.
|
|
90
|
+
*
|
|
91
|
+
* @private
|
|
92
|
+
* @param {globalThis.Buffer} data - The underlying Node.js Buffer
|
|
93
|
+
*/
|
|
94
|
+
private constructor();
|
|
95
|
+
/**
|
|
96
|
+
* Creates a new empty buffer with optional initial capacity.
|
|
97
|
+
*
|
|
98
|
+
* The capacity parameter is a hint for initial memory allocation. The buffer
|
|
99
|
+
* will automatically grow as needed when data is appended.
|
|
100
|
+
*
|
|
101
|
+
* @static
|
|
102
|
+
* @param {number} [capacity=0] - Initial capacity in bytes (optional)
|
|
103
|
+
* @returns {Buffer} A new empty buffer
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* // Create empty buffer
|
|
107
|
+
* const buf1 = Buffer.create();
|
|
108
|
+
*
|
|
109
|
+
* // Create with initial capacity
|
|
110
|
+
* const buf2 = Buffer.create(1024); // Reserve 1KB
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
static create(capacity?: number): Buffer;
|
|
114
|
+
/**
|
|
115
|
+
* Creates a buffer from a Node.js Buffer (zero-copy).
|
|
116
|
+
*
|
|
117
|
+
* This operation wraps the existing Buffer without copying data, making it
|
|
118
|
+
* very efficient. Modifications to the original Buffer will be visible in
|
|
119
|
+
* the MicroPDF Buffer and vice versa.
|
|
120
|
+
*
|
|
121
|
+
* @static
|
|
122
|
+
* @param {globalThis.Buffer} data - The Node.js Buffer to wrap
|
|
123
|
+
* @returns {Buffer} A new Buffer wrapping the provided data
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* const nodeBuffer = Buffer.from('Hello');
|
|
127
|
+
* const pdfBuffer = Buffer.fromBuffer(nodeBuffer);
|
|
128
|
+
* console.log(pdfBuffer.toString()); // "Hello"
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
static fromBuffer(data: globalThis.Buffer): Buffer;
|
|
132
|
+
/**
|
|
133
|
+
* Creates a buffer from a Uint8Array.
|
|
134
|
+
*
|
|
135
|
+
* The data is copied into a new Node.js Buffer.
|
|
136
|
+
*
|
|
137
|
+
* @static
|
|
138
|
+
* @param {Uint8Array} data - The byte array to copy
|
|
139
|
+
* @returns {Buffer} A new Buffer containing the data
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* const bytes = new Uint8Array([72, 101, 108, 108, 111]);
|
|
143
|
+
* const buf = Buffer.fromUint8Array(bytes);
|
|
144
|
+
* console.log(buf.toString()); // "Hello"
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
static fromUint8Array(data: Uint8Array): Buffer;
|
|
148
|
+
/**
|
|
149
|
+
* Creates a buffer from an ArrayBuffer.
|
|
150
|
+
*
|
|
151
|
+
* Useful for working with binary data from various Web APIs and file operations.
|
|
152
|
+
*
|
|
153
|
+
* @static
|
|
154
|
+
* @param {ArrayBuffer} data - The ArrayBuffer to convert
|
|
155
|
+
* @returns {Buffer} A new Buffer containing the data
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* const arrayBuffer = new ArrayBuffer(5);
|
|
159
|
+
* const view = new Uint8Array(arrayBuffer);
|
|
160
|
+
* view.set([72, 101, 108, 108, 111]);
|
|
161
|
+
* const buf = Buffer.fromArrayBuffer(arrayBuffer);
|
|
162
|
+
* console.log(buf.toString()); // "Hello"
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
static fromArrayBuffer(data: ArrayBuffer): Buffer;
|
|
166
|
+
/**
|
|
167
|
+
* Creates a buffer from a string with specified encoding.
|
|
168
|
+
*
|
|
169
|
+
* Supports all standard Node.js buffer encodings including UTF-8, ASCII,
|
|
170
|
+
* Base64, Hex, and more.
|
|
171
|
+
*
|
|
172
|
+
* @static
|
|
173
|
+
* @param {string} str - The string to encode
|
|
174
|
+
* @param {BufferEncoding} [encoding='utf-8'] - The character encoding to use
|
|
175
|
+
* @returns {Buffer} A new Buffer containing the encoded string
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* // UTF-8 (default)
|
|
179
|
+
* const buf1 = Buffer.fromString('Hello');
|
|
180
|
+
*
|
|
181
|
+
* // ASCII
|
|
182
|
+
* const buf2 = Buffer.fromString('Hello', 'ascii');
|
|
183
|
+
*
|
|
184
|
+
* // Base64
|
|
185
|
+
* const buf3 = Buffer.fromString('SGVsbG8=', 'base64');
|
|
186
|
+
* console.log(buf3.toString()); // "Hello"
|
|
187
|
+
*
|
|
188
|
+
* // Hex
|
|
189
|
+
* const buf4 = Buffer.fromString('48656c6c6f', 'hex');
|
|
190
|
+
* console.log(buf4.toString()); // "Hello"
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
static fromString(str: string, encoding?: BufferEncoding): Buffer;
|
|
194
|
+
/**
|
|
195
|
+
* Create a buffer from base64-encoded data
|
|
196
|
+
*/
|
|
197
|
+
static fromBase64(data: string): Buffer;
|
|
198
|
+
/**
|
|
199
|
+
* Create a buffer from hex-encoded data
|
|
200
|
+
*/
|
|
201
|
+
static fromHex(data: string): Buffer;
|
|
202
|
+
/**
|
|
203
|
+
* Create a buffer from various input types
|
|
204
|
+
*/
|
|
205
|
+
static from(data: BufferLike): Buffer;
|
|
206
|
+
/**
|
|
207
|
+
* Get the length of the buffer in bytes
|
|
208
|
+
*/
|
|
209
|
+
get length(): number;
|
|
210
|
+
/**
|
|
211
|
+
* Check if the buffer is empty
|
|
212
|
+
*/
|
|
213
|
+
get isEmpty(): boolean;
|
|
214
|
+
/**
|
|
215
|
+
* Get the buffer capacity
|
|
216
|
+
*/
|
|
217
|
+
get capacity(): number;
|
|
218
|
+
/**
|
|
219
|
+
* Get the buffer data as a Node.js Buffer
|
|
220
|
+
*/
|
|
221
|
+
toNodeBuffer(): globalThis.Buffer;
|
|
222
|
+
/**
|
|
223
|
+
* Get the buffer data as a Uint8Array (copy)
|
|
224
|
+
*
|
|
225
|
+
* Creates a new Uint8Array with a copy of the buffer data.
|
|
226
|
+
* Use `toUint8ArrayView()` for a zero-copy view if you don't need to modify it.
|
|
227
|
+
*/
|
|
228
|
+
toUint8Array(): Uint8Array;
|
|
229
|
+
/**
|
|
230
|
+
* Get a zero-copy Uint8Array view of the buffer data
|
|
231
|
+
*
|
|
232
|
+
* WARNING: This returns a view, not a copy. Modifying the view will
|
|
233
|
+
* modify the original buffer. The view becomes invalid if the buffer
|
|
234
|
+
* is modified (append, resize, etc.) or freed.
|
|
235
|
+
*
|
|
236
|
+
* Use this for read-only operations where performance matters.
|
|
237
|
+
*/
|
|
238
|
+
toUint8ArrayView(): Uint8Array;
|
|
239
|
+
/**
|
|
240
|
+
* Get the buffer data as an ArrayBuffer
|
|
241
|
+
*/
|
|
242
|
+
toArrayBuffer(): ArrayBuffer;
|
|
243
|
+
/**
|
|
244
|
+
* Get the buffer data as a string
|
|
245
|
+
*
|
|
246
|
+
* For UTF-8 encoding with buffers larger than 1KB, uses TextDecoder
|
|
247
|
+
* which is more efficient than Node's toString() for large strings.
|
|
248
|
+
*/
|
|
249
|
+
toString(encoding?: BufferEncoding): string;
|
|
250
|
+
/**
|
|
251
|
+
* Get the buffer data as base64-encoded string
|
|
252
|
+
*/
|
|
253
|
+
toBase64(): string;
|
|
254
|
+
/**
|
|
255
|
+
* Get the buffer data as hex-encoded string
|
|
256
|
+
*/
|
|
257
|
+
toHex(): string;
|
|
258
|
+
/**
|
|
259
|
+
* Get the buffer data as a number array
|
|
260
|
+
*/
|
|
261
|
+
toArray(): number[];
|
|
262
|
+
/**
|
|
263
|
+
* Resize the buffer to the specified size
|
|
264
|
+
*/
|
|
265
|
+
resize(newLength: number): this;
|
|
266
|
+
/**
|
|
267
|
+
* Clear all data from the buffer
|
|
268
|
+
*/
|
|
269
|
+
clear(): this;
|
|
270
|
+
/**
|
|
271
|
+
* Append data to the buffer
|
|
272
|
+
*/
|
|
273
|
+
append(data: BufferLike): this;
|
|
274
|
+
/**
|
|
275
|
+
* Append a single byte to the buffer
|
|
276
|
+
*/
|
|
277
|
+
appendByte(byte: number): this;
|
|
278
|
+
/**
|
|
279
|
+
* Append a string to the buffer (UTF-8 encoded)
|
|
280
|
+
*/
|
|
281
|
+
appendString(str: string, encoding?: BufferEncoding): this;
|
|
282
|
+
/**
|
|
283
|
+
* Append a 16-bit integer in little-endian format
|
|
284
|
+
*/
|
|
285
|
+
appendInt16LE(value: number): this;
|
|
286
|
+
/**
|
|
287
|
+
* Append a 32-bit integer in little-endian format
|
|
288
|
+
*/
|
|
289
|
+
appendInt32LE(value: number): this;
|
|
290
|
+
/**
|
|
291
|
+
* Append a 16-bit integer in big-endian format
|
|
292
|
+
*/
|
|
293
|
+
appendInt16BE(value: number): this;
|
|
294
|
+
/**
|
|
295
|
+
* Append a 32-bit integer in big-endian format
|
|
296
|
+
*/
|
|
297
|
+
appendInt32BE(value: number): this;
|
|
298
|
+
/**
|
|
299
|
+
* Append a 16-bit unsigned integer in little-endian format
|
|
300
|
+
*/
|
|
301
|
+
appendUInt16LE(value: number): this;
|
|
302
|
+
/**
|
|
303
|
+
* Append a 32-bit unsigned integer in little-endian format
|
|
304
|
+
*/
|
|
305
|
+
appendUInt32LE(value: number): this;
|
|
306
|
+
/**
|
|
307
|
+
* Append a 16-bit unsigned integer in big-endian format
|
|
308
|
+
*/
|
|
309
|
+
appendUInt16BE(value: number): this;
|
|
310
|
+
/**
|
|
311
|
+
* Append a 32-bit unsigned integer in big-endian format
|
|
312
|
+
*/
|
|
313
|
+
appendUInt32BE(value: number): this;
|
|
314
|
+
/**
|
|
315
|
+
* Append a float in little-endian format
|
|
316
|
+
*/
|
|
317
|
+
appendFloatLE(value: number): this;
|
|
318
|
+
/**
|
|
319
|
+
* Append a float in big-endian format
|
|
320
|
+
*/
|
|
321
|
+
appendFloatBE(value: number): this;
|
|
322
|
+
/**
|
|
323
|
+
* Append a double in little-endian format
|
|
324
|
+
*/
|
|
325
|
+
appendDoubleLE(value: number): this;
|
|
326
|
+
/**
|
|
327
|
+
* Append a double in big-endian format
|
|
328
|
+
*/
|
|
329
|
+
appendDoubleBE(value: number): this;
|
|
330
|
+
/**
|
|
331
|
+
* Get a slice of the buffer
|
|
332
|
+
*/
|
|
333
|
+
slice(start: number, end?: number): Buffer;
|
|
334
|
+
/**
|
|
335
|
+
* Split the buffer at the given index
|
|
336
|
+
*/
|
|
337
|
+
splitAt(mid: number): [Buffer, Buffer];
|
|
338
|
+
/**
|
|
339
|
+
* Get a byte at the specified index
|
|
340
|
+
*/
|
|
341
|
+
at(index: number): number | undefined;
|
|
342
|
+
/**
|
|
343
|
+
* Set a byte at the specified index
|
|
344
|
+
*/
|
|
345
|
+
set(index: number, value: number): this;
|
|
346
|
+
/**
|
|
347
|
+
* Read a 16-bit unsigned integer at offset (big-endian)
|
|
348
|
+
*/
|
|
349
|
+
readUInt16BE(offset: number): number;
|
|
350
|
+
/**
|
|
351
|
+
* Read a 32-bit unsigned integer at offset (big-endian)
|
|
352
|
+
*/
|
|
353
|
+
readUInt32BE(offset: number): number;
|
|
354
|
+
/**
|
|
355
|
+
* Read a 16-bit unsigned integer at offset (little-endian)
|
|
356
|
+
*/
|
|
357
|
+
readUInt16LE(offset: number): number;
|
|
358
|
+
/**
|
|
359
|
+
* Read a 32-bit unsigned integer at offset (little-endian)
|
|
360
|
+
*/
|
|
361
|
+
readUInt32LE(offset: number): number;
|
|
362
|
+
/**
|
|
363
|
+
* Read a 16-bit signed integer at offset (big-endian)
|
|
364
|
+
*/
|
|
365
|
+
readInt16BE(offset: number): number;
|
|
366
|
+
/**
|
|
367
|
+
* Read a 32-bit signed integer at offset (big-endian)
|
|
368
|
+
*/
|
|
369
|
+
readInt32BE(offset: number): number;
|
|
370
|
+
/**
|
|
371
|
+
* Read a 16-bit signed integer at offset (little-endian)
|
|
372
|
+
*/
|
|
373
|
+
readInt16LE(offset: number): number;
|
|
374
|
+
/**
|
|
375
|
+
* Read a 32-bit signed integer at offset (little-endian)
|
|
376
|
+
*/
|
|
377
|
+
readInt32LE(offset: number): number;
|
|
378
|
+
/**
|
|
379
|
+
* Read a float at offset (big-endian)
|
|
380
|
+
*/
|
|
381
|
+
readFloatBE(offset: number): number;
|
|
382
|
+
/**
|
|
383
|
+
* Read a float at offset (little-endian)
|
|
384
|
+
*/
|
|
385
|
+
readFloatLE(offset: number): number;
|
|
386
|
+
/**
|
|
387
|
+
* Read a double at offset (big-endian)
|
|
388
|
+
*/
|
|
389
|
+
readDoubleBE(offset: number): number;
|
|
390
|
+
/**
|
|
391
|
+
* Read a double at offset (little-endian)
|
|
392
|
+
*/
|
|
393
|
+
readDoubleLE(offset: number): number;
|
|
394
|
+
/**
|
|
395
|
+
* Compute MD5 digest of buffer contents
|
|
396
|
+
*/
|
|
397
|
+
md5Digest(): Uint8Array;
|
|
398
|
+
/**
|
|
399
|
+
* Compute SHA-256 digest of buffer contents
|
|
400
|
+
*/
|
|
401
|
+
sha256Digest(): Uint8Array;
|
|
402
|
+
/**
|
|
403
|
+
* Check equality with another buffer
|
|
404
|
+
*/
|
|
405
|
+
equals(other: Buffer | BufferLike): boolean;
|
|
406
|
+
/**
|
|
407
|
+
* Compare with another buffer
|
|
408
|
+
* Returns -1, 0, or 1
|
|
409
|
+
*/
|
|
410
|
+
compare(other: Buffer | BufferLike): number;
|
|
411
|
+
/**
|
|
412
|
+
* Find index of a byte or pattern
|
|
413
|
+
*/
|
|
414
|
+
indexOf(value: number | BufferLike, start?: number): number;
|
|
415
|
+
/**
|
|
416
|
+
* Check if buffer includes a byte or pattern
|
|
417
|
+
*/
|
|
418
|
+
includes(value: number | BufferLike, start?: number): boolean;
|
|
419
|
+
/**
|
|
420
|
+
* Iterate over bytes
|
|
421
|
+
*/
|
|
422
|
+
[Symbol.iterator](): Iterator<number>;
|
|
423
|
+
/**
|
|
424
|
+
* Get entries iterator
|
|
425
|
+
*/
|
|
426
|
+
entries(): IterableIterator<[number, number]>;
|
|
427
|
+
/**
|
|
428
|
+
* Get keys iterator
|
|
429
|
+
*/
|
|
430
|
+
keys(): IterableIterator<number>;
|
|
431
|
+
/**
|
|
432
|
+
* Get values iterator
|
|
433
|
+
*/
|
|
434
|
+
values(): IterableIterator<number>;
|
|
435
|
+
/**
|
|
436
|
+
* Create a copy of the buffer
|
|
437
|
+
*/
|
|
438
|
+
clone(): Buffer;
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* A reader for consuming buffer contents
|
|
442
|
+
*/
|
|
443
|
+
export declare class BufferReader {
|
|
444
|
+
private readonly data;
|
|
445
|
+
private position;
|
|
446
|
+
constructor(buffer: Buffer | BufferLike);
|
|
447
|
+
/**
|
|
448
|
+
* Get the current read position
|
|
449
|
+
*/
|
|
450
|
+
get pos(): number;
|
|
451
|
+
/**
|
|
452
|
+
* Get the number of bytes remaining
|
|
453
|
+
*/
|
|
454
|
+
get remaining(): number;
|
|
455
|
+
/**
|
|
456
|
+
* Check if we've reached the end
|
|
457
|
+
*/
|
|
458
|
+
get isEof(): boolean;
|
|
459
|
+
/**
|
|
460
|
+
* Peek at the next byte without consuming it
|
|
461
|
+
*/
|
|
462
|
+
peek(): number | null;
|
|
463
|
+
/**
|
|
464
|
+
* Read a single byte
|
|
465
|
+
*/
|
|
466
|
+
readByte(): number | null;
|
|
467
|
+
/**
|
|
468
|
+
* Read bytes into a buffer
|
|
469
|
+
*/
|
|
470
|
+
read(length: number): Uint8Array;
|
|
471
|
+
/**
|
|
472
|
+
* Read exactly n bytes, or throw if not enough data
|
|
473
|
+
*/
|
|
474
|
+
readExact(length: number): Uint8Array;
|
|
475
|
+
/**
|
|
476
|
+
* Read a 16-bit unsigned integer (big-endian)
|
|
477
|
+
*/
|
|
478
|
+
readUInt16BE(): number;
|
|
479
|
+
/**
|
|
480
|
+
* Read a 32-bit unsigned integer (big-endian)
|
|
481
|
+
*/
|
|
482
|
+
readUInt32BE(): number;
|
|
483
|
+
/**
|
|
484
|
+
* Read a 16-bit unsigned integer (little-endian)
|
|
485
|
+
*/
|
|
486
|
+
readUInt16LE(): number;
|
|
487
|
+
/**
|
|
488
|
+
* Read a 32-bit unsigned integer (little-endian)
|
|
489
|
+
*/
|
|
490
|
+
readUInt32LE(): number;
|
|
491
|
+
/**
|
|
492
|
+
* Read a 24-bit unsigned integer (big-endian)
|
|
493
|
+
*/
|
|
494
|
+
readUInt24BE(): number;
|
|
495
|
+
/**
|
|
496
|
+
* Seek to a position
|
|
497
|
+
*/
|
|
498
|
+
seek(pos: number): this;
|
|
499
|
+
/**
|
|
500
|
+
* Skip n bytes
|
|
501
|
+
*/
|
|
502
|
+
skip(n: number): this;
|
|
503
|
+
/**
|
|
504
|
+
* Read a line (up to and including newline)
|
|
505
|
+
*/
|
|
506
|
+
readLine(): Uint8Array | null;
|
|
507
|
+
/**
|
|
508
|
+
* Read a line as string
|
|
509
|
+
*/
|
|
510
|
+
readLineString(encoding?: BufferEncoding): string | null;
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* A writer that accumulates data into a buffer
|
|
514
|
+
*/
|
|
515
|
+
export declare class BufferWriter {
|
|
516
|
+
private data;
|
|
517
|
+
private position;
|
|
518
|
+
constructor(capacity?: number);
|
|
519
|
+
/**
|
|
520
|
+
* Get the current length
|
|
521
|
+
*/
|
|
522
|
+
get length(): number;
|
|
523
|
+
/**
|
|
524
|
+
* Check if empty
|
|
525
|
+
*/
|
|
526
|
+
get isEmpty(): boolean;
|
|
527
|
+
/**
|
|
528
|
+
* Ensure capacity
|
|
529
|
+
*/
|
|
530
|
+
private ensureCapacity;
|
|
531
|
+
/**
|
|
532
|
+
* Write bytes
|
|
533
|
+
*/
|
|
534
|
+
write(data: BufferLike): this;
|
|
535
|
+
/**
|
|
536
|
+
* Write a single byte
|
|
537
|
+
*/
|
|
538
|
+
writeByte(value: number): this;
|
|
539
|
+
/**
|
|
540
|
+
* Write a 16-bit unsigned integer (big-endian)
|
|
541
|
+
*/
|
|
542
|
+
writeUInt16BE(value: number): this;
|
|
543
|
+
/**
|
|
544
|
+
* Write a 32-bit unsigned integer (big-endian)
|
|
545
|
+
*/
|
|
546
|
+
writeUInt32BE(value: number): this;
|
|
547
|
+
/**
|
|
548
|
+
* Write a 16-bit unsigned integer (little-endian)
|
|
549
|
+
*/
|
|
550
|
+
writeUInt16LE(value: number): this;
|
|
551
|
+
/**
|
|
552
|
+
* Write a 32-bit unsigned integer (little-endian)
|
|
553
|
+
*/
|
|
554
|
+
writeUInt32LE(value: number): this;
|
|
555
|
+
/**
|
|
556
|
+
* Write a string
|
|
557
|
+
*/
|
|
558
|
+
writeString(str: string, encoding?: BufferEncoding): this;
|
|
559
|
+
/**
|
|
560
|
+
* Get the accumulated data as a slice
|
|
561
|
+
*/
|
|
562
|
+
toSlice(): Uint8Array;
|
|
563
|
+
/**
|
|
564
|
+
* Convert to Buffer
|
|
565
|
+
*/
|
|
566
|
+
toBuffer(): Buffer;
|
|
567
|
+
/**
|
|
568
|
+
* Clear the writer
|
|
569
|
+
*/
|
|
570
|
+
clear(): this;
|
|
571
|
+
}
|
|
572
|
+
//# sourceMappingURL=buffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"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"}
|