@platformatic/kafka 1.27.0-alpha.2 → 1.27.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/README.md +6 -1
- package/dist/apis/admin/create-acls-v2.d.ts +16 -0
- package/dist/apis/admin/create-acls-v2.js +55 -0
- package/dist/apis/admin/delete-acls-v2.d.ts +21 -0
- package/dist/apis/admin/delete-acls-v2.js +84 -0
- package/dist/apis/admin/describe-acls-v2.d.ts +17 -0
- package/dist/apis/admin/describe-acls-v2.js +66 -0
- package/dist/apis/admin/describe-cluster-v0.d.ts +23 -0
- package/dist/apis/admin/describe-cluster-v0.js +48 -0
- package/dist/apis/admin/describe-log-dirs-v2.d.ts +32 -0
- package/dist/apis/admin/describe-log-dirs-v2.js +67 -0
- package/dist/apis/admin/describe-log-dirs-v3.d.ts +32 -0
- package/dist/apis/admin/describe-log-dirs-v3.js +73 -0
- package/dist/apis/admin/index.d.ts +7 -0
- package/dist/apis/admin/index.js +7 -0
- package/dist/apis/admin/list-transactions-v0.d.ts +18 -0
- package/dist/apis/admin/list-transactions-v0.js +43 -0
- package/dist/apis/consumer/index.d.ts +8 -0
- package/dist/apis/consumer/index.js +8 -0
- package/dist/apis/consumer/join-group-v6.d.ts +27 -0
- package/dist/apis/consumer/join-group-v6.js +67 -0
- package/dist/apis/consumer/join-group-v7.d.ts +27 -0
- package/dist/apis/consumer/join-group-v7.js +68 -0
- package/dist/apis/consumer/join-group-v8.d.ts +27 -0
- package/dist/apis/consumer/join-group-v8.js +70 -0
- package/dist/apis/consumer/leave-group-v4.d.ts +22 -0
- package/dist/apis/consumer/leave-group-v4.js +56 -0
- package/dist/apis/consumer/list-offsets-v5.d.ts +30 -0
- package/dist/apis/consumer/list-offsets-v5.js +67 -0
- package/dist/apis/consumer/list-offsets-v6.d.ts +30 -0
- package/dist/apis/consumer/list-offsets-v6.js +68 -0
- package/dist/apis/consumer/list-offsets-v7.d.ts +30 -0
- package/dist/apis/consumer/list-offsets-v7.js +68 -0
- package/dist/apis/consumer/sync-group-v4.d.ts +18 -0
- package/dist/apis/consumer/sync-group-v4.js +43 -0
- package/dist/apis/enumerations.d.ts +5 -5
- package/dist/apis/producer/add-offsets-to-txn-v1.d.ts +10 -0
- package/dist/apis/producer/add-offsets-to-txn-v1.js +33 -0
- package/dist/apis/producer/add-offsets-to-txn-v2.d.ts +10 -0
- package/dist/apis/producer/add-offsets-to-txn-v2.js +33 -0
- package/dist/apis/producer/index.d.ts +3 -0
- package/dist/apis/producer/index.js +3 -0
- package/dist/apis/producer/init-producer-id-v3.d.ts +21 -0
- package/dist/apis/producer/init-producer-id-v3.js +38 -0
- package/dist/clients/admin/options.d.ts +9 -9
- package/dist/clients/base/base.js +6 -2
- package/dist/clients/base/options.d.ts +9 -2
- package/dist/clients/base/options.js +1 -1
- package/dist/clients/base/types.d.ts +2 -1
- package/dist/clients/consumer/consumer.js +14 -1
- package/dist/clients/consumer/messages-stream.d.ts +2 -2
- package/dist/clients/consumer/messages-stream.js +3 -3
- package/dist/clients/producer/producer.js +7 -1
- package/dist/errors.d.ts +0 -4
- package/dist/errors.js +0 -6
- package/dist/network/connection.js +1 -1
- package/dist/protocol/compression.d.ts +1 -1
- package/dist/protocol/compression.js +7 -46
- package/dist/protocol/crc32c.d.ts +1 -1
- package/dist/protocol/crc32c.js +5 -6
- package/dist/protocol/definitions.d.ts +1 -1
- package/dist/protocol/index.d.ts +0 -2
- package/dist/protocol/index.js +0 -2
- package/dist/protocol/reader.d.ts +2 -2
- package/dist/protocol/reader.js +3 -3
- package/dist/protocol/records.d.ts +4 -4
- package/dist/protocol/records.js +1 -1
- package/dist/protocol/writer.d.ts +1 -1
- package/dist/protocol/writer.js +2 -2
- package/dist/typescript-4/dist/apis/admin/create-acls-v2.d.ts +16 -0
- package/dist/typescript-4/dist/apis/admin/delete-acls-v2.d.ts +21 -0
- package/dist/typescript-4/dist/apis/admin/describe-acls-v2.d.ts +17 -0
- package/dist/typescript-4/dist/apis/admin/describe-cluster-v0.d.ts +23 -0
- package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v2.d.ts +32 -0
- package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v3.d.ts +32 -0
- package/dist/typescript-4/dist/apis/admin/index.d.ts +7 -0
- package/dist/typescript-4/dist/apis/admin/list-transactions-v0.d.ts +18 -0
- package/dist/typescript-4/dist/apis/consumer/index.d.ts +8 -0
- package/dist/typescript-4/dist/apis/consumer/join-group-v6.d.ts +27 -0
- package/dist/typescript-4/dist/apis/consumer/join-group-v7.d.ts +27 -0
- package/dist/typescript-4/dist/apis/consumer/join-group-v8.d.ts +27 -0
- package/dist/typescript-4/dist/apis/consumer/leave-group-v4.d.ts +22 -0
- package/dist/typescript-4/dist/apis/consumer/list-offsets-v5.d.ts +30 -0
- package/dist/typescript-4/dist/apis/consumer/list-offsets-v6.d.ts +30 -0
- package/dist/typescript-4/dist/apis/consumer/list-offsets-v7.d.ts +30 -0
- package/dist/typescript-4/dist/apis/consumer/sync-group-v4.d.ts +18 -0
- package/dist/typescript-4/dist/apis/enumerations.d.ts +5 -5
- package/dist/typescript-4/dist/apis/producer/add-offsets-to-txn-v1.d.ts +10 -0
- package/dist/typescript-4/dist/apis/producer/add-offsets-to-txn-v2.d.ts +10 -0
- package/dist/typescript-4/dist/apis/producer/index.d.ts +3 -0
- package/dist/typescript-4/dist/apis/producer/init-producer-id-v3.d.ts +21 -0
- package/dist/typescript-4/dist/clients/admin/options.d.ts +9 -9
- package/dist/typescript-4/dist/clients/base/options.d.ts +9 -2
- package/dist/typescript-4/dist/clients/base/types.d.ts +2 -1
- package/dist/typescript-4/dist/clients/consumer/messages-stream.d.ts +2 -2
- package/dist/typescript-4/dist/errors.d.ts +0 -4
- package/dist/typescript-4/dist/protocol/compression.d.ts +1 -1
- package/dist/typescript-4/dist/protocol/crc32c.d.ts +1 -1
- package/dist/typescript-4/dist/protocol/definitions.d.ts +1 -1
- package/dist/typescript-4/dist/protocol/index.d.ts +0 -2
- package/dist/typescript-4/dist/protocol/reader.d.ts +2 -2
- package/dist/typescript-4/dist/protocol/records.d.ts +4 -4
- package/dist/typescript-4/dist/protocol/writer.d.ts +1 -1
- package/dist/typescript-4/dist/utils.d.ts +3 -2
- package/dist/utils.d.ts +2 -1
- package/dist/utils.js +3 -0
- package/dist/version.js +1 -1
- package/package.json +11 -9
- package/dist/protocol/dynamic-buffer.d.ts +0 -65
- package/dist/protocol/dynamic-buffer.js +0 -563
- package/dist/protocol/varint.d.ts +0 -12
- package/dist/protocol/varint.js +0 -36
- package/dist/typescript-4/dist/protocol/dynamic-buffer.d.ts +0 -65
- package/dist/typescript-4/dist/protocol/varint.d.ts +0 -12
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
declare const instanceIdentifier: unique symbol;
|
|
2
|
-
export declare class DynamicBuffer {
|
|
3
|
-
#private;
|
|
4
|
-
buffers: Buffer[];
|
|
5
|
-
length: number;
|
|
6
|
-
[instanceIdentifier]: boolean;
|
|
7
|
-
static isDynamicBuffer(target: any): boolean;
|
|
8
|
-
constructor(buffers?: Buffer | Buffer[]);
|
|
9
|
-
get buffer(): Buffer;
|
|
10
|
-
append(buffer: Buffer): this;
|
|
11
|
-
prepend(buffer: Buffer): this;
|
|
12
|
-
appendFrom(DynamicBuffer: DynamicBuffer): this;
|
|
13
|
-
prependFrom(DynamicBuffer: DynamicBuffer): this;
|
|
14
|
-
subarray(start?: number, end?: number): DynamicBuffer;
|
|
15
|
-
slice(start?: number, end?: number): Buffer;
|
|
16
|
-
clone(deep?: boolean): DynamicBuffer;
|
|
17
|
-
consume(offset: number): this;
|
|
18
|
-
toString(encoding?: BufferEncoding, start?: number, end?: number): string;
|
|
19
|
-
get(offset: number): number;
|
|
20
|
-
readUInt8(offset?: number): number;
|
|
21
|
-
readUInt16BE(offset?: number): number;
|
|
22
|
-
readUInt16LE(offset?: number): number;
|
|
23
|
-
readUInt32BE(offset?: number): number;
|
|
24
|
-
readUInt32LE(offset?: number): number;
|
|
25
|
-
readBigUInt64BE(offset?: number): bigint;
|
|
26
|
-
readBigUInt64LE(offset?: number): bigint;
|
|
27
|
-
readUnsignedVarInt(offset: number): [number, number];
|
|
28
|
-
readUnsignedVarInt64(offset: number): [bigint, number];
|
|
29
|
-
readInt8(offset?: number): number;
|
|
30
|
-
readInt16BE(offset?: number): number;
|
|
31
|
-
readInt16LE(offset?: number): number;
|
|
32
|
-
readInt32BE(offset?: number): number;
|
|
33
|
-
readInt32LE(offset?: number): number;
|
|
34
|
-
readBigInt64BE(offset?: number): bigint;
|
|
35
|
-
readBigInt64LE(offset?: number): bigint;
|
|
36
|
-
readVarInt(offset: number): [number, number];
|
|
37
|
-
readVarInt64(offset: number): [bigint, number];
|
|
38
|
-
readFloatBE(offset?: number): number;
|
|
39
|
-
readFloatLE(offset?: number): number;
|
|
40
|
-
readDoubleBE(offset?: number): number;
|
|
41
|
-
readDoubleLE(offset?: number): number;
|
|
42
|
-
writeUInt8(value: number, append?: boolean): this;
|
|
43
|
-
writeUInt16BE(value: number, append?: boolean): this;
|
|
44
|
-
writeUInt16LE(value: number, append?: boolean): this;
|
|
45
|
-
writeUInt32BE(value: number, append?: boolean): this;
|
|
46
|
-
writeUInt32LE(value: number, append?: boolean): this;
|
|
47
|
-
writeBigUInt64BE(value: bigint, append?: boolean): this;
|
|
48
|
-
writeBigUInt64LE(value: bigint, append?: boolean): this;
|
|
49
|
-
writeUnsignedVarInt(value: number, append?: boolean): void;
|
|
50
|
-
writeUnsignedVarInt64(value: bigint, append?: boolean): void;
|
|
51
|
-
writeInt8(value: number, append?: boolean): this;
|
|
52
|
-
writeInt16BE(value: number, append?: boolean): this;
|
|
53
|
-
writeInt16LE(value: number, append?: boolean): this;
|
|
54
|
-
writeInt32BE(value: number, append?: boolean): this;
|
|
55
|
-
writeInt32LE(value: number, append?: boolean): this;
|
|
56
|
-
writeBigInt64BE(value: bigint, append?: boolean): this;
|
|
57
|
-
writeBigInt64LE(value: bigint, append?: boolean): this;
|
|
58
|
-
writeVarInt(value: number, append?: boolean): void;
|
|
59
|
-
writeVarInt64(value: bigint, append?: boolean): void;
|
|
60
|
-
writeFloatBE(value: number, append?: boolean): this;
|
|
61
|
-
writeFloatLE(value: number, append?: boolean): this;
|
|
62
|
-
writeDoubleBE(value: number, append?: boolean): this;
|
|
63
|
-
writeDoubleLE(value: number, append?: boolean): this;
|
|
64
|
-
}
|
|
65
|
-
export {};
|
|
@@ -1,563 +0,0 @@
|
|
|
1
|
-
import { OutOfBoundsError } from "../errors.js";
|
|
2
|
-
import { EMPTY_BUFFER, INT16_SIZE, INT32_SIZE, INT64_SIZE, INT8_SIZE } from "./definitions.js";
|
|
3
|
-
import { BITS_8PLUS_MASK, BITS_8PLUS_MASK_64, int64ZigZagDecode, int64ZigZagEncode, intZigZagDecode, intZigZagEncode, LEAST_SIGNIFICANT_7_BITS, LEAST_SIGNIFICANT_7_BITS_64, MOST_SIGNIFICANT_BIT_FLAG, MOST_SIGNIFICANT_BIT_FLAG_64, sizeOfUnsignedVarInt, sizeOfUnsignedVarInt64 } from "./varint.js";
|
|
4
|
-
const instanceIdentifier = Symbol('plt.kafka.dynamicBuffer.instanceIdentifier');
|
|
5
|
-
export class DynamicBuffer {
|
|
6
|
-
buffers;
|
|
7
|
-
length;
|
|
8
|
-
#readBuffer; // This is used from the fixed length readers
|
|
9
|
-
[instanceIdentifier];
|
|
10
|
-
static isDynamicBuffer(target) {
|
|
11
|
-
return target?.[instanceIdentifier] === true;
|
|
12
|
-
}
|
|
13
|
-
constructor(buffers) {
|
|
14
|
-
this.buffers = [];
|
|
15
|
-
this.length = 0;
|
|
16
|
-
this.#readBuffer = Buffer.allocUnsafe(8);
|
|
17
|
-
this[instanceIdentifier] = true;
|
|
18
|
-
if (buffers) {
|
|
19
|
-
if (Buffer.isBuffer(buffers)) {
|
|
20
|
-
this.buffers.push(buffers);
|
|
21
|
-
this.length += buffers.length;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
for (const buffer of buffers) {
|
|
25
|
-
this.buffers.push(buffer);
|
|
26
|
-
this.length += buffer.length;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
get buffer() {
|
|
32
|
-
if (this.buffers.length === 0) {
|
|
33
|
-
return EMPTY_BUFFER;
|
|
34
|
-
}
|
|
35
|
-
if (this.buffers.length === 1) {
|
|
36
|
-
return this.buffers[0];
|
|
37
|
-
}
|
|
38
|
-
return Buffer.concat(this.buffers, this.length);
|
|
39
|
-
}
|
|
40
|
-
append(buffer) {
|
|
41
|
-
this.buffers.push(buffer);
|
|
42
|
-
this.length += buffer.length;
|
|
43
|
-
return this;
|
|
44
|
-
}
|
|
45
|
-
prepend(buffer) {
|
|
46
|
-
this.buffers.unshift(buffer);
|
|
47
|
-
this.length += buffer.length;
|
|
48
|
-
return this;
|
|
49
|
-
}
|
|
50
|
-
appendFrom(DynamicBuffer) {
|
|
51
|
-
const buffers = DynamicBuffer.buffers;
|
|
52
|
-
for (let i = 0; i < buffers.length; i++) {
|
|
53
|
-
this.buffers.push(buffers[i]);
|
|
54
|
-
}
|
|
55
|
-
this.length += DynamicBuffer.length;
|
|
56
|
-
return this;
|
|
57
|
-
}
|
|
58
|
-
prependFrom(DynamicBuffer) {
|
|
59
|
-
const buffers = DynamicBuffer.buffers;
|
|
60
|
-
for (let i = buffers.length - 1; i >= 0; i--) {
|
|
61
|
-
this.buffers.unshift(buffers[i]);
|
|
62
|
-
}
|
|
63
|
-
this.length += DynamicBuffer.length;
|
|
64
|
-
return this;
|
|
65
|
-
}
|
|
66
|
-
subarray(start = 0, end) {
|
|
67
|
-
if (typeof end === 'undefined') {
|
|
68
|
-
end = this.length;
|
|
69
|
-
}
|
|
70
|
-
if (start < 0 || start > this.length || end > this.length) {
|
|
71
|
-
throw new OutOfBoundsError('Out of bounds.');
|
|
72
|
-
}
|
|
73
|
-
if (this.buffers.length === 0) {
|
|
74
|
-
return new DynamicBuffer(EMPTY_BUFFER);
|
|
75
|
-
}
|
|
76
|
-
else if (this.buffers.length === 1) {
|
|
77
|
-
return new DynamicBuffer(this.buffers[0].subarray(start, end));
|
|
78
|
-
}
|
|
79
|
-
let length = end - start;
|
|
80
|
-
let [startBuffer, current] = this.#findInitialBuffer(start);
|
|
81
|
-
start = startBuffer;
|
|
82
|
-
// The slice is in a single buffer
|
|
83
|
-
if (length <= this.buffers[current].length - start) {
|
|
84
|
-
return new DynamicBuffer(this.buffers[current].subarray(start, start + length));
|
|
85
|
-
}
|
|
86
|
-
// Copy all subarrays
|
|
87
|
-
const buffers = [];
|
|
88
|
-
while (length > 0) {
|
|
89
|
-
const currentEnd = Math.min(this.buffers[current].length - start, length);
|
|
90
|
-
buffers.push(this.buffers[current].subarray(start, start + currentEnd));
|
|
91
|
-
length -= currentEnd;
|
|
92
|
-
start = 0;
|
|
93
|
-
current++;
|
|
94
|
-
}
|
|
95
|
-
return new DynamicBuffer(buffers);
|
|
96
|
-
}
|
|
97
|
-
slice(start = 0, end) {
|
|
98
|
-
if (typeof end === 'undefined') {
|
|
99
|
-
end = this.length;
|
|
100
|
-
}
|
|
101
|
-
if (start < 0 || start > this.length || end > this.length) {
|
|
102
|
-
throw new OutOfBoundsError('Out of bounds.');
|
|
103
|
-
}
|
|
104
|
-
if (this.buffers.length === 0) {
|
|
105
|
-
return EMPTY_BUFFER;
|
|
106
|
-
}
|
|
107
|
-
else if (this.buffers.length === 1) {
|
|
108
|
-
return this.buffers[0].subarray(start, end);
|
|
109
|
-
}
|
|
110
|
-
let position = 0;
|
|
111
|
-
let length = end - start;
|
|
112
|
-
let [startBuffer, current] = this.#findInitialBuffer(start);
|
|
113
|
-
start = startBuffer;
|
|
114
|
-
// The slice is in a single buffer
|
|
115
|
-
if (length <= this.buffers[current].length - start) {
|
|
116
|
-
return this.buffers[current].slice(start, start + length);
|
|
117
|
-
}
|
|
118
|
-
// Copy all buffers
|
|
119
|
-
const buffer = Buffer.allocUnsafe(length);
|
|
120
|
-
while (length > 0) {
|
|
121
|
-
const currentEnd = Math.min(this.buffers[current].length - start, length);
|
|
122
|
-
this.buffers[current].copy(buffer, position, start, start + currentEnd);
|
|
123
|
-
position += currentEnd;
|
|
124
|
-
length -= currentEnd;
|
|
125
|
-
start = 0;
|
|
126
|
-
current++;
|
|
127
|
-
}
|
|
128
|
-
return buffer;
|
|
129
|
-
}
|
|
130
|
-
clone(deep = false) {
|
|
131
|
-
if (!deep) {
|
|
132
|
-
return new DynamicBuffer(this.buffers);
|
|
133
|
-
}
|
|
134
|
-
const buffers = [];
|
|
135
|
-
for (const buffer of this.buffers) {
|
|
136
|
-
buffers.push(buffer.slice());
|
|
137
|
-
}
|
|
138
|
-
return new DynamicBuffer(buffers);
|
|
139
|
-
}
|
|
140
|
-
consume(offset) {
|
|
141
|
-
if (offset < 0 || offset > this.length) {
|
|
142
|
-
throw new OutOfBoundsError('Out of bounds.');
|
|
143
|
-
}
|
|
144
|
-
if (offset === 0) {
|
|
145
|
-
return this;
|
|
146
|
-
}
|
|
147
|
-
const [start, current] = this.#findInitialBuffer(offset);
|
|
148
|
-
// Remove other arrays
|
|
149
|
-
if (current > 0) {
|
|
150
|
-
this.buffers.splice(0, current);
|
|
151
|
-
}
|
|
152
|
-
// Trim the new first array
|
|
153
|
-
if (start > 0) {
|
|
154
|
-
this.buffers[0] = this.buffers[0].subarray(start);
|
|
155
|
-
}
|
|
156
|
-
// Compute length again
|
|
157
|
-
this.length = 0;
|
|
158
|
-
for (const buffer of this.buffers) {
|
|
159
|
-
this.length += buffer.length;
|
|
160
|
-
}
|
|
161
|
-
return this;
|
|
162
|
-
}
|
|
163
|
-
toString(encoding = 'utf-8', start = 0, end) {
|
|
164
|
-
return this.slice(start, end).toString(encoding);
|
|
165
|
-
}
|
|
166
|
-
get(offset) {
|
|
167
|
-
if (offset < 0 || offset >= this.length) {
|
|
168
|
-
throw new OutOfBoundsError('Out of bounds.');
|
|
169
|
-
}
|
|
170
|
-
const [finalIndex, current] = this.#findInitialBuffer(offset);
|
|
171
|
-
return this.buffers[current][finalIndex];
|
|
172
|
-
}
|
|
173
|
-
readUInt8(offset = 0) {
|
|
174
|
-
if (offset < 0 || offset >= this.length) {
|
|
175
|
-
throw new OutOfBoundsError('Out of bounds.');
|
|
176
|
-
}
|
|
177
|
-
const [finalIndex, current] = this.#findInitialBuffer(offset);
|
|
178
|
-
this.#readBuffer[0] = this.buffers[current][finalIndex];
|
|
179
|
-
return this.#readBuffer.readUInt8(0);
|
|
180
|
-
}
|
|
181
|
-
readUInt16BE(offset = 0) {
|
|
182
|
-
this.#readMultiple(offset, 2);
|
|
183
|
-
return this.#readBuffer.readUInt16BE(0);
|
|
184
|
-
}
|
|
185
|
-
readUInt16LE(offset = 0) {
|
|
186
|
-
this.#readMultiple(offset, 2);
|
|
187
|
-
return this.#readBuffer.readUInt16LE(0);
|
|
188
|
-
}
|
|
189
|
-
readUInt32BE(offset = 0) {
|
|
190
|
-
this.#readMultiple(offset, 4);
|
|
191
|
-
return this.#readBuffer.readUInt32BE(0);
|
|
192
|
-
}
|
|
193
|
-
readUInt32LE(offset = 0) {
|
|
194
|
-
this.#readMultiple(offset, 4);
|
|
195
|
-
return this.#readBuffer.readUInt32LE(0);
|
|
196
|
-
}
|
|
197
|
-
readBigUInt64BE(offset = 0) {
|
|
198
|
-
this.#readMultiple(offset, 8);
|
|
199
|
-
return this.#readBuffer.readBigUInt64BE(0);
|
|
200
|
-
}
|
|
201
|
-
readBigUInt64LE(offset = 0) {
|
|
202
|
-
this.#readMultiple(offset, 8);
|
|
203
|
-
return this.#readBuffer.readBigUInt64LE(0);
|
|
204
|
-
}
|
|
205
|
-
readUnsignedVarInt(offset) {
|
|
206
|
-
let i = 0;
|
|
207
|
-
let byte;
|
|
208
|
-
let value = 0;
|
|
209
|
-
let read = 0;
|
|
210
|
-
if (offset < 0 || offset >= this.length) {
|
|
211
|
-
throw new OutOfBoundsError('Out of bounds.');
|
|
212
|
-
}
|
|
213
|
-
// Find the initial buffer
|
|
214
|
-
let [startOffset, current] = this.#findInitialBuffer(offset);
|
|
215
|
-
do {
|
|
216
|
-
byte = this.buffers[current][startOffset++];
|
|
217
|
-
read++;
|
|
218
|
-
if (startOffset >= this.buffers[current].length) {
|
|
219
|
-
current++;
|
|
220
|
-
startOffset = 0;
|
|
221
|
-
}
|
|
222
|
-
value += (byte & LEAST_SIGNIFICANT_7_BITS) << i;
|
|
223
|
-
i += 7;
|
|
224
|
-
} while (byte >= MOST_SIGNIFICANT_BIT_FLAG);
|
|
225
|
-
return [value, read];
|
|
226
|
-
}
|
|
227
|
-
readUnsignedVarInt64(offset) {
|
|
228
|
-
let i = 0n;
|
|
229
|
-
let byte;
|
|
230
|
-
let value = 0n;
|
|
231
|
-
let read = 0;
|
|
232
|
-
if (offset < 0 || offset >= this.length) {
|
|
233
|
-
throw new OutOfBoundsError('Out of bounds.');
|
|
234
|
-
}
|
|
235
|
-
// Find the initial buffer
|
|
236
|
-
let [startOffset, current] = this.#findInitialBuffer(offset);
|
|
237
|
-
do {
|
|
238
|
-
byte = BigInt(this.buffers[current][startOffset++]);
|
|
239
|
-
read++;
|
|
240
|
-
if (startOffset >= this.buffers[current].length) {
|
|
241
|
-
current++;
|
|
242
|
-
startOffset = 0;
|
|
243
|
-
}
|
|
244
|
-
value += (byte & LEAST_SIGNIFICANT_7_BITS_64) << i;
|
|
245
|
-
i += 7n;
|
|
246
|
-
} while (byte >= MOST_SIGNIFICANT_BIT_FLAG_64);
|
|
247
|
-
return [value, read];
|
|
248
|
-
}
|
|
249
|
-
readInt8(offset = 0) {
|
|
250
|
-
if (offset < 0 || offset >= this.length) {
|
|
251
|
-
throw new OutOfBoundsError('Out of bounds.');
|
|
252
|
-
}
|
|
253
|
-
const [finalIndex, current] = this.#findInitialBuffer(offset);
|
|
254
|
-
this.#readBuffer[0] = this.buffers[current][finalIndex];
|
|
255
|
-
return this.#readBuffer.readInt8(0);
|
|
256
|
-
}
|
|
257
|
-
readInt16BE(offset = 0) {
|
|
258
|
-
this.#readMultiple(offset, INT16_SIZE);
|
|
259
|
-
return this.#readBuffer.readInt16BE(0);
|
|
260
|
-
}
|
|
261
|
-
readInt16LE(offset = 0) {
|
|
262
|
-
this.#readMultiple(offset, INT16_SIZE);
|
|
263
|
-
return this.#readBuffer.readInt16LE(0);
|
|
264
|
-
}
|
|
265
|
-
readInt32BE(offset = 0) {
|
|
266
|
-
this.#readMultiple(offset, INT32_SIZE);
|
|
267
|
-
return this.#readBuffer.readInt32BE(0);
|
|
268
|
-
}
|
|
269
|
-
readInt32LE(offset = 0) {
|
|
270
|
-
this.#readMultiple(offset, INT32_SIZE);
|
|
271
|
-
return this.#readBuffer.readInt32LE(0);
|
|
272
|
-
}
|
|
273
|
-
readBigInt64BE(offset = 0) {
|
|
274
|
-
this.#readMultiple(offset, INT64_SIZE);
|
|
275
|
-
return this.#readBuffer.readBigInt64BE(0);
|
|
276
|
-
}
|
|
277
|
-
readBigInt64LE(offset = 0) {
|
|
278
|
-
this.#readMultiple(offset, INT64_SIZE);
|
|
279
|
-
return this.#readBuffer.readBigInt64LE(0);
|
|
280
|
-
}
|
|
281
|
-
readVarInt(offset) {
|
|
282
|
-
const [value, read] = this.readUnsignedVarInt(offset);
|
|
283
|
-
return [intZigZagDecode(value), read];
|
|
284
|
-
}
|
|
285
|
-
readVarInt64(offset) {
|
|
286
|
-
const [value, read] = this.readUnsignedVarInt64(offset);
|
|
287
|
-
return [int64ZigZagDecode(value), read];
|
|
288
|
-
}
|
|
289
|
-
readFloatBE(offset = 0) {
|
|
290
|
-
this.#readMultiple(offset, INT32_SIZE);
|
|
291
|
-
return this.#readBuffer.readFloatBE(0);
|
|
292
|
-
}
|
|
293
|
-
readFloatLE(offset = 0) {
|
|
294
|
-
this.#readMultiple(offset, INT32_SIZE);
|
|
295
|
-
return this.#readBuffer.readFloatLE(0);
|
|
296
|
-
}
|
|
297
|
-
readDoubleBE(offset = 0) {
|
|
298
|
-
this.#readMultiple(offset, INT64_SIZE);
|
|
299
|
-
return this.#readBuffer.readDoubleBE(0);
|
|
300
|
-
}
|
|
301
|
-
readDoubleLE(offset = 0) {
|
|
302
|
-
this.#readMultiple(offset, INT64_SIZE);
|
|
303
|
-
return this.#readBuffer.readDoubleLE(0);
|
|
304
|
-
}
|
|
305
|
-
writeUInt8(value, append = true) {
|
|
306
|
-
const buffer = Buffer.allocUnsafe(INT8_SIZE);
|
|
307
|
-
buffer.writeUInt8(value);
|
|
308
|
-
if (append) {
|
|
309
|
-
this.append(buffer);
|
|
310
|
-
}
|
|
311
|
-
else {
|
|
312
|
-
this.prepend(buffer);
|
|
313
|
-
}
|
|
314
|
-
return this;
|
|
315
|
-
}
|
|
316
|
-
writeUInt16BE(value, append = true) {
|
|
317
|
-
const buffer = Buffer.allocUnsafe(INT16_SIZE);
|
|
318
|
-
buffer.writeUInt16BE(value);
|
|
319
|
-
if (append) {
|
|
320
|
-
this.append(buffer);
|
|
321
|
-
}
|
|
322
|
-
else {
|
|
323
|
-
this.prepend(buffer);
|
|
324
|
-
}
|
|
325
|
-
return this;
|
|
326
|
-
}
|
|
327
|
-
writeUInt16LE(value, append = true) {
|
|
328
|
-
const buffer = Buffer.allocUnsafe(INT16_SIZE);
|
|
329
|
-
buffer.writeUInt16LE(value);
|
|
330
|
-
if (append) {
|
|
331
|
-
this.append(buffer);
|
|
332
|
-
}
|
|
333
|
-
else {
|
|
334
|
-
this.prepend(buffer);
|
|
335
|
-
}
|
|
336
|
-
return this;
|
|
337
|
-
}
|
|
338
|
-
writeUInt32BE(value, append = true) {
|
|
339
|
-
const buffer = Buffer.allocUnsafe(INT32_SIZE);
|
|
340
|
-
buffer.writeUInt32BE(value);
|
|
341
|
-
if (append) {
|
|
342
|
-
this.append(buffer);
|
|
343
|
-
}
|
|
344
|
-
else {
|
|
345
|
-
this.prepend(buffer);
|
|
346
|
-
}
|
|
347
|
-
return this;
|
|
348
|
-
}
|
|
349
|
-
writeUInt32LE(value, append = true) {
|
|
350
|
-
const buffer = Buffer.allocUnsafe(INT32_SIZE);
|
|
351
|
-
buffer.writeUInt32LE(value);
|
|
352
|
-
if (append) {
|
|
353
|
-
this.append(buffer);
|
|
354
|
-
}
|
|
355
|
-
else {
|
|
356
|
-
this.prepend(buffer);
|
|
357
|
-
}
|
|
358
|
-
return this;
|
|
359
|
-
}
|
|
360
|
-
writeBigUInt64BE(value, append = true) {
|
|
361
|
-
const buffer = Buffer.allocUnsafe(INT64_SIZE);
|
|
362
|
-
buffer.writeBigUInt64BE(value);
|
|
363
|
-
if (append) {
|
|
364
|
-
this.append(buffer);
|
|
365
|
-
}
|
|
366
|
-
else {
|
|
367
|
-
this.prepend(buffer);
|
|
368
|
-
}
|
|
369
|
-
return this;
|
|
370
|
-
}
|
|
371
|
-
writeBigUInt64LE(value, append = true) {
|
|
372
|
-
const buffer = Buffer.allocUnsafe(INT64_SIZE);
|
|
373
|
-
buffer.writeBigUInt64LE(value);
|
|
374
|
-
if (append) {
|
|
375
|
-
this.append(buffer);
|
|
376
|
-
}
|
|
377
|
-
else {
|
|
378
|
-
this.prepend(buffer);
|
|
379
|
-
}
|
|
380
|
-
return this;
|
|
381
|
-
}
|
|
382
|
-
writeUnsignedVarInt(value, append = true) {
|
|
383
|
-
const buffer = Buffer.allocUnsafe(sizeOfUnsignedVarInt(value));
|
|
384
|
-
let position = 0;
|
|
385
|
-
while ((value & BITS_8PLUS_MASK) !== 0) {
|
|
386
|
-
buffer.writeUInt8((value & LEAST_SIGNIFICANT_7_BITS) | MOST_SIGNIFICANT_BIT_FLAG, position);
|
|
387
|
-
position++;
|
|
388
|
-
value >>>= 7;
|
|
389
|
-
}
|
|
390
|
-
buffer.writeUInt8(value & LEAST_SIGNIFICANT_7_BITS, position);
|
|
391
|
-
if (append) {
|
|
392
|
-
this.append(buffer);
|
|
393
|
-
}
|
|
394
|
-
else {
|
|
395
|
-
this.prepend(buffer);
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
writeUnsignedVarInt64(value, append = true) {
|
|
399
|
-
const buffer = Buffer.allocUnsafe(sizeOfUnsignedVarInt64(value));
|
|
400
|
-
let position = 0;
|
|
401
|
-
while ((value & BITS_8PLUS_MASK_64) !== 0n) {
|
|
402
|
-
buffer.writeUInt8(Number((value & LEAST_SIGNIFICANT_7_BITS_64) | MOST_SIGNIFICANT_BIT_FLAG_64), position);
|
|
403
|
-
position++;
|
|
404
|
-
value >>= 7n;
|
|
405
|
-
}
|
|
406
|
-
buffer.writeUInt8(Number(value & LEAST_SIGNIFICANT_7_BITS_64), position);
|
|
407
|
-
if (append) {
|
|
408
|
-
this.append(buffer);
|
|
409
|
-
}
|
|
410
|
-
else {
|
|
411
|
-
this.prepend(buffer);
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
writeInt8(value, append = true) {
|
|
415
|
-
const buffer = Buffer.allocUnsafe(INT8_SIZE);
|
|
416
|
-
buffer.writeInt8(value);
|
|
417
|
-
if (append) {
|
|
418
|
-
this.append(buffer);
|
|
419
|
-
}
|
|
420
|
-
else {
|
|
421
|
-
this.prepend(buffer);
|
|
422
|
-
}
|
|
423
|
-
return this;
|
|
424
|
-
}
|
|
425
|
-
writeInt16BE(value, append = true) {
|
|
426
|
-
const buffer = Buffer.allocUnsafe(INT16_SIZE);
|
|
427
|
-
buffer.writeInt16BE(value);
|
|
428
|
-
if (append) {
|
|
429
|
-
this.append(buffer);
|
|
430
|
-
}
|
|
431
|
-
else {
|
|
432
|
-
this.prepend(buffer);
|
|
433
|
-
}
|
|
434
|
-
return this;
|
|
435
|
-
}
|
|
436
|
-
writeInt16LE(value, append = true) {
|
|
437
|
-
const buffer = Buffer.allocUnsafe(INT16_SIZE);
|
|
438
|
-
buffer.writeInt16LE(value);
|
|
439
|
-
if (append) {
|
|
440
|
-
this.append(buffer);
|
|
441
|
-
}
|
|
442
|
-
else {
|
|
443
|
-
this.prepend(buffer);
|
|
444
|
-
}
|
|
445
|
-
return this;
|
|
446
|
-
}
|
|
447
|
-
writeInt32BE(value, append = true) {
|
|
448
|
-
const buffer = Buffer.allocUnsafe(INT32_SIZE);
|
|
449
|
-
buffer.writeInt32BE(value);
|
|
450
|
-
if (append) {
|
|
451
|
-
this.append(buffer);
|
|
452
|
-
}
|
|
453
|
-
else {
|
|
454
|
-
this.prepend(buffer);
|
|
455
|
-
}
|
|
456
|
-
return this;
|
|
457
|
-
}
|
|
458
|
-
writeInt32LE(value, append = true) {
|
|
459
|
-
const buffer = Buffer.allocUnsafe(INT32_SIZE);
|
|
460
|
-
buffer.writeInt32LE(value);
|
|
461
|
-
if (append) {
|
|
462
|
-
this.append(buffer);
|
|
463
|
-
}
|
|
464
|
-
else {
|
|
465
|
-
this.prepend(buffer);
|
|
466
|
-
}
|
|
467
|
-
return this;
|
|
468
|
-
}
|
|
469
|
-
writeBigInt64BE(value, append = true) {
|
|
470
|
-
const buffer = Buffer.allocUnsafe(INT64_SIZE);
|
|
471
|
-
buffer.writeBigInt64BE(value);
|
|
472
|
-
if (append) {
|
|
473
|
-
this.append(buffer);
|
|
474
|
-
}
|
|
475
|
-
else {
|
|
476
|
-
this.prepend(buffer);
|
|
477
|
-
}
|
|
478
|
-
return this;
|
|
479
|
-
}
|
|
480
|
-
writeBigInt64LE(value, append = true) {
|
|
481
|
-
const buffer = Buffer.allocUnsafe(INT64_SIZE);
|
|
482
|
-
buffer.writeBigInt64LE(value);
|
|
483
|
-
if (append) {
|
|
484
|
-
this.append(buffer);
|
|
485
|
-
}
|
|
486
|
-
else {
|
|
487
|
-
this.prepend(buffer);
|
|
488
|
-
}
|
|
489
|
-
return this;
|
|
490
|
-
}
|
|
491
|
-
writeVarInt(value, append = true) {
|
|
492
|
-
this.writeUnsignedVarInt(intZigZagEncode(value), append);
|
|
493
|
-
}
|
|
494
|
-
writeVarInt64(value, append = true) {
|
|
495
|
-
this.writeUnsignedVarInt64(int64ZigZagEncode(value), append);
|
|
496
|
-
}
|
|
497
|
-
writeFloatBE(value, append = true) {
|
|
498
|
-
const buffer = Buffer.allocUnsafe(INT32_SIZE);
|
|
499
|
-
buffer.writeFloatBE(value);
|
|
500
|
-
if (append) {
|
|
501
|
-
this.append(buffer);
|
|
502
|
-
}
|
|
503
|
-
else {
|
|
504
|
-
this.prepend(buffer);
|
|
505
|
-
}
|
|
506
|
-
return this;
|
|
507
|
-
}
|
|
508
|
-
writeFloatLE(value, append = true) {
|
|
509
|
-
const buffer = Buffer.allocUnsafe(INT32_SIZE);
|
|
510
|
-
buffer.writeFloatLE(value);
|
|
511
|
-
if (append) {
|
|
512
|
-
this.append(buffer);
|
|
513
|
-
}
|
|
514
|
-
else {
|
|
515
|
-
this.prepend(buffer);
|
|
516
|
-
}
|
|
517
|
-
return this;
|
|
518
|
-
}
|
|
519
|
-
writeDoubleBE(value, append = true) {
|
|
520
|
-
const buffer = Buffer.allocUnsafe(INT64_SIZE);
|
|
521
|
-
buffer.writeDoubleBE(value);
|
|
522
|
-
if (append) {
|
|
523
|
-
this.append(buffer);
|
|
524
|
-
}
|
|
525
|
-
else {
|
|
526
|
-
this.prepend(buffer);
|
|
527
|
-
}
|
|
528
|
-
return this;
|
|
529
|
-
}
|
|
530
|
-
writeDoubleLE(value, append = true) {
|
|
531
|
-
const buffer = Buffer.allocUnsafe(INT64_SIZE);
|
|
532
|
-
buffer.writeDoubleLE(value);
|
|
533
|
-
if (append) {
|
|
534
|
-
this.append(buffer);
|
|
535
|
-
}
|
|
536
|
-
else {
|
|
537
|
-
this.prepend(buffer);
|
|
538
|
-
}
|
|
539
|
-
return this;
|
|
540
|
-
}
|
|
541
|
-
#findInitialBuffer(start) {
|
|
542
|
-
let current = 0;
|
|
543
|
-
// Find the initial buffer
|
|
544
|
-
while (start > 0 && start >= this.buffers[current].length) {
|
|
545
|
-
start -= this.buffers[current].length;
|
|
546
|
-
current++;
|
|
547
|
-
}
|
|
548
|
-
return [start, current];
|
|
549
|
-
}
|
|
550
|
-
#readMultiple(index, length) {
|
|
551
|
-
if (index < 0 || index + length > this.length) {
|
|
552
|
-
throw new OutOfBoundsError('Out of bounds.');
|
|
553
|
-
}
|
|
554
|
-
let [startOffset, current] = this.#findInitialBuffer(index);
|
|
555
|
-
for (let i = 0; i < length; i++) {
|
|
556
|
-
this.#readBuffer[i] = this.buffers[current][startOffset++];
|
|
557
|
-
if (startOffset === this.buffers[current].length) {
|
|
558
|
-
current++;
|
|
559
|
-
startOffset = 0;
|
|
560
|
-
}
|
|
561
|
-
}
|
|
562
|
-
}
|
|
563
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export declare const MOST_SIGNIFICANT_BIT_FLAG = 128;
|
|
2
|
-
export declare const MOST_SIGNIFICANT_BIT_FLAG_64 = 128n;
|
|
3
|
-
export declare const LEAST_SIGNIFICANT_7_BITS = 127;
|
|
4
|
-
export declare const LEAST_SIGNIFICANT_7_BITS_64 = 127n;
|
|
5
|
-
export declare const BITS_8PLUS_MASK: number;
|
|
6
|
-
export declare const BITS_8PLUS_MASK_64: bigint;
|
|
7
|
-
export declare function intZigZagEncode(value: number): number;
|
|
8
|
-
export declare function intZigZagDecode(value: number): number;
|
|
9
|
-
export declare function int64ZigZagEncode(value: bigint): bigint;
|
|
10
|
-
export declare function int64ZigZagDecode(value: bigint): bigint;
|
|
11
|
-
export declare function sizeOfUnsignedVarInt(value: number): number;
|
|
12
|
-
export declare function sizeOfUnsignedVarInt64(value: bigint): number;
|
package/dist/protocol/varint.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
export const MOST_SIGNIFICANT_BIT_FLAG = 0x80; // 128 or 1000 0000
|
|
2
|
-
export const MOST_SIGNIFICANT_BIT_FLAG_64 = 0x80n; // 128 or 1000 0000
|
|
3
|
-
export const LEAST_SIGNIFICANT_7_BITS = 0x7f; // 127 or 0111 1111
|
|
4
|
-
export const LEAST_SIGNIFICANT_7_BITS_64 = 0x7fn; // 127 or 0111 1111
|
|
5
|
-
// This is used in varint to check if there are any other bits set after the first 7 bits,
|
|
6
|
-
// which means it still needs more than a byte to represent the number in varint encoding
|
|
7
|
-
export const BITS_8PLUS_MASK = 0xffffffff - 0x7f;
|
|
8
|
-
export const BITS_8PLUS_MASK_64 = 0xffffffffn - 0x7fn;
|
|
9
|
-
export function intZigZagEncode(value) {
|
|
10
|
-
return (value << 1) ^ (value >> 31);
|
|
11
|
-
}
|
|
12
|
-
export function intZigZagDecode(value) {
|
|
13
|
-
return (value >> 1) ^ -(value & 1);
|
|
14
|
-
}
|
|
15
|
-
export function int64ZigZagEncode(value) {
|
|
16
|
-
return (value << 1n) ^ (value >> 31n);
|
|
17
|
-
}
|
|
18
|
-
export function int64ZigZagDecode(value) {
|
|
19
|
-
return (value >> 1n) ^ -(value & 1n);
|
|
20
|
-
}
|
|
21
|
-
export function sizeOfUnsignedVarInt(value) {
|
|
22
|
-
let bytes = 1;
|
|
23
|
-
while ((value & BITS_8PLUS_MASK) !== 0) {
|
|
24
|
-
bytes++;
|
|
25
|
-
value >>>= 7;
|
|
26
|
-
}
|
|
27
|
-
return bytes;
|
|
28
|
-
}
|
|
29
|
-
export function sizeOfUnsignedVarInt64(value) {
|
|
30
|
-
let bytes = 1;
|
|
31
|
-
while ((value & BITS_8PLUS_MASK_64) !== 0n) {
|
|
32
|
-
bytes++;
|
|
33
|
-
value >>= 7n;
|
|
34
|
-
}
|
|
35
|
-
return bytes;
|
|
36
|
-
}
|