gremlin 4.0.0-beta.2 → 4.0.0-beta.3
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/build/cjs/driver/auth.cjs +11 -4
- package/build/cjs/driver/auth.d.cts +1 -1
- package/build/cjs/driver/client.cjs +82 -38
- package/build/cjs/driver/client.d.cts +30 -27
- package/build/cjs/driver/connection.cjs +173 -60
- package/build/cjs/driver/connection.d.cts +69 -26
- package/build/cjs/driver/dispatcher.browser.cjs +57 -0
- package/build/cjs/driver/dispatcher.browser.d.cts +35 -0
- package/build/cjs/driver/dispatcher.cjs +101 -0
- package/build/cjs/driver/dispatcher.d.cts +48 -0
- package/build/cjs/driver/driver-remote-connection.cjs +27 -15
- package/build/cjs/driver/driver-remote-connection.d.cts +10 -4
- package/build/cjs/driver/http-request.cjs +64 -0
- package/build/cjs/driver/http-request.d.cts +28 -0
- package/build/cjs/driver/logger.cjs +45 -0
- package/build/cjs/driver/logger.d.cts +29 -0
- package/build/cjs/driver/remote-connection.cjs +5 -8
- package/build/cjs/driver/remote-connection.d.cts +6 -21
- package/build/cjs/driver/request-message.cjs +110 -21
- package/build/cjs/driver/request-message.d.cts +38 -8
- package/build/cjs/driver/response-error.cjs +3 -3
- package/build/cjs/driver/response-error.d.cts +2 -2
- package/build/cjs/index.cjs +21 -0
- package/build/cjs/index.d.cts +47 -0
- package/build/cjs/language/grammar/GremlinLexer.cjs +1669 -1615
- package/build/cjs/language/grammar/GremlinLexer.d.cts +325 -316
- package/build/cjs/language/grammar/GremlinListener.cjs +322 -8
- package/build/cjs/language/grammar/GremlinListener.d.cts +351 -10
- package/build/cjs/language/grammar/GremlinParser.cjs +8700 -5798
- package/build/cjs/language/grammar/GremlinParser.d.cts +998 -619
- package/build/cjs/language/translator/AnonymizedTranslateVisitor.cjs +9 -0
- package/build/cjs/language/translator/AnonymizedTranslateVisitor.d.cts +3 -0
- package/build/cjs/language/translator/DotNetTranslateVisitor.cjs +113 -4
- package/build/cjs/language/translator/DotNetTranslateVisitor.d.cts +13 -2
- package/build/cjs/language/translator/GoTranslateVisitor.cjs +82 -0
- package/build/cjs/language/translator/GoTranslateVisitor.d.cts +9 -0
- package/build/cjs/language/translator/GroovyTranslateVisitor.cjs +23 -0
- package/build/cjs/language/translator/GroovyTranslateVisitor.d.cts +3 -0
- package/build/cjs/language/translator/JavaTranslateVisitor.cjs +23 -0
- package/build/cjs/language/translator/JavaTranslateVisitor.d.cts +3 -0
- package/build/cjs/language/translator/JavascriptTranslateVisitor.cjs +11 -0
- package/build/cjs/language/translator/JavascriptTranslateVisitor.d.cts +3 -0
- package/build/cjs/language/translator/PythonTranslateVisitor.cjs +39 -3
- package/build/cjs/language/translator/PythonTranslateVisitor.d.cts +3 -0
- package/build/cjs/language/translator/TranslateVisitor.cjs +9 -0
- package/build/cjs/language/translator/TranslateVisitor.d.cts +3 -0
- package/build/cjs/process/anonymous-traversal.cjs +5 -1
- package/build/cjs/process/graph-traversal.cjs +139 -8
- package/build/cjs/process/graph-traversal.d.cts +84 -3
- package/build/cjs/process/gremlin-lang.cjs +119 -7
- package/build/cjs/process/gremlin-lang.d.cts +6 -1
- package/build/cjs/process/gvalue.cjs +42 -0
- package/build/cjs/process/gvalue.d.cts +7 -0
- package/build/cjs/process/transaction.cjs +125 -23
- package/build/cjs/process/transaction.d.cts +50 -14
- package/build/cjs/process/traversal.cjs +105 -48
- package/build/cjs/process/traversal.d.cts +36 -10
- package/build/cjs/structure/PDTRegistry.cjs +116 -0
- package/build/cjs/structure/PDTRegistry.d.cts +34 -0
- package/build/cjs/structure/graph.cjs +351 -8
- package/build/cjs/structure/graph.d.cts +122 -3
- package/build/cjs/structure/io/binary/GraphBinary.cjs +68 -39
- package/build/cjs/structure/io/binary/GraphBinary.d.cts +15 -1
- package/build/cjs/structure/io/binary/internals/AnySerializer.cjs +34 -17
- package/build/cjs/structure/io/binary/internals/AnySerializer.d.cts +12 -2
- package/build/cjs/structure/io/binary/internals/ArraySerializer.cjs +41 -72
- package/build/cjs/structure/io/binary/internals/ArraySerializer.d.cts +14 -7
- package/build/cjs/structure/io/binary/internals/BigIntegerSerializer.cjs +34 -54
- package/build/cjs/structure/io/binary/internals/BigIntegerSerializer.d.cts +12 -7
- package/build/cjs/structure/io/binary/internals/BinarySerializer.cjs +31 -51
- package/build/cjs/structure/io/binary/internals/BinarySerializer.d.cts +12 -4
- package/build/cjs/structure/io/binary/internals/BooleanSerializer.cjs +28 -42
- package/build/cjs/structure/io/binary/internals/BooleanSerializer.d.cts +12 -4
- package/build/cjs/structure/io/binary/internals/ByteSerializer.cjs +24 -38
- package/build/cjs/structure/io/binary/internals/ByteSerializer.d.cts +12 -4
- package/build/cjs/structure/io/binary/internals/CompositePDTSerializer.cjs +81 -0
- package/build/cjs/structure/io/binary/internals/CompositePDTSerializer.d.cts +10 -0
- package/build/cjs/structure/io/binary/internals/DateTimeSerializer.cjs +52 -69
- package/build/cjs/structure/io/binary/internals/DateTimeSerializer.d.cts +12 -7
- package/build/cjs/structure/io/binary/internals/DoubleSerializer.cjs +24 -38
- package/build/cjs/structure/io/binary/internals/DoubleSerializer.d.cts +12 -4
- package/build/cjs/structure/io/binary/internals/EdgeSerializer.cjs +69 -124
- package/build/cjs/structure/io/binary/internals/EdgeSerializer.d.cts +14 -12
- package/build/cjs/structure/io/binary/internals/EnumSerializer.cjs +47 -59
- package/build/cjs/structure/io/binary/internals/EnumSerializer.d.cts +19 -4
- package/build/cjs/structure/io/binary/internals/FloatSerializer.cjs +24 -38
- package/build/cjs/structure/io/binary/internals/FloatSerializer.d.cts +12 -4
- package/build/cjs/structure/io/binary/internals/GraphBinaryReader.cjs +111 -37
- package/build/cjs/structure/io/binary/internals/GraphBinaryReader.d.cts +26 -2
- package/build/cjs/structure/io/binary/internals/GraphBinaryWriter.cjs +6 -6
- package/build/cjs/structure/io/binary/internals/GraphSerializer.cjs +184 -0
- package/build/cjs/structure/io/binary/internals/GraphSerializer.d.cts +22 -0
- package/build/cjs/structure/io/binary/internals/IntSerializer.cjs +33 -38
- package/build/cjs/structure/io/binary/internals/IntSerializer.d.cts +19 -4
- package/build/cjs/structure/io/binary/internals/LongSerializer.cjs +29 -42
- package/build/cjs/structure/io/binary/internals/LongSerializer.d.cts +13 -4
- package/build/cjs/structure/io/binary/internals/MapSerializer.cjs +36 -70
- package/build/cjs/structure/io/binary/internals/MapSerializer.d.cts +14 -7
- package/build/cjs/structure/io/binary/internals/MarkerSerializer.cjs +30 -33
- package/build/cjs/structure/io/binary/internals/MarkerSerializer.d.cts +13 -4
- package/build/cjs/structure/io/binary/internals/NumberSerializationStrategy.cjs +28 -2
- package/build/cjs/structure/io/binary/internals/NumberSerializationStrategy.d.cts +0 -3
- package/build/cjs/structure/io/binary/internals/PathSerializer.cjs +30 -55
- package/build/cjs/structure/io/binary/internals/PathSerializer.d.cts +14 -7
- package/build/cjs/structure/io/binary/internals/PrimitivePDTSerializer.cjs +80 -0
- package/build/cjs/structure/io/binary/internals/PrimitivePDTSerializer.d.cts +10 -0
- package/build/cjs/structure/io/binary/internals/PropertySerializer.cjs +32 -69
- package/build/cjs/structure/io/binary/internals/PropertySerializer.d.cts +14 -7
- package/build/cjs/structure/io/binary/internals/SetSerializer.cjs +39 -73
- package/build/cjs/structure/io/binary/internals/SetSerializer.d.cts +14 -7
- package/build/cjs/structure/io/binary/internals/ShortSerializer.cjs +24 -38
- package/build/cjs/structure/io/binary/internals/ShortSerializer.d.cts +12 -4
- package/build/cjs/structure/io/binary/internals/StreamReader.cjs +184 -0
- package/build/cjs/structure/io/binary/internals/StreamReader.d.cts +69 -0
- package/build/cjs/structure/io/binary/internals/StringSerializer.cjs +34 -53
- package/build/cjs/structure/io/binary/internals/StringSerializer.d.cts +14 -4
- package/build/cjs/structure/io/binary/internals/StubSerializer.cjs +2 -1
- package/build/cjs/structure/io/binary/internals/StubSerializer.d.cts +1 -1
- package/build/cjs/structure/io/binary/internals/TreeSerializer.cjs +139 -0
- package/build/cjs/structure/io/binary/internals/TreeSerializer.d.cts +54 -0
- package/build/cjs/structure/io/binary/internals/UnspecifiedNullSerializer.cjs +8 -31
- package/build/cjs/structure/io/binary/internals/UnspecifiedNullSerializer.d.cts +6 -4
- package/build/cjs/structure/io/binary/internals/UuidSerializer.cjs +33 -49
- package/build/cjs/structure/io/binary/internals/UuidSerializer.d.cts +12 -7
- package/build/cjs/structure/io/binary/internals/VertexPropertySerializer.cjs +37 -95
- package/build/cjs/structure/io/binary/internals/VertexPropertySerializer.d.cts +14 -7
- package/build/cjs/structure/io/binary/internals/VertexSerializer.cjs +41 -68
- package/build/cjs/structure/io/binary/internals/VertexSerializer.d.cts +14 -9
- package/build/cjs/utils.cjs +157 -40
- package/build/cjs/utils.d.cts +62 -4
- package/build/esm/driver/auth.d.ts +1 -1
- package/build/esm/driver/auth.js +11 -4
- package/build/esm/driver/client.d.ts +30 -27
- package/build/esm/driver/client.js +82 -38
- package/build/esm/driver/connection.d.ts +69 -26
- package/build/esm/driver/connection.js +172 -60
- package/build/esm/driver/dispatcher.browser.d.ts +35 -0
- package/build/esm/driver/dispatcher.browser.js +53 -0
- package/build/esm/driver/dispatcher.d.ts +48 -0
- package/build/esm/driver/dispatcher.js +94 -0
- package/build/esm/driver/driver-remote-connection.d.ts +10 -4
- package/build/esm/driver/driver-remote-connection.js +27 -15
- package/build/esm/driver/http-request.d.ts +28 -0
- package/build/esm/driver/http-request.js +60 -0
- package/build/esm/driver/logger.d.ts +29 -0
- package/build/esm/driver/logger.js +42 -0
- package/build/esm/driver/remote-connection.d.ts +6 -21
- package/build/esm/driver/remote-connection.js +5 -8
- package/build/esm/driver/request-message.d.ts +38 -8
- package/build/esm/driver/request-message.js +107 -21
- package/build/esm/driver/response-error.d.ts +2 -2
- package/build/esm/driver/response-error.js +3 -3
- package/build/esm/index.d.ts +47 -0
- package/build/esm/index.js +21 -0
- package/build/esm/language/grammar/GremlinLexer.d.ts +325 -316
- package/build/esm/language/grammar/GremlinLexer.js +1669 -1615
- package/build/esm/language/grammar/GremlinListener.d.ts +351 -10
- package/build/esm/language/grammar/GremlinListener.js +322 -8
- package/build/esm/language/grammar/GremlinParser.d.ts +998 -619
- package/build/esm/language/grammar/GremlinParser.js +8646 -5778
- package/build/esm/language/translator/AnonymizedTranslateVisitor.d.ts +3 -0
- package/build/esm/language/translator/AnonymizedTranslateVisitor.js +9 -0
- package/build/esm/language/translator/DotNetTranslateVisitor.d.ts +13 -2
- package/build/esm/language/translator/DotNetTranslateVisitor.js +113 -4
- package/build/esm/language/translator/GoTranslateVisitor.d.ts +9 -0
- package/build/esm/language/translator/GoTranslateVisitor.js +82 -0
- package/build/esm/language/translator/GroovyTranslateVisitor.d.ts +3 -0
- package/build/esm/language/translator/GroovyTranslateVisitor.js +23 -0
- package/build/esm/language/translator/JavaTranslateVisitor.d.ts +3 -0
- package/build/esm/language/translator/JavaTranslateVisitor.js +23 -0
- package/build/esm/language/translator/JavascriptTranslateVisitor.d.ts +3 -0
- package/build/esm/language/translator/JavascriptTranslateVisitor.js +11 -0
- package/build/esm/language/translator/PythonTranslateVisitor.d.ts +3 -0
- package/build/esm/language/translator/PythonTranslateVisitor.js +39 -3
- package/build/esm/language/translator/TranslateVisitor.d.ts +3 -0
- package/build/esm/language/translator/TranslateVisitor.js +9 -0
- package/build/esm/process/anonymous-traversal.js +5 -1
- package/build/esm/process/graph-traversal.d.ts +84 -3
- package/build/esm/process/graph-traversal.js +139 -8
- package/build/esm/process/gremlin-lang.d.ts +6 -1
- package/build/esm/process/gremlin-lang.js +121 -9
- package/build/esm/process/gvalue.d.ts +7 -0
- package/build/esm/process/gvalue.js +38 -0
- package/build/esm/process/transaction.d.ts +50 -14
- package/build/esm/process/transaction.js +122 -23
- package/build/esm/process/traversal.d.ts +36 -10
- package/build/esm/process/traversal.js +104 -47
- package/build/esm/structure/PDTRegistry.d.ts +34 -0
- package/build/esm/structure/PDTRegistry.js +112 -0
- package/build/esm/structure/graph.d.ts +122 -3
- package/build/esm/structure/graph.js +347 -7
- package/build/esm/structure/io/binary/GraphBinary.d.ts +15 -1
- package/build/esm/structure/io/binary/GraphBinary.js +66 -38
- package/build/esm/structure/io/binary/internals/AnySerializer.d.ts +12 -2
- package/build/esm/structure/io/binary/internals/AnySerializer.js +34 -17
- package/build/esm/structure/io/binary/internals/ArraySerializer.d.ts +14 -7
- package/build/esm/structure/io/binary/internals/ArraySerializer.js +41 -72
- package/build/esm/structure/io/binary/internals/BigIntegerSerializer.d.ts +12 -7
- package/build/esm/structure/io/binary/internals/BigIntegerSerializer.js +34 -54
- package/build/esm/structure/io/binary/internals/BinarySerializer.d.ts +12 -4
- package/build/esm/structure/io/binary/internals/BinarySerializer.js +31 -51
- package/build/esm/structure/io/binary/internals/BooleanSerializer.d.ts +12 -4
- package/build/esm/structure/io/binary/internals/BooleanSerializer.js +28 -42
- package/build/esm/structure/io/binary/internals/ByteSerializer.d.ts +12 -4
- package/build/esm/structure/io/binary/internals/ByteSerializer.js +24 -38
- package/build/esm/structure/io/binary/internals/CompositePDTSerializer.d.ts +10 -0
- package/build/esm/structure/io/binary/internals/CompositePDTSerializer.js +78 -0
- package/build/esm/structure/io/binary/internals/DateTimeSerializer.d.ts +12 -7
- package/build/esm/structure/io/binary/internals/DateTimeSerializer.js +52 -69
- package/build/esm/structure/io/binary/internals/DoubleSerializer.d.ts +12 -4
- package/build/esm/structure/io/binary/internals/DoubleSerializer.js +24 -38
- package/build/esm/structure/io/binary/internals/EdgeSerializer.d.ts +14 -12
- package/build/esm/structure/io/binary/internals/EdgeSerializer.js +69 -124
- package/build/esm/structure/io/binary/internals/EnumSerializer.d.ts +19 -4
- package/build/esm/structure/io/binary/internals/EnumSerializer.js +47 -59
- package/build/esm/structure/io/binary/internals/FloatSerializer.d.ts +12 -4
- package/build/esm/structure/io/binary/internals/FloatSerializer.js +24 -38
- package/build/esm/structure/io/binary/internals/GraphBinaryReader.d.ts +26 -2
- package/build/esm/structure/io/binary/internals/GraphBinaryReader.js +108 -37
- package/build/esm/structure/io/binary/internals/GraphBinaryWriter.js +6 -6
- package/build/esm/structure/io/binary/internals/GraphSerializer.d.ts +22 -0
- package/build/esm/structure/io/binary/internals/GraphSerializer.js +181 -0
- package/build/esm/structure/io/binary/internals/IntSerializer.d.ts +19 -4
- package/build/esm/structure/io/binary/internals/IntSerializer.js +33 -38
- package/build/esm/structure/io/binary/internals/LongSerializer.d.ts +13 -4
- package/build/esm/structure/io/binary/internals/LongSerializer.js +29 -42
- package/build/esm/structure/io/binary/internals/MapSerializer.d.ts +14 -7
- package/build/esm/structure/io/binary/internals/MapSerializer.js +36 -70
- package/build/esm/structure/io/binary/internals/MarkerSerializer.d.ts +13 -4
- package/build/esm/structure/io/binary/internals/MarkerSerializer.js +29 -33
- package/build/esm/structure/io/binary/internals/NumberSerializationStrategy.d.ts +0 -3
- package/build/esm/structure/io/binary/internals/NumberSerializationStrategy.js +28 -2
- package/build/esm/structure/io/binary/internals/PathSerializer.d.ts +14 -7
- package/build/esm/structure/io/binary/internals/PathSerializer.js +30 -55
- package/build/esm/structure/io/binary/internals/PrimitivePDTSerializer.d.ts +10 -0
- package/build/esm/structure/io/binary/internals/PrimitivePDTSerializer.js +77 -0
- package/build/esm/structure/io/binary/internals/PropertySerializer.d.ts +14 -7
- package/build/esm/structure/io/binary/internals/PropertySerializer.js +32 -69
- package/build/esm/structure/io/binary/internals/SetSerializer.d.ts +14 -7
- package/build/esm/structure/io/binary/internals/SetSerializer.js +39 -73
- package/build/esm/structure/io/binary/internals/ShortSerializer.d.ts +12 -4
- package/build/esm/structure/io/binary/internals/ShortSerializer.js +24 -38
- package/build/esm/structure/io/binary/internals/StreamReader.d.ts +69 -0
- package/build/esm/structure/io/binary/internals/StreamReader.js +181 -0
- package/build/esm/structure/io/binary/internals/StringSerializer.d.ts +14 -4
- package/build/esm/structure/io/binary/internals/StringSerializer.js +34 -53
- package/build/esm/structure/io/binary/internals/StubSerializer.d.ts +1 -1
- package/build/esm/structure/io/binary/internals/StubSerializer.js +2 -1
- package/build/esm/structure/io/binary/internals/TreeSerializer.d.ts +54 -0
- package/build/esm/structure/io/binary/internals/TreeSerializer.js +136 -0
- package/build/esm/structure/io/binary/internals/UnspecifiedNullSerializer.d.ts +6 -4
- package/build/esm/structure/io/binary/internals/UnspecifiedNullSerializer.js +8 -31
- package/build/esm/structure/io/binary/internals/UuidSerializer.d.ts +12 -7
- package/build/esm/structure/io/binary/internals/UuidSerializer.js +33 -49
- package/build/esm/structure/io/binary/internals/VertexPropertySerializer.d.ts +14 -7
- package/build/esm/structure/io/binary/internals/VertexPropertySerializer.js +37 -95
- package/build/esm/structure/io/binary/internals/VertexSerializer.d.ts +14 -9
- package/build/esm/structure/io/binary/internals/VertexSerializer.js +41 -68
- package/build/esm/utils.d.ts +62 -4
- package/build/esm/utils.js +145 -6
- package/package.json +27 -18
|
@@ -75,62 +75,42 @@ class BigIntegerSerializer {
|
|
|
75
75
|
bufs.push(v);
|
|
76
76
|
return buffer_1.Buffer.concat(bufs);
|
|
77
77
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
let length, length_len;
|
|
110
|
-
try {
|
|
111
|
-
({ v: length, len: length_len } = this.ioc.intSerializer.deserialize(cursor, false));
|
|
112
|
-
len += length_len;
|
|
113
|
-
}
|
|
114
|
-
catch (err) {
|
|
115
|
-
err.message = '{length}: ' + err.message;
|
|
116
|
-
throw err;
|
|
117
|
-
}
|
|
118
|
-
if (length < 1) {
|
|
119
|
-
throw new Error(`{length}=${length} is less than one`);
|
|
120
|
-
}
|
|
121
|
-
cursor = cursor.slice(length_len);
|
|
122
|
-
len += length;
|
|
123
|
-
cursor = cursor.slice(0, length);
|
|
124
|
-
let v = BigInt(`0x${cursor.toString('hex')}`);
|
|
125
|
-
const is_sign_bit_set = (cursor[0] & 0x80) === 0x80;
|
|
126
|
-
if (is_sign_bit_set) {
|
|
127
|
-
v = BigInt.asIntN(length * 8, v); // now we get expected negative number
|
|
128
|
-
}
|
|
129
|
-
return { v, len };
|
|
78
|
+
/**
|
|
79
|
+
* @param {StreamReader} reader
|
|
80
|
+
* @param {number} valueFlag
|
|
81
|
+
* @param {number} typeCode
|
|
82
|
+
* @returns {Promise<bigint>}
|
|
83
|
+
*/
|
|
84
|
+
async deserializeValue(reader, valueFlag, typeCode) {
|
|
85
|
+
const length = await this.ioc.intSerializer.deserializeBare(reader);
|
|
86
|
+
if (length < 1) {
|
|
87
|
+
throw new Error(`BigIntegerSerializer: {length}=${length} is less than one`);
|
|
88
|
+
}
|
|
89
|
+
const bytes = await reader.readBytes(length);
|
|
90
|
+
let v = BigInt(`0x${bytes.toString('hex')}`);
|
|
91
|
+
const is_sign_bit_set = (bytes[0] & 0x80) === 0x80;
|
|
92
|
+
if (is_sign_bit_set) {
|
|
93
|
+
v = BigInt.asIntN(length * 8, v);
|
|
94
|
+
}
|
|
95
|
+
return v;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* @param {StreamReader} reader
|
|
99
|
+
* @returns {Promise<bigint|null>}
|
|
100
|
+
*/
|
|
101
|
+
async deserialize(reader) {
|
|
102
|
+
const type_code = await reader.readUInt8();
|
|
103
|
+
if (type_code !== this.ioc.DataType.BIGINTEGER) {
|
|
104
|
+
throw new Error(`BigIntegerSerializer: unexpected {type_code}=0x${type_code.toString(16)}`);
|
|
105
|
+
}
|
|
106
|
+
const value_flag = await reader.readUInt8();
|
|
107
|
+
if (value_flag === 0x01) {
|
|
108
|
+
return null;
|
|
130
109
|
}
|
|
131
|
-
|
|
132
|
-
throw
|
|
110
|
+
if (value_flag !== 0x00) {
|
|
111
|
+
throw new Error(`BigIntegerSerializer: unexpected {value_flag}=0x${value_flag.toString(16)}`);
|
|
133
112
|
}
|
|
113
|
+
return this.deserializeValue(reader, value_flag, type_code);
|
|
134
114
|
}
|
|
135
115
|
}
|
|
136
116
|
exports.default = BigIntegerSerializer;
|
|
@@ -3,12 +3,17 @@ export default class BigIntegerSerializer {
|
|
|
3
3
|
ioc: any;
|
|
4
4
|
canBeUsedFor(value: any): value is bigint;
|
|
5
5
|
serialize(item: any, fullyQualifiedFormat?: boolean): Buffer<ArrayBuffer>;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
/**
|
|
7
|
+
* @param {StreamReader} reader
|
|
8
|
+
* @param {number} valueFlag
|
|
9
|
+
* @param {number} typeCode
|
|
10
|
+
* @returns {Promise<bigint>}
|
|
11
|
+
*/
|
|
12
|
+
deserializeValue(reader: StreamReader, valueFlag: number, typeCode: number): Promise<bigint>;
|
|
13
|
+
/**
|
|
14
|
+
* @param {StreamReader} reader
|
|
15
|
+
* @returns {Promise<bigint|null>}
|
|
16
|
+
*/
|
|
17
|
+
deserialize(reader: StreamReader): Promise<bigint | null>;
|
|
13
18
|
}
|
|
14
19
|
import { Buffer } from 'buffer';
|
|
@@ -54,59 +54,39 @@ class BinarySerializer {
|
|
|
54
54
|
bufs.push(item);
|
|
55
55
|
return buffer_1.Buffer.concat(bufs);
|
|
56
56
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
cursor = cursor.slice(1);
|
|
86
|
-
}
|
|
87
|
-
let length, length_len;
|
|
88
|
-
try {
|
|
89
|
-
({ v: length, len: length_len } = this.ioc.intSerializer.deserialize(cursor, false));
|
|
90
|
-
len += length_len;
|
|
91
|
-
}
|
|
92
|
-
catch (err) {
|
|
93
|
-
err.message = '{length}: ' + err.message;
|
|
94
|
-
throw err;
|
|
95
|
-
}
|
|
96
|
-
if (length < 0) {
|
|
97
|
-
throw new Error('{length} is less than zero');
|
|
98
|
-
}
|
|
99
|
-
cursor = cursor.slice(length_len);
|
|
100
|
-
if (cursor.length < length) {
|
|
101
|
-
throw new Error(`{value}: unexpected actual {value} length=${cursor.length} when {length}=${length}`);
|
|
102
|
-
}
|
|
103
|
-
const v = cursor.slice(0, length);
|
|
104
|
-
len += length;
|
|
105
|
-
return { v, len };
|
|
57
|
+
/**
|
|
58
|
+
* @param {StreamReader} reader
|
|
59
|
+
* @param {number} valueFlag
|
|
60
|
+
* @param {number} typeCode
|
|
61
|
+
* @returns {Promise<Buffer>}
|
|
62
|
+
*/
|
|
63
|
+
async deserializeValue(reader, valueFlag, typeCode) {
|
|
64
|
+
const length = await this.ioc.intSerializer.deserializeBare(reader);
|
|
65
|
+
if (length < 0) {
|
|
66
|
+
throw new Error(`BinarySerializer: {length}=${length} is less than zero`);
|
|
67
|
+
}
|
|
68
|
+
if (length === 0) {
|
|
69
|
+
return buffer_1.Buffer.alloc(0);
|
|
70
|
+
}
|
|
71
|
+
return reader.readBytes(length);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @param {StreamReader} reader
|
|
75
|
+
* @returns {Promise<Buffer|null>}
|
|
76
|
+
*/
|
|
77
|
+
async deserialize(reader) {
|
|
78
|
+
const type_code = await reader.readUInt8();
|
|
79
|
+
if (type_code !== this.ioc.DataType.BINARY) {
|
|
80
|
+
throw new Error(`BinarySerializer: unexpected {type_code}=0x${type_code.toString(16)}`);
|
|
81
|
+
}
|
|
82
|
+
const value_flag = await reader.readUInt8();
|
|
83
|
+
if (value_flag === 0x01) {
|
|
84
|
+
return null;
|
|
106
85
|
}
|
|
107
|
-
|
|
108
|
-
throw
|
|
86
|
+
if (value_flag !== 0x00) {
|
|
87
|
+
throw new Error(`BinarySerializer: unexpected {value_flag}=0x${value_flag.toString(16)}`);
|
|
109
88
|
}
|
|
89
|
+
return this.deserializeValue(reader, value_flag, type_code);
|
|
110
90
|
}
|
|
111
91
|
}
|
|
112
92
|
exports.default = BinarySerializer;
|
|
@@ -3,9 +3,17 @@ export default class BinarySerializer {
|
|
|
3
3
|
ioc: any;
|
|
4
4
|
canBeUsedFor(value: any): boolean;
|
|
5
5
|
serialize(item: any, fullyQualifiedFormat?: boolean): Buffer<ArrayBuffer>;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
/**
|
|
7
|
+
* @param {StreamReader} reader
|
|
8
|
+
* @param {number} valueFlag
|
|
9
|
+
* @param {number} typeCode
|
|
10
|
+
* @returns {Promise<Buffer>}
|
|
11
|
+
*/
|
|
12
|
+
deserializeValue(reader: StreamReader, valueFlag: number, typeCode: number): Promise<Buffer>;
|
|
13
|
+
/**
|
|
14
|
+
* @param {StreamReader} reader
|
|
15
|
+
* @returns {Promise<Buffer|null>}
|
|
16
|
+
*/
|
|
17
|
+
deserialize(reader: StreamReader): Promise<Buffer | null>;
|
|
10
18
|
}
|
|
11
19
|
import { Buffer } from 'buffer';
|
|
@@ -44,50 +44,36 @@ class BooleanSerializer {
|
|
|
44
44
|
bufs.push(buffer_1.Buffer.from([item ? 0x01 : 0x00]));
|
|
45
45
|
return buffer_1.Buffer.concat(bufs);
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if (value_flag !== 0) {
|
|
73
|
-
throw new Error('unexpected {value_flag}');
|
|
74
|
-
}
|
|
75
|
-
cursor = cursor.slice(1);
|
|
76
|
-
}
|
|
77
|
-
if (cursor.length < 1) {
|
|
78
|
-
throw new Error('unexpected {value} length');
|
|
79
|
-
}
|
|
80
|
-
len += 1;
|
|
81
|
-
let v = cursor.readUInt8();
|
|
82
|
-
if (v !== 0x00 && v !== 0x01) {
|
|
83
|
-
throw new Error(`unexpected boolean byte=${v}`);
|
|
84
|
-
}
|
|
85
|
-
v = v === 0x01;
|
|
86
|
-
return { v, len };
|
|
47
|
+
/**
|
|
48
|
+
* @param {StreamReader} reader
|
|
49
|
+
* @param {number} valueFlag
|
|
50
|
+
* @param {number} typeCode
|
|
51
|
+
* @returns {Promise<boolean>}
|
|
52
|
+
*/
|
|
53
|
+
async deserializeValue(reader, valueFlag, typeCode) {
|
|
54
|
+
const v = await reader.readUInt8();
|
|
55
|
+
if (v !== 0x00 && v !== 0x01) {
|
|
56
|
+
throw new Error(`BooleanSerializer: unexpected boolean byte=0x${v.toString(16)}`);
|
|
57
|
+
}
|
|
58
|
+
return v === 0x01;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* @param {StreamReader} reader
|
|
62
|
+
* @returns {Promise<boolean|null>}
|
|
63
|
+
*/
|
|
64
|
+
async deserialize(reader) {
|
|
65
|
+
const type_code = await reader.readUInt8();
|
|
66
|
+
if (type_code !== this.ioc.DataType.BOOLEAN) {
|
|
67
|
+
throw new Error(`BooleanSerializer: unexpected {type_code}=0x${type_code.toString(16)}`);
|
|
68
|
+
}
|
|
69
|
+
const value_flag = await reader.readUInt8();
|
|
70
|
+
if (value_flag === 0x01) {
|
|
71
|
+
return null;
|
|
87
72
|
}
|
|
88
|
-
|
|
89
|
-
throw
|
|
73
|
+
if (value_flag !== 0x00) {
|
|
74
|
+
throw new Error(`BooleanSerializer: unexpected {value_flag}=0x${value_flag.toString(16)}`);
|
|
90
75
|
}
|
|
76
|
+
return this.deserializeValue(reader, value_flag, type_code);
|
|
91
77
|
}
|
|
92
78
|
}
|
|
93
79
|
exports.default = BooleanSerializer;
|
|
@@ -3,9 +3,17 @@ export default class BooleanSerializer {
|
|
|
3
3
|
ioc: any;
|
|
4
4
|
canBeUsedFor(value: any): value is boolean;
|
|
5
5
|
serialize(item: any, fullyQualifiedFormat?: boolean): Buffer<ArrayBuffer>;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
/**
|
|
7
|
+
* @param {StreamReader} reader
|
|
8
|
+
* @param {number} valueFlag
|
|
9
|
+
* @param {number} typeCode
|
|
10
|
+
* @returns {Promise<boolean>}
|
|
11
|
+
*/
|
|
12
|
+
deserializeValue(reader: StreamReader, valueFlag: number, typeCode: number): Promise<boolean>;
|
|
13
|
+
/**
|
|
14
|
+
* @param {StreamReader} reader
|
|
15
|
+
* @returns {Promise<boolean|null>}
|
|
16
|
+
*/
|
|
17
|
+
deserialize(reader: StreamReader): Promise<boolean | null>;
|
|
10
18
|
}
|
|
11
19
|
import { Buffer } from 'buffer';
|
|
@@ -43,46 +43,32 @@ class ByteSerializer {
|
|
|
43
43
|
bufs.push(v);
|
|
44
44
|
return buffer_1.Buffer.concat(bufs);
|
|
45
45
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
len++;
|
|
68
|
-
if (value_flag === 1) {
|
|
69
|
-
return { v: null, len };
|
|
70
|
-
}
|
|
71
|
-
if (value_flag !== 0) {
|
|
72
|
-
throw new Error('unexpected {value_flag}');
|
|
73
|
-
}
|
|
74
|
-
cursor = cursor.slice(1);
|
|
75
|
-
}
|
|
76
|
-
if (cursor.length < 1) {
|
|
77
|
-
throw new Error('unexpected {value} length');
|
|
78
|
-
}
|
|
79
|
-
len += 1;
|
|
80
|
-
const v = cursor.readInt8();
|
|
81
|
-
return { v, len };
|
|
46
|
+
/**
|
|
47
|
+
* @param {StreamReader} reader
|
|
48
|
+
* @param {number} valueFlag
|
|
49
|
+
* @param {number} typeCode
|
|
50
|
+
* @returns {Promise<number>}
|
|
51
|
+
*/
|
|
52
|
+
async deserializeValue(reader, valueFlag, typeCode) {
|
|
53
|
+
return await reader.readByte();
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* @param {StreamReader} reader
|
|
57
|
+
* @returns {Promise<number|null>}
|
|
58
|
+
*/
|
|
59
|
+
async deserialize(reader) {
|
|
60
|
+
const type_code = await reader.readUInt8();
|
|
61
|
+
if (type_code !== this.ioc.DataType.BYTE) {
|
|
62
|
+
throw new Error(`ByteSerializer: unexpected {type_code}=0x${type_code.toString(16)}`);
|
|
63
|
+
}
|
|
64
|
+
const value_flag = await reader.readUInt8();
|
|
65
|
+
if (value_flag === 0x01) {
|
|
66
|
+
return null;
|
|
82
67
|
}
|
|
83
|
-
|
|
84
|
-
throw
|
|
68
|
+
if (value_flag !== 0x00) {
|
|
69
|
+
throw new Error(`ByteSerializer: unexpected {value_flag}=0x${value_flag.toString(16)}`);
|
|
85
70
|
}
|
|
71
|
+
return this.deserializeValue(reader, value_flag, type_code);
|
|
86
72
|
}
|
|
87
73
|
}
|
|
88
74
|
exports.default = ByteSerializer;
|
|
@@ -2,9 +2,17 @@ export default class ByteSerializer {
|
|
|
2
2
|
constructor(ioc: any);
|
|
3
3
|
ioc: any;
|
|
4
4
|
serialize(item: any, fullyQualifiedFormat?: boolean): Buffer<ArrayBuffer>;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
/**
|
|
6
|
+
* @param {StreamReader} reader
|
|
7
|
+
* @param {number} valueFlag
|
|
8
|
+
* @param {number} typeCode
|
|
9
|
+
* @returns {Promise<number>}
|
|
10
|
+
*/
|
|
11
|
+
deserializeValue(reader: StreamReader, valueFlag: number, typeCode: number): Promise<number>;
|
|
12
|
+
/**
|
|
13
|
+
* @param {StreamReader} reader
|
|
14
|
+
* @returns {Promise<number|null>}
|
|
15
|
+
*/
|
|
16
|
+
deserialize(reader: StreamReader): Promise<number | null>;
|
|
9
17
|
}
|
|
10
18
|
import { Buffer } from 'buffer';
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Licensed to the Apache Software Foundation (ASF) under one
|
|
4
|
+
* or more contributor license agreements. See the NOTICE file
|
|
5
|
+
* distributed with this work for additional information
|
|
6
|
+
* regarding copyright ownership. The ASF licenses this file
|
|
7
|
+
* to you under the Apache License, Version 2.0 (the
|
|
8
|
+
* "License"); you may not use this file except in compliance
|
|
9
|
+
* with the License. You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing,
|
|
14
|
+
* software distributed under the License is distributed on an
|
|
15
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
16
|
+
* KIND, either express or implied. See the License for the
|
|
17
|
+
* specific language governing permissions and limitations
|
|
18
|
+
* under the License.
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const buffer_1 = require("node:buffer");
|
|
22
|
+
const graph_js_1 = require("../../../graph.cjs");
|
|
23
|
+
class CompositePDTSerializer {
|
|
24
|
+
constructor(ioc) {
|
|
25
|
+
this.ioc = ioc;
|
|
26
|
+
this.ioc.serializers[ioc.DataType.COMPOSITEPDT] = this;
|
|
27
|
+
}
|
|
28
|
+
canBeUsedFor(value) {
|
|
29
|
+
return value instanceof graph_js_1.CompositePDT;
|
|
30
|
+
}
|
|
31
|
+
serialize(item, fullyQualifiedFormat = true) {
|
|
32
|
+
if (item === undefined || item === null) {
|
|
33
|
+
if (fullyQualifiedFormat) {
|
|
34
|
+
return buffer_1.Buffer.from([this.ioc.DataType.COMPOSITEPDT, 0x01]);
|
|
35
|
+
}
|
|
36
|
+
const bufs = [];
|
|
37
|
+
bufs.push(this.ioc.stringSerializer.serialize('', false));
|
|
38
|
+
bufs.push(this.ioc.mapSerializer.serialize({}, false));
|
|
39
|
+
return buffer_1.Buffer.concat(bufs);
|
|
40
|
+
}
|
|
41
|
+
const bufs = [];
|
|
42
|
+
if (fullyQualifiedFormat) {
|
|
43
|
+
bufs.push(buffer_1.Buffer.from([this.ioc.DataType.COMPOSITEPDT, 0x00]));
|
|
44
|
+
}
|
|
45
|
+
bufs.push(this.ioc.stringSerializer.serialize(item.name, true));
|
|
46
|
+
bufs.push(this.ioc.mapSerializer.serialize(item.fields, true));
|
|
47
|
+
return buffer_1.Buffer.concat(bufs);
|
|
48
|
+
}
|
|
49
|
+
async deserializeValue(reader, valueFlag, typeCode) {
|
|
50
|
+
const name = await this.ioc.anySerializer.deserialize(reader);
|
|
51
|
+
if (!name) {
|
|
52
|
+
throw new Error('CompositePDTSerializer: name cannot be null or empty');
|
|
53
|
+
}
|
|
54
|
+
const fieldsRaw = await this.ioc.anySerializer.deserialize(reader);
|
|
55
|
+
const fields = fieldsRaw instanceof Map ? Object.fromEntries(fieldsRaw) : fieldsRaw || {};
|
|
56
|
+
const pdt = new graph_js_1.CompositePDT(name, fields);
|
|
57
|
+
const pdtRegistry = reader.pdtRegistry;
|
|
58
|
+
if (pdtRegistry) {
|
|
59
|
+
const hydrated = pdtRegistry.hydrate(pdt);
|
|
60
|
+
if (!(hydrated instanceof graph_js_1.CompositePDT)) {
|
|
61
|
+
return hydrated;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return pdt;
|
|
65
|
+
}
|
|
66
|
+
async deserialize(reader) {
|
|
67
|
+
const type_code = await reader.readUInt8();
|
|
68
|
+
if (type_code !== this.ioc.DataType.COMPOSITEPDT) {
|
|
69
|
+
throw new Error(`CompositePDTSerializer: unexpected {type_code}=0x${type_code.toString(16)}`);
|
|
70
|
+
}
|
|
71
|
+
const value_flag = await reader.readUInt8();
|
|
72
|
+
if (value_flag === 0x01) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
if (value_flag !== 0x00) {
|
|
76
|
+
throw new Error(`CompositePDTSerializer: unexpected {value_flag}=0x${value_flag.toString(16)}`);
|
|
77
|
+
}
|
|
78
|
+
return this.deserializeValue(reader, value_flag, type_code);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.default = CompositePDTSerializer;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export default class CompositePDTSerializer {
|
|
2
|
+
constructor(ioc: any);
|
|
3
|
+
ioc: any;
|
|
4
|
+
canBeUsedFor(value: any): value is CompositePDT;
|
|
5
|
+
serialize(item: any, fullyQualifiedFormat?: boolean): Buffer<ArrayBuffer>;
|
|
6
|
+
deserializeValue(reader: any, valueFlag: any, typeCode: any): Promise<any>;
|
|
7
|
+
deserialize(reader: any): Promise<any>;
|
|
8
|
+
}
|
|
9
|
+
import { CompositePDT } from '../../../graph.cjs';
|
|
10
|
+
import { Buffer } from 'buffer';
|