gremlin 3.8.1 → 4.0.0-beta.2
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 +69 -0
- package/build/cjs/driver/auth.d.cts +9 -0
- package/build/cjs/driver/client.cjs +134 -0
- package/build/cjs/driver/client.d.cts +85 -0
- package/build/cjs/driver/connection.cjs +250 -0
- package/build/cjs/driver/connection.d.cts +63 -0
- package/build/cjs/driver/driver-remote-connection.cjs +141 -0
- package/build/cjs/driver/driver-remote-connection.d.cts +33 -0
- package/build/cjs/driver/remote-connection.cjs +75 -0
- package/build/cjs/driver/remote-connection.d.cts +72 -0
- package/build/cjs/driver/request-message.cjs +157 -0
- package/build/cjs/driver/request-message.d.cts +49 -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 +125 -0
- package/build/cjs/index.d.cts +393 -0
- package/build/cjs/language/grammar/GremlinLexer.cjs +1851 -0
- package/build/cjs/language/grammar/GremlinLexer.d.cts +340 -0
- package/build/cjs/language/grammar/GremlinListener.cjs +4490 -0
- package/build/cjs/language/grammar/GremlinListener.d.cts +4898 -0
- package/build/cjs/language/grammar/GremlinParser.cjs +35244 -0
- package/build/cjs/language/grammar/GremlinParser.d.cts +5881 -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 +157 -0
- package/build/cjs/language/translator/AnonymizedTranslateVisitor.d.cts +36 -0
- package/build/cjs/language/translator/DotNetTranslateVisitor.cjs +826 -0
- package/build/cjs/language/translator/DotNetTranslateVisitor.d.cts +155 -0
- package/build/cjs/language/translator/GoTranslateVisitor.cjs +339 -0
- package/build/cjs/language/translator/GoTranslateVisitor.d.cts +31 -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 +287 -0
- package/build/cjs/language/translator/GroovyTranslateVisitor.d.cts +34 -0
- package/build/cjs/language/translator/JavaTranslateVisitor.cjs +247 -0
- package/build/cjs/language/translator/JavaTranslateVisitor.d.cts +23 -0
- package/build/cjs/language/translator/JavascriptTranslateVisitor.cjs +220 -0
- package/build/cjs/language/translator/JavascriptTranslateVisitor.d.cts +25 -0
- package/build/cjs/language/translator/PythonTranslateVisitor.cjs +304 -0
- package/build/cjs/language/translator/PythonTranslateVisitor.d.cts +28 -0
- package/build/cjs/language/translator/TranslateVisitor.cjs +389 -0
- package/build/cjs/language/translator/TranslateVisitor.d.cts +91 -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 +78 -0
- package/build/cjs/process/anonymous-traversal.d.cts +40 -0
- package/build/cjs/process/graph-traversal.cjs +1702 -0
- package/build/cjs/process/graph-traversal.d.cts +1134 -0
- package/build/cjs/process/gremlin-lang.cjs +196 -0
- package/build/cjs/process/gremlin-lang.d.cts +15 -0
- package/build/cjs/process/transaction.cjs +69 -0
- package/build/cjs/process/transaction.d.cts +34 -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 +482 -0
- package/build/cjs/process/traversal.d.cts +186 -0
- package/build/cjs/structure/graph.cjs +157 -0
- package/build/cjs/structure/graph.d.cts +57 -0
- package/build/cjs/structure/io/binary/GraphBinary.cjs +148 -0
- package/build/cjs/structure/io/binary/GraphBinary.d.cts +91 -0
- package/build/cjs/structure/io/binary/internals/AnySerializer.cjs +80 -0
- package/build/cjs/structure/io/binary/internals/AnySerializer.d.cts +8 -0
- package/build/cjs/structure/io/binary/internals/ArraySerializer.cjs +139 -0
- package/build/cjs/structure/io/binary/internals/ArraySerializer.d.cts +15 -0
- package/build/cjs/structure/io/binary/internals/BigIntegerSerializer.cjs +136 -0
- package/build/cjs/structure/io/binary/internals/BigIntegerSerializer.d.cts +14 -0
- package/build/cjs/structure/io/binary/internals/BinarySerializer.cjs +112 -0
- package/build/cjs/structure/io/binary/internals/BinarySerializer.d.cts +11 -0
- package/build/cjs/structure/io/binary/internals/BooleanSerializer.cjs +93 -0
- package/build/cjs/structure/io/binary/internals/BooleanSerializer.d.cts +11 -0
- package/build/cjs/structure/io/binary/internals/ByteSerializer.cjs +88 -0
- package/build/cjs/structure/io/binary/internals/ByteSerializer.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 +139 -0
- package/build/cjs/structure/io/binary/internals/DateTimeSerializer.d.cts +15 -0
- package/build/cjs/structure/io/binary/internals/DoubleSerializer.cjs +91 -0
- package/build/cjs/structure/io/binary/internals/DoubleSerializer.d.cts +11 -0
- package/build/cjs/structure/io/binary/internals/EdgeSerializer.cjs +201 -0
- package/build/cjs/structure/io/binary/internals/EdgeSerializer.d.cts +20 -0
- package/build/cjs/structure/io/binary/internals/EnumSerializer.cjs +127 -0
- package/build/cjs/structure/io/binary/internals/EnumSerializer.d.cts +24 -0
- package/build/cjs/structure/io/binary/internals/FloatSerializer.cjs +91 -0
- package/build/cjs/structure/io/binary/internals/FloatSerializer.d.cts +11 -0
- package/build/cjs/structure/io/binary/internals/GraphBinaryReader.cjs +97 -0
- package/build/cjs/structure/io/binary/internals/GraphBinaryReader.d.cts +19 -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/IntSerializer.cjs +103 -0
- package/build/cjs/structure/io/binary/internals/IntSerializer.d.cts +13 -0
- package/build/cjs/structure/io/binary/internals/LongSerializer.cjs +95 -0
- package/build/cjs/structure/io/binary/internals/LongSerializer.d.cts +11 -0
- package/build/cjs/structure/io/binary/internals/MapSerializer.cjs +144 -0
- package/build/cjs/structure/io/binary/internals/MapSerializer.d.cts +13 -0
- package/build/cjs/structure/io/binary/internals/MarkerSerializer.cjs +63 -0
- package/build/cjs/structure/io/binary/internals/MarkerSerializer.d.cts +8 -0
- package/build/cjs/structure/io/binary/internals/NumberSerializationStrategy.cjs +66 -0
- package/build/cjs/structure/io/binary/internals/NumberSerializationStrategy.d.cts +9 -0
- package/build/cjs/structure/io/binary/internals/PathSerializer.cjs +113 -0
- package/build/cjs/structure/io/binary/internals/PathSerializer.d.cts +15 -0
- package/build/cjs/structure/io/binary/internals/PropertySerializer.cjs +130 -0
- package/build/cjs/structure/io/binary/internals/PropertySerializer.d.cts +15 -0
- package/build/cjs/structure/io/binary/internals/SetSerializer.cjs +138 -0
- package/build/cjs/structure/io/binary/internals/SetSerializer.d.cts +15 -0
- package/build/cjs/structure/io/binary/internals/ShortSerializer.cjs +91 -0
- package/build/cjs/structure/io/binary/internals/ShortSerializer.d.cts +11 -0
- package/build/cjs/structure/io/binary/internals/StringSerializer.cjs +107 -0
- package/build/cjs/structure/io/binary/internals/StringSerializer.d.cts +11 -0
- package/{lib/driver/auth/authenticator.js → build/cjs/structure/io/binary/internals/StubSerializer.cjs} +14 -20
- package/build/cjs/structure/io/binary/internals/StubSerializer.d.cts +7 -0
- package/build/cjs/structure/io/binary/internals/UnspecifiedNullSerializer.cjs +70 -0
- package/build/cjs/structure/io/binary/internals/UnspecifiedNullSerializer.d.cts +11 -0
- package/build/cjs/structure/io/binary/internals/UuidSerializer.cjs +109 -0
- package/build/cjs/structure/io/binary/internals/UuidSerializer.d.cts +14 -0
- package/build/cjs/structure/io/binary/internals/VertexPropertySerializer.cjs +163 -0
- package/build/cjs/structure/io/binary/internals/VertexPropertySerializer.d.cts +15 -0
- package/build/cjs/structure/io/binary/internals/VertexSerializer.cjs +128 -0
- package/build/cjs/structure/io/binary/internals/VertexSerializer.d.cts +17 -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 +142 -0
- package/build/cjs/utils.d.cts +20 -0
- package/build/esm/driver/auth.d.ts +9 -0
- package/build/esm/driver/auth.js +65 -0
- package/build/esm/driver/client.d.ts +85 -0
- package/build/esm/driver/client.js +128 -0
- package/build/esm/driver/connection.d.ts +63 -0
- package/build/esm/driver/connection.js +211 -0
- package/build/esm/driver/driver-remote-connection.d.ts +33 -0
- package/build/esm/driver/driver-remote-connection.js +102 -0
- package/build/esm/driver/remote-connection.d.ts +72 -0
- package/build/esm/driver/remote-connection.js +69 -0
- package/build/esm/driver/request-message.d.ts +49 -0
- package/build/esm/driver/request-message.js +152 -0
- package/build/esm/driver/response-error.d.ts +13 -0
- package/{lib → build/esm}/driver/response-error.js +21 -26
- 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 +393 -0
- package/{index.js → build/esm/index.js} +23 -33
- package/build/esm/language/grammar/GremlinLexer.d.ts +340 -0
- package/build/esm/language/grammar/GremlinLexer.js +1814 -0
- package/build/esm/language/grammar/GremlinListener.d.ts +4898 -0
- package/build/esm/language/grammar/GremlinListener.js +4486 -0
- package/build/esm/language/grammar/GremlinParser.d.ts +5881 -0
- package/build/esm/language/grammar/GremlinParser.js +34711 -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 +36 -0
- package/build/esm/language/translator/AnonymizedTranslateVisitor.js +151 -0
- package/build/esm/language/translator/DotNetTranslateVisitor.d.ts +155 -0
- package/build/esm/language/translator/DotNetTranslateVisitor.js +820 -0
- package/build/esm/language/translator/GoTranslateVisitor.d.ts +31 -0
- package/build/esm/language/translator/GoTranslateVisitor.js +333 -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 +34 -0
- package/build/esm/language/translator/GroovyTranslateVisitor.js +281 -0
- package/build/esm/language/translator/JavaTranslateVisitor.d.ts +23 -0
- package/build/esm/language/translator/JavaTranslateVisitor.js +241 -0
- package/build/esm/language/translator/JavascriptTranslateVisitor.d.ts +25 -0
- package/build/esm/language/translator/JavascriptTranslateVisitor.js +214 -0
- package/build/esm/language/translator/PythonTranslateVisitor.d.ts +28 -0
- package/build/esm/language/translator/PythonTranslateVisitor.js +298 -0
- package/build/esm/language/translator/TranslateVisitor.d.ts +91 -0
- package/build/esm/language/translator/TranslateVisitor.js +386 -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 +72 -0
- package/build/esm/process/graph-traversal.d.ts +1134 -0
- package/build/esm/process/graph-traversal.js +1693 -0
- package/build/esm/process/gremlin-lang.d.ts +15 -0
- package/build/esm/process/gremlin-lang.js +193 -0
- package/build/esm/process/transaction.d.ts +34 -0
- package/build/esm/process/transaction.js +65 -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 +186 -0
- package/build/esm/process/traversal.js +469 -0
- package/build/esm/structure/graph.d.ts +57 -0
- package/build/esm/structure/graph.js +148 -0
- package/build/esm/structure/io/binary/GraphBinary.d.ts +91 -0
- package/build/esm/structure/io/binary/GraphBinary.js +108 -0
- package/build/esm/structure/io/binary/internals/AnySerializer.d.ts +8 -0
- package/build/esm/structure/io/binary/internals/AnySerializer.js +77 -0
- package/build/esm/structure/io/binary/internals/ArraySerializer.d.ts +15 -0
- package/build/esm/structure/io/binary/internals/ArraySerializer.js +136 -0
- package/build/esm/structure/io/binary/internals/BigIntegerSerializer.d.ts +14 -0
- package/build/esm/structure/io/binary/internals/BigIntegerSerializer.js +133 -0
- package/build/esm/structure/io/binary/internals/BinarySerializer.d.ts +11 -0
- package/build/esm/structure/io/binary/internals/BinarySerializer.js +109 -0
- package/build/esm/structure/io/binary/internals/BooleanSerializer.d.ts +11 -0
- package/build/esm/structure/io/binary/internals/BooleanSerializer.js +90 -0
- package/build/esm/structure/io/binary/internals/ByteSerializer.d.ts +10 -0
- package/build/esm/structure/io/binary/internals/ByteSerializer.js +85 -0
- package/build/esm/structure/io/binary/internals/DataType.d.ts +35 -0
- package/{lib/driver/auth/mechanisms/sasl-mechanism-base.js → build/esm/structure/io/binary/internals/DataType.js} +43 -34
- package/build/esm/structure/io/binary/internals/DateTimeSerializer.d.ts +15 -0
- package/build/esm/structure/io/binary/internals/DateTimeSerializer.js +136 -0
- package/build/esm/structure/io/binary/internals/DoubleSerializer.d.ts +11 -0
- package/build/esm/structure/io/binary/internals/DoubleSerializer.js +88 -0
- package/build/esm/structure/io/binary/internals/EdgeSerializer.d.ts +20 -0
- package/build/esm/structure/io/binary/internals/EdgeSerializer.js +198 -0
- package/build/esm/structure/io/binary/internals/EnumSerializer.d.ts +24 -0
- package/build/esm/structure/io/binary/internals/EnumSerializer.js +124 -0
- package/build/esm/structure/io/binary/internals/FloatSerializer.d.ts +11 -0
- package/build/esm/structure/io/binary/internals/FloatSerializer.js +88 -0
- package/build/esm/structure/io/binary/internals/GraphBinaryReader.d.ts +19 -0
- package/build/esm/structure/io/binary/internals/GraphBinaryReader.js +94 -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/IntSerializer.d.ts +13 -0
- package/build/esm/structure/io/binary/internals/IntSerializer.js +100 -0
- package/build/esm/structure/io/binary/internals/LongSerializer.d.ts +11 -0
- package/build/esm/structure/io/binary/internals/LongSerializer.js +92 -0
- package/build/esm/structure/io/binary/internals/MapSerializer.d.ts +13 -0
- package/build/esm/structure/io/binary/internals/MapSerializer.js +141 -0
- package/build/esm/structure/io/binary/internals/MarkerSerializer.d.ts +8 -0
- package/build/esm/structure/io/binary/internals/MarkerSerializer.js +60 -0
- package/build/esm/structure/io/binary/internals/NumberSerializationStrategy.d.ts +9 -0
- package/build/esm/structure/io/binary/internals/NumberSerializationStrategy.js +63 -0
- package/build/esm/structure/io/binary/internals/PathSerializer.d.ts +15 -0
- package/build/esm/structure/io/binary/internals/PathSerializer.js +110 -0
- package/build/esm/structure/io/binary/internals/PropertySerializer.d.ts +15 -0
- package/build/esm/structure/io/binary/internals/PropertySerializer.js +127 -0
- package/build/esm/structure/io/binary/internals/SetSerializer.d.ts +15 -0
- package/build/esm/structure/io/binary/internals/SetSerializer.js +135 -0
- package/build/esm/structure/io/binary/internals/ShortSerializer.d.ts +11 -0
- package/build/esm/structure/io/binary/internals/ShortSerializer.js +88 -0
- package/build/esm/structure/io/binary/internals/StringSerializer.d.ts +11 -0
- package/build/esm/structure/io/binary/internals/StringSerializer.js +104 -0
- package/build/esm/structure/io/binary/internals/StubSerializer.d.ts +7 -0
- package/{.prettierrc.js → build/esm/structure/io/binary/internals/StubSerializer.js} +11 -11
- package/build/esm/structure/io/binary/internals/UnspecifiedNullSerializer.d.ts +11 -0
- package/build/esm/structure/io/binary/internals/UnspecifiedNullSerializer.js +67 -0
- package/build/esm/structure/io/binary/internals/UuidSerializer.d.ts +14 -0
- package/build/esm/structure/io/binary/internals/UuidSerializer.js +106 -0
- package/build/esm/structure/io/binary/internals/VertexPropertySerializer.d.ts +15 -0
- package/build/esm/structure/io/binary/internals/VertexPropertySerializer.js +160 -0
- package/build/esm/structure/io/binary/internals/VertexSerializer.d.ts +17 -0
- package/build/esm/structure/io/binary/internals/VertexSerializer.js +125 -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 +20 -0
- package/build/esm/utils.js +98 -0
- package/package.json +56 -20
- 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
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
-
* or more contributor license agreements. See the NOTICE file
|
|
4
|
-
* distributed with this work for additional information
|
|
5
|
-
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
-
* to you under the Apache License, Version 2.0 (the
|
|
7
|
-
* "License"); you may not use this file except in compliance
|
|
8
|
-
* with the License. You may obtain a copy of the License at
|
|
9
|
-
*
|
|
10
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
*
|
|
12
|
-
* Unless required by applicable law or agreed to in writing,
|
|
13
|
-
* software distributed under the License is distributed on an
|
|
14
|
-
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
-
* KIND, either express or implied. See the License for the
|
|
16
|
-
* specific language governing permissions and limitations
|
|
17
|
-
* under the License.
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @author Jorge Bay Gondra
|
|
22
|
-
*/
|
|
23
|
-
'use strict';
|
|
24
|
-
|
|
25
|
-
const rcModule = require('./remote-connection');
|
|
26
|
-
const RemoteConnection = rcModule.RemoteConnection;
|
|
27
|
-
const RemoteTraversal = rcModule.RemoteTraversal;
|
|
28
|
-
const utils = require('../utils');
|
|
29
|
-
const Client = require('./client');
|
|
30
|
-
const Bytecode = require('../process/bytecode');
|
|
31
|
-
const OptionsStrategy = require('../process/traversal-strategy').OptionsStrategy;
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Represents the default {@link RemoteConnection} implementation.
|
|
35
|
-
*/
|
|
36
|
-
class DriverRemoteConnection extends RemoteConnection {
|
|
37
|
-
/**
|
|
38
|
-
* Creates a new instance of {@link DriverRemoteConnection}.
|
|
39
|
-
* @param {String} url The resource uri.
|
|
40
|
-
* @param {Object} [options] The connection options.
|
|
41
|
-
* @param {Array} [options.ca] Trusted certificates.
|
|
42
|
-
* @param {String|Array|Buffer} [options.cert] The certificate key.
|
|
43
|
-
* @param {String} [options.mimeType] The mime type to use.
|
|
44
|
-
* @param {String|Buffer} [options.pfx] The private key, certificate, and CA certs.
|
|
45
|
-
* @param {GraphSONReader} [options.reader] The reader to use.
|
|
46
|
-
* @param {Boolean} [options.rejectUnauthorized] Determines whether to verify or not the server certificate.
|
|
47
|
-
* @param {String} [options.traversalSource] The traversal source. Defaults to: 'g'.
|
|
48
|
-
* @param {GraphSONWriter} [options.writer] The writer to use.
|
|
49
|
-
* @param {Authenticator} [options.authenticator] The authentication handler to use.
|
|
50
|
-
* @param {Object} [options.headers] An associative array containing the additional header key/values for the initial request.
|
|
51
|
-
* @param {Boolean} [options.enableUserAgentOnConnect] Determines if a user agent will be sent during connection handshake. Defaults to: true
|
|
52
|
-
* @param {http.Agent} [options.agent] The http.Agent implementation to use.
|
|
53
|
-
* @param {Boolean} [options.enableCompression] Enable per-message deflate compression. Defaults to: false.
|
|
54
|
-
* @constructor
|
|
55
|
-
*/
|
|
56
|
-
constructor(url, options = {}) {
|
|
57
|
-
super(url, options);
|
|
58
|
-
this._client = new Client(url, options);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/** @override */
|
|
62
|
-
open() {
|
|
63
|
-
return this._client.open();
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/** @override */
|
|
67
|
-
get isOpen() {
|
|
68
|
-
return this._client.isOpen;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/** @override */
|
|
72
|
-
submit(bytecode) {
|
|
73
|
-
const optionsStrategy = bytecode.sourceInstructions.find(
|
|
74
|
-
(i) => i[0] === 'withStrategies' && i[1] instanceof OptionsStrategy,
|
|
75
|
-
);
|
|
76
|
-
const allowedKeys = [
|
|
77
|
-
'evaluationTimeout',
|
|
78
|
-
'scriptEvaluationTimeout',
|
|
79
|
-
'batchSize',
|
|
80
|
-
'requestId',
|
|
81
|
-
'userAgent',
|
|
82
|
-
'materializeProperties',
|
|
83
|
-
];
|
|
84
|
-
|
|
85
|
-
let requestOptions = undefined;
|
|
86
|
-
if (optionsStrategy !== undefined) {
|
|
87
|
-
requestOptions = {};
|
|
88
|
-
const conf = optionsStrategy[1].configuration;
|
|
89
|
-
for (const key in conf) {
|
|
90
|
-
if (conf.hasOwnProperty(key) && allowedKeys.indexOf(key) > -1) {
|
|
91
|
-
requestOptions[key] = conf[key];
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
return this._client.submit(bytecode, null, requestOptions).then((result) => new RemoteTraversal(result.toArray()));
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/** @override */
|
|
100
|
-
createSession() {
|
|
101
|
-
if (this.isSessionBound) {
|
|
102
|
-
throw new Error('Connection is already bound to a session - child sessions are not allowed');
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// make sure a fresh session is used when starting a new transaction
|
|
106
|
-
const copiedOptions = Object.assign({}, this.options);
|
|
107
|
-
copiedOptions.session = utils.getUuid();
|
|
108
|
-
return new DriverRemoteConnection(this.url, copiedOptions);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/** @override */
|
|
112
|
-
get isSessionBound() {
|
|
113
|
-
return this.options.session;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/** @override */
|
|
117
|
-
commit() {
|
|
118
|
-
return this._client.submit(Bytecode.GraphOp.commit, null);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/** @override */
|
|
122
|
-
rollback() {
|
|
123
|
-
return this._client.submit(Bytecode.GraphOp.rollback, null);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
/** @override */
|
|
127
|
-
close() {
|
|
128
|
-
return this._client.close();
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/** @override */
|
|
132
|
-
addListener(...args) {
|
|
133
|
-
return this._client.addListener(...args);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/** @override */
|
|
137
|
-
removeListener(...args) {
|
|
138
|
-
return this._client.removeListener(...args);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
module.exports = DriverRemoteConnection;
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
-
* or more contributor license agreements. See the NOTICE file
|
|
4
|
-
* distributed with this work for additional information
|
|
5
|
-
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
-
* to you under the Apache License, Version 2.0 (the
|
|
7
|
-
* "License"); you may not use this file except in compliance
|
|
8
|
-
* with the License. You may obtain a copy of the License at
|
|
9
|
-
*
|
|
10
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
*
|
|
12
|
-
* Unless required by applicable law or agreed to in writing,
|
|
13
|
-
* software distributed under the License is distributed on an
|
|
14
|
-
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
-
* KIND, either express or implied. See the License for the
|
|
16
|
-
* specific language governing permissions and limitations
|
|
17
|
-
* under the License.
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @author Jorge Bay Gondra
|
|
22
|
-
*/
|
|
23
|
-
'use strict';
|
|
24
|
-
|
|
25
|
-
const t = require('../process/traversal');
|
|
26
|
-
const TraversalStrategy = require('../process/traversal-strategy').TraversalStrategy;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Represents an abstraction of a "connection" to a "server" that is capable of processing a traversal and
|
|
30
|
-
* returning results.
|
|
31
|
-
*/
|
|
32
|
-
class RemoteConnection {
|
|
33
|
-
/**
|
|
34
|
-
* @param {String} url The resource uri.
|
|
35
|
-
* @param {Object} [options] The connection options.
|
|
36
|
-
*/
|
|
37
|
-
constructor(url, options = {}) {
|
|
38
|
-
this.url = url;
|
|
39
|
-
this.options = options;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Opens the connection, if its not already opened.
|
|
44
|
-
* @returns {Promise}
|
|
45
|
-
*/
|
|
46
|
-
open() {
|
|
47
|
-
throw new Error('open() must be implemented');
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Returns true if connection is open
|
|
52
|
-
* @returns {Boolean}
|
|
53
|
-
*/
|
|
54
|
-
get isOpen() {
|
|
55
|
-
throw new Error('isOpen() must be implemented');
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Determines if the connection is already bound to a session. If so, this indicates that the
|
|
60
|
-
* <code>#createSession()</code> cannot be called so as to produce child sessions.
|
|
61
|
-
* @returns {boolean}
|
|
62
|
-
*/
|
|
63
|
-
get isSessionBound() {
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Submits the <code>Bytecode</code> provided and returns a <code>RemoteTraversal</code>.
|
|
69
|
-
* @abstract
|
|
70
|
-
* @param {Bytecode} bytecode
|
|
71
|
-
* @returns {Promise} Returns a <code>Promise</code> that resolves to a <code>RemoteTraversal</code>.
|
|
72
|
-
*/
|
|
73
|
-
submit(bytecode) {
|
|
74
|
-
throw new Error('submit() must be implemented');
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Create a new <code>RemoteConnection</code> that is bound to a session using the configuration from this one.
|
|
79
|
-
* If the connection is already session bound then this function should throw an exception.
|
|
80
|
-
* @returns {RemoteConnection}
|
|
81
|
-
*/
|
|
82
|
-
createSession() {
|
|
83
|
-
throw new Error('createSession() must be implemented');
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Submits a <code>Bytecode.GraphOp.commit</code> to the server and closes the connection.
|
|
88
|
-
* @returns {Promise}
|
|
89
|
-
*/
|
|
90
|
-
commit() {
|
|
91
|
-
throw new Error('commit() must be implemented');
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Submits a <code>Bytecode.GraphOp.rollback</code> to the server and closes the connection.
|
|
95
|
-
* @returns {Promise}
|
|
96
|
-
*/
|
|
97
|
-
rollback() {
|
|
98
|
-
throw new Error('rollback() must be implemented');
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Closes the connection where open transactions will close according to the features of the graph provider.
|
|
103
|
-
* @returns {Promise}
|
|
104
|
-
*/
|
|
105
|
-
close() {
|
|
106
|
-
throw new Error('close() must be implemented');
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Represents a traversal as a result of a {@link RemoteConnection} submission.
|
|
112
|
-
*/
|
|
113
|
-
class RemoteTraversal extends t.Traversal {
|
|
114
|
-
constructor(traversers, sideEffects) {
|
|
115
|
-
super(null, null, null);
|
|
116
|
-
this.traversers = traversers;
|
|
117
|
-
this.sideEffects = sideEffects;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
class RemoteStrategy extends TraversalStrategy {
|
|
122
|
-
/**
|
|
123
|
-
* Creates a new instance of RemoteStrategy.
|
|
124
|
-
* @param {RemoteConnection} connection
|
|
125
|
-
*/
|
|
126
|
-
constructor(connection) {
|
|
127
|
-
// gave this a fqcn that has a local "js:" prefix since this strategy isn't sent as bytecode to the server.
|
|
128
|
-
// this is a sort of local-only strategy that actually executes client side. not sure if this prefix is the
|
|
129
|
-
// right way to name this or not, but it should have a name to identify it.
|
|
130
|
-
super('js:RemoteStrategy');
|
|
131
|
-
this.connection = connection;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/** @override */
|
|
135
|
-
apply(traversal) {
|
|
136
|
-
if (traversal.traversers) {
|
|
137
|
-
return Promise.resolve();
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
return this.connection.submit(traversal.getBytecode()).then(function (remoteTraversal) {
|
|
141
|
-
traversal.sideEffects = remoteTraversal.sideEffects;
|
|
142
|
-
traversal.traversers = remoteTraversal.traversers;
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
module.exports = { RemoteConnection, RemoteStrategy, RemoteTraversal };
|
package/lib/driver/result-set.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
-
* or more contributor license agreements. See the NOTICE file
|
|
4
|
-
* distributed with this work for additional information
|
|
5
|
-
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
-
* to you under the Apache License, Version 2.0 (the
|
|
7
|
-
* "License"); you may not use this file except in compliance
|
|
8
|
-
* with the License. You may obtain a copy of the License at
|
|
9
|
-
*
|
|
10
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
*
|
|
12
|
-
* Unless required by applicable law or agreed to in writing,
|
|
13
|
-
* software distributed under the License is distributed on an
|
|
14
|
-
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
-
* KIND, either express or implied. See the License for the
|
|
16
|
-
* specific language governing permissions and limitations
|
|
17
|
-
* under the License.
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @author Jorge Bay Gondra
|
|
22
|
-
*/
|
|
23
|
-
'use strict';
|
|
24
|
-
|
|
25
|
-
const utils = require('../utils');
|
|
26
|
-
const emptyMap = Object.freeze(new utils.ImmutableMap());
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Represents the response returned from the execution of a Gremlin traversal or script.
|
|
30
|
-
*/
|
|
31
|
-
class ResultSet {
|
|
32
|
-
/**
|
|
33
|
-
* Creates a new instance of {@link ResultSet}.
|
|
34
|
-
* @param {Array} items
|
|
35
|
-
* @param {Map} [attributes]
|
|
36
|
-
*/
|
|
37
|
-
constructor(items, attributes) {
|
|
38
|
-
if (!Array.isArray(items)) {
|
|
39
|
-
throw new TypeError('items must be an Array instance');
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
this._items = items;
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Gets a Map representing the attributes of the response.
|
|
46
|
-
* @type {Map}
|
|
47
|
-
*/
|
|
48
|
-
this.attributes = attributes || emptyMap;
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Gets the amount of items in the result.
|
|
52
|
-
* @type {Number}
|
|
53
|
-
*/
|
|
54
|
-
this.length = items.length;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Gets the iterator associated with this instance.
|
|
59
|
-
* @returns {Iterator}
|
|
60
|
-
*/
|
|
61
|
-
[Symbol.iterator]() {
|
|
62
|
-
return this._items[Symbol.iterator]();
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Gets an array of result items.
|
|
67
|
-
* @returns {Array}
|
|
68
|
-
*/
|
|
69
|
-
toArray() {
|
|
70
|
-
return this._items;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Returns the first item.
|
|
75
|
-
* @returns {Object|null}
|
|
76
|
-
*/
|
|
77
|
-
first() {
|
|
78
|
-
const item = this._items[0];
|
|
79
|
-
return item !== undefined ? item : null;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
module.exports = ResultSet;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
-
* or more contributor license agreements. See the NOTICE file
|
|
4
|
-
* distributed with this work for additional information
|
|
5
|
-
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
-
* to you under the Apache License, Version 2.0 (the
|
|
7
|
-
* "License"); you may not use this file except in compliance
|
|
8
|
-
* with the License. You may obtain a copy of the License at
|
|
9
|
-
*
|
|
10
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
*
|
|
12
|
-
* Unless required by applicable law or agreed to in writing,
|
|
13
|
-
* software distributed under the License is distributed on an
|
|
14
|
-
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
-
* KIND, either express or implied. See the License for the
|
|
16
|
-
* specific language governing permissions and limitations
|
|
17
|
-
* under the License.
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
'use strict';
|
|
21
|
-
|
|
22
|
-
const graphTraversalModule = require('./graph-traversal');
|
|
23
|
-
const remote = require('../driver/remote-connection');
|
|
24
|
-
const TraversalStrategies = require('./traversal-strategy').TraversalStrategies;
|
|
25
|
-
const GraphTraversalSource = graphTraversalModule.GraphTraversalSource;
|
|
26
|
-
const GraphTraversal = graphTraversalModule.GraphTraversal;
|
|
27
|
-
const Bytecode = require('./bytecode');
|
|
28
|
-
const Graph = require('../structure/graph').Graph;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Provides a unified way to construct a <code>TraversalSource</code> from the perspective of the traversal. In this
|
|
32
|
-
* syntax the user is creating the source and binding it to a reference which is either an existing <code>Graph</code>
|
|
33
|
-
* instance or a <code>RemoteConnection</code>.
|
|
34
|
-
*/
|
|
35
|
-
class AnonymousTraversalSource {
|
|
36
|
-
/**
|
|
37
|
-
* Creates a new instance of {@code AnonymousTraversalSource}.
|
|
38
|
-
* @param {Function} [traversalSourceClass] Optional {@code GraphTraversalSource} constructor.
|
|
39
|
-
* @param {Function} [traversalClass] Optional {@code GraphTraversal} constructor.
|
|
40
|
-
*/
|
|
41
|
-
constructor(traversalSourceClass, traversalClass) {
|
|
42
|
-
this.traversalSourceClass = traversalSourceClass;
|
|
43
|
-
this.traversalClass = traversalClass;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Constructs an {@code AnonymousTraversalSource} which will then be configured to spawn a
|
|
48
|
-
* {@link GraphTraversalSource}.
|
|
49
|
-
* @param {Function} [traversalSourceClass] Optional {@code GraphTraversalSource} constructor.
|
|
50
|
-
* @param {Function} [traversalClass] Optional {@code GraphTraversalSource} constructor.
|
|
51
|
-
* @returns {AnonymousTraversalSource}.
|
|
52
|
-
*/
|
|
53
|
-
static traversal(traversalSourceClass, traversalClass) {
|
|
54
|
-
return new AnonymousTraversalSource(traversalSourceClass || GraphTraversalSource, traversalClass || GraphTraversal);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Creates a {@link GraphTraversalSource} binding a {@link RemoteConnection} to a remote {@link Graph} instances as its
|
|
59
|
-
* reference so that traversals spawned from it will execute over that reference.
|
|
60
|
-
* @param {RemoteConnection} connection
|
|
61
|
-
* @return {GraphTraversalSource}
|
|
62
|
-
*/
|
|
63
|
-
with_(connection) {
|
|
64
|
-
const traversalStrategies = new TraversalStrategies();
|
|
65
|
-
traversalStrategies.addStrategy(new remote.RemoteStrategy(connection));
|
|
66
|
-
return new this.traversalSourceClass(
|
|
67
|
-
new Graph(),
|
|
68
|
-
traversalStrategies,
|
|
69
|
-
new Bytecode(),
|
|
70
|
-
this.traversalSourceClass,
|
|
71
|
-
this.traversalClass,
|
|
72
|
-
);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Creates a {@link GraphTraversalSource} binding a {@link RemoteConnection} to a remote {@link Graph} instances as its
|
|
77
|
-
* reference so that traversals spawned from it will execute over that reference.
|
|
78
|
-
* @param {RemoteConnection} remoteConnection
|
|
79
|
-
* @return {GraphTraversalSource}
|
|
80
|
-
* @deprecated As of release 3.8.0, prefer {@link with_}.
|
|
81
|
-
*/
|
|
82
|
-
withRemote(remoteConnection) {
|
|
83
|
-
return this.with_(remoteConnection);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
module.exports = AnonymousTraversalSource;
|
package/lib/process/bytecode.js
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
-
* or more contributor license agreements. See the NOTICE file
|
|
4
|
-
* distributed with this work for additional information
|
|
5
|
-
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
-
* to you under the Apache License, Version 2.0 (the
|
|
7
|
-
* "License"); you may not use this file except in compliance
|
|
8
|
-
* with the License. You may obtain a copy of the License at
|
|
9
|
-
*
|
|
10
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
*
|
|
12
|
-
* Unless required by applicable law or agreed to in writing,
|
|
13
|
-
* software distributed under the License is distributed on an
|
|
14
|
-
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
-
* KIND, either express or implied. See the License for the
|
|
16
|
-
* specific language governing permissions and limitations
|
|
17
|
-
* under the License.
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @author Jorge Bay Gondra
|
|
22
|
-
*/
|
|
23
|
-
'use strict';
|
|
24
|
-
|
|
25
|
-
const { Traversal } = require('./traversal');
|
|
26
|
-
|
|
27
|
-
class Bytecode {
|
|
28
|
-
/**
|
|
29
|
-
* Creates a new instance of Bytecode
|
|
30
|
-
* @param {Bytecode} [toClone]
|
|
31
|
-
*/
|
|
32
|
-
constructor(toClone) {
|
|
33
|
-
if (!toClone) {
|
|
34
|
-
this.sourceInstructions = [];
|
|
35
|
-
this.stepInstructions = [];
|
|
36
|
-
} else {
|
|
37
|
-
this.sourceInstructions = [...toClone.sourceInstructions];
|
|
38
|
-
this.stepInstructions = [...toClone.stepInstructions];
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Adds a new source instructions
|
|
44
|
-
* @param {String} name
|
|
45
|
-
* @param {Array} values
|
|
46
|
-
* @returns {Bytecode}
|
|
47
|
-
*/
|
|
48
|
-
addSource(name, values) {
|
|
49
|
-
if (name === undefined) {
|
|
50
|
-
throw new Error('Name is not defined');
|
|
51
|
-
}
|
|
52
|
-
const instruction = new Array(values.length + 1);
|
|
53
|
-
instruction[0] = name;
|
|
54
|
-
for (let i = 0; i < values.length; ++i) {
|
|
55
|
-
instruction[i + 1] = values[i];
|
|
56
|
-
}
|
|
57
|
-
this.sourceInstructions.push(Bytecode._generateInstruction(name, values));
|
|
58
|
-
return this;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Adds a new step instructions
|
|
63
|
-
* @param {String} name
|
|
64
|
-
* @param {Array} values
|
|
65
|
-
* @returns {Bytecode}
|
|
66
|
-
*/
|
|
67
|
-
addStep(name, values) {
|
|
68
|
-
if (name === undefined) {
|
|
69
|
-
throw new Error('Name is not defined');
|
|
70
|
-
}
|
|
71
|
-
this.stepInstructions.push(Bytecode._generateInstruction(name, values));
|
|
72
|
-
return this;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
static _generateInstruction(name, values) {
|
|
76
|
-
const length = (values ? values.length : 0) + 1;
|
|
77
|
-
const instruction = new Array(length);
|
|
78
|
-
instruction[0] = name;
|
|
79
|
-
for (let i = 1; i < length; i++) {
|
|
80
|
-
const val = values[i - 1];
|
|
81
|
-
if (val instanceof Traversal && val.graph != null) {
|
|
82
|
-
throw new Error(
|
|
83
|
-
`The child traversal of ${val} was not spawned anonymously - use ` +
|
|
84
|
-
'the __ class rather than a TraversalSource to construct the child traversal',
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
instruction[i] = val;
|
|
88
|
-
}
|
|
89
|
-
return instruction;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Returns the JSON representation of the source and step instructions
|
|
94
|
-
* @returns {String}
|
|
95
|
-
*/
|
|
96
|
-
toString() {
|
|
97
|
-
return JSON.stringify([this.sourceInstructions, this.stepInstructions]);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Adds a new source instructions
|
|
102
|
-
* @param {String} name
|
|
103
|
-
* @param {Array} values
|
|
104
|
-
* @returns {Bytecode}
|
|
105
|
-
*/
|
|
106
|
-
static _createGraphOp(name, values) {
|
|
107
|
-
const bc = new Bytecode();
|
|
108
|
-
bc.addSource(name, values);
|
|
109
|
-
return bc;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Gets the <code>Bytecode</code> that is meant to be sent as "graph operations" to the server.
|
|
114
|
-
* @returns {{rollback: Bytecode, commit: Bytecode}}
|
|
115
|
-
*/
|
|
116
|
-
static get GraphOp() {
|
|
117
|
-
return {
|
|
118
|
-
commit: Bytecode._createGraphOp('tx', ['commit']),
|
|
119
|
-
rollback: Bytecode._createGraphOp('tx', ['rollback']),
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
module.exports = Bytecode;
|