@jsonjoy.com/json-pack 1.7.0 → 1.8.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/lib/avro/AvroDecoder.d.ts +29 -0
- package/lib/avro/AvroDecoder.js +148 -0
- package/lib/avro/AvroDecoder.js.map +1 -0
- package/lib/avro/AvroSchemaDecoder.d.ts +29 -0
- package/lib/avro/AvroSchemaDecoder.js +190 -0
- package/lib/avro/AvroSchemaDecoder.js.map +1 -0
- package/lib/avro/index.d.ts +2 -0
- package/lib/avro/index.js +2 -0
- package/lib/avro/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Reader } from '@jsonjoy.com/util/lib/buffers/Reader';
|
|
2
|
+
import type { BinaryJsonDecoder } from '../types';
|
|
3
|
+
export declare class AvroDecoder implements BinaryJsonDecoder {
|
|
4
|
+
reader: Reader;
|
|
5
|
+
read(uint8: Uint8Array): unknown;
|
|
6
|
+
decode(uint8: Uint8Array): unknown;
|
|
7
|
+
readAny(): unknown;
|
|
8
|
+
readNull(): null;
|
|
9
|
+
readBoolean(): boolean;
|
|
10
|
+
readInt(): number;
|
|
11
|
+
readLong(): number | bigint;
|
|
12
|
+
readFloat(): number;
|
|
13
|
+
readDouble(): number;
|
|
14
|
+
readBytes(): Uint8Array;
|
|
15
|
+
readString(): string;
|
|
16
|
+
readArray<T>(itemReader: () => T): T[];
|
|
17
|
+
readMap<T>(valueReader: () => T): Record<string, T>;
|
|
18
|
+
readUnion<T>(schemaReaders: Array<() => T>): {
|
|
19
|
+
index: number;
|
|
20
|
+
value: T;
|
|
21
|
+
};
|
|
22
|
+
readEnum(): number;
|
|
23
|
+
readFixed(size: number): Uint8Array;
|
|
24
|
+
readRecord<T>(fieldReaders: Array<() => any>): T;
|
|
25
|
+
private readVarIntUnsigned;
|
|
26
|
+
private readVarLong;
|
|
27
|
+
private decodeZigZag32;
|
|
28
|
+
private decodeZigZag64;
|
|
29
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AvroDecoder = void 0;
|
|
4
|
+
const Reader_1 = require("@jsonjoy.com/util/lib/buffers/Reader");
|
|
5
|
+
class AvroDecoder {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.reader = new Reader_1.Reader();
|
|
8
|
+
}
|
|
9
|
+
read(uint8) {
|
|
10
|
+
this.reader.reset(uint8);
|
|
11
|
+
return this.readAny();
|
|
12
|
+
}
|
|
13
|
+
decode(uint8) {
|
|
14
|
+
this.reader.reset(uint8);
|
|
15
|
+
return this.readAny();
|
|
16
|
+
}
|
|
17
|
+
readAny() {
|
|
18
|
+
throw new Error('readAny() requires schema information. Use readNull, readBoolean, etc. directly.');
|
|
19
|
+
}
|
|
20
|
+
readNull() {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
readBoolean() {
|
|
24
|
+
return this.reader.u8() === 1;
|
|
25
|
+
}
|
|
26
|
+
readInt() {
|
|
27
|
+
const zigzag = this.readVarIntUnsigned();
|
|
28
|
+
return this.decodeZigZag32(zigzag);
|
|
29
|
+
}
|
|
30
|
+
readLong() {
|
|
31
|
+
const zigzag = this.readVarLong();
|
|
32
|
+
const decoded = this.decodeZigZag64(zigzag);
|
|
33
|
+
if (decoded >= BigInt(Number.MIN_SAFE_INTEGER) && decoded <= BigInt(Number.MAX_SAFE_INTEGER)) {
|
|
34
|
+
return Number(decoded);
|
|
35
|
+
}
|
|
36
|
+
return decoded;
|
|
37
|
+
}
|
|
38
|
+
readFloat() {
|
|
39
|
+
const reader = this.reader;
|
|
40
|
+
const value = reader.view.getFloat32(reader.x, true);
|
|
41
|
+
reader.x += 4;
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
readDouble() {
|
|
45
|
+
const reader = this.reader;
|
|
46
|
+
const value = reader.view.getFloat64(reader.x, true);
|
|
47
|
+
reader.x += 8;
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
50
|
+
readBytes() {
|
|
51
|
+
const length = this.readVarIntUnsigned();
|
|
52
|
+
return this.reader.buf(length);
|
|
53
|
+
}
|
|
54
|
+
readString() {
|
|
55
|
+
const length = this.readVarIntUnsigned();
|
|
56
|
+
const bytes = this.reader.buf(length);
|
|
57
|
+
return new TextDecoder().decode(bytes);
|
|
58
|
+
}
|
|
59
|
+
readArray(itemReader) {
|
|
60
|
+
const result = [];
|
|
61
|
+
while (true) {
|
|
62
|
+
const count = this.readVarIntUnsigned();
|
|
63
|
+
if (count === 0)
|
|
64
|
+
break;
|
|
65
|
+
for (let i = 0; i < count; i++) {
|
|
66
|
+
result.push(itemReader());
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
readMap(valueReader) {
|
|
72
|
+
const result = {};
|
|
73
|
+
while (true) {
|
|
74
|
+
const count = this.readVarIntUnsigned();
|
|
75
|
+
if (count === 0)
|
|
76
|
+
break;
|
|
77
|
+
for (let i = 0; i < count; i++) {
|
|
78
|
+
const key = this.readString();
|
|
79
|
+
if (key === '__proto__')
|
|
80
|
+
throw new Error('INVALID_KEY');
|
|
81
|
+
result[key] = valueReader();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
readUnion(schemaReaders) {
|
|
87
|
+
const index = this.decodeZigZag32(this.readVarIntUnsigned());
|
|
88
|
+
if (index < 0 || index >= schemaReaders.length) {
|
|
89
|
+
throw new Error(`Invalid union index: ${index}`);
|
|
90
|
+
}
|
|
91
|
+
const value = schemaReaders[index]();
|
|
92
|
+
return { index, value };
|
|
93
|
+
}
|
|
94
|
+
readEnum() {
|
|
95
|
+
return this.decodeZigZag32(this.readVarIntUnsigned());
|
|
96
|
+
}
|
|
97
|
+
readFixed(size) {
|
|
98
|
+
return this.reader.buf(size);
|
|
99
|
+
}
|
|
100
|
+
readRecord(fieldReaders) {
|
|
101
|
+
const result = {};
|
|
102
|
+
for (let i = 0; i < fieldReaders.length; i++) {
|
|
103
|
+
const fieldValue = fieldReaders[i]();
|
|
104
|
+
result[`field${i}`] = fieldValue;
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
readVarIntUnsigned() {
|
|
109
|
+
const reader = this.reader;
|
|
110
|
+
let result = 0;
|
|
111
|
+
let shift = 0;
|
|
112
|
+
while (true) {
|
|
113
|
+
const byte = reader.u8();
|
|
114
|
+
result |= (byte & 0x7f) << shift;
|
|
115
|
+
if ((byte & 0x80) === 0)
|
|
116
|
+
break;
|
|
117
|
+
shift += 7;
|
|
118
|
+
if (shift >= 32) {
|
|
119
|
+
throw new Error('Variable-length integer is too long');
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return result >>> 0;
|
|
123
|
+
}
|
|
124
|
+
readVarLong() {
|
|
125
|
+
const reader = this.reader;
|
|
126
|
+
let result = BigInt(0);
|
|
127
|
+
let shift = BigInt(0);
|
|
128
|
+
while (true) {
|
|
129
|
+
const byte = BigInt(reader.u8());
|
|
130
|
+
result |= (byte & BigInt(0x7f)) << shift;
|
|
131
|
+
if ((byte & BigInt(0x80)) === BigInt(0))
|
|
132
|
+
break;
|
|
133
|
+
shift += BigInt(7);
|
|
134
|
+
if (shift >= BigInt(64)) {
|
|
135
|
+
throw new Error('Variable-length long is too long');
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return result;
|
|
139
|
+
}
|
|
140
|
+
decodeZigZag32(value) {
|
|
141
|
+
return (value >>> 1) ^ -(value & 1);
|
|
142
|
+
}
|
|
143
|
+
decodeZigZag64(value) {
|
|
144
|
+
return (value >> BigInt(1)) ^ -(value & BigInt(1));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
exports.AvroDecoder = AvroDecoder;
|
|
148
|
+
//# sourceMappingURL=AvroDecoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvroDecoder.js","sourceRoot":"","sources":["../../src/avro/AvroDecoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Reader } from '@jsonjoy.com/util/lib/buffers/Reader';
|
|
2
|
+
import type { AvroSchema } from './types';
|
|
3
|
+
export declare class AvroSchemaDecoder {
|
|
4
|
+
readonly reader: Reader;
|
|
5
|
+
private decoder;
|
|
6
|
+
private validator;
|
|
7
|
+
private namedSchemas;
|
|
8
|
+
constructor(reader?: Reader);
|
|
9
|
+
decode(data: Uint8Array, schema: AvroSchema): unknown;
|
|
10
|
+
private readValue;
|
|
11
|
+
private readRecord;
|
|
12
|
+
private readEnum;
|
|
13
|
+
private readArray;
|
|
14
|
+
private readMap;
|
|
15
|
+
private readUnion;
|
|
16
|
+
private readFixed;
|
|
17
|
+
readNull(schema: AvroSchema): null;
|
|
18
|
+
readBoolean(schema: AvroSchema): boolean;
|
|
19
|
+
readInt(schema: AvroSchema): number;
|
|
20
|
+
readLong(schema: AvroSchema): number | bigint;
|
|
21
|
+
readFloat(schema: AvroSchema): number;
|
|
22
|
+
readDouble(schema: AvroSchema): number;
|
|
23
|
+
readBytes(schema: AvroSchema): Uint8Array;
|
|
24
|
+
readString(schema: AvroSchema): string;
|
|
25
|
+
private validateSchemaType;
|
|
26
|
+
private resolveSchema;
|
|
27
|
+
private collectNamedSchemas;
|
|
28
|
+
private getFullName;
|
|
29
|
+
}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AvroSchemaDecoder = void 0;
|
|
4
|
+
const Reader_1 = require("@jsonjoy.com/util/lib/buffers/Reader");
|
|
5
|
+
const AvroDecoder_1 = require("./AvroDecoder");
|
|
6
|
+
const AvroSchemaValidator_1 = require("./AvroSchemaValidator");
|
|
7
|
+
class AvroSchemaDecoder {
|
|
8
|
+
constructor(reader = new Reader_1.Reader()) {
|
|
9
|
+
this.reader = reader;
|
|
10
|
+
this.namedSchemas = new Map();
|
|
11
|
+
this.decoder = new AvroDecoder_1.AvroDecoder();
|
|
12
|
+
this.decoder.reader = reader;
|
|
13
|
+
this.validator = new AvroSchemaValidator_1.AvroSchemaValidator();
|
|
14
|
+
}
|
|
15
|
+
decode(data, schema) {
|
|
16
|
+
this.reader.reset(data);
|
|
17
|
+
this.namedSchemas.clear();
|
|
18
|
+
if (!this.validator.validateSchema(schema)) {
|
|
19
|
+
throw new Error('Invalid Avro schema');
|
|
20
|
+
}
|
|
21
|
+
this.collectNamedSchemas(schema);
|
|
22
|
+
return this.readValue(schema);
|
|
23
|
+
}
|
|
24
|
+
readValue(schema) {
|
|
25
|
+
const resolvedSchema = this.resolveSchema(schema);
|
|
26
|
+
if (typeof resolvedSchema === 'string') {
|
|
27
|
+
switch (resolvedSchema) {
|
|
28
|
+
case 'null':
|
|
29
|
+
return this.decoder.readNull();
|
|
30
|
+
case 'boolean':
|
|
31
|
+
return this.decoder.readBoolean();
|
|
32
|
+
case 'int':
|
|
33
|
+
return this.decoder.readInt();
|
|
34
|
+
case 'long':
|
|
35
|
+
return this.decoder.readLong();
|
|
36
|
+
case 'float':
|
|
37
|
+
return this.decoder.readFloat();
|
|
38
|
+
case 'double':
|
|
39
|
+
return this.decoder.readDouble();
|
|
40
|
+
case 'bytes':
|
|
41
|
+
return this.decoder.readBytes();
|
|
42
|
+
case 'string':
|
|
43
|
+
return this.decoder.readString();
|
|
44
|
+
default:
|
|
45
|
+
throw new Error(`Unknown primitive type: ${resolvedSchema}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (Array.isArray(resolvedSchema)) {
|
|
49
|
+
return this.readUnion(resolvedSchema);
|
|
50
|
+
}
|
|
51
|
+
switch (resolvedSchema.type) {
|
|
52
|
+
case 'record':
|
|
53
|
+
return this.readRecord(resolvedSchema);
|
|
54
|
+
case 'enum':
|
|
55
|
+
return this.readEnum(resolvedSchema);
|
|
56
|
+
case 'array':
|
|
57
|
+
return this.readArray(resolvedSchema);
|
|
58
|
+
case 'map':
|
|
59
|
+
return this.readMap(resolvedSchema);
|
|
60
|
+
case 'fixed':
|
|
61
|
+
return this.readFixed(resolvedSchema);
|
|
62
|
+
default:
|
|
63
|
+
throw new Error(`Unknown schema type: ${resolvedSchema.type}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
readRecord(schema) {
|
|
67
|
+
const result = {};
|
|
68
|
+
for (let i = 0; i < schema.fields.length; i++) {
|
|
69
|
+
const field = schema.fields[i];
|
|
70
|
+
try {
|
|
71
|
+
result[field.name] = this.readValue(field.type);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
throw new Error(`Error reading field '${field.name}': ${error.message}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return result;
|
|
78
|
+
}
|
|
79
|
+
readEnum(schema) {
|
|
80
|
+
const index = this.decoder.readEnum();
|
|
81
|
+
if (index < 0 || index >= schema.symbols.length) {
|
|
82
|
+
throw new Error(`Invalid enum index ${index} for enum with ${schema.symbols.length} symbols`);
|
|
83
|
+
}
|
|
84
|
+
return schema.symbols[index];
|
|
85
|
+
}
|
|
86
|
+
readArray(schema) {
|
|
87
|
+
return this.decoder.readArray(() => this.readValue(schema.items));
|
|
88
|
+
}
|
|
89
|
+
readMap(schema) {
|
|
90
|
+
return this.decoder.readMap(() => this.readValue(schema.values));
|
|
91
|
+
}
|
|
92
|
+
readUnion(schema) {
|
|
93
|
+
const schemaReaders = schema.map((subSchema) => () => this.readValue(subSchema));
|
|
94
|
+
const result = this.decoder.readUnion(schemaReaders);
|
|
95
|
+
return result.value;
|
|
96
|
+
}
|
|
97
|
+
readFixed(schema) {
|
|
98
|
+
return this.decoder.readFixed(schema.size);
|
|
99
|
+
}
|
|
100
|
+
readNull(schema) {
|
|
101
|
+
this.validateSchemaType(schema, 'null');
|
|
102
|
+
return this.decoder.readNull();
|
|
103
|
+
}
|
|
104
|
+
readBoolean(schema) {
|
|
105
|
+
this.validateSchemaType(schema, 'boolean');
|
|
106
|
+
return this.decoder.readBoolean();
|
|
107
|
+
}
|
|
108
|
+
readInt(schema) {
|
|
109
|
+
this.validateSchemaType(schema, 'int');
|
|
110
|
+
const value = this.decoder.readInt();
|
|
111
|
+
if (!Number.isInteger(value) || value < -2147483648 || value > 2147483647) {
|
|
112
|
+
throw new Error('Decoded value is not a valid 32-bit integer');
|
|
113
|
+
}
|
|
114
|
+
return value;
|
|
115
|
+
}
|
|
116
|
+
readLong(schema) {
|
|
117
|
+
this.validateSchemaType(schema, 'long');
|
|
118
|
+
return this.decoder.readLong();
|
|
119
|
+
}
|
|
120
|
+
readFloat(schema) {
|
|
121
|
+
this.validateSchemaType(schema, 'float');
|
|
122
|
+
return this.decoder.readFloat();
|
|
123
|
+
}
|
|
124
|
+
readDouble(schema) {
|
|
125
|
+
this.validateSchemaType(schema, 'double');
|
|
126
|
+
return this.decoder.readDouble();
|
|
127
|
+
}
|
|
128
|
+
readBytes(schema) {
|
|
129
|
+
this.validateSchemaType(schema, 'bytes');
|
|
130
|
+
return this.decoder.readBytes();
|
|
131
|
+
}
|
|
132
|
+
readString(schema) {
|
|
133
|
+
this.validateSchemaType(schema, 'string');
|
|
134
|
+
return this.decoder.readString();
|
|
135
|
+
}
|
|
136
|
+
validateSchemaType(schema, expectedType) {
|
|
137
|
+
const resolvedSchema = this.resolveSchema(schema);
|
|
138
|
+
const actualType = typeof resolvedSchema === 'string'
|
|
139
|
+
? resolvedSchema
|
|
140
|
+
: Array.isArray(resolvedSchema)
|
|
141
|
+
? 'union'
|
|
142
|
+
: resolvedSchema.type;
|
|
143
|
+
if (actualType !== expectedType) {
|
|
144
|
+
throw new Error(`Expected schema type ${expectedType}, got ${actualType}`);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
resolveSchema(schema) {
|
|
148
|
+
if (typeof schema === 'string') {
|
|
149
|
+
const namedSchema = this.namedSchemas.get(schema);
|
|
150
|
+
return namedSchema || schema;
|
|
151
|
+
}
|
|
152
|
+
return schema;
|
|
153
|
+
}
|
|
154
|
+
collectNamedSchemas(schema) {
|
|
155
|
+
if (typeof schema === 'string' || Array.isArray(schema)) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
if (typeof schema === 'object' && schema !== null) {
|
|
159
|
+
switch (schema.type) {
|
|
160
|
+
case 'record':
|
|
161
|
+
const recordSchema = schema;
|
|
162
|
+
const recordFullName = this.getFullName(recordSchema.name, recordSchema.namespace);
|
|
163
|
+
this.namedSchemas.set(recordFullName, recordSchema);
|
|
164
|
+
recordSchema.fields.forEach((field) => this.collectNamedSchemas(field.type));
|
|
165
|
+
break;
|
|
166
|
+
case 'enum':
|
|
167
|
+
const enumSchema = schema;
|
|
168
|
+
const enumFullName = this.getFullName(enumSchema.name, enumSchema.namespace);
|
|
169
|
+
this.namedSchemas.set(enumFullName, enumSchema);
|
|
170
|
+
break;
|
|
171
|
+
case 'fixed':
|
|
172
|
+
const fixedSchema = schema;
|
|
173
|
+
const fixedFullName = this.getFullName(fixedSchema.name, fixedSchema.namespace);
|
|
174
|
+
this.namedSchemas.set(fixedFullName, fixedSchema);
|
|
175
|
+
break;
|
|
176
|
+
case 'array':
|
|
177
|
+
this.collectNamedSchemas(schema.items);
|
|
178
|
+
break;
|
|
179
|
+
case 'map':
|
|
180
|
+
this.collectNamedSchemas(schema.values);
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
getFullName(name, namespace) {
|
|
186
|
+
return namespace ? `${namespace}.${name}` : name;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
exports.AvroSchemaDecoder = AvroSchemaDecoder;
|
|
190
|
+
//# sourceMappingURL=AvroSchemaDecoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvroSchemaDecoder.js","sourceRoot":"","sources":["../../src/avro/AvroSchemaDecoder.ts"],"names":[],"mappings":"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"}
|
package/lib/avro/index.d.ts
CHANGED
package/lib/avro/index.js
CHANGED
|
@@ -5,4 +5,6 @@ tslib_1.__exportStar(require("./types"), exports);
|
|
|
5
5
|
tslib_1.__exportStar(require("./AvroSchemaValidator"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./AvroEncoder"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./AvroSchemaEncoder"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./AvroDecoder"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./AvroSchemaDecoder"), exports);
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
package/lib/avro/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/avro/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,gEAAsC;AACtC,wDAA8B;AAC9B,8DAAoC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/avro/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,gEAAsC;AACtC,wDAA8B;AAC9B,8DAAoC;AACpC,wDAA8B;AAC9B,8DAAoC"}
|