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,212 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Jorge Bay Gondra
|
|
3
|
+
*/
|
|
4
|
+
import { Graph } from '../structure/graph.cjs';
|
|
5
|
+
import { TraversalStrategies } from './traversal-strategy.cjs';
|
|
6
|
+
import GremlinLang from './gremlin-lang.cjs';
|
|
7
|
+
declare const asyncIteratorSymbol: symbol;
|
|
8
|
+
export declare class Traversal {
|
|
9
|
+
/**
|
|
10
|
+
* Async iterable method implementation.
|
|
11
|
+
*/
|
|
12
|
+
[asyncIteratorSymbol]: () => this;
|
|
13
|
+
graph: Graph | null;
|
|
14
|
+
traversalStrategies: TraversalStrategies | null;
|
|
15
|
+
gremlinLang: GremlinLang;
|
|
16
|
+
/** @internal Async results stream set by RemoteStrategy */
|
|
17
|
+
_resultsStream: AsyncGenerator<any> | null;
|
|
18
|
+
/** @internal Buffered traverser for bulk expansion and hasNext peek */
|
|
19
|
+
private _currentTraverser;
|
|
20
|
+
/** Trailing response status from the server, populated after iteration completes. */
|
|
21
|
+
private _status;
|
|
22
|
+
sideEffects?: any;
|
|
23
|
+
private _traversalStrategiesPromise;
|
|
24
|
+
private _done;
|
|
25
|
+
constructor(graph: Graph | null, traversalStrategies: TraversalStrategies | null, gremlinLang?: GremlinLang);
|
|
26
|
+
/** @returns {GremlinLang} */
|
|
27
|
+
getGremlinLang(): GremlinLang;
|
|
28
|
+
/**
|
|
29
|
+
* Gets the trailing response status from the server.
|
|
30
|
+
* Available after the traversal has been fully iterated (via toList(), iterate(), or manual iteration).
|
|
31
|
+
* Returns null if the traversal has not completed.
|
|
32
|
+
* @returns {{ code: number, message: string | null, exception: string | null } | null}
|
|
33
|
+
*/
|
|
34
|
+
getStatus(): {
|
|
35
|
+
code: number;
|
|
36
|
+
message: string | null;
|
|
37
|
+
exception: string | null;
|
|
38
|
+
} | null;
|
|
39
|
+
/**
|
|
40
|
+
* Returns an Array containing the traverser objects.
|
|
41
|
+
* @returns {Promise.<Array>}
|
|
42
|
+
*/
|
|
43
|
+
toList<T>(): Promise<T[]>;
|
|
44
|
+
/**
|
|
45
|
+
* Determines if there are any more items to iterate from the traversal.
|
|
46
|
+
* @returns {Promise.<boolean>}
|
|
47
|
+
*/
|
|
48
|
+
hasNext(): Promise<boolean>;
|
|
49
|
+
/**
|
|
50
|
+
* Iterates all Traverser instances in the traversal.
|
|
51
|
+
* @returns {Promise}
|
|
52
|
+
*/
|
|
53
|
+
iterate(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Returns the next result from the traversal.
|
|
56
|
+
*
|
|
57
|
+
* When called without an argument, returns a Promise that resolves to an iterator
|
|
58
|
+
* item ({value, done}), following the async iterator protocol.
|
|
59
|
+
*
|
|
60
|
+
* When called with an amount, returns a Promise that resolves to an Array containing
|
|
61
|
+
* up to {@code amount} result values. The Array form is always used when an amount is
|
|
62
|
+
* supplied, including {@code next(1)}, which resolves to an Array of one value rather
|
|
63
|
+
* than a bare value, matching the behavior of next(n) in the other Gremlin language
|
|
64
|
+
* variants. If fewer results remain, the Array contains only those that remain, and an
|
|
65
|
+
* amount of zero or less yields an empty Array.
|
|
66
|
+
* @param {Number} [amount] The number of results to retrieve.
|
|
67
|
+
* @returns {Promise.<{value, done}>|Promise.<Array>}
|
|
68
|
+
*/
|
|
69
|
+
next<T>(): Promise<IteratorResult<T, null>>;
|
|
70
|
+
next<T>(amount: number): Promise<T[]>;
|
|
71
|
+
/**
|
|
72
|
+
* Pull the next value, handling Traverser bulk expansion.
|
|
73
|
+
* @private
|
|
74
|
+
*/
|
|
75
|
+
_getNext<T>(): Promise<IteratorResult<T, null>>;
|
|
76
|
+
_applyStrategies(): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Returns step instructions during JSON serialization
|
|
79
|
+
* @returns {Array}
|
|
80
|
+
*/
|
|
81
|
+
toJSON(): string;
|
|
82
|
+
/**
|
|
83
|
+
* Returns the GremlinLang representation of the traversal
|
|
84
|
+
* @returns {String}
|
|
85
|
+
*/
|
|
86
|
+
toString(): string;
|
|
87
|
+
}
|
|
88
|
+
export declare class IO {
|
|
89
|
+
static get graphml(): string;
|
|
90
|
+
static get graphson(): string;
|
|
91
|
+
static get gryo(): string;
|
|
92
|
+
static get reader(): string;
|
|
93
|
+
static get registry(): string;
|
|
94
|
+
static get writer(): string;
|
|
95
|
+
}
|
|
96
|
+
export declare class P<T1 = any, T2 = any> {
|
|
97
|
+
operator: string;
|
|
98
|
+
value: T1;
|
|
99
|
+
other: T2;
|
|
100
|
+
/**
|
|
101
|
+
* Represents an operation.
|
|
102
|
+
*/
|
|
103
|
+
constructor(operator: string, value: T1, other: T2);
|
|
104
|
+
/**
|
|
105
|
+
* Returns the string representation of the instance.
|
|
106
|
+
* @returns {string}
|
|
107
|
+
*/
|
|
108
|
+
toString(): string;
|
|
109
|
+
and(arg?: any): P<this, any>;
|
|
110
|
+
or(arg?: any): P<this, any>;
|
|
111
|
+
static within(...args: any[]): P<any, null>;
|
|
112
|
+
static without(...args: any[]): P<any, null>;
|
|
113
|
+
/** @param {...Object} args */
|
|
114
|
+
static between(...args: any[]): any;
|
|
115
|
+
/** @param {...Object} args */
|
|
116
|
+
static eq(...args: any[]): any;
|
|
117
|
+
/** @param {...Object} args */
|
|
118
|
+
static gt(...args: any[]): any;
|
|
119
|
+
/** @param {...Object} args */
|
|
120
|
+
static gte(...args: any[]): any;
|
|
121
|
+
/** @param {...Object} args */
|
|
122
|
+
static inside(...args: any[]): any;
|
|
123
|
+
/** @param {...Object} args */
|
|
124
|
+
static lt(...args: any[]): any;
|
|
125
|
+
/** @param {...Object} args */
|
|
126
|
+
static lte(...args: any[]): any;
|
|
127
|
+
/** @param {...Object} args */
|
|
128
|
+
static neq(...args: any[]): any;
|
|
129
|
+
/** @param {...Object} args */
|
|
130
|
+
static not(...args: any[]): any;
|
|
131
|
+
/** @param {...Object} args */
|
|
132
|
+
static outside(...args: any[]): any;
|
|
133
|
+
/** @param {...Object} args */
|
|
134
|
+
static typeOf(...args: any[]): any;
|
|
135
|
+
/** @param {...Object} args */
|
|
136
|
+
static test(...args: any[]): any;
|
|
137
|
+
}
|
|
138
|
+
export declare class TextP<T1 = any, T2 = any> {
|
|
139
|
+
operator: string;
|
|
140
|
+
value: T1;
|
|
141
|
+
other: T2;
|
|
142
|
+
/**
|
|
143
|
+
* Represents an operation.
|
|
144
|
+
*/
|
|
145
|
+
constructor(operator: string, value: T1, other: T2);
|
|
146
|
+
/**
|
|
147
|
+
* Returns the string representation of the instance.
|
|
148
|
+
* @returns {string}
|
|
149
|
+
*/
|
|
150
|
+
toString(): string;
|
|
151
|
+
and(arg: any): P<this, any>;
|
|
152
|
+
or(arg: any): P<this, any>;
|
|
153
|
+
/** @param {...Object} args */
|
|
154
|
+
static containing(...args: any[]): any;
|
|
155
|
+
/** @param {...Object} args */
|
|
156
|
+
static endingWith(...args: any[]): any;
|
|
157
|
+
/** @param {...Object} args */
|
|
158
|
+
static notContaining(...args: any[]): any;
|
|
159
|
+
/** @param {...Object} args */
|
|
160
|
+
static notEndingWith(...args: any[]): any;
|
|
161
|
+
/** @param {...Object} args */
|
|
162
|
+
static notStartingWith(...args: any[]): any;
|
|
163
|
+
/** @param {...Object} args */
|
|
164
|
+
static startingWith(...args: any[]): any;
|
|
165
|
+
/** @param {...Object} args */
|
|
166
|
+
static regex(...args: any[]): any;
|
|
167
|
+
/** @param {...Object} args */
|
|
168
|
+
static notRegex(...args: any[]): any;
|
|
169
|
+
}
|
|
170
|
+
export declare class Traverser<T = any> {
|
|
171
|
+
object: T;
|
|
172
|
+
bulk: number;
|
|
173
|
+
constructor(object: T, bulk: number);
|
|
174
|
+
}
|
|
175
|
+
export declare class TraversalSideEffects {
|
|
176
|
+
}
|
|
177
|
+
export declare const withOptions: {
|
|
178
|
+
tokens: string;
|
|
179
|
+
none: number;
|
|
180
|
+
ids: number;
|
|
181
|
+
labels: number;
|
|
182
|
+
keys: number;
|
|
183
|
+
values: number;
|
|
184
|
+
all: number;
|
|
185
|
+
indexer: string;
|
|
186
|
+
list: number;
|
|
187
|
+
map: number;
|
|
188
|
+
};
|
|
189
|
+
export declare class EnumValue {
|
|
190
|
+
typeName: string;
|
|
191
|
+
elementName: string;
|
|
192
|
+
constructor(typeName: string, elementName: string);
|
|
193
|
+
toString(): string;
|
|
194
|
+
}
|
|
195
|
+
export declare const barrier: Record<string, EnumValue>;
|
|
196
|
+
export declare const cardinality: Record<string, EnumValue>;
|
|
197
|
+
export declare const column: Record<string, EnumValue>;
|
|
198
|
+
export declare const direction: Record<string, EnumValue>;
|
|
199
|
+
export declare const dt: Record<string, EnumValue>;
|
|
200
|
+
export declare const gType: {
|
|
201
|
+
[key: string]: any;
|
|
202
|
+
};
|
|
203
|
+
export declare const gryoVersion: Record<string, EnumValue>;
|
|
204
|
+
export declare const merge: Record<string, EnumValue>;
|
|
205
|
+
export declare const operator: Record<string, EnumValue>;
|
|
206
|
+
export declare const order: Record<string, EnumValue>;
|
|
207
|
+
export declare const pick: Record<string, EnumValue>;
|
|
208
|
+
export declare const pop: Record<string, EnumValue>;
|
|
209
|
+
export declare const scope: Record<string, EnumValue>;
|
|
210
|
+
export declare const t: Record<string, EnumValue>;
|
|
211
|
+
export declare const n: Record<string, EnumValue>;
|
|
212
|
+
export {};
|
|
@@ -0,0 +1,116 @@
|
|
|
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
|
+
exports.PDTRegistry = void 0;
|
|
22
|
+
const graph_js_1 = require("./graph.cjs");
|
|
23
|
+
/**
|
|
24
|
+
* A standalone registry that allows users to register adapters for hydrating
|
|
25
|
+
* raw {@link CompositePDT} and {@link PrimitivePDT} instances
|
|
26
|
+
* into domain-specific objects.
|
|
27
|
+
*/
|
|
28
|
+
class PDTRegistry {
|
|
29
|
+
_adapters = new Map();
|
|
30
|
+
_adaptersByClass = new Map();
|
|
31
|
+
_primitiveAdapters = new Map();
|
|
32
|
+
_primitiveAdaptersByClass = new Map();
|
|
33
|
+
register(typeName, adapter, targetClass) {
|
|
34
|
+
this._adapters.set(typeName, adapter);
|
|
35
|
+
if (targetClass) {
|
|
36
|
+
this._adaptersByClass.set(targetClass, { typeName, adapter });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
registerPrimitive(typeName, adapter, targetClass) {
|
|
40
|
+
this._primitiveAdapters.set(typeName, adapter);
|
|
41
|
+
if (targetClass) {
|
|
42
|
+
this._primitiveAdaptersByClass.set(targetClass, { typeName, adapter });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
hydrate(pdt) {
|
|
46
|
+
if (!(pdt instanceof graph_js_1.CompositePDT))
|
|
47
|
+
return pdt;
|
|
48
|
+
const adapter = this._adapters.get(pdt.name);
|
|
49
|
+
const hydratedFields = {};
|
|
50
|
+
let changed = false;
|
|
51
|
+
for (const [k, v] of Object.entries(pdt.fields)) {
|
|
52
|
+
if (v instanceof graph_js_1.CompositePDT) {
|
|
53
|
+
const h = this.hydrate(v);
|
|
54
|
+
hydratedFields[k] = h;
|
|
55
|
+
if (h !== v)
|
|
56
|
+
changed = true;
|
|
57
|
+
}
|
|
58
|
+
else if (v instanceof graph_js_1.PrimitivePDT) {
|
|
59
|
+
const h = this.hydratePrimitive(v);
|
|
60
|
+
hydratedFields[k] = h;
|
|
61
|
+
if (h !== v)
|
|
62
|
+
changed = true;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
hydratedFields[k] = v;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (!adapter) {
|
|
69
|
+
return changed ? new graph_js_1.CompositePDT(pdt.name, hydratedFields) : pdt;
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
return adapter.deserialize(hydratedFields);
|
|
73
|
+
}
|
|
74
|
+
catch (e) {
|
|
75
|
+
console.warn(`PDT hydration failed for '${pdt.name}': ${e.message}`);
|
|
76
|
+
return pdt;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
hydratePrimitive(pdt) {
|
|
80
|
+
if (!(pdt instanceof graph_js_1.PrimitivePDT))
|
|
81
|
+
return pdt;
|
|
82
|
+
const adapter = this._primitiveAdapters.get(pdt.name);
|
|
83
|
+
if (!adapter)
|
|
84
|
+
return pdt;
|
|
85
|
+
try {
|
|
86
|
+
return adapter.fromValue(pdt.value);
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
console.warn(`Primitive PDT hydration failed for '${pdt.name}': ${e.message}`);
|
|
90
|
+
return pdt;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
hasAdapter(typeName) {
|
|
94
|
+
return this._adapters.has(typeName);
|
|
95
|
+
}
|
|
96
|
+
hasPrimitiveAdapter(typeName) {
|
|
97
|
+
return this._primitiveAdapters.has(typeName);
|
|
98
|
+
}
|
|
99
|
+
getSerializer(typeName) {
|
|
100
|
+
const adapter = this._adapters.get(typeName);
|
|
101
|
+
return adapter ? adapter.serialize : null;
|
|
102
|
+
}
|
|
103
|
+
getAdapterByClass(cls) {
|
|
104
|
+
const entry = this._adaptersByClass.get(cls);
|
|
105
|
+
if (!entry)
|
|
106
|
+
return null;
|
|
107
|
+
return { typeName: entry.typeName, serialize: entry.adapter.serialize };
|
|
108
|
+
}
|
|
109
|
+
getPrimitiveAdapterByClass(cls) {
|
|
110
|
+
const entry = this._primitiveAdaptersByClass.get(cls);
|
|
111
|
+
if (!entry)
|
|
112
|
+
return null;
|
|
113
|
+
return { typeName: entry.typeName, toValue: entry.adapter.toValue };
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.PDTRegistry = PDTRegistry;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface PdtAdapter {
|
|
2
|
+
serialize: (obj: any) => Record<string, any>;
|
|
3
|
+
deserialize: (fields: Record<string, any>) => any;
|
|
4
|
+
}
|
|
5
|
+
export interface PrimitivePdtAdapter {
|
|
6
|
+
toValue: (obj: any) => string;
|
|
7
|
+
fromValue: (value: string) => any;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A standalone registry that allows users to register adapters for hydrating
|
|
11
|
+
* raw {@link CompositePDT} and {@link PrimitivePDT} instances
|
|
12
|
+
* into domain-specific objects.
|
|
13
|
+
*/
|
|
14
|
+
export declare class PDTRegistry {
|
|
15
|
+
private readonly _adapters;
|
|
16
|
+
private readonly _adaptersByClass;
|
|
17
|
+
private readonly _primitiveAdapters;
|
|
18
|
+
private readonly _primitiveAdaptersByClass;
|
|
19
|
+
register(typeName: string, adapter: PdtAdapter, targetClass?: Function): void;
|
|
20
|
+
registerPrimitive(typeName: string, adapter: PrimitivePdtAdapter, targetClass?: Function): void;
|
|
21
|
+
hydrate(pdt: any): any;
|
|
22
|
+
hydratePrimitive(pdt: any): any;
|
|
23
|
+
hasAdapter(typeName: string): boolean;
|
|
24
|
+
hasPrimitiveAdapter(typeName: string): boolean;
|
|
25
|
+
getSerializer(typeName: string): ((obj: any) => Record<string, any>) | null;
|
|
26
|
+
getAdapterByClass(cls: Function): {
|
|
27
|
+
typeName: string;
|
|
28
|
+
serialize: (obj: any) => Record<string, any>;
|
|
29
|
+
} | null;
|
|
30
|
+
getPrimitiveAdapterByClass(cls: Function): {
|
|
31
|
+
typeName: string;
|
|
32
|
+
toValue: (obj: any) => string;
|
|
33
|
+
} | null;
|
|
34
|
+
}
|