@sachitv/avro-typescript 0.4.1 → 0.5.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/esm/avro_reader_sync.d.ts +48 -0
- package/esm/avro_reader_sync.js +79 -0
- package/esm/avro_writer_sync.d.ts +28 -0
- package/esm/avro_writer_sync.js +63 -0
- package/esm/internal/collections/circular_buffer.d.ts +4 -3
- package/esm/internal/collections/circular_buffer.js +8 -6
- package/esm/mod.d.ts +17 -0
- package/esm/mod.js +11 -0
- package/esm/schemas/base_type.d.ts +8 -0
- package/esm/schemas/base_type.js +21 -0
- package/esm/schemas/complex/array_type.d.ts +31 -10
- package/esm/schemas/complex/array_type.js +129 -39
- package/esm/schemas/complex/enum_type.d.ts +24 -7
- package/esm/schemas/complex/enum_type.js +61 -15
- package/esm/schemas/complex/fixed_type.d.ts +27 -12
- package/esm/schemas/complex/fixed_type.js +40 -27
- package/esm/schemas/complex/map_type.d.ts +31 -10
- package/esm/schemas/complex/map_type.js +88 -47
- package/esm/schemas/complex/named_type.d.ts +1 -1
- package/esm/schemas/complex/named_type.js +2 -2
- package/esm/schemas/complex/record_field.d.ts +62 -0
- package/esm/schemas/complex/record_field.js +112 -0
- package/esm/schemas/complex/record_resolver.d.ts +45 -0
- package/esm/schemas/complex/record_resolver.js +92 -0
- package/esm/schemas/complex/record_type.d.ts +45 -70
- package/esm/schemas/complex/record_type.js +158 -213
- package/esm/schemas/complex/record_writer_cache.d.ts +44 -0
- package/esm/schemas/complex/record_writer_cache.js +141 -0
- package/esm/schemas/complex/record_writer_strategy.d.ts +123 -0
- package/esm/schemas/complex/record_writer_strategy.js +309 -0
- package/esm/schemas/complex/union_type.d.ts +23 -11
- package/esm/schemas/complex/union_type.js +77 -29
- package/esm/schemas/logical/decimal_logical_type.d.ts +1 -1
- package/esm/schemas/logical/decimal_logical_type.js +2 -2
- package/esm/schemas/logical/duration_logical_type.d.ts +1 -1
- package/esm/schemas/logical/duration_logical_type.js +2 -2
- package/esm/schemas/logical/logical_type.d.ts +27 -9
- package/esm/schemas/logical/logical_type.js +50 -17
- package/esm/schemas/logical/temporal_logical_types.d.ts +9 -9
- package/esm/schemas/logical/temporal_logical_types.js +18 -18
- package/esm/schemas/logical/uuid_logical_type.d.ts +1 -1
- package/esm/schemas/logical/uuid_logical_type.js +2 -2
- package/esm/schemas/primitive/boolean_type.d.ts +15 -4
- package/esm/schemas/primitive/boolean_type.js +22 -7
- package/esm/schemas/primitive/bytes_type.d.ts +16 -5
- package/esm/schemas/primitive/bytes_type.js +31 -16
- package/esm/schemas/primitive/double_type.d.ts +13 -2
- package/esm/schemas/primitive/double_type.js +34 -5
- package/esm/schemas/primitive/fixed_size_base_type.d.ts +11 -7
- package/esm/schemas/primitive/fixed_size_base_type.js +14 -14
- package/esm/schemas/primitive/float_type.d.ts +11 -2
- package/esm/schemas/primitive/float_type.js +26 -5
- package/esm/schemas/primitive/int_type.d.ts +17 -6
- package/esm/schemas/primitive/int_type.js +26 -17
- package/esm/schemas/primitive/long_type.d.ts +16 -5
- package/esm/schemas/primitive/long_type.js +30 -16
- package/esm/schemas/primitive/null_type.d.ts +15 -4
- package/esm/schemas/primitive/null_type.js +20 -7
- package/esm/schemas/primitive/primitive_type.d.ts +2 -0
- package/esm/schemas/primitive/primitive_type.js +4 -0
- package/esm/schemas/primitive/string_type.d.ts +17 -6
- package/esm/schemas/primitive/string_type.js +33 -18
- package/esm/schemas/resolver.d.ts +6 -0
- package/esm/schemas/type.d.ts +64 -4
- package/esm/schemas/type.js +97 -0
- package/esm/serialization/avro_file_parser_sync.d.ts +34 -0
- package/esm/serialization/avro_file_parser_sync.js +160 -0
- package/esm/serialization/avro_file_writer_sync.d.ts +47 -0
- package/esm/serialization/avro_file_writer_sync.js +211 -0
- package/esm/serialization/buffers/blob_readable_buffer.d.ts +4 -3
- package/esm/serialization/buffers/blob_readable_buffer.js +20 -6
- package/esm/serialization/buffers/buffer.d.ts +6 -1
- package/esm/serialization/buffers/buffer.js +3 -0
- package/esm/serialization/buffers/buffer_error.d.ts +28 -0
- package/esm/serialization/buffers/buffer_error.js +70 -0
- package/esm/serialization/buffers/buffer_sync.d.ts +51 -0
- package/esm/serialization/buffers/buffer_sync.js +4 -0
- package/esm/serialization/buffers/in_memory_buffer.d.ts +1 -0
- package/esm/serialization/buffers/in_memory_buffer.js +7 -5
- package/esm/serialization/buffers/in_memory_buffer_sync.d.ts +133 -0
- package/esm/serialization/buffers/in_memory_buffer_sync.js +259 -0
- package/esm/serialization/counting_writable_tap.d.ts +45 -0
- package/esm/serialization/counting_writable_tap.js +90 -0
- package/esm/serialization/counting_writable_tap_sync.d.ts +46 -0
- package/esm/serialization/counting_writable_tap_sync.js +87 -0
- package/esm/serialization/decoders/decoder_null_sync.d.ts +12 -0
- package/esm/serialization/decoders/decoder_null_sync.js +13 -0
- package/esm/serialization/decoders/decoder_sync.d.ts +15 -0
- package/esm/serialization/decoders/decoder_sync.js +1 -0
- package/esm/serialization/encoders/encoder_null_sync.d.ts +12 -0
- package/esm/serialization/encoders/encoder_null_sync.js +13 -0
- package/esm/serialization/encoders/encoder_sync.d.ts +15 -0
- package/esm/serialization/encoders/encoder_sync.js +1 -0
- package/esm/serialization/streams/fixed_size_stream_readable_buffer_adapter.d.ts +3 -2
- package/esm/serialization/streams/fixed_size_stream_readable_buffer_adapter.js +19 -9
- package/esm/serialization/streams/fixed_size_stream_reader_sync.d.ts +25 -0
- package/esm/serialization/streams/fixed_size_stream_reader_sync.js +63 -0
- package/esm/serialization/streams/fixed_size_stream_writer_sync.d.ts +45 -0
- package/esm/serialization/streams/fixed_size_stream_writer_sync.js +98 -0
- package/esm/serialization/streams/forward_only_stream_readable_buffer_adapter.d.ts +5 -3
- package/esm/serialization/streams/forward_only_stream_readable_buffer_adapter.js +18 -8
- package/esm/serialization/streams/stream_readable_buffer_adapter.d.ts +3 -2
- package/esm/serialization/streams/stream_readable_buffer_adapter.js +19 -6
- package/esm/serialization/streams/stream_readable_buffer_adapter_sync.d.ts +36 -0
- package/esm/serialization/streams/stream_readable_buffer_adapter_sync.js +93 -0
- package/esm/serialization/streams/stream_writable_buffer_adapter_sync.d.ts +45 -0
- package/esm/serialization/streams/stream_writable_buffer_adapter_sync.js +78 -0
- package/esm/serialization/streams/streams_sync.d.ts +36 -0
- package/esm/serialization/streams/streams_sync.js +4 -0
- package/esm/serialization/tap.d.ts +15 -32
- package/esm/serialization/tap.js +45 -134
- package/esm/serialization/tap_sync.d.ts +240 -0
- package/esm/serialization/tap_sync.js +545 -0
- package/esm/serialization/text_encoding.d.ts +16 -0
- package/esm/serialization/text_encoding.js +48 -1
- package/esm/type/create_type.d.ts +20 -0
- package/esm/type/create_type.js +49 -28
- package/package.json +2 -2
- package/esm/serialization/manipulate_bytes.d.ts +0 -6
- package/esm/serialization/manipulate_bytes.js +0 -13
- package/esm/serialization/read_uint_le.d.ts +0 -4
- package/esm/serialization/read_uint_le.js +0 -14
|
@@ -22,15 +22,17 @@ export declare class ForwardOnlyStreamReadableBufferAdapter implements IReadable
|
|
|
22
22
|
*
|
|
23
23
|
* @param offset The byte offset to start reading from (must be current position).
|
|
24
24
|
* @param size The number of bytes to read.
|
|
25
|
-
* @returns A Promise that resolves to a new Uint8Array containing the read bytes
|
|
26
|
-
* @throws
|
|
25
|
+
* @returns A Promise that resolves to a new Uint8Array containing the read bytes.
|
|
26
|
+
* @throws ReadBufferError when the requested range is invalid or exceeds buffered bounds.
|
|
27
|
+
* @throws ReadBufferError if attempting to read backwards or seek forward.
|
|
27
28
|
*/
|
|
28
|
-
read(offset: number, size: number): Promise<Uint8Array
|
|
29
|
+
read(offset: number, size: number): Promise<Uint8Array>;
|
|
29
30
|
/**
|
|
30
31
|
* Checks if more data can be read at the specified offset.
|
|
31
32
|
* Only allows reading at the current position; throws errors for backward or forward seeking.
|
|
32
33
|
* @param offset - The offset to check for readability
|
|
33
34
|
* @returns Promise resolving to true if data is available at the current position, false otherwise
|
|
35
|
+
* @throws ReadBufferError if attempting to read backwards or seek forward
|
|
34
36
|
*/
|
|
35
37
|
canReadMore(offset: number): Promise<boolean>;
|
|
36
38
|
}
|
|
@@ -10,6 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
12
|
var _ForwardOnlyStreamReadableBufferAdapter_instances, _ForwardOnlyStreamReadableBufferAdapter_bufferedData, _ForwardOnlyStreamReadableBufferAdapter_streamBuffer, _ForwardOnlyStreamReadableBufferAdapter_eof, _ForwardOnlyStreamReadableBufferAdapter_currentPosition, _ForwardOnlyStreamReadableBufferAdapter_ensureBufferedUpTo;
|
|
13
|
+
import { ReadBufferError } from "../buffers/buffer_error.js";
|
|
13
14
|
/**
|
|
14
15
|
* Adapter that wraps an IStreamReadableBuffer to provide forward-only reading.
|
|
15
16
|
* This adapter only allows forward sequential reads. Attempting to read backwards
|
|
@@ -38,23 +39,28 @@ export class ForwardOnlyStreamReadableBufferAdapter {
|
|
|
38
39
|
*
|
|
39
40
|
* @param offset The byte offset to start reading from (must be current position).
|
|
40
41
|
* @param size The number of bytes to read.
|
|
41
|
-
* @returns A Promise that resolves to a new Uint8Array containing the read bytes
|
|
42
|
-
* @throws
|
|
42
|
+
* @returns A Promise that resolves to a new Uint8Array containing the read bytes.
|
|
43
|
+
* @throws ReadBufferError when the requested range is invalid or exceeds buffered bounds.
|
|
44
|
+
* @throws ReadBufferError if attempting to read backwards or seek forward.
|
|
43
45
|
*/
|
|
44
46
|
async read(offset, size) {
|
|
47
|
+
// Validate parameters
|
|
45
48
|
if (offset < 0 || size < 0) {
|
|
46
|
-
|
|
49
|
+
throw new ReadBufferError("Offset and size must be non-negative", offset, size, __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_currentPosition, "f") + (__classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_bufferedData, "f")?.length ?? 0));
|
|
47
50
|
}
|
|
51
|
+
const bufferedLength = __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_bufferedData, "f")?.length ?? 0;
|
|
48
52
|
if (offset < __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_currentPosition, "f")) {
|
|
49
|
-
|
|
53
|
+
const bufferEnd = __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_currentPosition, "f") + bufferedLength;
|
|
54
|
+
throw new ReadBufferError("Cannot read backwards from current position", offset, size, bufferEnd);
|
|
50
55
|
}
|
|
51
56
|
if (offset > __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_currentPosition, "f")) {
|
|
52
|
-
|
|
57
|
+
const bufferEnd = __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_currentPosition, "f") + bufferedLength;
|
|
58
|
+
throw new ReadBufferError("Cannot seek forward; reads must be sequential", offset, size, bufferEnd);
|
|
53
59
|
}
|
|
54
60
|
// At this point, offset must equal currentPosition due to the checks above
|
|
55
61
|
await __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_instances, "m", _ForwardOnlyStreamReadableBufferAdapter_ensureBufferedUpTo).call(this, __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_currentPosition, "f") + size);
|
|
56
62
|
if (__classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_bufferedData, "f") === null || size > __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_bufferedData, "f").length) {
|
|
57
|
-
|
|
63
|
+
throw new ReadBufferError("Operation exceeds buffer bounds", offset, size, __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_currentPosition, "f") + (__classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_bufferedData, "f")?.length ?? 0));
|
|
58
64
|
}
|
|
59
65
|
const result = __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_bufferedData, "f").slice(0, size);
|
|
60
66
|
// Advance position
|
|
@@ -69,13 +75,17 @@ export class ForwardOnlyStreamReadableBufferAdapter {
|
|
|
69
75
|
* Only allows reading at the current position; throws errors for backward or forward seeking.
|
|
70
76
|
* @param offset - The offset to check for readability
|
|
71
77
|
* @returns Promise resolving to true if data is available at the current position, false otherwise
|
|
78
|
+
* @throws ReadBufferError if attempting to read backwards or seek forward
|
|
72
79
|
*/
|
|
73
80
|
async canReadMore(offset) {
|
|
81
|
+
const bufferedLength = __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_bufferedData, "f")?.length ?? 0;
|
|
74
82
|
if (offset < __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_currentPosition, "f")) {
|
|
75
|
-
|
|
83
|
+
const bufferEnd = __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_currentPosition, "f") + bufferedLength;
|
|
84
|
+
throw new ReadBufferError("Cannot read backwards from current position", offset, 1, bufferEnd);
|
|
76
85
|
}
|
|
77
86
|
if (offset > __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_currentPosition, "f")) {
|
|
78
|
-
|
|
87
|
+
const bufferEnd = __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_currentPosition, "f") + bufferedLength;
|
|
88
|
+
throw new ReadBufferError("Cannot seek forward; reads must be sequential", offset, 1, bufferEnd);
|
|
79
89
|
}
|
|
80
90
|
await __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_instances, "m", _ForwardOnlyStreamReadableBufferAdapter_ensureBufferedUpTo).call(this, __classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_currentPosition, "f") + 1);
|
|
81
91
|
if (__classPrivateFieldGet(this, _ForwardOnlyStreamReadableBufferAdapter_bufferedData, "f") === null) {
|
|
@@ -26,9 +26,10 @@ export declare class StreamReadableBufferAdapter implements IReadableBuffer {
|
|
|
26
26
|
*
|
|
27
27
|
* @param offset The byte offset to start reading from (0-based).
|
|
28
28
|
* @param size The number of bytes to read.
|
|
29
|
-
* @returns A Promise that resolves to a new Uint8Array containing the read bytes
|
|
29
|
+
* @returns A Promise that resolves to a new Uint8Array containing the read bytes.
|
|
30
|
+
* @throws ReadBufferError if the requested range is out of bounds.
|
|
30
31
|
*/
|
|
31
|
-
read(offset: number, size: number): Promise<Uint8Array
|
|
32
|
+
read(offset: number, size: number): Promise<Uint8Array>;
|
|
32
33
|
/**
|
|
33
34
|
* Checks if more data can be read starting at the given offset.
|
|
34
35
|
* @param offset The byte offset to check.
|
|
@@ -10,6 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
12
|
var _StreamReadableBufferAdapter_instances, _StreamReadableBufferAdapter_bufferedData, _StreamReadableBufferAdapter_streamBuffer, _StreamReadableBufferAdapter_eof, _StreamReadableBufferAdapter_ensureBuffered, _StreamReadableBufferAdapter_ensureBufferedUpTo;
|
|
13
|
+
import { ReadBufferError } from "../buffers/buffer_error.js";
|
|
13
14
|
/**
|
|
14
15
|
* Adapter that wraps an IStreamReadableBuffer to provide IReadableBuffer interface.
|
|
15
16
|
* This buffers stream content progressively to enable random access reads.
|
|
@@ -44,11 +45,12 @@ export class StreamReadableBufferAdapter {
|
|
|
44
45
|
*
|
|
45
46
|
* @param offset The byte offset to start reading from (0-based).
|
|
46
47
|
* @param size The number of bytes to read.
|
|
47
|
-
* @returns A Promise that resolves to a new Uint8Array containing the read bytes
|
|
48
|
+
* @returns A Promise that resolves to a new Uint8Array containing the read bytes.
|
|
49
|
+
* @throws ReadBufferError if the requested range is out of bounds.
|
|
48
50
|
*/
|
|
49
51
|
async read(offset, size) {
|
|
50
52
|
if (offset < 0 || size < 0) {
|
|
51
|
-
|
|
53
|
+
throw new ReadBufferError(`Offset and size must be non-negative. Got offset=${offset}, size=${size}`, offset, size, __classPrivateFieldGet(this, _StreamReadableBufferAdapter_bufferedData, "f")?.length ?? 0);
|
|
52
54
|
}
|
|
53
55
|
// Check if the section is already cached
|
|
54
56
|
if (__classPrivateFieldGet(this, _StreamReadableBufferAdapter_bufferedData, "f") !== null && offset + size <= __classPrivateFieldGet(this, _StreamReadableBufferAdapter_bufferedData, "f").length) {
|
|
@@ -56,9 +58,12 @@ export class StreamReadableBufferAdapter {
|
|
|
56
58
|
}
|
|
57
59
|
// Load chunks until the necessary data is available
|
|
58
60
|
await __classPrivateFieldGet(this, _StreamReadableBufferAdapter_instances, "m", _StreamReadableBufferAdapter_ensureBufferedUpTo).call(this, offset + size);
|
|
61
|
+
// bufferData is guaranteed to be non-null after ensureBufferedUpTo
|
|
62
|
+
const bufLen = __classPrivateFieldGet(this, _StreamReadableBufferAdapter_bufferedData, "f").length;
|
|
59
63
|
// Check if we have enough data after buffering
|
|
60
|
-
if (
|
|
61
|
-
|
|
64
|
+
if (offset + size > bufLen) {
|
|
65
|
+
const msg = `Operation exceeds buffer bounds. offset=${offset}, size=${size}, bufferLength=${bufLen}`;
|
|
66
|
+
throw new ReadBufferError(msg, offset, size, bufLen);
|
|
62
67
|
}
|
|
63
68
|
return __classPrivateFieldGet(this, _StreamReadableBufferAdapter_bufferedData, "f").slice(offset, offset + size);
|
|
64
69
|
}
|
|
@@ -68,8 +73,16 @@ export class StreamReadableBufferAdapter {
|
|
|
68
73
|
* @returns True if at least one byte can be read from the offset.
|
|
69
74
|
*/
|
|
70
75
|
async canReadMore(offset) {
|
|
71
|
-
|
|
72
|
-
|
|
76
|
+
try {
|
|
77
|
+
await this.read(offset, 1);
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
if (err instanceof ReadBufferError) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
throw err;
|
|
85
|
+
}
|
|
73
86
|
}
|
|
74
87
|
}
|
|
75
88
|
_StreamReadableBufferAdapter_bufferedData = new WeakMap(), _StreamReadableBufferAdapter_streamBuffer = new WeakMap(), _StreamReadableBufferAdapter_eof = new WeakMap(), _StreamReadableBufferAdapter_instances = new WeakSet(), _StreamReadableBufferAdapter_ensureBuffered =
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type ISyncReadable } from "../buffers/buffer_sync.js";
|
|
2
|
+
import type { ISyncStreamReadableBuffer } from "./streams_sync.js";
|
|
3
|
+
/**
|
|
4
|
+
* Adapter that wraps an ISyncStreamReadableBuffer to provide the ISyncReadable interface.
|
|
5
|
+
* The adapter buffers stream content progressively to enable random-access reads.
|
|
6
|
+
*/
|
|
7
|
+
export declare class SyncStreamReadableBufferAdapter implements ISyncReadable {
|
|
8
|
+
#private;
|
|
9
|
+
/**
|
|
10
|
+
* Creates a new adapter from a synchronous stream readable buffer.
|
|
11
|
+
*
|
|
12
|
+
* @param streamBuffer The stream buffer to adapt.
|
|
13
|
+
*/
|
|
14
|
+
constructor(streamBuffer: ISyncStreamReadableBuffer);
|
|
15
|
+
/**
|
|
16
|
+
* Reads a sequence of bytes from the buffer starting at the specified offset.
|
|
17
|
+
* This buffers stream data as needed to satisfy the read request.
|
|
18
|
+
*
|
|
19
|
+
* @param offset The byte offset to start reading from (0-based).
|
|
20
|
+
* @param size The number of bytes to read.
|
|
21
|
+
* @returns A Uint8Array containing the requested bytes.
|
|
22
|
+
* @throws ReadBufferError If the requested range is invalid or exceeds available data.
|
|
23
|
+
*/
|
|
24
|
+
read(offset: number, size: number): Uint8Array;
|
|
25
|
+
/**
|
|
26
|
+
* Checks if more data can be read starting at the given offset.
|
|
27
|
+
*
|
|
28
|
+
* @param offset The byte offset to check.
|
|
29
|
+
* @returns True if at least one byte can be read from the offset.
|
|
30
|
+
*/
|
|
31
|
+
canReadMore(offset: number): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Closes the underlying stream buffer.
|
|
34
|
+
*/
|
|
35
|
+
close(): void;
|
|
36
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _SyncStreamReadableBufferAdapter_instances, _SyncStreamReadableBufferAdapter_streamBuffer, _SyncStreamReadableBufferAdapter_bufferedData, _SyncStreamReadableBufferAdapter_eof, _SyncStreamReadableBufferAdapter_validateParameters, _SyncStreamReadableBufferAdapter_ensureBufferedUpTo;
|
|
13
|
+
import { ReadBufferError } from "../buffers/buffer_sync.js";
|
|
14
|
+
/**
|
|
15
|
+
* Adapter that wraps an ISyncStreamReadableBuffer to provide the ISyncReadable interface.
|
|
16
|
+
* The adapter buffers stream content progressively to enable random-access reads.
|
|
17
|
+
*/
|
|
18
|
+
export class SyncStreamReadableBufferAdapter {
|
|
19
|
+
/**
|
|
20
|
+
* Creates a new adapter from a synchronous stream readable buffer.
|
|
21
|
+
*
|
|
22
|
+
* @param streamBuffer The stream buffer to adapt.
|
|
23
|
+
*/
|
|
24
|
+
constructor(streamBuffer) {
|
|
25
|
+
_SyncStreamReadableBufferAdapter_instances.add(this);
|
|
26
|
+
_SyncStreamReadableBufferAdapter_streamBuffer.set(this, void 0);
|
|
27
|
+
_SyncStreamReadableBufferAdapter_bufferedData.set(this, new Uint8Array(0));
|
|
28
|
+
_SyncStreamReadableBufferAdapter_eof.set(this, false);
|
|
29
|
+
__classPrivateFieldSet(this, _SyncStreamReadableBufferAdapter_streamBuffer, streamBuffer, "f");
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Reads a sequence of bytes from the buffer starting at the specified offset.
|
|
33
|
+
* This buffers stream data as needed to satisfy the read request.
|
|
34
|
+
*
|
|
35
|
+
* @param offset The byte offset to start reading from (0-based).
|
|
36
|
+
* @param size The number of bytes to read.
|
|
37
|
+
* @returns A Uint8Array containing the requested bytes.
|
|
38
|
+
* @throws ReadBufferError If the requested range is invalid or exceeds available data.
|
|
39
|
+
*/
|
|
40
|
+
read(offset, size) {
|
|
41
|
+
__classPrivateFieldGet(this, _SyncStreamReadableBufferAdapter_instances, "m", _SyncStreamReadableBufferAdapter_validateParameters).call(this, offset, size);
|
|
42
|
+
__classPrivateFieldGet(this, _SyncStreamReadableBufferAdapter_instances, "m", _SyncStreamReadableBufferAdapter_ensureBufferedUpTo).call(this, offset + size);
|
|
43
|
+
if (offset + size > __classPrivateFieldGet(this, _SyncStreamReadableBufferAdapter_bufferedData, "f").length) {
|
|
44
|
+
throw new ReadBufferError(`Requested range exceeds buffered data. offset=${offset}, size=${size}, bufferLength=${__classPrivateFieldGet(this, _SyncStreamReadableBufferAdapter_bufferedData, "f").length}`, offset, size, __classPrivateFieldGet(this, _SyncStreamReadableBufferAdapter_bufferedData, "f").length);
|
|
45
|
+
}
|
|
46
|
+
return __classPrivateFieldGet(this, _SyncStreamReadableBufferAdapter_bufferedData, "f").slice(offset, offset + size);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Checks if more data can be read starting at the given offset.
|
|
50
|
+
*
|
|
51
|
+
* @param offset The byte offset to check.
|
|
52
|
+
* @returns True if at least one byte can be read from the offset.
|
|
53
|
+
*/
|
|
54
|
+
canReadMore(offset) {
|
|
55
|
+
try {
|
|
56
|
+
this.read(offset, 1);
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
if (error instanceof ReadBufferError) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Closes the underlying stream buffer.
|
|
68
|
+
*/
|
|
69
|
+
close() {
|
|
70
|
+
__classPrivateFieldGet(this, _SyncStreamReadableBufferAdapter_streamBuffer, "f").close();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
_SyncStreamReadableBufferAdapter_streamBuffer = new WeakMap(), _SyncStreamReadableBufferAdapter_bufferedData = new WeakMap(), _SyncStreamReadableBufferAdapter_eof = new WeakMap(), _SyncStreamReadableBufferAdapter_instances = new WeakSet(), _SyncStreamReadableBufferAdapter_validateParameters = function _SyncStreamReadableBufferAdapter_validateParameters(offset, size) {
|
|
74
|
+
if (offset < 0 || size < 0) {
|
|
75
|
+
throw new ReadBufferError(`Offset and size must be non-negative. Got offset=${offset}, size=${size}`, offset, size, __classPrivateFieldGet(this, _SyncStreamReadableBufferAdapter_bufferedData, "f").length);
|
|
76
|
+
}
|
|
77
|
+
}, _SyncStreamReadableBufferAdapter_ensureBufferedUpTo = function _SyncStreamReadableBufferAdapter_ensureBufferedUpTo(targetOffset) {
|
|
78
|
+
while (!__classPrivateFieldGet(this, _SyncStreamReadableBufferAdapter_eof, "f") && __classPrivateFieldGet(this, _SyncStreamReadableBufferAdapter_bufferedData, "f").length < targetOffset) {
|
|
79
|
+
const chunk = __classPrivateFieldGet(this, _SyncStreamReadableBufferAdapter_streamBuffer, "f").readNext();
|
|
80
|
+
if (chunk === undefined) {
|
|
81
|
+
__classPrivateFieldSet(this, _SyncStreamReadableBufferAdapter_eof, true, "f");
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
if (chunk.length === 0) {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
const currentLength = __classPrivateFieldGet(this, _SyncStreamReadableBufferAdapter_bufferedData, "f").length;
|
|
88
|
+
const newBuffer = new Uint8Array(currentLength + chunk.length);
|
|
89
|
+
newBuffer.set(__classPrivateFieldGet(this, _SyncStreamReadableBufferAdapter_bufferedData, "f"));
|
|
90
|
+
newBuffer.set(chunk, currentLength);
|
|
91
|
+
__classPrivateFieldSet(this, _SyncStreamReadableBufferAdapter_bufferedData, newBuffer, "f");
|
|
92
|
+
}
|
|
93
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ISyncWritable } from "../buffers/buffer_sync.js";
|
|
2
|
+
import type { ISyncStreamWritableBuffer } from "./streams_sync.js";
|
|
3
|
+
/**
|
|
4
|
+
* Adapter that wraps an ISyncStreamWritableBuffer to provide the ISyncWritable interface.
|
|
5
|
+
* Writes are passed through to the underlying stream sink.
|
|
6
|
+
*/
|
|
7
|
+
export declare class SyncStreamWritableBufferAdapter implements ISyncWritable {
|
|
8
|
+
#private;
|
|
9
|
+
/**
|
|
10
|
+
* Creates a new adapter from a synchronous stream writable buffer.
|
|
11
|
+
*
|
|
12
|
+
* @param streamBuffer The stream buffer to adapt.
|
|
13
|
+
*/
|
|
14
|
+
constructor(streamBuffer: ISyncStreamWritableBuffer);
|
|
15
|
+
/**
|
|
16
|
+
* Appends bytes to the buffer, advancing its internal write cursor when the
|
|
17
|
+
* operation succeeds.
|
|
18
|
+
*/
|
|
19
|
+
appendBytes(data: Uint8Array): void;
|
|
20
|
+
/**
|
|
21
|
+
* Appends a slice of bytes to the buffer.
|
|
22
|
+
*
|
|
23
|
+
* @param data The source bytes.
|
|
24
|
+
* @param offset The starting offset in data.
|
|
25
|
+
* @param length The number of bytes to write.
|
|
26
|
+
*/
|
|
27
|
+
appendBytesFrom(data: Uint8Array, offset: number, length: number): void;
|
|
28
|
+
/**
|
|
29
|
+
* Returns whether the buffer can continue accepting writes.
|
|
30
|
+
* Stream buffers can always accept writes until explicitly closed.
|
|
31
|
+
*/
|
|
32
|
+
isValid(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Checks if the buffer can accept appending the given number of bytes.
|
|
35
|
+
*
|
|
36
|
+
* @param size The number of bytes to check.
|
|
37
|
+
* @returns True if the buffer can accept the append.
|
|
38
|
+
*/
|
|
39
|
+
canAppendMore(_size: number): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Closes the underlying stream buffer.
|
|
42
|
+
* After calling this, further writes will be ignored.
|
|
43
|
+
*/
|
|
44
|
+
close(): void;
|
|
45
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _SyncStreamWritableBufferAdapter_streamBuffer, _SyncStreamWritableBufferAdapter_isClosed;
|
|
13
|
+
/**
|
|
14
|
+
* Adapter that wraps an ISyncStreamWritableBuffer to provide the ISyncWritable interface.
|
|
15
|
+
* Writes are passed through to the underlying stream sink.
|
|
16
|
+
*/
|
|
17
|
+
export class SyncStreamWritableBufferAdapter {
|
|
18
|
+
/**
|
|
19
|
+
* Creates a new adapter from a synchronous stream writable buffer.
|
|
20
|
+
*
|
|
21
|
+
* @param streamBuffer The stream buffer to adapt.
|
|
22
|
+
*/
|
|
23
|
+
constructor(streamBuffer) {
|
|
24
|
+
_SyncStreamWritableBufferAdapter_streamBuffer.set(this, void 0);
|
|
25
|
+
_SyncStreamWritableBufferAdapter_isClosed.set(this, false);
|
|
26
|
+
__classPrivateFieldSet(this, _SyncStreamWritableBufferAdapter_streamBuffer, streamBuffer, "f");
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Appends bytes to the buffer, advancing its internal write cursor when the
|
|
30
|
+
* operation succeeds.
|
|
31
|
+
*/
|
|
32
|
+
appendBytes(data) {
|
|
33
|
+
if (__classPrivateFieldGet(this, _SyncStreamWritableBufferAdapter_isClosed, "f") || data.length === 0) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
__classPrivateFieldGet(this, _SyncStreamWritableBufferAdapter_streamBuffer, "f").writeBytes(data);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Appends a slice of bytes to the buffer.
|
|
40
|
+
*
|
|
41
|
+
* @param data The source bytes.
|
|
42
|
+
* @param offset The starting offset in data.
|
|
43
|
+
* @param length The number of bytes to write.
|
|
44
|
+
*/
|
|
45
|
+
appendBytesFrom(data, offset, length) {
|
|
46
|
+
if (__classPrivateFieldGet(this, _SyncStreamWritableBufferAdapter_isClosed, "f") || length === 0) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
__classPrivateFieldGet(this, _SyncStreamWritableBufferAdapter_streamBuffer, "f").writeBytesFrom(data, offset, length);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Returns whether the buffer can continue accepting writes.
|
|
53
|
+
* Stream buffers can always accept writes until explicitly closed.
|
|
54
|
+
*/
|
|
55
|
+
isValid() {
|
|
56
|
+
return !__classPrivateFieldGet(this, _SyncStreamWritableBufferAdapter_isClosed, "f");
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Checks if the buffer can accept appending the given number of bytes.
|
|
60
|
+
*
|
|
61
|
+
* @param size The number of bytes to check.
|
|
62
|
+
* @returns True if the buffer can accept the append.
|
|
63
|
+
*/
|
|
64
|
+
canAppendMore(_size) {
|
|
65
|
+
return this.isValid();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Closes the underlying stream buffer.
|
|
69
|
+
* After calling this, further writes will be ignored.
|
|
70
|
+
*/
|
|
71
|
+
close() {
|
|
72
|
+
if (!__classPrivateFieldGet(this, _SyncStreamWritableBufferAdapter_isClosed, "f")) {
|
|
73
|
+
__classPrivateFieldSet(this, _SyncStreamWritableBufferAdapter_isClosed, true, "f");
|
|
74
|
+
__classPrivateFieldGet(this, _SyncStreamWritableBufferAdapter_streamBuffer, "f").close();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
_SyncStreamWritableBufferAdapter_streamBuffer = new WeakMap(), _SyncStreamWritableBufferAdapter_isClosed = new WeakMap();
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interfaces describing synchronous stream-backed readable and writable buffers.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Interface describing a readable buffer backed by a synchronous stream-like source.
|
|
6
|
+
* This provides sequential access to byte chunks without relying on async primitives.
|
|
7
|
+
*/
|
|
8
|
+
export interface ISyncStreamReadableBuffer {
|
|
9
|
+
/**
|
|
10
|
+
* Reads the next chunk of data from the stream.
|
|
11
|
+
* Returns undefined when the stream is exhausted.
|
|
12
|
+
*/
|
|
13
|
+
readNext(): Uint8Array | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Closes the stream and releases any held resources.
|
|
16
|
+
*/
|
|
17
|
+
close(): void;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Interface describing a writable buffer backed by a synchronous stream-like sink.
|
|
21
|
+
* This provides sequential writing capabilities.
|
|
22
|
+
*/
|
|
23
|
+
export interface ISyncStreamWritableBuffer {
|
|
24
|
+
/**
|
|
25
|
+
* Writes bytes to the stream.
|
|
26
|
+
*/
|
|
27
|
+
writeBytes(data: Uint8Array): void;
|
|
28
|
+
/**
|
|
29
|
+
* Writes a slice of bytes to the stream without requiring a subarray view.
|
|
30
|
+
*/
|
|
31
|
+
writeBytesFrom(data: Uint8Array, offset: number, length: number): void;
|
|
32
|
+
/**
|
|
33
|
+
* Closes the stream and releases any held resources.
|
|
34
|
+
*/
|
|
35
|
+
close(): void;
|
|
36
|
+
}
|
|
@@ -13,7 +13,7 @@ export interface ReadableTapLike {
|
|
|
13
13
|
canReadMore(): Promise<boolean>;
|
|
14
14
|
/**
|
|
15
15
|
* Returns the buffer contents from the start up to the current cursor.
|
|
16
|
-
* @throws
|
|
16
|
+
* @throws ReadBufferError if the cursor has advanced past the buffer length.
|
|
17
17
|
*/
|
|
18
18
|
getValue(): Promise<Uint8Array>;
|
|
19
19
|
/**
|
|
@@ -42,7 +42,7 @@ export interface ReadableTapLike {
|
|
|
42
42
|
skipLong(): Promise<void>;
|
|
43
43
|
/**
|
|
44
44
|
* Reads a 32-bit little-endian floating point number.
|
|
45
|
-
* @throws
|
|
45
|
+
* @throws ReadBufferError if the read would exceed the buffer.
|
|
46
46
|
*/
|
|
47
47
|
readFloat(): Promise<number>;
|
|
48
48
|
/**
|
|
@@ -51,7 +51,7 @@ export interface ReadableTapLike {
|
|
|
51
51
|
skipFloat(): void;
|
|
52
52
|
/**
|
|
53
53
|
* Reads a 64-bit little-endian floating point number.
|
|
54
|
-
* @throws
|
|
54
|
+
* @throws ReadBufferError if the read would exceed the buffer.
|
|
55
55
|
*/
|
|
56
56
|
readDouble(): Promise<number>;
|
|
57
57
|
/**
|
|
@@ -61,7 +61,7 @@ export interface ReadableTapLike {
|
|
|
61
61
|
/**
|
|
62
62
|
* Reads a fixed-length byte sequence into a new buffer.
|
|
63
63
|
* @param len Number of bytes to read.
|
|
64
|
-
* @throws
|
|
64
|
+
* @throws ReadBufferError if the read exceeds the buffer.
|
|
65
65
|
*/
|
|
66
66
|
readFixed(len: number): Promise<Uint8Array>;
|
|
67
67
|
/**
|
|
@@ -71,7 +71,7 @@ export interface ReadableTapLike {
|
|
|
71
71
|
skipFixed(len: number): void;
|
|
72
72
|
/**
|
|
73
73
|
* Reads a length-prefixed byte sequence.
|
|
74
|
-
* @throws
|
|
74
|
+
* @throws ReadBufferError if insufficient data remains.
|
|
75
75
|
*/
|
|
76
76
|
readBytes(): Promise<Uint8Array>;
|
|
77
77
|
/**
|
|
@@ -80,7 +80,7 @@ export interface ReadableTapLike {
|
|
|
80
80
|
skipBytes(): Promise<void>;
|
|
81
81
|
/**
|
|
82
82
|
* Reads a length-prefixed UTF-8 string.
|
|
83
|
-
* @throws
|
|
83
|
+
* @throws ReadBufferError when the buffer is exhausted prematurely.
|
|
84
84
|
*/
|
|
85
85
|
readString(): Promise<string>;
|
|
86
86
|
/**
|
|
@@ -127,8 +127,6 @@ export interface ReadableTapLike {
|
|
|
127
127
|
matchBytes(tap: ReadableTapLike): Promise<number>;
|
|
128
128
|
/** Matches a string value. */
|
|
129
129
|
matchString(tap: ReadableTapLike): Promise<number>;
|
|
130
|
-
/** Unpacks a long-encoded byte array. */
|
|
131
|
-
unpackLongBytes(): Promise<Uint8Array>;
|
|
132
130
|
}
|
|
133
131
|
/**
|
|
134
132
|
* Interface for writable tap operations compatible with Avro binary serialization.
|
|
@@ -166,9 +164,8 @@ export interface WritableTapLike {
|
|
|
166
164
|
/**
|
|
167
165
|
* Writes a fixed-length byte sequence from the provided buffer.
|
|
168
166
|
* @param buf Source buffer to copy from.
|
|
169
|
-
* @param len Optional number of bytes to write; defaults to the buffer length.
|
|
170
167
|
*/
|
|
171
|
-
writeFixed(buf: Uint8Array
|
|
168
|
+
writeFixed(buf: Uint8Array): Promise<void>;
|
|
172
169
|
/**
|
|
173
170
|
* Writes a length-prefixed byte sequence backed by the provided buffer.
|
|
174
171
|
* @param buf The bytes to write.
|
|
@@ -185,11 +182,6 @@ export interface WritableTapLike {
|
|
|
185
182
|
* @param len Number of bytes from the string to write.
|
|
186
183
|
*/
|
|
187
184
|
writeBinary(str: string, len: number): Promise<void>;
|
|
188
|
-
/**
|
|
189
|
-
* Encodes an 8-byte two's complement integer into zig-zag encoded varint bytes.
|
|
190
|
-
* @param arr Buffer containing the 8-byte value to encode; reused during processing.
|
|
191
|
-
*/
|
|
192
|
-
packLongBytes(arr: Uint8Array): Promise<void>;
|
|
193
185
|
}
|
|
194
186
|
/** Abstract base class for tap implementations that manage buffer position. */
|
|
195
187
|
export declare abstract class TapBase {
|
|
@@ -229,7 +221,7 @@ export declare class ReadableTap extends TapBase implements ReadableTapLike {
|
|
|
229
221
|
_testOnlyBuf(): Promise<Uint8Array>;
|
|
230
222
|
/**
|
|
231
223
|
* Returns the buffer contents from the start up to the current cursor.
|
|
232
|
-
* @throws
|
|
224
|
+
* @throws ReadBufferError if the cursor has advanced past the buffer length.
|
|
233
225
|
*/
|
|
234
226
|
getValue(): Promise<Uint8Array>;
|
|
235
227
|
/** Retrieves the byte at the specified position in the buffer. */
|
|
@@ -260,7 +252,7 @@ export declare class ReadableTap extends TapBase implements ReadableTapLike {
|
|
|
260
252
|
skipLong(): Promise<void>;
|
|
261
253
|
/**
|
|
262
254
|
* Reads a 32-bit little-endian floating point number.
|
|
263
|
-
* @throws
|
|
255
|
+
* @throws ReadBufferError if the read would exceed the buffer.
|
|
264
256
|
*/
|
|
265
257
|
readFloat(): Promise<number>;
|
|
266
258
|
/**
|
|
@@ -269,7 +261,7 @@ export declare class ReadableTap extends TapBase implements ReadableTapLike {
|
|
|
269
261
|
skipFloat(): void;
|
|
270
262
|
/**
|
|
271
263
|
* Reads a 64-bit little-endian floating point number.
|
|
272
|
-
* @throws
|
|
264
|
+
* @throws ReadBufferError if the read would exceed the buffer.
|
|
273
265
|
*/
|
|
274
266
|
readDouble(): Promise<number>;
|
|
275
267
|
/**
|
|
@@ -279,7 +271,7 @@ export declare class ReadableTap extends TapBase implements ReadableTapLike {
|
|
|
279
271
|
/**
|
|
280
272
|
* Reads a fixed-length byte sequence into a new buffer.
|
|
281
273
|
* @param len Number of bytes to read.
|
|
282
|
-
* @throws
|
|
274
|
+
* @throws ReadBufferError if the read exceeds the buffer.
|
|
283
275
|
*/
|
|
284
276
|
readFixed(len: number): Promise<Uint8Array>;
|
|
285
277
|
/**
|
|
@@ -289,7 +281,7 @@ export declare class ReadableTap extends TapBase implements ReadableTapLike {
|
|
|
289
281
|
skipFixed(len: number): void;
|
|
290
282
|
/**
|
|
291
283
|
* Reads a length-prefixed byte sequence.
|
|
292
|
-
* @throws
|
|
284
|
+
* @throws ReadBufferError if insufficient data remains.
|
|
293
285
|
*/
|
|
294
286
|
readBytes(): Promise<Uint8Array>;
|
|
295
287
|
/**
|
|
@@ -302,7 +294,7 @@ export declare class ReadableTap extends TapBase implements ReadableTapLike {
|
|
|
302
294
|
skipString(): Promise<void>;
|
|
303
295
|
/**
|
|
304
296
|
* Reads a length-prefixed UTF-8 string.
|
|
305
|
-
* @throws
|
|
297
|
+
* @throws ReadBufferError when the buffer is exhausted prematurely.
|
|
306
298
|
*/
|
|
307
299
|
readString(): Promise<string>;
|
|
308
300
|
/**
|
|
@@ -348,10 +340,6 @@ export declare class ReadableTap extends TapBase implements ReadableTapLike {
|
|
|
348
340
|
* @returns Comparison result using -1/0/1 semantics.
|
|
349
341
|
*/
|
|
350
342
|
matchString(tap: ReadableTapLike): Promise<number>;
|
|
351
|
-
/**
|
|
352
|
-
* Decodes the next zig-zag encoded long into an 8-byte two's complement buffer.
|
|
353
|
-
*/
|
|
354
|
-
unpackLongBytes(): Promise<Uint8Array>;
|
|
355
343
|
}
|
|
356
344
|
/**
|
|
357
345
|
* Binary tap that exposes Avro-compatible write helpers on top of a writable buffer.
|
|
@@ -379,6 +367,7 @@ export declare class WritableTap extends TapBase implements WritableTapLike {
|
|
|
379
367
|
writeBoolean(value: boolean): Promise<void>;
|
|
380
368
|
/**
|
|
381
369
|
* Writes a zig-zag encoded 32-bit signed integer.
|
|
370
|
+
* Uses a 32-bit zig-zag + varint path to avoid BigInt casts for performance.
|
|
382
371
|
* @param n Integer value to write.
|
|
383
372
|
*/
|
|
384
373
|
writeInt(n: number): Promise<void>;
|
|
@@ -400,9 +389,8 @@ export declare class WritableTap extends TapBase implements WritableTapLike {
|
|
|
400
389
|
/**
|
|
401
390
|
* Writes a fixed-length byte sequence from the provided buffer.
|
|
402
391
|
* @param buf Source buffer to copy from.
|
|
403
|
-
* @param len Optional number of bytes to write; defaults to the buffer length.
|
|
404
392
|
*/
|
|
405
|
-
writeFixed(buf: Uint8Array
|
|
393
|
+
writeFixed(buf: Uint8Array): Promise<void>;
|
|
406
394
|
/**
|
|
407
395
|
* Writes a length-prefixed byte sequence backed by the provided buffer.
|
|
408
396
|
* @param buf Bytes to write.
|
|
@@ -419,9 +407,4 @@ export declare class WritableTap extends TapBase implements WritableTapLike {
|
|
|
419
407
|
* @param len Number of bytes from the string to write.
|
|
420
408
|
*/
|
|
421
409
|
writeBinary(str: string, len: number): Promise<void>;
|
|
422
|
-
/**
|
|
423
|
-
* Encodes an 8-byte two's complement integer into zig-zag encoded varint bytes.
|
|
424
|
-
* @param arr Buffer containing the 8-byte value to encode; reused during processing.
|
|
425
|
-
*/
|
|
426
|
-
packLongBytes(arr: Uint8Array): Promise<void>;
|
|
427
410
|
}
|