gremlin 3.8.1 → 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/README.md +18 -4
- package/build/cjs/driver/auth.cjs +76 -0
- package/build/cjs/driver/auth.d.cts +9 -0
- package/build/cjs/driver/client.cjs +178 -0
- package/build/cjs/driver/client.d.cts +88 -0
- package/build/cjs/driver/connection.cjs +363 -0
- package/build/cjs/driver/connection.d.cts +106 -0
- 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 +153 -0
- package/build/cjs/driver/driver-remote-connection.d.cts +39 -0
- 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 +72 -0
- package/build/cjs/driver/remote-connection.d.cts +57 -0
- package/build/cjs/driver/request-message.cjs +246 -0
- package/build/cjs/driver/request-message.d.cts +79 -0
- package/build/cjs/driver/response-error.cjs +45 -0
- package/build/cjs/driver/response-error.d.cts +13 -0
- package/build/cjs/driver/result-set.cjs +111 -0
- package/build/cjs/driver/result-set.d.cts +29 -0
- package/build/cjs/index.cjs +146 -0
- package/build/cjs/index.d.cts +440 -0
- package/build/cjs/language/grammar/GremlinLexer.cjs +1905 -0
- package/build/cjs/language/grammar/GremlinLexer.d.cts +349 -0
- package/build/cjs/language/grammar/GremlinListener.cjs +4804 -0
- package/build/cjs/language/grammar/GremlinListener.d.cts +5239 -0
- package/build/cjs/language/grammar/GremlinParser.cjs +38146 -0
- package/build/cjs/language/grammar/GremlinParser.d.cts +6260 -0
- package/build/cjs/language/index.cjs +48 -0
- package/build/cjs/language/index.d.cts +12 -0
- package/build/cjs/language/translator/AnonymizedTranslateVisitor.cjs +166 -0
- package/build/cjs/language/translator/AnonymizedTranslateVisitor.d.cts +39 -0
- package/build/cjs/language/translator/DotNetTranslateVisitor.cjs +935 -0
- package/build/cjs/language/translator/DotNetTranslateVisitor.d.cts +166 -0
- package/build/cjs/language/translator/GoTranslateVisitor.cjs +421 -0
- package/build/cjs/language/translator/GoTranslateVisitor.d.cts +40 -0
- package/build/cjs/language/translator/GremlinTranslator.cjs +96 -0
- package/build/cjs/language/translator/GremlinTranslator.d.cts +18 -0
- package/build/cjs/language/translator/GroovyTranslateVisitor.cjs +310 -0
- package/build/cjs/language/translator/GroovyTranslateVisitor.d.cts +37 -0
- package/build/cjs/language/translator/JavaTranslateVisitor.cjs +270 -0
- package/build/cjs/language/translator/JavaTranslateVisitor.d.cts +26 -0
- package/build/cjs/language/translator/JavascriptTranslateVisitor.cjs +231 -0
- package/build/cjs/language/translator/JavascriptTranslateVisitor.d.cts +28 -0
- package/build/cjs/language/translator/PythonTranslateVisitor.cjs +340 -0
- package/build/cjs/language/translator/PythonTranslateVisitor.d.cts +31 -0
- package/build/cjs/language/translator/TranslateVisitor.cjs +398 -0
- package/build/cjs/language/translator/TranslateVisitor.d.cts +94 -0
- package/build/cjs/language/translator/Translation.cjs +47 -0
- package/build/cjs/language/translator/Translation.d.cts +13 -0
- package/build/cjs/language/translator/Translator.cjs +46 -0
- package/build/cjs/language/translator/Translator.d.cts +24 -0
- package/build/cjs/language/translator/TranslatorException.cjs +31 -0
- package/build/cjs/language/translator/TranslatorException.d.cts +6 -0
- package/build/cjs/process/anonymous-traversal.cjs +82 -0
- package/build/cjs/process/anonymous-traversal.d.cts +40 -0
- package/build/cjs/process/graph-traversal.cjs +1833 -0
- package/build/cjs/process/graph-traversal.d.cts +1215 -0
- package/build/cjs/process/gremlin-lang.cjs +308 -0
- package/build/cjs/process/gremlin-lang.d.cts +20 -0
- package/{lib/driver/response-error.js → build/cjs/process/gvalue.cjs} +23 -28
- package/build/cjs/process/gvalue.d.cts +7 -0
- package/build/cjs/process/transaction.cjs +171 -0
- package/build/cjs/process/transaction.d.cts +70 -0
- package/build/cjs/process/traversal-strategy.cjs +360 -0
- package/build/cjs/process/traversal-strategy.d.cts +211 -0
- package/build/cjs/process/traversal.cjs +539 -0
- package/build/cjs/process/traversal.d.cts +212 -0
- package/build/cjs/structure/PDTRegistry.cjs +116 -0
- package/build/cjs/structure/PDTRegistry.d.cts +34 -0
- package/build/cjs/structure/graph.cjs +500 -0
- package/build/cjs/structure/graph.d.cts +176 -0
- package/build/cjs/structure/io/binary/GraphBinary.cjs +177 -0
- package/build/cjs/structure/io/binary/GraphBinary.d.cts +105 -0
- package/build/cjs/structure/io/binary/internals/AnySerializer.cjs +97 -0
- package/build/cjs/structure/io/binary/internals/AnySerializer.d.cts +18 -0
- package/build/cjs/structure/io/binary/internals/ArraySerializer.cjs +108 -0
- package/build/cjs/structure/io/binary/internals/ArraySerializer.d.cts +22 -0
- package/build/cjs/structure/io/binary/internals/BigIntegerSerializer.cjs +116 -0
- package/build/cjs/structure/io/binary/internals/BigIntegerSerializer.d.cts +19 -0
- package/build/cjs/structure/io/binary/internals/BinarySerializer.cjs +92 -0
- package/build/cjs/structure/io/binary/internals/BinarySerializer.d.cts +19 -0
- package/build/cjs/structure/io/binary/internals/BooleanSerializer.cjs +79 -0
- package/build/cjs/structure/io/binary/internals/BooleanSerializer.d.cts +19 -0
- package/build/cjs/structure/io/binary/internals/ByteSerializer.cjs +74 -0
- package/build/cjs/structure/io/binary/internals/ByteSerializer.d.cts +18 -0
- 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/DataType.cjs +63 -0
- package/build/cjs/structure/io/binary/internals/DataType.d.cts +35 -0
- package/build/cjs/structure/io/binary/internals/DateTimeSerializer.cjs +122 -0
- package/build/cjs/structure/io/binary/internals/DateTimeSerializer.d.cts +20 -0
- package/build/cjs/structure/io/binary/internals/DoubleSerializer.cjs +77 -0
- package/build/cjs/structure/io/binary/internals/DoubleSerializer.d.cts +19 -0
- package/build/cjs/structure/io/binary/internals/EdgeSerializer.cjs +146 -0
- package/build/cjs/structure/io/binary/internals/EdgeSerializer.d.cts +22 -0
- package/build/cjs/structure/io/binary/internals/EnumSerializer.cjs +115 -0
- package/build/cjs/structure/io/binary/internals/EnumSerializer.d.cts +39 -0
- package/build/cjs/structure/io/binary/internals/FloatSerializer.cjs +77 -0
- package/build/cjs/structure/io/binary/internals/FloatSerializer.d.cts +19 -0
- package/build/cjs/structure/io/binary/internals/GraphBinaryReader.cjs +171 -0
- package/build/cjs/structure/io/binary/internals/GraphBinaryReader.d.cts +43 -0
- package/build/cjs/structure/io/binary/internals/GraphBinaryWriter.cjs +85 -0
- package/build/cjs/structure/io/binary/internals/GraphBinaryWriter.d.cts +9 -0
- 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 +98 -0
- package/build/cjs/structure/io/binary/internals/IntSerializer.d.cts +28 -0
- package/build/cjs/structure/io/binary/internals/LongSerializer.cjs +82 -0
- package/build/cjs/structure/io/binary/internals/LongSerializer.d.cts +20 -0
- package/build/cjs/structure/io/binary/internals/MapSerializer.cjs +110 -0
- package/build/cjs/structure/io/binary/internals/MapSerializer.d.cts +20 -0
- package/build/cjs/structure/io/binary/internals/MarkerSerializer.cjs +60 -0
- package/build/cjs/structure/io/binary/internals/MarkerSerializer.d.cts +17 -0
- package/build/cjs/structure/io/binary/internals/NumberSerializationStrategy.cjs +92 -0
- package/build/cjs/structure/io/binary/internals/NumberSerializationStrategy.d.cts +6 -0
- package/build/cjs/structure/io/binary/internals/PathSerializer.cjs +88 -0
- package/build/cjs/structure/io/binary/internals/PathSerializer.d.cts +22 -0
- 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 +93 -0
- package/build/cjs/structure/io/binary/internals/PropertySerializer.d.cts +22 -0
- package/build/cjs/structure/io/binary/internals/SetSerializer.cjs +104 -0
- package/build/cjs/structure/io/binary/internals/SetSerializer.d.cts +22 -0
- package/build/cjs/structure/io/binary/internals/ShortSerializer.cjs +77 -0
- package/build/cjs/structure/io/binary/internals/ShortSerializer.d.cts +19 -0
- 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 +88 -0
- package/build/cjs/structure/io/binary/internals/StringSerializer.d.cts +21 -0
- package/build/cjs/structure/io/binary/internals/StubSerializer.cjs +33 -0
- package/build/cjs/structure/io/binary/internals/StubSerializer.d.cts +7 -0
- 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 +47 -0
- package/build/cjs/structure/io/binary/internals/UnspecifiedNullSerializer.d.cts +13 -0
- package/build/cjs/structure/io/binary/internals/UuidSerializer.cjs +93 -0
- package/build/cjs/structure/io/binary/internals/UuidSerializer.d.cts +19 -0
- package/build/cjs/structure/io/binary/internals/VertexPropertySerializer.cjs +105 -0
- package/build/cjs/structure/io/binary/internals/VertexPropertySerializer.d.cts +22 -0
- package/build/cjs/structure/io/binary/internals/VertexSerializer.cjs +101 -0
- package/build/cjs/structure/io/binary/internals/VertexSerializer.d.cts +22 -0
- package/build/cjs/structure/io/binary/internals/utils.cjs +53 -0
- package/build/cjs/structure/io/binary/internals/utils.d.cts +6 -0
- package/build/cjs/utils.cjs +259 -0
- package/build/cjs/utils.d.cts +78 -0
- package/build/esm/driver/auth.d.ts +9 -0
- package/build/esm/driver/auth.js +72 -0
- package/build/esm/driver/client.d.ts +88 -0
- package/build/esm/driver/client.js +172 -0
- package/build/esm/driver/connection.d.ts +106 -0
- package/build/esm/driver/connection.js +323 -0
- 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 +39 -0
- package/build/esm/driver/driver-remote-connection.js +114 -0
- 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 +57 -0
- package/build/esm/driver/remote-connection.js +66 -0
- package/build/esm/driver/request-message.d.ts +79 -0
- package/build/esm/driver/request-message.js +238 -0
- package/build/esm/driver/response-error.d.ts +13 -0
- package/{lib/driver/auth/mechanisms/sasl-mechanism-base.js → build/esm/driver/response-error.js} +24 -34
- package/build/esm/driver/result-set.d.ts +29 -0
- package/build/esm/driver/result-set.js +75 -0
- package/build/esm/index.d.ts +440 -0
- package/{index.js → build/esm/index.js} +44 -33
- package/build/esm/language/grammar/GremlinLexer.d.ts +349 -0
- package/build/esm/language/grammar/GremlinLexer.js +1868 -0
- package/build/esm/language/grammar/GremlinListener.d.ts +5239 -0
- package/build/esm/language/grammar/GremlinListener.js +4800 -0
- package/build/esm/language/grammar/GremlinParser.d.ts +6260 -0
- package/build/esm/language/grammar/GremlinParser.js +37579 -0
- package/build/esm/language/index.d.ts +12 -0
- package/build/esm/language/index.js +30 -0
- package/build/esm/language/translator/AnonymizedTranslateVisitor.d.ts +39 -0
- package/build/esm/language/translator/AnonymizedTranslateVisitor.js +160 -0
- package/build/esm/language/translator/DotNetTranslateVisitor.d.ts +166 -0
- package/build/esm/language/translator/DotNetTranslateVisitor.js +929 -0
- package/build/esm/language/translator/GoTranslateVisitor.d.ts +40 -0
- package/build/esm/language/translator/GoTranslateVisitor.js +415 -0
- package/build/esm/language/translator/GremlinTranslator.d.ts +18 -0
- package/build/esm/language/translator/GremlinTranslator.js +89 -0
- package/build/esm/language/translator/GroovyTranslateVisitor.d.ts +37 -0
- package/build/esm/language/translator/GroovyTranslateVisitor.js +304 -0
- package/build/esm/language/translator/JavaTranslateVisitor.d.ts +26 -0
- package/build/esm/language/translator/JavaTranslateVisitor.js +264 -0
- package/build/esm/language/translator/JavascriptTranslateVisitor.d.ts +28 -0
- package/build/esm/language/translator/JavascriptTranslateVisitor.js +225 -0
- package/build/esm/language/translator/PythonTranslateVisitor.d.ts +31 -0
- package/build/esm/language/translator/PythonTranslateVisitor.js +334 -0
- package/build/esm/language/translator/TranslateVisitor.d.ts +94 -0
- package/build/esm/language/translator/TranslateVisitor.js +395 -0
- package/build/esm/language/translator/Translation.d.ts +13 -0
- package/build/esm/language/translator/Translation.js +43 -0
- package/build/esm/language/translator/Translator.d.ts +24 -0
- package/build/esm/language/translator/Translator.js +40 -0
- package/build/esm/language/translator/TranslatorException.d.ts +6 -0
- package/build/esm/language/translator/TranslatorException.js +27 -0
- package/build/esm/process/anonymous-traversal.d.ts +40 -0
- package/build/esm/process/anonymous-traversal.js +76 -0
- package/build/esm/process/graph-traversal.d.ts +1215 -0
- package/build/esm/process/graph-traversal.js +1824 -0
- package/build/esm/process/gremlin-lang.d.ts +20 -0
- package/build/esm/process/gremlin-lang.js +305 -0
- package/build/esm/process/gvalue.d.ts +7 -0
- package/{lib/driver/auth/authenticator.js → build/esm/process/gvalue.js} +19 -19
- package/build/esm/process/transaction.d.ts +70 -0
- package/build/esm/process/transaction.js +164 -0
- package/build/esm/process/traversal-strategy.d.ts +211 -0
- package/build/esm/process/traversal-strategy.js +319 -0
- package/build/esm/process/traversal.d.ts +212 -0
- package/build/esm/process/traversal.js +526 -0
- package/build/esm/structure/PDTRegistry.d.ts +34 -0
- package/build/esm/structure/PDTRegistry.js +112 -0
- package/build/esm/structure/graph.d.ts +176 -0
- package/build/esm/structure/graph.js +488 -0
- package/build/esm/structure/io/binary/GraphBinary.d.ts +105 -0
- package/build/esm/structure/io/binary/GraphBinary.js +136 -0
- package/build/esm/structure/io/binary/internals/AnySerializer.d.ts +18 -0
- package/build/esm/structure/io/binary/internals/AnySerializer.js +94 -0
- package/build/esm/structure/io/binary/internals/ArraySerializer.d.ts +22 -0
- package/build/esm/structure/io/binary/internals/ArraySerializer.js +105 -0
- package/build/esm/structure/io/binary/internals/BigIntegerSerializer.d.ts +19 -0
- package/build/esm/structure/io/binary/internals/BigIntegerSerializer.js +113 -0
- package/build/esm/structure/io/binary/internals/BinarySerializer.d.ts +19 -0
- package/build/esm/structure/io/binary/internals/BinarySerializer.js +89 -0
- package/build/esm/structure/io/binary/internals/BooleanSerializer.d.ts +19 -0
- package/build/esm/structure/io/binary/internals/BooleanSerializer.js +76 -0
- package/build/esm/structure/io/binary/internals/ByteSerializer.d.ts +18 -0
- package/build/esm/structure/io/binary/internals/ByteSerializer.js +71 -0
- 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/DataType.d.ts +35 -0
- package/build/esm/structure/io/binary/internals/DataType.js +61 -0
- package/build/esm/structure/io/binary/internals/DateTimeSerializer.d.ts +20 -0
- package/build/esm/structure/io/binary/internals/DateTimeSerializer.js +119 -0
- package/build/esm/structure/io/binary/internals/DoubleSerializer.d.ts +19 -0
- package/build/esm/structure/io/binary/internals/DoubleSerializer.js +74 -0
- package/build/esm/structure/io/binary/internals/EdgeSerializer.d.ts +22 -0
- package/build/esm/structure/io/binary/internals/EdgeSerializer.js +143 -0
- package/build/esm/structure/io/binary/internals/EnumSerializer.d.ts +39 -0
- package/build/esm/structure/io/binary/internals/EnumSerializer.js +112 -0
- package/build/esm/structure/io/binary/internals/FloatSerializer.d.ts +19 -0
- package/build/esm/structure/io/binary/internals/FloatSerializer.js +74 -0
- package/build/esm/structure/io/binary/internals/GraphBinaryReader.d.ts +43 -0
- package/build/esm/structure/io/binary/internals/GraphBinaryReader.js +165 -0
- package/build/esm/structure/io/binary/internals/GraphBinaryWriter.d.ts +9 -0
- package/build/esm/structure/io/binary/internals/GraphBinaryWriter.js +82 -0
- 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 +28 -0
- package/build/esm/structure/io/binary/internals/IntSerializer.js +95 -0
- package/build/esm/structure/io/binary/internals/LongSerializer.d.ts +20 -0
- package/build/esm/structure/io/binary/internals/LongSerializer.js +79 -0
- package/build/esm/structure/io/binary/internals/MapSerializer.d.ts +20 -0
- package/build/esm/structure/io/binary/internals/MapSerializer.js +107 -0
- package/build/esm/structure/io/binary/internals/MarkerSerializer.d.ts +17 -0
- package/build/esm/structure/io/binary/internals/MarkerSerializer.js +56 -0
- package/build/esm/structure/io/binary/internals/NumberSerializationStrategy.d.ts +6 -0
- package/build/esm/structure/io/binary/internals/NumberSerializationStrategy.js +89 -0
- package/build/esm/structure/io/binary/internals/PathSerializer.d.ts +22 -0
- package/build/esm/structure/io/binary/internals/PathSerializer.js +85 -0
- 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 +22 -0
- package/build/esm/structure/io/binary/internals/PropertySerializer.js +90 -0
- package/build/esm/structure/io/binary/internals/SetSerializer.d.ts +22 -0
- package/build/esm/structure/io/binary/internals/SetSerializer.js +101 -0
- package/build/esm/structure/io/binary/internals/ShortSerializer.d.ts +19 -0
- package/build/esm/structure/io/binary/internals/ShortSerializer.js +74 -0
- 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 +21 -0
- package/build/esm/structure/io/binary/internals/StringSerializer.js +85 -0
- package/build/esm/structure/io/binary/internals/StubSerializer.d.ts +7 -0
- package/{.prettierrc.js → build/esm/structure/io/binary/internals/StubSerializer.js} +12 -11
- 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 +13 -0
- package/build/esm/structure/io/binary/internals/UnspecifiedNullSerializer.js +44 -0
- package/build/esm/structure/io/binary/internals/UuidSerializer.d.ts +19 -0
- package/build/esm/structure/io/binary/internals/UuidSerializer.js +90 -0
- package/build/esm/structure/io/binary/internals/VertexPropertySerializer.d.ts +22 -0
- package/build/esm/structure/io/binary/internals/VertexPropertySerializer.js +102 -0
- package/build/esm/structure/io/binary/internals/VertexSerializer.d.ts +22 -0
- package/build/esm/structure/io/binary/internals/VertexSerializer.js +98 -0
- package/build/esm/structure/io/binary/internals/utils.d.ts +6 -0
- package/{lib → build/esm}/structure/io/binary/internals/utils.js +23 -35
- package/build/esm/utils.d.ts +78 -0
- package/build/esm/utils.js +237 -0
- package/package.json +71 -26
- package/.nvmrc +0 -1
- package/NOTICE +0 -5
- package/doc/AnonymousTraversalSource.html +0 -793
- package/doc/Authenticator.html +0 -303
- package/doc/Bytecode.html +0 -941
- package/doc/CardinalityValue.html +0 -711
- package/doc/Client.html +0 -1869
- package/doc/Connection.html +0 -1192
- package/doc/DriverRemoteConnection.html +0 -1528
- package/doc/EdgeLabelVerificationStrategy.html +0 -238
- package/doc/Graph.html +0 -343
- package/doc/GraphSON2Reader.html +0 -407
- package/doc/GraphSON2Writer.html +0 -558
- package/doc/GraphSON3Reader.html +0 -170
- package/doc/GraphSON3Writer.html +0 -170
- package/doc/GraphTraversal.html +0 -22974
- package/doc/GraphTraversalSource.html +0 -3683
- package/doc/HaltedTraverserStrategy.html +0 -215
- package/doc/MatchAlgorithmStrategy.html +0 -210
- package/doc/P.html +0 -2020
- package/doc/PartitionStrategy.html +0 -387
- package/doc/Path.html +0 -242
- package/doc/PlainTextSaslAuthenticator.html +0 -456
- package/doc/ProductiveByStrategy.html +0 -258
- package/doc/RemoteConnection.html +0 -1086
- package/doc/RemoteStrategy.html +0 -307
- package/doc/RemoteTraversal.html +0 -170
- package/doc/ReservedKeysVerificationStrategy.html +0 -261
- package/doc/ResponseError.html +0 -360
- package/doc/ResultSet.html +0 -633
- package/doc/SaslAuthenticator.html +0 -455
- package/doc/SaslMechanismBase.html +0 -506
- package/doc/SaslMechanismPlain.html +0 -925
- package/doc/SeedStrategy.html +0 -288
- package/doc/SubgraphStrategy.html +0 -387
- package/doc/TextP.html +0 -1440
- package/doc/Transaction.html +0 -655
- package/doc/Translator.html +0 -527
- package/doc/TraversalStrategies.html +0 -652
- package/doc/TraversalStrategy.html +0 -393
- package/doc/TypeSerializer.html +0 -166
- package/doc/driver_auth_authenticator.js.html +0 -89
- package/doc/driver_auth_mechanisms_sasl-mechanism-base.js.html +0 -103
- package/doc/driver_auth_mechanisms_sasl-mechanism-plain.js.html +0 -157
- package/doc/driver_auth_plain-text-sasl-authenticator.js.html +0 -106
- package/doc/driver_auth_sasl-authenticator.js.html +0 -100
- package/doc/driver_client.js.html +0 -250
- package/doc/driver_connection.js.html +0 -518
- package/doc/driver_driver-remote-connection.js.html +0 -193
- package/doc/driver_remote-connection.js.html +0 -198
- package/doc/driver_response-error.js.html +0 -98
- package/doc/driver_result-set.js.html +0 -134
- package/doc/fonts/OpenSans-Bold-webfont.eot +0 -0
- package/doc/fonts/OpenSans-Bold-webfont.svg +0 -1830
- package/doc/fonts/OpenSans-Bold-webfont.woff +0 -0
- package/doc/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
- package/doc/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
- package/doc/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
- package/doc/fonts/OpenSans-Italic-webfont.eot +0 -0
- package/doc/fonts/OpenSans-Italic-webfont.svg +0 -1830
- package/doc/fonts/OpenSans-Italic-webfont.woff +0 -0
- package/doc/fonts/OpenSans-Light-webfont.eot +0 -0
- package/doc/fonts/OpenSans-Light-webfont.svg +0 -1831
- package/doc/fonts/OpenSans-Light-webfont.woff +0 -0
- package/doc/fonts/OpenSans-LightItalic-webfont.eot +0 -0
- package/doc/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
- package/doc/fonts/OpenSans-LightItalic-webfont.woff +0 -0
- package/doc/fonts/OpenSans-Regular-webfont.eot +0 -0
- package/doc/fonts/OpenSans-Regular-webfont.svg +0 -1831
- package/doc/fonts/OpenSans-Regular-webfont.woff +0 -0
- package/doc/global.html +0 -728
- package/doc/index.html +0 -185
- package/doc/module.exports.html +0 -301
- package/doc/process_anonymous-traversal.js.html +0 -138
- package/doc/process_bytecode.js.html +0 -175
- package/doc/process_graph-traversal.js.html +0 -1936
- package/doc/process_transaction.js.html +0 -151
- package/doc/process_translator.js.html +0 -172
- package/doc/process_traversal-strategy.js.html +0 -466
- package/doc/process_traversal.js.html +0 -592
- package/doc/scripts/linenumber.js +0 -25
- package/doc/scripts/prettify/Apache-License-2.0.txt +0 -202
- package/doc/scripts/prettify/lang-css.js +0 -2
- package/doc/scripts/prettify/prettify.js +0 -28
- package/doc/structure_graph.js.html +0 -233
- package/doc/structure_io_binary_internals_DataType.js.html +0 -151
- package/doc/structure_io_binary_internals_GraphBinaryReader.js.html +0 -133
- package/doc/structure_io_binary_internals_GraphBinaryWriter.js.html +0 -136
- package/doc/structure_io_graph-serializer.js.html +0 -354
- package/doc/structure_io_type-serializers.js.html +0 -617
- package/doc/styles/jsdoc-default.css +0 -358
- package/doc/styles/prettify-jsdoc.css +0 -111
- package/doc/styles/prettify-tomorrow.css +0 -132
- package/doc/utils.js.html +0 -181
- package/docker-compose.yml +0 -76
- package/eslint.config.mjs +0 -143
- package/lib/driver/auth/mechanisms/sasl-mechanism-plain.js +0 -106
- package/lib/driver/auth/plain-text-sasl-authenticator.js +0 -55
- package/lib/driver/auth/sasl-authenticator.js +0 -49
- package/lib/driver/client.js +0 -199
- package/lib/driver/connection.js +0 -467
- package/lib/driver/driver-remote-connection.js +0 -142
- package/lib/driver/remote-connection.js +0 -147
- package/lib/driver/result-set.js +0 -83
- package/lib/process/anonymous-traversal.js +0 -87
- package/lib/process/bytecode.js +0 -124
- package/lib/process/graph-traversal.js +0 -1885
- package/lib/process/transaction.js +0 -100
- package/lib/process/translator.js +0 -121
- package/lib/process/traversal-strategy.js +0 -415
- package/lib/process/traversal.js +0 -541
- package/lib/structure/graph.js +0 -182
- package/lib/structure/io/binary/GraphBinary.js +0 -110
- package/lib/structure/io/binary/internals/AnySerializer.js +0 -100
- package/lib/structure/io/binary/internals/ArraySerializer.js +0 -137
- package/lib/structure/io/binary/internals/BigIntegerSerializer.js +0 -153
- package/lib/structure/io/binary/internals/BooleanSerializer.js +0 -105
- package/lib/structure/io/binary/internals/BulkSetSerializer.js +0 -126
- package/lib/structure/io/binary/internals/ByteBufferSerializer.js +0 -126
- package/lib/structure/io/binary/internals/ByteSerializer.js +0 -97
- package/lib/structure/io/binary/internals/BytecodeSerializer.js +0 -250
- package/lib/structure/io/binary/internals/ClassSerializer.js +0 -60
- package/lib/structure/io/binary/internals/DataType.js +0 -100
- package/lib/structure/io/binary/internals/DateSerializer.js +0 -105
- package/lib/structure/io/binary/internals/DoubleSerializer.js +0 -101
- package/lib/structure/io/binary/internals/EdgeSerializer.js +0 -216
- package/lib/structure/io/binary/internals/EnumSerializer.js +0 -152
- package/lib/structure/io/binary/internals/FloatSerializer.js +0 -101
- package/lib/structure/io/binary/internals/GraphBinaryReader.js +0 -82
- package/lib/structure/io/binary/internals/GraphBinaryWriter.js +0 -85
- package/lib/structure/io/binary/internals/IntSerializer.js +0 -114
- package/lib/structure/io/binary/internals/LambdaSerializer.js +0 -71
- package/lib/structure/io/binary/internals/LongSerializer.js +0 -109
- package/lib/structure/io/binary/internals/LongSerializerNg.js +0 -104
- package/lib/structure/io/binary/internals/MapSerializer.js +0 -155
- package/lib/structure/io/binary/internals/NumberSerializationStrategy.js +0 -73
- package/lib/structure/io/binary/internals/OffsetDateTimeSerializer.js +0 -151
- package/lib/structure/io/binary/internals/PSerializer.js +0 -152
- package/lib/structure/io/binary/internals/PathSerializer.js +0 -124
- package/lib/structure/io/binary/internals/PropertySerializer.js +0 -142
- package/lib/structure/io/binary/internals/SetSerializer.js +0 -134
- package/lib/structure/io/binary/internals/ShortSerializer.js +0 -101
- package/lib/structure/io/binary/internals/StringSerializer.js +0 -116
- package/lib/structure/io/binary/internals/TextPSerializer.js +0 -146
- package/lib/structure/io/binary/internals/TraversalStrategySerializer.js +0 -69
- package/lib/structure/io/binary/internals/TraverserSerializer.js +0 -124
- package/lib/structure/io/binary/internals/UnspecifiedNullSerializer.js +0 -77
- package/lib/structure/io/binary/internals/UuidSerializer.js +0 -121
- package/lib/structure/io/binary/internals/VertexPropertySerializer.js +0 -176
- package/lib/structure/io/binary/internals/VertexSerializer.js +0 -139
- package/lib/structure/io/graph-serializer.js +0 -303
- package/lib/structure/io/type-serializers.js +0 -566
- package/lib/utils.js +0 -130
|
@@ -0,0 +1,93 @@
|
|
|
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
|
+
/**
|
|
22
|
+
* @author Igor Ostapenko
|
|
23
|
+
*/
|
|
24
|
+
const buffer_1 = require("node:buffer");
|
|
25
|
+
const graph_js_1 = require("../../../graph.cjs");
|
|
26
|
+
class PropertySerializer {
|
|
27
|
+
constructor(ioc) {
|
|
28
|
+
this.ioc = ioc;
|
|
29
|
+
this.ioc.serializers[ioc.DataType.PROPERTY] = this;
|
|
30
|
+
}
|
|
31
|
+
canBeUsedFor(value) {
|
|
32
|
+
return value instanceof graph_js_1.Property;
|
|
33
|
+
}
|
|
34
|
+
serialize(item, fullyQualifiedFormat = true) {
|
|
35
|
+
if (item === undefined || item === null) {
|
|
36
|
+
if (fullyQualifiedFormat) {
|
|
37
|
+
return buffer_1.Buffer.from([this.ioc.DataType.PROPERTY, 0x01]);
|
|
38
|
+
}
|
|
39
|
+
return buffer_1.Buffer.concat([
|
|
40
|
+
this.ioc.stringSerializer.serialize('', false), // {key}=''
|
|
41
|
+
this.ioc.unspecifiedNullSerializer.serialize(null), // {value}=null
|
|
42
|
+
this.ioc.unspecifiedNullSerializer.serialize(null), // {parent}=null
|
|
43
|
+
]);
|
|
44
|
+
}
|
|
45
|
+
const bufs = [];
|
|
46
|
+
if (fullyQualifiedFormat) {
|
|
47
|
+
bufs.push(buffer_1.Buffer.from([this.ioc.DataType.PROPERTY, 0x00]));
|
|
48
|
+
}
|
|
49
|
+
// {key}
|
|
50
|
+
bufs.push(this.ioc.stringSerializer.serialize(item.key, false));
|
|
51
|
+
// {value}
|
|
52
|
+
bufs.push(this.ioc.anySerializer.serialize(item.value));
|
|
53
|
+
// {parent}
|
|
54
|
+
bufs.push(this.ioc.unspecifiedNullSerializer.serialize(null));
|
|
55
|
+
return buffer_1.Buffer.concat(bufs);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Async deserialization of property value bytes from a StreamReader.
|
|
59
|
+
* @param {StreamReader} reader
|
|
60
|
+
* @param {number} valueFlag
|
|
61
|
+
* @param {number} typeCode
|
|
62
|
+
* @returns {Promise<Property>}
|
|
63
|
+
*/
|
|
64
|
+
async deserializeValue(reader, valueFlag, typeCode) {
|
|
65
|
+
// {key} bare string (length + text_value)
|
|
66
|
+
const key = await this.ioc.stringSerializer.deserializeValue(reader, 0x00, typeCode);
|
|
67
|
+
// {value} fully qualified
|
|
68
|
+
const value = await this.ioc.anySerializer.deserialize(reader);
|
|
69
|
+
// {parent} fully qualified (always null in current TinkerPop)
|
|
70
|
+
await this.ioc.anySerializer.deserialize(reader);
|
|
71
|
+
return new graph_js_1.Property(key, value);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Async fully-qualified deserialization from a StreamReader.
|
|
75
|
+
* @param {StreamReader} reader
|
|
76
|
+
* @returns {Promise<Property|null>}
|
|
77
|
+
*/
|
|
78
|
+
async deserialize(reader) {
|
|
79
|
+
const type_code = await reader.readUInt8();
|
|
80
|
+
if (type_code !== this.ioc.DataType.PROPERTY) {
|
|
81
|
+
throw new Error(`PropertySerializer: unexpected {type_code}=0x${type_code.toString(16)}`);
|
|
82
|
+
}
|
|
83
|
+
const value_flag = await reader.readUInt8();
|
|
84
|
+
if (value_flag === 0x01) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
if (value_flag !== 0x00) {
|
|
88
|
+
throw new Error(`PropertySerializer: unexpected {value_flag}=0x${value_flag.toString(16)}`);
|
|
89
|
+
}
|
|
90
|
+
return this.deserializeValue(reader, value_flag, type_code);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.default = PropertySerializer;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export default class PropertySerializer {
|
|
2
|
+
constructor(ioc: any);
|
|
3
|
+
ioc: any;
|
|
4
|
+
canBeUsedFor(value: any): value is Property<any>;
|
|
5
|
+
serialize(item: any, fullyQualifiedFormat?: boolean): Buffer<ArrayBuffer>;
|
|
6
|
+
/**
|
|
7
|
+
* Async deserialization of property value bytes from a StreamReader.
|
|
8
|
+
* @param {StreamReader} reader
|
|
9
|
+
* @param {number} valueFlag
|
|
10
|
+
* @param {number} typeCode
|
|
11
|
+
* @returns {Promise<Property>}
|
|
12
|
+
*/
|
|
13
|
+
deserializeValue(reader: StreamReader, valueFlag: number, typeCode: number): Promise<Property>;
|
|
14
|
+
/**
|
|
15
|
+
* Async fully-qualified deserialization from a StreamReader.
|
|
16
|
+
* @param {StreamReader} reader
|
|
17
|
+
* @returns {Promise<Property|null>}
|
|
18
|
+
*/
|
|
19
|
+
deserialize(reader: StreamReader): Promise<Property | null>;
|
|
20
|
+
}
|
|
21
|
+
import { Property } from '../../../graph.cjs';
|
|
22
|
+
import { Buffer } from 'buffer';
|
|
@@ -0,0 +1,104 @@
|
|
|
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
|
+
/**
|
|
22
|
+
* @author Igor Ostapenko
|
|
23
|
+
*/
|
|
24
|
+
const buffer_1 = require("node:buffer");
|
|
25
|
+
class SetSerializer {
|
|
26
|
+
constructor(ioc, ID) {
|
|
27
|
+
this.ioc = ioc;
|
|
28
|
+
this.ID = ID;
|
|
29
|
+
this.ioc.serializers[ID] = this;
|
|
30
|
+
}
|
|
31
|
+
canBeUsedFor(value) {
|
|
32
|
+
return value instanceof Set;
|
|
33
|
+
}
|
|
34
|
+
serialize(item, fullyQualifiedFormat = true) {
|
|
35
|
+
if (item === undefined || item === null) {
|
|
36
|
+
if (fullyQualifiedFormat) {
|
|
37
|
+
return buffer_1.Buffer.from([this.ID, 0x01]);
|
|
38
|
+
}
|
|
39
|
+
return buffer_1.Buffer.from([0x00, 0x00, 0x00, 0x00]); // {length} = 0
|
|
40
|
+
}
|
|
41
|
+
const bufs = [];
|
|
42
|
+
if (fullyQualifiedFormat) {
|
|
43
|
+
bufs.push(buffer_1.Buffer.from([this.ID, 0x00]));
|
|
44
|
+
}
|
|
45
|
+
// {length}
|
|
46
|
+
let length = item.size;
|
|
47
|
+
if (length < 0) {
|
|
48
|
+
length = 0;
|
|
49
|
+
}
|
|
50
|
+
if (length > this.ioc.intSerializer.INT32_MAX) {
|
|
51
|
+
throw new Error(`Set length=${length} is greater than supported max_length=${this.ioc.intSerializer.INT32_MAX}.`);
|
|
52
|
+
}
|
|
53
|
+
bufs.push(this.ioc.intSerializer.serialize(length, false));
|
|
54
|
+
// {item_0}...{item_n}
|
|
55
|
+
for (const i of item) {
|
|
56
|
+
bufs.push(this.ioc.anySerializer.serialize(i));
|
|
57
|
+
}
|
|
58
|
+
return buffer_1.Buffer.concat(bufs);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Async deserialization of set value bytes from a StreamReader.
|
|
62
|
+
* @param {StreamReader} reader
|
|
63
|
+
* @param {number} valueFlag - 0x00 for normal, 0x02 for bulked
|
|
64
|
+
* @param {number} typeCode
|
|
65
|
+
* @returns {Promise<Set>}
|
|
66
|
+
*/
|
|
67
|
+
async deserializeValue(reader, valueFlag, typeCode) {
|
|
68
|
+
const isBulked = valueFlag === 0x02;
|
|
69
|
+
const length = await this.ioc.intSerializer.deserializeBare(reader);
|
|
70
|
+
if (length < 0) {
|
|
71
|
+
throw new Error(`SetSerializer: {length}=${length} is less than zero`);
|
|
72
|
+
}
|
|
73
|
+
const v = new Set();
|
|
74
|
+
for (let i = 0; i < length; i++) {
|
|
75
|
+
const value = await this.ioc.anySerializer.deserialize(reader);
|
|
76
|
+
if (isBulked) {
|
|
77
|
+
// consume the bulk count; Set.add is idempotent so count doesn't matter
|
|
78
|
+
await reader.readBigInt64BE();
|
|
79
|
+
}
|
|
80
|
+
v.add(value);
|
|
81
|
+
}
|
|
82
|
+
return v;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Async fully-qualified deserialization from a StreamReader.
|
|
86
|
+
* @param {StreamReader} reader
|
|
87
|
+
* @returns {Promise<Set|null>}
|
|
88
|
+
*/
|
|
89
|
+
async deserialize(reader) {
|
|
90
|
+
const type_code = await reader.readUInt8();
|
|
91
|
+
if (type_code !== this.ID) {
|
|
92
|
+
throw new Error(`SetSerializer: unexpected {type_code}=0x${type_code.toString(16)}`);
|
|
93
|
+
}
|
|
94
|
+
const value_flag = await reader.readUInt8();
|
|
95
|
+
if (value_flag === 0x01) {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
if (value_flag !== 0x00 && value_flag !== 0x02) {
|
|
99
|
+
throw new Error(`SetSerializer: unexpected {value_flag}=0x${value_flag.toString(16)}`);
|
|
100
|
+
}
|
|
101
|
+
return this.deserializeValue(reader, value_flag, type_code);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.default = SetSerializer;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export default class SetSerializer {
|
|
2
|
+
constructor(ioc: any, ID: any);
|
|
3
|
+
ioc: any;
|
|
4
|
+
ID: any;
|
|
5
|
+
canBeUsedFor(value: any): value is Set<any>;
|
|
6
|
+
serialize(item: any, fullyQualifiedFormat?: boolean): Buffer<ArrayBuffer>;
|
|
7
|
+
/**
|
|
8
|
+
* Async deserialization of set value bytes from a StreamReader.
|
|
9
|
+
* @param {StreamReader} reader
|
|
10
|
+
* @param {number} valueFlag - 0x00 for normal, 0x02 for bulked
|
|
11
|
+
* @param {number} typeCode
|
|
12
|
+
* @returns {Promise<Set>}
|
|
13
|
+
*/
|
|
14
|
+
deserializeValue(reader: StreamReader, valueFlag: number, typeCode: number): Promise<Set<any>>;
|
|
15
|
+
/**
|
|
16
|
+
* Async fully-qualified deserialization from a StreamReader.
|
|
17
|
+
* @param {StreamReader} reader
|
|
18
|
+
* @returns {Promise<Set|null>}
|
|
19
|
+
*/
|
|
20
|
+
deserialize(reader: StreamReader): Promise<Set<any> | null>;
|
|
21
|
+
}
|
|
22
|
+
import { Buffer } from 'buffer';
|
|
@@ -0,0 +1,77 @@
|
|
|
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
|
+
/**
|
|
22
|
+
* @author Igor Ostapenko
|
|
23
|
+
*/
|
|
24
|
+
const buffer_1 = require("node:buffer");
|
|
25
|
+
class ShortSerializer {
|
|
26
|
+
constructor(ioc) {
|
|
27
|
+
this.ioc = ioc;
|
|
28
|
+
this.ioc.serializers[ioc.DataType.SHORT] = this;
|
|
29
|
+
}
|
|
30
|
+
canBeUsedFor(value) {
|
|
31
|
+
// it's not expected to be used during serialization
|
|
32
|
+
}
|
|
33
|
+
serialize(item, fullyQualifiedFormat = true) {
|
|
34
|
+
if (item === undefined || item === null) {
|
|
35
|
+
if (fullyQualifiedFormat) {
|
|
36
|
+
return buffer_1.Buffer.from([this.ioc.DataType.SHORT, 0x01]);
|
|
37
|
+
}
|
|
38
|
+
return buffer_1.Buffer.from([0x00, 0x00]);
|
|
39
|
+
}
|
|
40
|
+
const bufs = [];
|
|
41
|
+
if (fullyQualifiedFormat) {
|
|
42
|
+
bufs.push(buffer_1.Buffer.from([this.ioc.DataType.SHORT, 0x00]));
|
|
43
|
+
}
|
|
44
|
+
const v = buffer_1.Buffer.alloc(2);
|
|
45
|
+
v.writeInt16BE(item); // TODO: what if item is not within int16 limits, for now writeInt16BE would error
|
|
46
|
+
bufs.push(v);
|
|
47
|
+
return buffer_1.Buffer.concat(bufs);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @param {StreamReader} reader
|
|
51
|
+
* @param {number} valueFlag
|
|
52
|
+
* @param {number} typeCode
|
|
53
|
+
* @returns {Promise<number>}
|
|
54
|
+
*/
|
|
55
|
+
async deserializeValue(reader, valueFlag, typeCode) {
|
|
56
|
+
return await reader.readInt16BE();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @param {StreamReader} reader
|
|
60
|
+
* @returns {Promise<number|null>}
|
|
61
|
+
*/
|
|
62
|
+
async deserialize(reader) {
|
|
63
|
+
const type_code = await reader.readUInt8();
|
|
64
|
+
if (type_code !== this.ioc.DataType.SHORT) {
|
|
65
|
+
throw new Error(`ShortSerializer: unexpected {type_code}=0x${type_code.toString(16)}`);
|
|
66
|
+
}
|
|
67
|
+
const value_flag = await reader.readUInt8();
|
|
68
|
+
if (value_flag === 0x01) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
if (value_flag !== 0x00) {
|
|
72
|
+
throw new Error(`ShortSerializer: unexpected {value_flag}=0x${value_flag.toString(16)}`);
|
|
73
|
+
}
|
|
74
|
+
return this.deserializeValue(reader, value_flag, type_code);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.default = ShortSerializer;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default class ShortSerializer {
|
|
2
|
+
constructor(ioc: any);
|
|
3
|
+
ioc: any;
|
|
4
|
+
canBeUsedFor(value: any): void;
|
|
5
|
+
serialize(item: any, fullyQualifiedFormat?: boolean): Buffer<ArrayBuffer>;
|
|
6
|
+
/**
|
|
7
|
+
* @param {StreamReader} reader
|
|
8
|
+
* @param {number} valueFlag
|
|
9
|
+
* @param {number} typeCode
|
|
10
|
+
* @returns {Promise<number>}
|
|
11
|
+
*/
|
|
12
|
+
deserializeValue(reader: StreamReader, valueFlag: number, typeCode: number): Promise<number>;
|
|
13
|
+
/**
|
|
14
|
+
* @param {StreamReader} reader
|
|
15
|
+
* @returns {Promise<number|null>}
|
|
16
|
+
*/
|
|
17
|
+
deserialize(reader: StreamReader): Promise<number | null>;
|
|
18
|
+
}
|
|
19
|
+
import { Buffer } from 'buffer';
|
|
@@ -0,0 +1,184 @@
|
|
|
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
|
+
/**
|
|
23
|
+
* Async byte reader that provides a uniform interface over both a complete Buffer
|
|
24
|
+
* (for non-streaming submit()) and a ReadableStream (for streaming HTTP responses).
|
|
25
|
+
*
|
|
26
|
+
* Handles chunk boundaries transparently and blocks (awaits) until the requested bytes are available.
|
|
27
|
+
*/
|
|
28
|
+
class StreamReader {
|
|
29
|
+
/** @type {Buffer} */
|
|
30
|
+
#buffer;
|
|
31
|
+
/** @type {number} */
|
|
32
|
+
#offset;
|
|
33
|
+
/** @type {ReadableStreamDefaultReader|null} */
|
|
34
|
+
#reader;
|
|
35
|
+
/** @type {number} Total bytes consumed (monotonically increasing, survives chunk reassembly) */
|
|
36
|
+
#position;
|
|
37
|
+
/**
|
|
38
|
+
* @param {Buffer} initialBuffer
|
|
39
|
+
* @param {ReadableStreamDefaultReader|null} reader
|
|
40
|
+
*/
|
|
41
|
+
constructor(initialBuffer, reader) {
|
|
42
|
+
this.#buffer = initialBuffer;
|
|
43
|
+
this.#offset = 0;
|
|
44
|
+
this.#reader = reader;
|
|
45
|
+
this.#position = 0;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Create a StreamReader backed by a complete Buffer.
|
|
49
|
+
* All reads are satisfied from the buffer; no async I/O occurs.
|
|
50
|
+
* @param {Buffer} buffer
|
|
51
|
+
* @returns {StreamReader}
|
|
52
|
+
*/
|
|
53
|
+
static fromBuffer(buffer) {
|
|
54
|
+
return new StreamReader(buffer, null);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create a StreamReader backed by a ReadableStream (e.g. fetch response.body).
|
|
58
|
+
* Reads pull chunks from the stream as needed.
|
|
59
|
+
* @param {ReadableStream} readableStream
|
|
60
|
+
* @returns {StreamReader}
|
|
61
|
+
*/
|
|
62
|
+
static fromReadableStream(readableStream) {
|
|
63
|
+
return new StreamReader(buffer_1.Buffer.alloc(0), readableStream.getReader());
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Ensure at least `n` bytes are available in the buffer from the current offset.
|
|
67
|
+
* For buffer-backed readers this is a bounds check. For stream-backed readers
|
|
68
|
+
* this pulls chunks until enough data is buffered.
|
|
69
|
+
* @param {number} n
|
|
70
|
+
*/
|
|
71
|
+
async #ensure(n) {
|
|
72
|
+
const available = this.#buffer.length - this.#offset;
|
|
73
|
+
if (available >= n) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (this.#reader === null) {
|
|
77
|
+
throw new Error(`Unexpected end of buffer at position ${this.#position}: needed ${n} bytes, ${available} available`);
|
|
78
|
+
}
|
|
79
|
+
// Collect chunks until we have enough
|
|
80
|
+
const chunks = [this.#buffer.subarray(this.#offset)];
|
|
81
|
+
let total = available;
|
|
82
|
+
while (total < n) {
|
|
83
|
+
const { value, done } = await this.#reader.read();
|
|
84
|
+
if (done) {
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
const chunk = buffer_1.Buffer.isBuffer(value) ? value : buffer_1.Buffer.from(value);
|
|
88
|
+
chunks.push(chunk);
|
|
89
|
+
total += chunk.length;
|
|
90
|
+
}
|
|
91
|
+
if (total < n) {
|
|
92
|
+
throw new Error(`Unexpected end of stream at position ${this.#position}: needed ${n} bytes, ${total} available`);
|
|
93
|
+
}
|
|
94
|
+
this.#buffer = buffer_1.Buffer.concat(chunks);
|
|
95
|
+
this.#offset = 0;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Total number of bytes consumed so far (monotonically increasing).
|
|
99
|
+
* Useful for error diagnostics.
|
|
100
|
+
* @returns {number}
|
|
101
|
+
*/
|
|
102
|
+
get position() {
|
|
103
|
+
return this.#position;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Read exactly `n` bytes and return them as a Buffer.
|
|
107
|
+
* @param {number} n
|
|
108
|
+
* @returns {Promise<Buffer>}
|
|
109
|
+
*/
|
|
110
|
+
async readBytes(n) {
|
|
111
|
+
await this.#ensure(n);
|
|
112
|
+
const result = this.#buffer.subarray(this.#offset, this.#offset + n);
|
|
113
|
+
this.#offset += n;
|
|
114
|
+
this.#position += n;
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* @returns {Promise<number>} unsigned 8-bit integer
|
|
119
|
+
*/
|
|
120
|
+
async readUInt8() {
|
|
121
|
+
await this.#ensure(1);
|
|
122
|
+
this.#position++;
|
|
123
|
+
return this.#buffer[this.#offset++];
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* @returns {Promise<number>} signed 8-bit integer
|
|
127
|
+
*/
|
|
128
|
+
async readByte() {
|
|
129
|
+
await this.#ensure(1);
|
|
130
|
+
this.#position++;
|
|
131
|
+
return this.#buffer.readInt8(this.#offset++);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* @returns {Promise<number>} signed 16-bit big-endian integer
|
|
135
|
+
*/
|
|
136
|
+
async readInt16BE() {
|
|
137
|
+
await this.#ensure(2);
|
|
138
|
+
const v = this.#buffer.readInt16BE(this.#offset);
|
|
139
|
+
this.#offset += 2;
|
|
140
|
+
this.#position += 2;
|
|
141
|
+
return v;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* @returns {Promise<number>} signed 32-bit big-endian integer
|
|
145
|
+
*/
|
|
146
|
+
async readInt32BE() {
|
|
147
|
+
await this.#ensure(4);
|
|
148
|
+
const v = this.#buffer.readInt32BE(this.#offset);
|
|
149
|
+
this.#offset += 4;
|
|
150
|
+
this.#position += 4;
|
|
151
|
+
return v;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* @returns {Promise<bigint>} signed 64-bit big-endian integer
|
|
155
|
+
*/
|
|
156
|
+
async readBigInt64BE() {
|
|
157
|
+
await this.#ensure(8);
|
|
158
|
+
const v = this.#buffer.readBigInt64BE(this.#offset);
|
|
159
|
+
this.#offset += 8;
|
|
160
|
+
this.#position += 8;
|
|
161
|
+
return v;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* @returns {Promise<number>} 32-bit big-endian float
|
|
165
|
+
*/
|
|
166
|
+
async readFloatBE() {
|
|
167
|
+
await this.#ensure(4);
|
|
168
|
+
const v = this.#buffer.readFloatBE(this.#offset);
|
|
169
|
+
this.#offset += 4;
|
|
170
|
+
this.#position += 4;
|
|
171
|
+
return v;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* @returns {Promise<number>} 64-bit big-endian double
|
|
175
|
+
*/
|
|
176
|
+
async readDoubleBE() {
|
|
177
|
+
await this.#ensure(8);
|
|
178
|
+
const v = this.#buffer.readDoubleBE(this.#offset);
|
|
179
|
+
this.#offset += 8;
|
|
180
|
+
this.#position += 8;
|
|
181
|
+
return v;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
exports.default = StreamReader;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Async byte reader that provides a uniform interface over both a complete Buffer
|
|
3
|
+
* (for non-streaming submit()) and a ReadableStream (for streaming HTTP responses).
|
|
4
|
+
*
|
|
5
|
+
* Handles chunk boundaries transparently and blocks (awaits) until the requested bytes are available.
|
|
6
|
+
*/
|
|
7
|
+
export default class StreamReader {
|
|
8
|
+
/**
|
|
9
|
+
* Create a StreamReader backed by a complete Buffer.
|
|
10
|
+
* All reads are satisfied from the buffer; no async I/O occurs.
|
|
11
|
+
* @param {Buffer} buffer
|
|
12
|
+
* @returns {StreamReader}
|
|
13
|
+
*/
|
|
14
|
+
static fromBuffer(buffer: Buffer): StreamReader;
|
|
15
|
+
/**
|
|
16
|
+
* Create a StreamReader backed by a ReadableStream (e.g. fetch response.body).
|
|
17
|
+
* Reads pull chunks from the stream as needed.
|
|
18
|
+
* @param {ReadableStream} readableStream
|
|
19
|
+
* @returns {StreamReader}
|
|
20
|
+
*/
|
|
21
|
+
static fromReadableStream(readableStream: ReadableStream): StreamReader;
|
|
22
|
+
/**
|
|
23
|
+
* @param {Buffer} initialBuffer
|
|
24
|
+
* @param {ReadableStreamDefaultReader|null} reader
|
|
25
|
+
*/
|
|
26
|
+
constructor(initialBuffer: Buffer, reader: ReadableStreamDefaultReader | null);
|
|
27
|
+
/**
|
|
28
|
+
* Total number of bytes consumed so far (monotonically increasing).
|
|
29
|
+
* Useful for error diagnostics.
|
|
30
|
+
* @returns {number}
|
|
31
|
+
*/
|
|
32
|
+
get position(): number;
|
|
33
|
+
/**
|
|
34
|
+
* Read exactly `n` bytes and return them as a Buffer.
|
|
35
|
+
* @param {number} n
|
|
36
|
+
* @returns {Promise<Buffer>}
|
|
37
|
+
*/
|
|
38
|
+
readBytes(n: number): Promise<Buffer>;
|
|
39
|
+
/**
|
|
40
|
+
* @returns {Promise<number>} unsigned 8-bit integer
|
|
41
|
+
*/
|
|
42
|
+
readUInt8(): Promise<number>;
|
|
43
|
+
/**
|
|
44
|
+
* @returns {Promise<number>} signed 8-bit integer
|
|
45
|
+
*/
|
|
46
|
+
readByte(): Promise<number>;
|
|
47
|
+
/**
|
|
48
|
+
* @returns {Promise<number>} signed 16-bit big-endian integer
|
|
49
|
+
*/
|
|
50
|
+
readInt16BE(): Promise<number>;
|
|
51
|
+
/**
|
|
52
|
+
* @returns {Promise<number>} signed 32-bit big-endian integer
|
|
53
|
+
*/
|
|
54
|
+
readInt32BE(): Promise<number>;
|
|
55
|
+
/**
|
|
56
|
+
* @returns {Promise<bigint>} signed 64-bit big-endian integer
|
|
57
|
+
*/
|
|
58
|
+
readBigInt64BE(): Promise<bigint>;
|
|
59
|
+
/**
|
|
60
|
+
* @returns {Promise<number>} 32-bit big-endian float
|
|
61
|
+
*/
|
|
62
|
+
readFloatBE(): Promise<number>;
|
|
63
|
+
/**
|
|
64
|
+
* @returns {Promise<number>} 64-bit big-endian double
|
|
65
|
+
*/
|
|
66
|
+
readDoubleBE(): Promise<number>;
|
|
67
|
+
#private;
|
|
68
|
+
}
|
|
69
|
+
import { Buffer } from 'buffer';
|
|
@@ -0,0 +1,88 @@
|
|
|
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
|
+
/**
|
|
22
|
+
* @author Igor Ostapenko
|
|
23
|
+
*/
|
|
24
|
+
const buffer_1 = require("node:buffer");
|
|
25
|
+
class StringSerializer {
|
|
26
|
+
constructor(ioc, ID) {
|
|
27
|
+
this.ioc = ioc;
|
|
28
|
+
this.ID = ID;
|
|
29
|
+
this.ioc.serializers[ID] = this;
|
|
30
|
+
}
|
|
31
|
+
canBeUsedFor(value) {
|
|
32
|
+
return typeof value === 'string';
|
|
33
|
+
}
|
|
34
|
+
serialize(item, fullyQualifiedFormat = true) {
|
|
35
|
+
if (item === undefined || item === null) {
|
|
36
|
+
if (fullyQualifiedFormat) {
|
|
37
|
+
return buffer_1.Buffer.from([this.ID, 0x01]);
|
|
38
|
+
}
|
|
39
|
+
return this.ioc.intSerializer.serialize(0, false);
|
|
40
|
+
}
|
|
41
|
+
const bufs = [];
|
|
42
|
+
if (fullyQualifiedFormat) {
|
|
43
|
+
bufs.push(buffer_1.Buffer.from([this.ID, 0x00]));
|
|
44
|
+
}
|
|
45
|
+
const v = buffer_1.Buffer.from(String(item), 'utf8');
|
|
46
|
+
bufs.push(this.ioc.intSerializer.serialize(v.length, false)); // TODO: what if len > INT32_MAX, for now it's backed by logic of IntSerializer.serialize itself
|
|
47
|
+
bufs.push(v);
|
|
48
|
+
return buffer_1.Buffer.concat(bufs);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Read the string value bytes from the StreamReader (length + text_value).
|
|
52
|
+
* @param {StreamReader} reader
|
|
53
|
+
* @param {number} valueFlag
|
|
54
|
+
* @param {number} typeCode
|
|
55
|
+
* @returns {Promise<string>}
|
|
56
|
+
*/
|
|
57
|
+
async deserializeValue(reader, valueFlag, typeCode) {
|
|
58
|
+
const length = await this.ioc.intSerializer.deserializeBare(reader);
|
|
59
|
+
if (length < 0) {
|
|
60
|
+
throw new Error(`StringSerializer: {length}=${length} is less than zero`);
|
|
61
|
+
}
|
|
62
|
+
if (length === 0) {
|
|
63
|
+
return '';
|
|
64
|
+
}
|
|
65
|
+
const bytes = await reader.readBytes(length);
|
|
66
|
+
return bytes.toString('utf8');
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Read a fully-qualified string from the StreamReader.
|
|
70
|
+
* @param {StreamReader} reader
|
|
71
|
+
* @returns {Promise<string|null>}
|
|
72
|
+
*/
|
|
73
|
+
async deserialize(reader) {
|
|
74
|
+
const type_code = await reader.readUInt8();
|
|
75
|
+
if (type_code !== this.ID) {
|
|
76
|
+
throw new Error(`StringSerializer: unexpected {type_code}=0x${type_code.toString(16)}`);
|
|
77
|
+
}
|
|
78
|
+
const value_flag = await reader.readUInt8();
|
|
79
|
+
if (value_flag === 0x01) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
if (value_flag !== 0x00) {
|
|
83
|
+
throw new Error(`StringSerializer: unexpected {value_flag}=0x${value_flag.toString(16)}`);
|
|
84
|
+
}
|
|
85
|
+
return this.deserializeValue(reader, value_flag, type_code);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.default = StringSerializer;
|