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.
Files changed (455) hide show
  1. package/README.md +18 -4
  2. package/build/cjs/driver/auth.cjs +76 -0
  3. package/build/cjs/driver/auth.d.cts +9 -0
  4. package/build/cjs/driver/client.cjs +178 -0
  5. package/build/cjs/driver/client.d.cts +88 -0
  6. package/build/cjs/driver/connection.cjs +363 -0
  7. package/build/cjs/driver/connection.d.cts +106 -0
  8. package/build/cjs/driver/dispatcher.browser.cjs +57 -0
  9. package/build/cjs/driver/dispatcher.browser.d.cts +35 -0
  10. package/build/cjs/driver/dispatcher.cjs +101 -0
  11. package/build/cjs/driver/dispatcher.d.cts +48 -0
  12. package/build/cjs/driver/driver-remote-connection.cjs +153 -0
  13. package/build/cjs/driver/driver-remote-connection.d.cts +39 -0
  14. package/build/cjs/driver/http-request.cjs +64 -0
  15. package/build/cjs/driver/http-request.d.cts +28 -0
  16. package/build/cjs/driver/logger.cjs +45 -0
  17. package/build/cjs/driver/logger.d.cts +29 -0
  18. package/build/cjs/driver/remote-connection.cjs +72 -0
  19. package/build/cjs/driver/remote-connection.d.cts +57 -0
  20. package/build/cjs/driver/request-message.cjs +246 -0
  21. package/build/cjs/driver/request-message.d.cts +79 -0
  22. package/build/cjs/driver/response-error.cjs +45 -0
  23. package/build/cjs/driver/response-error.d.cts +13 -0
  24. package/build/cjs/driver/result-set.cjs +111 -0
  25. package/build/cjs/driver/result-set.d.cts +29 -0
  26. package/build/cjs/index.cjs +146 -0
  27. package/build/cjs/index.d.cts +440 -0
  28. package/build/cjs/language/grammar/GremlinLexer.cjs +1905 -0
  29. package/build/cjs/language/grammar/GremlinLexer.d.cts +349 -0
  30. package/build/cjs/language/grammar/GremlinListener.cjs +4804 -0
  31. package/build/cjs/language/grammar/GremlinListener.d.cts +5239 -0
  32. package/build/cjs/language/grammar/GremlinParser.cjs +38146 -0
  33. package/build/cjs/language/grammar/GremlinParser.d.cts +6260 -0
  34. package/build/cjs/language/index.cjs +48 -0
  35. package/build/cjs/language/index.d.cts +12 -0
  36. package/build/cjs/language/translator/AnonymizedTranslateVisitor.cjs +166 -0
  37. package/build/cjs/language/translator/AnonymizedTranslateVisitor.d.cts +39 -0
  38. package/build/cjs/language/translator/DotNetTranslateVisitor.cjs +935 -0
  39. package/build/cjs/language/translator/DotNetTranslateVisitor.d.cts +166 -0
  40. package/build/cjs/language/translator/GoTranslateVisitor.cjs +421 -0
  41. package/build/cjs/language/translator/GoTranslateVisitor.d.cts +40 -0
  42. package/build/cjs/language/translator/GremlinTranslator.cjs +96 -0
  43. package/build/cjs/language/translator/GremlinTranslator.d.cts +18 -0
  44. package/build/cjs/language/translator/GroovyTranslateVisitor.cjs +310 -0
  45. package/build/cjs/language/translator/GroovyTranslateVisitor.d.cts +37 -0
  46. package/build/cjs/language/translator/JavaTranslateVisitor.cjs +270 -0
  47. package/build/cjs/language/translator/JavaTranslateVisitor.d.cts +26 -0
  48. package/build/cjs/language/translator/JavascriptTranslateVisitor.cjs +231 -0
  49. package/build/cjs/language/translator/JavascriptTranslateVisitor.d.cts +28 -0
  50. package/build/cjs/language/translator/PythonTranslateVisitor.cjs +340 -0
  51. package/build/cjs/language/translator/PythonTranslateVisitor.d.cts +31 -0
  52. package/build/cjs/language/translator/TranslateVisitor.cjs +398 -0
  53. package/build/cjs/language/translator/TranslateVisitor.d.cts +94 -0
  54. package/build/cjs/language/translator/Translation.cjs +47 -0
  55. package/build/cjs/language/translator/Translation.d.cts +13 -0
  56. package/build/cjs/language/translator/Translator.cjs +46 -0
  57. package/build/cjs/language/translator/Translator.d.cts +24 -0
  58. package/build/cjs/language/translator/TranslatorException.cjs +31 -0
  59. package/build/cjs/language/translator/TranslatorException.d.cts +6 -0
  60. package/build/cjs/process/anonymous-traversal.cjs +82 -0
  61. package/build/cjs/process/anonymous-traversal.d.cts +40 -0
  62. package/build/cjs/process/graph-traversal.cjs +1833 -0
  63. package/build/cjs/process/graph-traversal.d.cts +1215 -0
  64. package/build/cjs/process/gremlin-lang.cjs +308 -0
  65. package/build/cjs/process/gremlin-lang.d.cts +20 -0
  66. package/{lib/driver/response-error.js → build/cjs/process/gvalue.cjs} +23 -28
  67. package/build/cjs/process/gvalue.d.cts +7 -0
  68. package/build/cjs/process/transaction.cjs +171 -0
  69. package/build/cjs/process/transaction.d.cts +70 -0
  70. package/build/cjs/process/traversal-strategy.cjs +360 -0
  71. package/build/cjs/process/traversal-strategy.d.cts +211 -0
  72. package/build/cjs/process/traversal.cjs +539 -0
  73. package/build/cjs/process/traversal.d.cts +212 -0
  74. package/build/cjs/structure/PDTRegistry.cjs +116 -0
  75. package/build/cjs/structure/PDTRegistry.d.cts +34 -0
  76. package/build/cjs/structure/graph.cjs +500 -0
  77. package/build/cjs/structure/graph.d.cts +176 -0
  78. package/build/cjs/structure/io/binary/GraphBinary.cjs +177 -0
  79. package/build/cjs/structure/io/binary/GraphBinary.d.cts +105 -0
  80. package/build/cjs/structure/io/binary/internals/AnySerializer.cjs +97 -0
  81. package/build/cjs/structure/io/binary/internals/AnySerializer.d.cts +18 -0
  82. package/build/cjs/structure/io/binary/internals/ArraySerializer.cjs +108 -0
  83. package/build/cjs/structure/io/binary/internals/ArraySerializer.d.cts +22 -0
  84. package/build/cjs/structure/io/binary/internals/BigIntegerSerializer.cjs +116 -0
  85. package/build/cjs/structure/io/binary/internals/BigIntegerSerializer.d.cts +19 -0
  86. package/build/cjs/structure/io/binary/internals/BinarySerializer.cjs +92 -0
  87. package/build/cjs/structure/io/binary/internals/BinarySerializer.d.cts +19 -0
  88. package/build/cjs/structure/io/binary/internals/BooleanSerializer.cjs +79 -0
  89. package/build/cjs/structure/io/binary/internals/BooleanSerializer.d.cts +19 -0
  90. package/build/cjs/structure/io/binary/internals/ByteSerializer.cjs +74 -0
  91. package/build/cjs/structure/io/binary/internals/ByteSerializer.d.cts +18 -0
  92. package/build/cjs/structure/io/binary/internals/CompositePDTSerializer.cjs +81 -0
  93. package/build/cjs/structure/io/binary/internals/CompositePDTSerializer.d.cts +10 -0
  94. package/build/cjs/structure/io/binary/internals/DataType.cjs +63 -0
  95. package/build/cjs/structure/io/binary/internals/DataType.d.cts +35 -0
  96. package/build/cjs/structure/io/binary/internals/DateTimeSerializer.cjs +122 -0
  97. package/build/cjs/structure/io/binary/internals/DateTimeSerializer.d.cts +20 -0
  98. package/build/cjs/structure/io/binary/internals/DoubleSerializer.cjs +77 -0
  99. package/build/cjs/structure/io/binary/internals/DoubleSerializer.d.cts +19 -0
  100. package/build/cjs/structure/io/binary/internals/EdgeSerializer.cjs +146 -0
  101. package/build/cjs/structure/io/binary/internals/EdgeSerializer.d.cts +22 -0
  102. package/build/cjs/structure/io/binary/internals/EnumSerializer.cjs +115 -0
  103. package/build/cjs/structure/io/binary/internals/EnumSerializer.d.cts +39 -0
  104. package/build/cjs/structure/io/binary/internals/FloatSerializer.cjs +77 -0
  105. package/build/cjs/structure/io/binary/internals/FloatSerializer.d.cts +19 -0
  106. package/build/cjs/structure/io/binary/internals/GraphBinaryReader.cjs +171 -0
  107. package/build/cjs/structure/io/binary/internals/GraphBinaryReader.d.cts +43 -0
  108. package/build/cjs/structure/io/binary/internals/GraphBinaryWriter.cjs +85 -0
  109. package/build/cjs/structure/io/binary/internals/GraphBinaryWriter.d.cts +9 -0
  110. package/build/cjs/structure/io/binary/internals/GraphSerializer.cjs +184 -0
  111. package/build/cjs/structure/io/binary/internals/GraphSerializer.d.cts +22 -0
  112. package/build/cjs/structure/io/binary/internals/IntSerializer.cjs +98 -0
  113. package/build/cjs/structure/io/binary/internals/IntSerializer.d.cts +28 -0
  114. package/build/cjs/structure/io/binary/internals/LongSerializer.cjs +82 -0
  115. package/build/cjs/structure/io/binary/internals/LongSerializer.d.cts +20 -0
  116. package/build/cjs/structure/io/binary/internals/MapSerializer.cjs +110 -0
  117. package/build/cjs/structure/io/binary/internals/MapSerializer.d.cts +20 -0
  118. package/build/cjs/structure/io/binary/internals/MarkerSerializer.cjs +60 -0
  119. package/build/cjs/structure/io/binary/internals/MarkerSerializer.d.cts +17 -0
  120. package/build/cjs/structure/io/binary/internals/NumberSerializationStrategy.cjs +92 -0
  121. package/build/cjs/structure/io/binary/internals/NumberSerializationStrategy.d.cts +6 -0
  122. package/build/cjs/structure/io/binary/internals/PathSerializer.cjs +88 -0
  123. package/build/cjs/structure/io/binary/internals/PathSerializer.d.cts +22 -0
  124. package/build/cjs/structure/io/binary/internals/PrimitivePDTSerializer.cjs +80 -0
  125. package/build/cjs/structure/io/binary/internals/PrimitivePDTSerializer.d.cts +10 -0
  126. package/build/cjs/structure/io/binary/internals/PropertySerializer.cjs +93 -0
  127. package/build/cjs/structure/io/binary/internals/PropertySerializer.d.cts +22 -0
  128. package/build/cjs/structure/io/binary/internals/SetSerializer.cjs +104 -0
  129. package/build/cjs/structure/io/binary/internals/SetSerializer.d.cts +22 -0
  130. package/build/cjs/structure/io/binary/internals/ShortSerializer.cjs +77 -0
  131. package/build/cjs/structure/io/binary/internals/ShortSerializer.d.cts +19 -0
  132. package/build/cjs/structure/io/binary/internals/StreamReader.cjs +184 -0
  133. package/build/cjs/structure/io/binary/internals/StreamReader.d.cts +69 -0
  134. package/build/cjs/structure/io/binary/internals/StringSerializer.cjs +88 -0
  135. package/build/cjs/structure/io/binary/internals/StringSerializer.d.cts +21 -0
  136. package/build/cjs/structure/io/binary/internals/StubSerializer.cjs +33 -0
  137. package/build/cjs/structure/io/binary/internals/StubSerializer.d.cts +7 -0
  138. package/build/cjs/structure/io/binary/internals/TreeSerializer.cjs +139 -0
  139. package/build/cjs/structure/io/binary/internals/TreeSerializer.d.cts +54 -0
  140. package/build/cjs/structure/io/binary/internals/UnspecifiedNullSerializer.cjs +47 -0
  141. package/build/cjs/structure/io/binary/internals/UnspecifiedNullSerializer.d.cts +13 -0
  142. package/build/cjs/structure/io/binary/internals/UuidSerializer.cjs +93 -0
  143. package/build/cjs/structure/io/binary/internals/UuidSerializer.d.cts +19 -0
  144. package/build/cjs/structure/io/binary/internals/VertexPropertySerializer.cjs +105 -0
  145. package/build/cjs/structure/io/binary/internals/VertexPropertySerializer.d.cts +22 -0
  146. package/build/cjs/structure/io/binary/internals/VertexSerializer.cjs +101 -0
  147. package/build/cjs/structure/io/binary/internals/VertexSerializer.d.cts +22 -0
  148. package/build/cjs/structure/io/binary/internals/utils.cjs +53 -0
  149. package/build/cjs/structure/io/binary/internals/utils.d.cts +6 -0
  150. package/build/cjs/utils.cjs +259 -0
  151. package/build/cjs/utils.d.cts +78 -0
  152. package/build/esm/driver/auth.d.ts +9 -0
  153. package/build/esm/driver/auth.js +72 -0
  154. package/build/esm/driver/client.d.ts +88 -0
  155. package/build/esm/driver/client.js +172 -0
  156. package/build/esm/driver/connection.d.ts +106 -0
  157. package/build/esm/driver/connection.js +323 -0
  158. package/build/esm/driver/dispatcher.browser.d.ts +35 -0
  159. package/build/esm/driver/dispatcher.browser.js +53 -0
  160. package/build/esm/driver/dispatcher.d.ts +48 -0
  161. package/build/esm/driver/dispatcher.js +94 -0
  162. package/build/esm/driver/driver-remote-connection.d.ts +39 -0
  163. package/build/esm/driver/driver-remote-connection.js +114 -0
  164. package/build/esm/driver/http-request.d.ts +28 -0
  165. package/build/esm/driver/http-request.js +60 -0
  166. package/build/esm/driver/logger.d.ts +29 -0
  167. package/build/esm/driver/logger.js +42 -0
  168. package/build/esm/driver/remote-connection.d.ts +57 -0
  169. package/build/esm/driver/remote-connection.js +66 -0
  170. package/build/esm/driver/request-message.d.ts +79 -0
  171. package/build/esm/driver/request-message.js +238 -0
  172. package/build/esm/driver/response-error.d.ts +13 -0
  173. package/{lib/driver/auth/mechanisms/sasl-mechanism-base.js → build/esm/driver/response-error.js} +24 -34
  174. package/build/esm/driver/result-set.d.ts +29 -0
  175. package/build/esm/driver/result-set.js +75 -0
  176. package/build/esm/index.d.ts +440 -0
  177. package/{index.js → build/esm/index.js} +44 -33
  178. package/build/esm/language/grammar/GremlinLexer.d.ts +349 -0
  179. package/build/esm/language/grammar/GremlinLexer.js +1868 -0
  180. package/build/esm/language/grammar/GremlinListener.d.ts +5239 -0
  181. package/build/esm/language/grammar/GremlinListener.js +4800 -0
  182. package/build/esm/language/grammar/GremlinParser.d.ts +6260 -0
  183. package/build/esm/language/grammar/GremlinParser.js +37579 -0
  184. package/build/esm/language/index.d.ts +12 -0
  185. package/build/esm/language/index.js +30 -0
  186. package/build/esm/language/translator/AnonymizedTranslateVisitor.d.ts +39 -0
  187. package/build/esm/language/translator/AnonymizedTranslateVisitor.js +160 -0
  188. package/build/esm/language/translator/DotNetTranslateVisitor.d.ts +166 -0
  189. package/build/esm/language/translator/DotNetTranslateVisitor.js +929 -0
  190. package/build/esm/language/translator/GoTranslateVisitor.d.ts +40 -0
  191. package/build/esm/language/translator/GoTranslateVisitor.js +415 -0
  192. package/build/esm/language/translator/GremlinTranslator.d.ts +18 -0
  193. package/build/esm/language/translator/GremlinTranslator.js +89 -0
  194. package/build/esm/language/translator/GroovyTranslateVisitor.d.ts +37 -0
  195. package/build/esm/language/translator/GroovyTranslateVisitor.js +304 -0
  196. package/build/esm/language/translator/JavaTranslateVisitor.d.ts +26 -0
  197. package/build/esm/language/translator/JavaTranslateVisitor.js +264 -0
  198. package/build/esm/language/translator/JavascriptTranslateVisitor.d.ts +28 -0
  199. package/build/esm/language/translator/JavascriptTranslateVisitor.js +225 -0
  200. package/build/esm/language/translator/PythonTranslateVisitor.d.ts +31 -0
  201. package/build/esm/language/translator/PythonTranslateVisitor.js +334 -0
  202. package/build/esm/language/translator/TranslateVisitor.d.ts +94 -0
  203. package/build/esm/language/translator/TranslateVisitor.js +395 -0
  204. package/build/esm/language/translator/Translation.d.ts +13 -0
  205. package/build/esm/language/translator/Translation.js +43 -0
  206. package/build/esm/language/translator/Translator.d.ts +24 -0
  207. package/build/esm/language/translator/Translator.js +40 -0
  208. package/build/esm/language/translator/TranslatorException.d.ts +6 -0
  209. package/build/esm/language/translator/TranslatorException.js +27 -0
  210. package/build/esm/process/anonymous-traversal.d.ts +40 -0
  211. package/build/esm/process/anonymous-traversal.js +76 -0
  212. package/build/esm/process/graph-traversal.d.ts +1215 -0
  213. package/build/esm/process/graph-traversal.js +1824 -0
  214. package/build/esm/process/gremlin-lang.d.ts +20 -0
  215. package/build/esm/process/gremlin-lang.js +305 -0
  216. package/build/esm/process/gvalue.d.ts +7 -0
  217. package/{lib/driver/auth/authenticator.js → build/esm/process/gvalue.js} +19 -19
  218. package/build/esm/process/transaction.d.ts +70 -0
  219. package/build/esm/process/transaction.js +164 -0
  220. package/build/esm/process/traversal-strategy.d.ts +211 -0
  221. package/build/esm/process/traversal-strategy.js +319 -0
  222. package/build/esm/process/traversal.d.ts +212 -0
  223. package/build/esm/process/traversal.js +526 -0
  224. package/build/esm/structure/PDTRegistry.d.ts +34 -0
  225. package/build/esm/structure/PDTRegistry.js +112 -0
  226. package/build/esm/structure/graph.d.ts +176 -0
  227. package/build/esm/structure/graph.js +488 -0
  228. package/build/esm/structure/io/binary/GraphBinary.d.ts +105 -0
  229. package/build/esm/structure/io/binary/GraphBinary.js +136 -0
  230. package/build/esm/structure/io/binary/internals/AnySerializer.d.ts +18 -0
  231. package/build/esm/structure/io/binary/internals/AnySerializer.js +94 -0
  232. package/build/esm/structure/io/binary/internals/ArraySerializer.d.ts +22 -0
  233. package/build/esm/structure/io/binary/internals/ArraySerializer.js +105 -0
  234. package/build/esm/structure/io/binary/internals/BigIntegerSerializer.d.ts +19 -0
  235. package/build/esm/structure/io/binary/internals/BigIntegerSerializer.js +113 -0
  236. package/build/esm/structure/io/binary/internals/BinarySerializer.d.ts +19 -0
  237. package/build/esm/structure/io/binary/internals/BinarySerializer.js +89 -0
  238. package/build/esm/structure/io/binary/internals/BooleanSerializer.d.ts +19 -0
  239. package/build/esm/structure/io/binary/internals/BooleanSerializer.js +76 -0
  240. package/build/esm/structure/io/binary/internals/ByteSerializer.d.ts +18 -0
  241. package/build/esm/structure/io/binary/internals/ByteSerializer.js +71 -0
  242. package/build/esm/structure/io/binary/internals/CompositePDTSerializer.d.ts +10 -0
  243. package/build/esm/structure/io/binary/internals/CompositePDTSerializer.js +78 -0
  244. package/build/esm/structure/io/binary/internals/DataType.d.ts +35 -0
  245. package/build/esm/structure/io/binary/internals/DataType.js +61 -0
  246. package/build/esm/structure/io/binary/internals/DateTimeSerializer.d.ts +20 -0
  247. package/build/esm/structure/io/binary/internals/DateTimeSerializer.js +119 -0
  248. package/build/esm/structure/io/binary/internals/DoubleSerializer.d.ts +19 -0
  249. package/build/esm/structure/io/binary/internals/DoubleSerializer.js +74 -0
  250. package/build/esm/structure/io/binary/internals/EdgeSerializer.d.ts +22 -0
  251. package/build/esm/structure/io/binary/internals/EdgeSerializer.js +143 -0
  252. package/build/esm/structure/io/binary/internals/EnumSerializer.d.ts +39 -0
  253. package/build/esm/structure/io/binary/internals/EnumSerializer.js +112 -0
  254. package/build/esm/structure/io/binary/internals/FloatSerializer.d.ts +19 -0
  255. package/build/esm/structure/io/binary/internals/FloatSerializer.js +74 -0
  256. package/build/esm/structure/io/binary/internals/GraphBinaryReader.d.ts +43 -0
  257. package/build/esm/structure/io/binary/internals/GraphBinaryReader.js +165 -0
  258. package/build/esm/structure/io/binary/internals/GraphBinaryWriter.d.ts +9 -0
  259. package/build/esm/structure/io/binary/internals/GraphBinaryWriter.js +82 -0
  260. package/build/esm/structure/io/binary/internals/GraphSerializer.d.ts +22 -0
  261. package/build/esm/structure/io/binary/internals/GraphSerializer.js +181 -0
  262. package/build/esm/structure/io/binary/internals/IntSerializer.d.ts +28 -0
  263. package/build/esm/structure/io/binary/internals/IntSerializer.js +95 -0
  264. package/build/esm/structure/io/binary/internals/LongSerializer.d.ts +20 -0
  265. package/build/esm/structure/io/binary/internals/LongSerializer.js +79 -0
  266. package/build/esm/structure/io/binary/internals/MapSerializer.d.ts +20 -0
  267. package/build/esm/structure/io/binary/internals/MapSerializer.js +107 -0
  268. package/build/esm/structure/io/binary/internals/MarkerSerializer.d.ts +17 -0
  269. package/build/esm/structure/io/binary/internals/MarkerSerializer.js +56 -0
  270. package/build/esm/structure/io/binary/internals/NumberSerializationStrategy.d.ts +6 -0
  271. package/build/esm/structure/io/binary/internals/NumberSerializationStrategy.js +89 -0
  272. package/build/esm/structure/io/binary/internals/PathSerializer.d.ts +22 -0
  273. package/build/esm/structure/io/binary/internals/PathSerializer.js +85 -0
  274. package/build/esm/structure/io/binary/internals/PrimitivePDTSerializer.d.ts +10 -0
  275. package/build/esm/structure/io/binary/internals/PrimitivePDTSerializer.js +77 -0
  276. package/build/esm/structure/io/binary/internals/PropertySerializer.d.ts +22 -0
  277. package/build/esm/structure/io/binary/internals/PropertySerializer.js +90 -0
  278. package/build/esm/structure/io/binary/internals/SetSerializer.d.ts +22 -0
  279. package/build/esm/structure/io/binary/internals/SetSerializer.js +101 -0
  280. package/build/esm/structure/io/binary/internals/ShortSerializer.d.ts +19 -0
  281. package/build/esm/structure/io/binary/internals/ShortSerializer.js +74 -0
  282. package/build/esm/structure/io/binary/internals/StreamReader.d.ts +69 -0
  283. package/build/esm/structure/io/binary/internals/StreamReader.js +181 -0
  284. package/build/esm/structure/io/binary/internals/StringSerializer.d.ts +21 -0
  285. package/build/esm/structure/io/binary/internals/StringSerializer.js +85 -0
  286. package/build/esm/structure/io/binary/internals/StubSerializer.d.ts +7 -0
  287. package/{.prettierrc.js → build/esm/structure/io/binary/internals/StubSerializer.js} +12 -11
  288. package/build/esm/structure/io/binary/internals/TreeSerializer.d.ts +54 -0
  289. package/build/esm/structure/io/binary/internals/TreeSerializer.js +136 -0
  290. package/build/esm/structure/io/binary/internals/UnspecifiedNullSerializer.d.ts +13 -0
  291. package/build/esm/structure/io/binary/internals/UnspecifiedNullSerializer.js +44 -0
  292. package/build/esm/structure/io/binary/internals/UuidSerializer.d.ts +19 -0
  293. package/build/esm/structure/io/binary/internals/UuidSerializer.js +90 -0
  294. package/build/esm/structure/io/binary/internals/VertexPropertySerializer.d.ts +22 -0
  295. package/build/esm/structure/io/binary/internals/VertexPropertySerializer.js +102 -0
  296. package/build/esm/structure/io/binary/internals/VertexSerializer.d.ts +22 -0
  297. package/build/esm/structure/io/binary/internals/VertexSerializer.js +98 -0
  298. package/build/esm/structure/io/binary/internals/utils.d.ts +6 -0
  299. package/{lib → build/esm}/structure/io/binary/internals/utils.js +23 -35
  300. package/build/esm/utils.d.ts +78 -0
  301. package/build/esm/utils.js +237 -0
  302. package/package.json +71 -26
  303. package/.nvmrc +0 -1
  304. package/NOTICE +0 -5
  305. package/doc/AnonymousTraversalSource.html +0 -793
  306. package/doc/Authenticator.html +0 -303
  307. package/doc/Bytecode.html +0 -941
  308. package/doc/CardinalityValue.html +0 -711
  309. package/doc/Client.html +0 -1869
  310. package/doc/Connection.html +0 -1192
  311. package/doc/DriverRemoteConnection.html +0 -1528
  312. package/doc/EdgeLabelVerificationStrategy.html +0 -238
  313. package/doc/Graph.html +0 -343
  314. package/doc/GraphSON2Reader.html +0 -407
  315. package/doc/GraphSON2Writer.html +0 -558
  316. package/doc/GraphSON3Reader.html +0 -170
  317. package/doc/GraphSON3Writer.html +0 -170
  318. package/doc/GraphTraversal.html +0 -22974
  319. package/doc/GraphTraversalSource.html +0 -3683
  320. package/doc/HaltedTraverserStrategy.html +0 -215
  321. package/doc/MatchAlgorithmStrategy.html +0 -210
  322. package/doc/P.html +0 -2020
  323. package/doc/PartitionStrategy.html +0 -387
  324. package/doc/Path.html +0 -242
  325. package/doc/PlainTextSaslAuthenticator.html +0 -456
  326. package/doc/ProductiveByStrategy.html +0 -258
  327. package/doc/RemoteConnection.html +0 -1086
  328. package/doc/RemoteStrategy.html +0 -307
  329. package/doc/RemoteTraversal.html +0 -170
  330. package/doc/ReservedKeysVerificationStrategy.html +0 -261
  331. package/doc/ResponseError.html +0 -360
  332. package/doc/ResultSet.html +0 -633
  333. package/doc/SaslAuthenticator.html +0 -455
  334. package/doc/SaslMechanismBase.html +0 -506
  335. package/doc/SaslMechanismPlain.html +0 -925
  336. package/doc/SeedStrategy.html +0 -288
  337. package/doc/SubgraphStrategy.html +0 -387
  338. package/doc/TextP.html +0 -1440
  339. package/doc/Transaction.html +0 -655
  340. package/doc/Translator.html +0 -527
  341. package/doc/TraversalStrategies.html +0 -652
  342. package/doc/TraversalStrategy.html +0 -393
  343. package/doc/TypeSerializer.html +0 -166
  344. package/doc/driver_auth_authenticator.js.html +0 -89
  345. package/doc/driver_auth_mechanisms_sasl-mechanism-base.js.html +0 -103
  346. package/doc/driver_auth_mechanisms_sasl-mechanism-plain.js.html +0 -157
  347. package/doc/driver_auth_plain-text-sasl-authenticator.js.html +0 -106
  348. package/doc/driver_auth_sasl-authenticator.js.html +0 -100
  349. package/doc/driver_client.js.html +0 -250
  350. package/doc/driver_connection.js.html +0 -518
  351. package/doc/driver_driver-remote-connection.js.html +0 -193
  352. package/doc/driver_remote-connection.js.html +0 -198
  353. package/doc/driver_response-error.js.html +0 -98
  354. package/doc/driver_result-set.js.html +0 -134
  355. package/doc/fonts/OpenSans-Bold-webfont.eot +0 -0
  356. package/doc/fonts/OpenSans-Bold-webfont.svg +0 -1830
  357. package/doc/fonts/OpenSans-Bold-webfont.woff +0 -0
  358. package/doc/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  359. package/doc/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  360. package/doc/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  361. package/doc/fonts/OpenSans-Italic-webfont.eot +0 -0
  362. package/doc/fonts/OpenSans-Italic-webfont.svg +0 -1830
  363. package/doc/fonts/OpenSans-Italic-webfont.woff +0 -0
  364. package/doc/fonts/OpenSans-Light-webfont.eot +0 -0
  365. package/doc/fonts/OpenSans-Light-webfont.svg +0 -1831
  366. package/doc/fonts/OpenSans-Light-webfont.woff +0 -0
  367. package/doc/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  368. package/doc/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  369. package/doc/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  370. package/doc/fonts/OpenSans-Regular-webfont.eot +0 -0
  371. package/doc/fonts/OpenSans-Regular-webfont.svg +0 -1831
  372. package/doc/fonts/OpenSans-Regular-webfont.woff +0 -0
  373. package/doc/global.html +0 -728
  374. package/doc/index.html +0 -185
  375. package/doc/module.exports.html +0 -301
  376. package/doc/process_anonymous-traversal.js.html +0 -138
  377. package/doc/process_bytecode.js.html +0 -175
  378. package/doc/process_graph-traversal.js.html +0 -1936
  379. package/doc/process_transaction.js.html +0 -151
  380. package/doc/process_translator.js.html +0 -172
  381. package/doc/process_traversal-strategy.js.html +0 -466
  382. package/doc/process_traversal.js.html +0 -592
  383. package/doc/scripts/linenumber.js +0 -25
  384. package/doc/scripts/prettify/Apache-License-2.0.txt +0 -202
  385. package/doc/scripts/prettify/lang-css.js +0 -2
  386. package/doc/scripts/prettify/prettify.js +0 -28
  387. package/doc/structure_graph.js.html +0 -233
  388. package/doc/structure_io_binary_internals_DataType.js.html +0 -151
  389. package/doc/structure_io_binary_internals_GraphBinaryReader.js.html +0 -133
  390. package/doc/structure_io_binary_internals_GraphBinaryWriter.js.html +0 -136
  391. package/doc/structure_io_graph-serializer.js.html +0 -354
  392. package/doc/structure_io_type-serializers.js.html +0 -617
  393. package/doc/styles/jsdoc-default.css +0 -358
  394. package/doc/styles/prettify-jsdoc.css +0 -111
  395. package/doc/styles/prettify-tomorrow.css +0 -132
  396. package/doc/utils.js.html +0 -181
  397. package/docker-compose.yml +0 -76
  398. package/eslint.config.mjs +0 -143
  399. package/lib/driver/auth/mechanisms/sasl-mechanism-plain.js +0 -106
  400. package/lib/driver/auth/plain-text-sasl-authenticator.js +0 -55
  401. package/lib/driver/auth/sasl-authenticator.js +0 -49
  402. package/lib/driver/client.js +0 -199
  403. package/lib/driver/connection.js +0 -467
  404. package/lib/driver/driver-remote-connection.js +0 -142
  405. package/lib/driver/remote-connection.js +0 -147
  406. package/lib/driver/result-set.js +0 -83
  407. package/lib/process/anonymous-traversal.js +0 -87
  408. package/lib/process/bytecode.js +0 -124
  409. package/lib/process/graph-traversal.js +0 -1885
  410. package/lib/process/transaction.js +0 -100
  411. package/lib/process/translator.js +0 -121
  412. package/lib/process/traversal-strategy.js +0 -415
  413. package/lib/process/traversal.js +0 -541
  414. package/lib/structure/graph.js +0 -182
  415. package/lib/structure/io/binary/GraphBinary.js +0 -110
  416. package/lib/structure/io/binary/internals/AnySerializer.js +0 -100
  417. package/lib/structure/io/binary/internals/ArraySerializer.js +0 -137
  418. package/lib/structure/io/binary/internals/BigIntegerSerializer.js +0 -153
  419. package/lib/structure/io/binary/internals/BooleanSerializer.js +0 -105
  420. package/lib/structure/io/binary/internals/BulkSetSerializer.js +0 -126
  421. package/lib/structure/io/binary/internals/ByteBufferSerializer.js +0 -126
  422. package/lib/structure/io/binary/internals/ByteSerializer.js +0 -97
  423. package/lib/structure/io/binary/internals/BytecodeSerializer.js +0 -250
  424. package/lib/structure/io/binary/internals/ClassSerializer.js +0 -60
  425. package/lib/structure/io/binary/internals/DataType.js +0 -100
  426. package/lib/structure/io/binary/internals/DateSerializer.js +0 -105
  427. package/lib/structure/io/binary/internals/DoubleSerializer.js +0 -101
  428. package/lib/structure/io/binary/internals/EdgeSerializer.js +0 -216
  429. package/lib/structure/io/binary/internals/EnumSerializer.js +0 -152
  430. package/lib/structure/io/binary/internals/FloatSerializer.js +0 -101
  431. package/lib/structure/io/binary/internals/GraphBinaryReader.js +0 -82
  432. package/lib/structure/io/binary/internals/GraphBinaryWriter.js +0 -85
  433. package/lib/structure/io/binary/internals/IntSerializer.js +0 -114
  434. package/lib/structure/io/binary/internals/LambdaSerializer.js +0 -71
  435. package/lib/structure/io/binary/internals/LongSerializer.js +0 -109
  436. package/lib/structure/io/binary/internals/LongSerializerNg.js +0 -104
  437. package/lib/structure/io/binary/internals/MapSerializer.js +0 -155
  438. package/lib/structure/io/binary/internals/NumberSerializationStrategy.js +0 -73
  439. package/lib/structure/io/binary/internals/OffsetDateTimeSerializer.js +0 -151
  440. package/lib/structure/io/binary/internals/PSerializer.js +0 -152
  441. package/lib/structure/io/binary/internals/PathSerializer.js +0 -124
  442. package/lib/structure/io/binary/internals/PropertySerializer.js +0 -142
  443. package/lib/structure/io/binary/internals/SetSerializer.js +0 -134
  444. package/lib/structure/io/binary/internals/ShortSerializer.js +0 -101
  445. package/lib/structure/io/binary/internals/StringSerializer.js +0 -116
  446. package/lib/structure/io/binary/internals/TextPSerializer.js +0 -146
  447. package/lib/structure/io/binary/internals/TraversalStrategySerializer.js +0 -69
  448. package/lib/structure/io/binary/internals/TraverserSerializer.js +0 -124
  449. package/lib/structure/io/binary/internals/UnspecifiedNullSerializer.js +0 -77
  450. package/lib/structure/io/binary/internals/UuidSerializer.js +0 -121
  451. package/lib/structure/io/binary/internals/VertexPropertySerializer.js +0 -176
  452. package/lib/structure/io/binary/internals/VertexSerializer.js +0 -139
  453. package/lib/structure/io/graph-serializer.js +0 -303
  454. package/lib/structure/io/type-serializers.js +0 -566
  455. package/lib/utils.js +0 -130
@@ -0,0 +1,166 @@
1
+ import TranslateVisitor from './TranslateVisitor.cjs';
2
+ /**
3
+ * Converts a Gremlin traversal string into a C# source code representation.
4
+ * Mirrors the Java DotNetTranslateVisitor.
5
+ */
6
+ export default class DotNetTranslateVisitor extends TranslateVisitor {
7
+ constructor(graphTraversalSourceName?: string);
8
+ protected processGremlinSymbol(step: string): string;
9
+ protected getCardinalityFunctionClass(): string;
10
+ /**
11
+ * .NET enum values are capitalized but do NOT go through processGremlinSymbol,
12
+ * since the SymbolHelper mappings (bigdecimal→BigDecimal etc.) don't apply to enums.
13
+ */
14
+ protected appendExplicitNaming(txt: string, prefix: string): void;
15
+ visitTraversalGType(ctx: any): void;
16
+ visitTraversalDirection(ctx: any): void;
17
+ visitTraversalDirectionShort(ctx: any): void;
18
+ visitTraversalDirectionLong(ctx: any): void;
19
+ visitNanLiteral(_ctx: any): void;
20
+ visitInfLiteral(ctx: any): void;
21
+ visitIntegerLiteral(ctx: any): void;
22
+ visitFloatLiteral(ctx: any): void;
23
+ visitDateLiteral(ctx: any): void;
24
+ visitGenericRangeLiteral(_ctx: any): void;
25
+ visitGenericSetLiteral(ctx: any): void;
26
+ visitGenericCollectionLiteral(ctx: any): void;
27
+ visitGenericMapLiteral(ctx: any): void;
28
+ visitMapEntry(ctx: any): void;
29
+ visitMapKey(ctx: any): void;
30
+ visitUuidLiteral(ctx: any): void;
31
+ visitCharacterLiteral(ctx: any): void;
32
+ visitDurationLiteral(ctx: any): void;
33
+ visitBinaryLiteral(ctx: any): void;
34
+ visitClassType(ctx: any): void;
35
+ visitTraversalStrategy(ctx: any): void;
36
+ visitConfiguration(ctx: any): void;
37
+ visitStringNullableArgumentVarargs(ctx: any): void;
38
+ private handleGenerics;
39
+ private handleLongArguments;
40
+ private tryAppendCastToLong_IntArg;
41
+ private tryAppendCastToString_StringArg;
42
+ private visitStringArgumentVarargsWithCast;
43
+ private tryAppendCastToString_StringNullableLit;
44
+ private tryAppendCastToString_StringNullableArg;
45
+ private tryAppendCastToObject_GenericArg;
46
+ private tryAppendCastToObject_GenericLit;
47
+ private isCalledAsFirstStepInAnonymousTraversal;
48
+ visitTraversalSourceSpawnMethod_inject(ctx: any): void;
49
+ visitTraversalSourceSpawnMethod_io(ctx: any): void;
50
+ visitTraversalSourceSpawnMethod_union(ctx: any): void;
51
+ visitTraversalSourceSpawnMethod_call_empty(ctx: any): void;
52
+ visitTraversalSourceSpawnMethod_match_string(ctx: any): void;
53
+ visitTraversalSourceSpawnMethod_match_string_map(ctx: any): void;
54
+ visitTraversalSourceSpawnMethod_addV_String(ctx: any): void;
55
+ visitTraversalSourceSpawnMethod_addE(ctx: any): void;
56
+ visitTraversalSourceSpawnMethod_call_string(ctx: any): void;
57
+ visitTraversalSourceSpawnMethod_call_string_map(ctx: any): void;
58
+ visitTraversalSourceSpawnMethod_call_string_traversal(ctx: any): void;
59
+ visitTraversalSourceSpawnMethod_call_string_map_traversal(ctx: any): void;
60
+ visitTraversalSourceSpawnMethod_mergeV_Map(ctx: any): void;
61
+ visitTraversalSourceSpawnMethod_mergeV_Traversal(ctx: any): void;
62
+ visitTraversalSourceSpawnMethod_mergeE_Map(ctx: any): void;
63
+ visitTraversalSourceSpawnMethod_mergeE_Traversal(ctx: any): void;
64
+ visitTraversalMethod_asString_Scope(ctx: any): void;
65
+ visitTraversalMethod_branch(ctx: any): void;
66
+ visitTraversalMethod_cap(ctx: any): void;
67
+ visitTraversalMethod_choose_Function(ctx: any): void;
68
+ visitTraversalMethod_choose_Predicate_Traversal(ctx: any): void;
69
+ visitTraversalMethod_choose_Predicate_Traversal_Traversal(ctx: any): void;
70
+ visitTraversalMethod_choose_Traversal(ctx: any): void;
71
+ visitTraversalMethod_choose_Traversal_Traversal(ctx: any): void;
72
+ visitTraversalMethod_choose_Traversal_Traversal_Traversal(ctx: any): void;
73
+ visitTraversalMethod_coalesce(ctx: any): void;
74
+ visitTraversalMethod_constant(ctx: any): void;
75
+ visitTraversalMethod_elementMap(ctx: any): void;
76
+ visitTraversalMethod_flatMap(ctx: any): void;
77
+ visitTraversalMethod_fold_Empty(ctx: any): void;
78
+ visitTraversalMethod_fold_Object_BiFunction(ctx: any): void;
79
+ visitTraversalMethod_group_Empty(ctx: any): void;
80
+ visitTraversalMethod_groupCount_Empty(ctx: any): void;
81
+ visitTraversalMethod_index(ctx: any): void;
82
+ visitTraversalMethod_length_Scope(ctx: any): void;
83
+ visitTraversalMethod_local(ctx: any): void;
84
+ visitTraversalMethod_lTrim_Scope(ctx: any): void;
85
+ visitTraversalMethod_map(ctx: any): void;
86
+ visitTraversalMethod_match_traversal(ctx: any): void;
87
+ visitTraversalMethod_match_string(ctx: any): void;
88
+ visitTraversalMethod_match_string_map(ctx: any): void;
89
+ visitTraversalMethod_max_Empty(ctx: any): void;
90
+ visitTraversalMethod_max_Scope(ctx: any): void;
91
+ visitTraversalMethod_mean_Empty(ctx: any): void;
92
+ visitTraversalMethod_mean_Scope(ctx: any): void;
93
+ visitTraversalMethod_min_Empty(ctx: any): void;
94
+ visitTraversalMethod_min_Scope(ctx: any): void;
95
+ visitTraversalMethod_optional(ctx: any): void;
96
+ visitTraversalMethod_profile_Empty(ctx: any): void;
97
+ visitTraversalMethod_project(ctx: any): void;
98
+ visitTraversalMethod_properties(ctx: any): void;
99
+ visitTraversalMethod_propertyMap(ctx: any): void;
100
+ visitTraversalMethod_replace_Scope_String_String(ctx: any): void;
101
+ visitTraversalMethod_rTrim_Scope(ctx: any): void;
102
+ visitTraversalMethod_sack_Empty(ctx: any): void;
103
+ visitTraversalMethod_select_Column(ctx: any): void;
104
+ visitTraversalMethod_select_Pop_String(ctx: any): void;
105
+ visitTraversalMethod_select_Pop_String_String_String(ctx: any): void;
106
+ visitTraversalMethod_select_Pop_Traversal(ctx: any): void;
107
+ visitTraversalMethod_select_String(ctx: any): void;
108
+ visitTraversalMethod_select_String_String_String(ctx: any): void;
109
+ visitTraversalMethod_select_Traversal(ctx: any): void;
110
+ visitTraversalMethod_split_Scope_String(ctx: any): void;
111
+ visitTraversalMethod_substring_Scope_int(ctx: any): void;
112
+ visitTraversalMethod_substring_Scope_int_int(ctx: any): void;
113
+ visitTraversalMethod_sum_Empty(ctx: any): void;
114
+ visitTraversalMethod_sum_Scope(ctx: any): void;
115
+ visitTraversalMethod_tail_Empty(ctx: any): void;
116
+ visitTraversalMethod_tail_Scope(ctx: any): void;
117
+ visitTraversalMethod_toLower_Scope(ctx: any): void;
118
+ visitTraversalMethod_toUpper_Scope(ctx: any): void;
119
+ visitTraversalMethod_tree_Empty(ctx: any): void;
120
+ visitTraversalMethod_trim_Scope(ctx: any): void;
121
+ visitTraversalMethod_unfold(ctx: any): void;
122
+ visitTraversalMethod_union(ctx: any): void;
123
+ visitTraversalMethod_value(ctx: any): void;
124
+ visitTraversalMethod_valueMap_String(ctx: any): void;
125
+ visitTraversalMethod_valueMap_boolean_String(ctx: any): void;
126
+ visitTraversalMethod_values(ctx: any): void;
127
+ visitTraversalMethod_limit_long(ctx: any): void;
128
+ visitTraversalMethod_limit_Scope_long(ctx: any): void;
129
+ visitTraversalMethod_range_long_long(ctx: any): void;
130
+ visitTraversalMethod_range_Scope_long_long(ctx: any): void;
131
+ visitTraversalMethod_skip_long(ctx: any): void;
132
+ visitTraversalMethod_skip_Scope_long(ctx: any): void;
133
+ visitTraversalMethod_tail_long(ctx: any): void;
134
+ visitTraversalMethod_tail_Scope_long(ctx: any): void;
135
+ visitTraversalMethod_addV_String(ctx: any): void;
136
+ visitTraversalMethod_addE_String(ctx: any): void;
137
+ visitTraversalMethod_call_string(ctx: any): void;
138
+ visitTraversalMethod_call_string_map(ctx: any): void;
139
+ visitTraversalMethod_call_string_traversal(ctx: any): void;
140
+ visitTraversalMethod_call_string_map_traversal(ctx: any): void;
141
+ visitTraversalMethod_has_String_Object(ctx: any): void;
142
+ visitTraversalMethod_has_String_P(ctx: any): void;
143
+ visitTraversalMethod_has_String_String_Object(ctx: any): void;
144
+ visitTraversalMethod_has_String_String_P(ctx: any): void;
145
+ visitTraversalMethod_has_T_Object(ctx: any): void;
146
+ visitTraversalMethod_has_T_P(ctx: any): void;
147
+ visitTraversalMethod_hasKey_P(ctx: any): void;
148
+ visitTraversalMethod_hasKey_String_String(ctx: any): void;
149
+ visitTraversalMethod_hasValue_Object_Object(ctx: any): void;
150
+ visitTraversalMethod_hasValue_P(ctx: any): void;
151
+ visitTraversalMethod_hasLabel_P(ctx: any): void;
152
+ visitTraversalMethod_hasLabel_String_String(ctx: any): void;
153
+ visitTraversalMethod_mergeV_Map(ctx: any): void;
154
+ visitTraversalMethod_mergeV_Traversal(ctx: any): void;
155
+ visitTraversalMethod_mergeE_Map(ctx: any): void;
156
+ visitTraversalMethod_mergeE_Traversal(ctx: any): void;
157
+ visitTraversalMethod_option_Merge_Map(ctx: any): void;
158
+ visitTraversalMethod_option_Merge_Traversal(ctx: any): void;
159
+ visitTraversalMethod_option_Object_Traversal(ctx: any): void;
160
+ visitTraversalMethod_property_Object(ctx: any): void;
161
+ visitTraversalMethod_property_Cardinality_Object(ctx: any): void;
162
+ visitTraversalMethod_property_Traversal(ctx: any): void;
163
+ visitTraversalMethod_property_Cardinality_Object_Object_Object(ctx: any): void;
164
+ visitTraversalMethod_conjoin_String(ctx: any): void;
165
+ private tryAppendCastToString_StringLit;
166
+ }
@@ -0,0 +1,421 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ // Context parameters are typed as `any` because the generated grammar files
25
+ // require accepting arbitrary context types at runtime.
26
+ const TranslateVisitor_js_1 = __importDefault(require("./TranslateVisitor.cjs"));
27
+ const TranslatorException_js_1 = require("./TranslatorException.cjs");
28
+ const buffer_1 = require("node:buffer");
29
+ const GO_PACKAGE_NAME = 'gremlingo.';
30
+ const STRATEGY_WITH_MAP_OPTS = new Set([
31
+ 'OptionsStrategy',
32
+ 'ReferenceElementStrategy', 'ComputerFinalizationStrategy', 'ProfileStrategy',
33
+ 'ComputerVerificationStrategy', 'StandardVerificationStrategy', 'VertexProgramRestrictionStrategy',
34
+ 'MessagePassingReductionStrategy',
35
+ ]);
36
+ const STRATEGY_WITH_STRING_SLICE = new Set([
37
+ 'ReservedKeysVerificationStrategy', 'ProductiveByStrategy',
38
+ ]);
39
+ /**
40
+ * Converts a Gremlin traversal string into a Go source code representation.
41
+ * Assumes use of the gremlingo, math, time, and uuid packages.
42
+ */
43
+ class GoTranslateVisitor extends TranslateVisitor_js_1.default {
44
+ constructor(graphTraversalSourceName = 'g') {
45
+ super(graphTraversalSourceName);
46
+ }
47
+ processGremlinSymbol(step) {
48
+ return SymbolHelper.toGo(step);
49
+ }
50
+ getCardinalityFunctionClass() {
51
+ return 'CardinalityValue';
52
+ }
53
+ appendExplicitNaming(txt, prefix) {
54
+ this.sb.push(GO_PACKAGE_NAME);
55
+ super.appendExplicitNaming(txt, prefix);
56
+ }
57
+ appendAnonymousSpawn() {
58
+ this.sb.push(GO_PACKAGE_NAME + 'T__.');
59
+ }
60
+ visitP(ctx, pClass, methodName) {
61
+ this.sb.push(GO_PACKAGE_NAME);
62
+ super.visitP(ctx, pClass, methodName);
63
+ }
64
+ visitTraversalGType(ctx) {
65
+ const parts = ctx.getText().split('.');
66
+ this.sb.push(GO_PACKAGE_NAME);
67
+ this.sb.push(this.processGremlinSymbol(parts[0]));
68
+ this.sb.push('.');
69
+ this.sb.push(this.processGremlinSymbol(parts[1].toLowerCase()));
70
+ }
71
+ visitNanLiteral(_ctx) {
72
+ this.sb.push('math.NaN()');
73
+ }
74
+ visitInfLiteral(ctx) {
75
+ if (ctx.SignedInfLiteral() != null && ctx.SignedInfLiteral().getText() === '-Infinity') {
76
+ this.sb.push('math.Inf(-1)');
77
+ }
78
+ else {
79
+ this.sb.push('math.Inf(1)');
80
+ }
81
+ }
82
+ visitNullLiteral(_ctx) {
83
+ this.sb.push('nil');
84
+ }
85
+ visitStringNullableLiteral(ctx) {
86
+ if (ctx.getText() === 'null') {
87
+ this.sb.push('nil');
88
+ }
89
+ else {
90
+ const text = TranslateVisitor_js_1.default.removeFirstAndLastCharacters(ctx.getText());
91
+ this.handleStringLiteralText(text);
92
+ }
93
+ }
94
+ visitIntegerLiteral(ctx) {
95
+ const integerLiteral = ctx.getText().toLowerCase();
96
+ const lastChar = integerLiteral[integerLiteral.length - 1];
97
+ const num = integerLiteral.slice(0, -1);
98
+ if (!/[a-z]/.test(lastChar)) {
99
+ this.sb.push(integerLiteral);
100
+ return;
101
+ }
102
+ switch (lastChar) {
103
+ case 'b':
104
+ this.sb.push('int8(');
105
+ this.sb.push(num);
106
+ this.sb.push(')');
107
+ break;
108
+ case 's':
109
+ this.sb.push('int16(');
110
+ this.sb.push(num);
111
+ this.sb.push(')');
112
+ break;
113
+ case 'i':
114
+ this.sb.push('int32(');
115
+ this.sb.push(num);
116
+ this.sb.push(')');
117
+ break;
118
+ case 'l':
119
+ this.sb.push('int64(');
120
+ this.sb.push(num);
121
+ this.sb.push(')');
122
+ break;
123
+ case 'n':
124
+ this.sb.push(GO_PACKAGE_NAME + 'ParseBigInt("');
125
+ this.sb.push(num);
126
+ this.sb.push('")');
127
+ break;
128
+ default:
129
+ this.sb.push(integerLiteral);
130
+ }
131
+ }
132
+ visitFloatLiteral(ctx) {
133
+ if (ctx.infLiteral() != null) {
134
+ this.visit(ctx.infLiteral());
135
+ return;
136
+ }
137
+ if (ctx.nanLiteral() != null) {
138
+ this.visit(ctx.nanLiteral());
139
+ return;
140
+ }
141
+ const floatLiteral = ctx.getText().toLowerCase();
142
+ const lastChar = floatLiteral[floatLiteral.length - 1];
143
+ const num = floatLiteral.slice(0, -1);
144
+ if (!/[a-z]/.test(lastChar)) {
145
+ this.sb.push(floatLiteral);
146
+ return;
147
+ }
148
+ switch (lastChar) {
149
+ case 'f':
150
+ this.sb.push('float32(');
151
+ this.sb.push(num);
152
+ this.sb.push(')');
153
+ break;
154
+ case 'd':
155
+ this.sb.push(num);
156
+ break;
157
+ case 'm':
158
+ this.sb.push(GO_PACKAGE_NAME + 'ParseBigDecimal("');
159
+ this.sb.push(num);
160
+ this.sb.push('")');
161
+ break;
162
+ default:
163
+ this.sb.push(floatLiteral);
164
+ }
165
+ }
166
+ visitDateLiteral(ctx) {
167
+ const dtString = ctx.getChild(2).getText();
168
+ const inner = TranslateVisitor_js_1.default.removeFirstAndLastCharacters(dtString);
169
+ const d = new Date(inner);
170
+ if (isNaN(d.getTime())) {
171
+ throw new TranslatorException_js_1.TranslatorException(`Invalid datetime: ${inner}`);
172
+ }
173
+ const year = d.getUTCFullYear();
174
+ const month = d.getUTCMonth() + 1;
175
+ const day = d.getUTCDate();
176
+ const hours = d.getUTCHours();
177
+ const minutes = d.getUTCMinutes();
178
+ const seconds = d.getUTCSeconds();
179
+ const nanos = d.getUTCMilliseconds() * 1_000_000;
180
+ const totalSeconds = 0; // assume UTC when no offset specified
181
+ const zoneInfo = 'UTC+00:00';
182
+ this.sb.push(`time.Date(${year}, ${month}, ${day}, ${hours}, ${minutes}, ${seconds}, ${nanos}, time.FixedZone("${zoneInfo}", ${totalSeconds}))`);
183
+ }
184
+ visitGenericRangeLiteral(_ctx) {
185
+ throw new TranslatorException_js_1.TranslatorException('Go does not support range literals');
186
+ }
187
+ visitGenericSetLiteral(ctx) {
188
+ this.sb.push(GO_PACKAGE_NAME + 'NewSimpleSet(');
189
+ const literals = ctx.genericLiteral();
190
+ for (let i = 0; i < literals.length; i++) {
191
+ this.visit(literals[i]);
192
+ if (i < literals.length - 1) {
193
+ this.sb.push(', ');
194
+ }
195
+ }
196
+ this.sb.push(')');
197
+ }
198
+ visitGenericCollectionLiteral(ctx) {
199
+ this.sb.push('[]interface{}{');
200
+ const literals = ctx.genericLiteral();
201
+ for (let i = 0; i < literals.length; i++) {
202
+ this.visit(literals[i]);
203
+ if (i < literals.length - 1) {
204
+ this.sb.push(', ');
205
+ }
206
+ }
207
+ this.sb.push('}');
208
+ }
209
+ visitGenericMapLiteral(ctx) {
210
+ this.sb.push('map[interface{}]interface{}{');
211
+ const entries = ctx.mapEntry();
212
+ for (let i = 0; i < entries.length; i++) {
213
+ this.visit(entries[i]);
214
+ if (i < entries.length - 1) {
215
+ this.sb.push(', ');
216
+ }
217
+ }
218
+ this.sb.push(' }');
219
+ }
220
+ visitMapEntry(ctx) {
221
+ this.visit(ctx.mapKey());
222
+ this.sb.push(': ');
223
+ this.visit(ctx.genericLiteral());
224
+ }
225
+ visitMapKey(ctx) {
226
+ const keyIndex = (ctx.LPAREN() != null && ctx.RPAREN() != null) ? 1 : 0;
227
+ this.visit(ctx.getChild(keyIndex));
228
+ }
229
+ visitUuidLiteral(ctx) {
230
+ if (ctx.stringLiteral() == null) {
231
+ this.sb.push('uuid.New()');
232
+ return;
233
+ }
234
+ this.sb.push('uuid.MustParse(');
235
+ this.visitStringLiteral(ctx.stringLiteral());
236
+ this.sb.push(')');
237
+ }
238
+ visitCharacterLiteral(_ctx) {
239
+ throw new TranslatorException_js_1.TranslatorException('Character literals are not supported in Go');
240
+ }
241
+ visitDurationLiteral(ctx) {
242
+ const seconds = parseInt(ctx.integerLiteral(0).getText(), 10);
243
+ const nanos = parseInt(ctx.integerLiteral(1).getText(), 10);
244
+ const isPositive = ctx.booleanLiteral() === null ||
245
+ ctx.booleanLiteral().getText() === 'true';
246
+ // Use BigInt to avoid precision loss for durations over ~104 days
247
+ const totalNanos = BigInt(seconds) * 1000000000n + BigInt(nanos);
248
+ this.sb.push(`time.Duration(${isPositive ? totalNanos : -totalNanos})`);
249
+ }
250
+ visitBinaryLiteral(ctx) {
251
+ const base64Str = TranslateVisitor_js_1.default.removeFirstAndLastCharacters(ctx.stringLiteral().getText());
252
+ const bytes = base64ToBytes(base64Str);
253
+ this.sb.push(GO_PACKAGE_NAME + 'ByteBuffer{Data: []byte{');
254
+ for (let i = 0; i < bytes.length; i++) {
255
+ if (i > 0)
256
+ this.sb.push(',');
257
+ this.sb.push(String(bytes[i]));
258
+ }
259
+ this.sb.push('}}');
260
+ }
261
+ visitTraversalTerminalMethod_next(ctx) {
262
+ // Go has no method overloading: next() maps to Next(), next(n) maps to NextN(n)
263
+ if (ctx.getChildCount() === 4) {
264
+ this.sb.push('NextN(');
265
+ this.visit(ctx.getChild(2));
266
+ this.sb.push(')');
267
+ }
268
+ else {
269
+ this.sb.push('Next()');
270
+ }
271
+ }
272
+ visitTraversalStrategy(ctx) {
273
+ if (ctx.getChildCount() === 1) {
274
+ this.sb.push(GO_PACKAGE_NAME);
275
+ this.sb.push(ctx.getText());
276
+ this.sb.push('()');
277
+ return;
278
+ }
279
+ const firstText = ctx.getChild(0).getText();
280
+ const strategyName = firstText === 'new' ? ctx.getChild(1).getText() : firstText;
281
+ this.sb.push(GO_PACKAGE_NAME);
282
+ this.sb.push(strategyName);
283
+ this.sb.push('(');
284
+ if (!STRATEGY_WITH_MAP_OPTS.has(strategyName)) {
285
+ this.sb.push(GO_PACKAGE_NAME);
286
+ this.sb.push(strategyName);
287
+ this.sb.push('Config{');
288
+ }
289
+ const configs = ctx.configuration();
290
+ for (let ix = 0; ix < configs.length; ix++) {
291
+ this.visit(configs[ix]);
292
+ if (ix < configs.length - 1) {
293
+ this.sb.push(', ');
294
+ }
295
+ }
296
+ if (strategyName !== 'OptionsStrategy') {
297
+ this.sb.push('}');
298
+ }
299
+ this.sb.push(')');
300
+ }
301
+ visitConfiguration(ctx) {
302
+ const parent = ctx.parent.getText();
303
+ const parenIdx = parent.indexOf('(');
304
+ const rawName = parenIdx > -1 ? parent.substring(0, parenIdx) : parent;
305
+ const parentName = rawName.startsWith('new') ? rawName.substring(3) : rawName;
306
+ if (STRATEGY_WITH_MAP_OPTS.has(parentName)) {
307
+ this.sb.push('map[string]interface{}{"');
308
+ this.sb.push(ctx.getChild(0).getText());
309
+ this.sb.push('": ');
310
+ this.visit(ctx.getChild(2));
311
+ this.sb.push('}');
312
+ return;
313
+ }
314
+ const key = ctx.getChild(0).getText();
315
+ this.sb.push(SymbolHelper.toGo(key));
316
+ this.sb.push(': ');
317
+ const startIdx = this.sb.length;
318
+ this.visit(ctx.genericArgument());
319
+ if (STRATEGY_WITH_STRING_SLICE.has(parentName)) {
320
+ // Replace []interface{} with []string if present
321
+ const idx = this.sb.indexOf('[]interface{}', startIdx);
322
+ if (idx > -1) {
323
+ this.sb[idx] = '[]string';
324
+ }
325
+ }
326
+ if (key === 'readPartitions') {
327
+ // Replace []interface{}{items} with gremlingo.NewSimpleSet(items)
328
+ const added = this.sb.splice(startIdx);
329
+ const joined = added.join('');
330
+ const transformed = joined.replace(/^\[\]interface\{\}\{([\s\S]*)\}$/, GO_PACKAGE_NAME + 'NewSimpleSet($1)');
331
+ this.sb.push(transformed);
332
+ }
333
+ }
334
+ visitTraversalSourceSpawnMethod_match_string(ctx) {
335
+ this.sb.push('Match(');
336
+ this.visit(ctx.stringLiteral());
337
+ this.sb.push(')');
338
+ }
339
+ visitTraversalSourceSpawnMethod_match_string_map(ctx) {
340
+ this.sb.push('Match(');
341
+ this.visit(ctx.stringLiteral());
342
+ this.sb.push(', ');
343
+ this.visitGoParamsMap(ctx.genericMapLiteral());
344
+ this.sb.push(')');
345
+ }
346
+ visitTraversalMethod_match_string(ctx) {
347
+ this.sb.push('Match(');
348
+ this.visit(ctx.stringLiteral());
349
+ this.sb.push(')');
350
+ }
351
+ visitTraversalMethod_match_string_map(ctx) {
352
+ this.sb.push('Match(');
353
+ this.visit(ctx.stringLiteral());
354
+ this.sb.push(', ');
355
+ this.visitGoParamsMap(ctx.genericMapLiteral());
356
+ this.sb.push(')');
357
+ }
358
+ visitGoParamsMap(mapLiteral) {
359
+ this.sb.push('map[string]interface{}{');
360
+ const entries = mapLiteral.mapEntry();
361
+ for (let i = 0; i < entries.length; i++) {
362
+ this.visit(entries[i]);
363
+ if (i < entries.length - 1)
364
+ this.sb.push(', ');
365
+ }
366
+ this.sb.push(' }');
367
+ }
368
+ visitTraversalSourceSelfMethod_withoutStrategies(ctx) {
369
+ this.sb.push('WithoutStrategies(');
370
+ this.sb.push(GO_PACKAGE_NAME);
371
+ this.sb.push(ctx.classType().getText());
372
+ this.sb.push('()');
373
+ if (ctx.classTypeList() != null && ctx.classTypeList().classTypeExpr() != null) {
374
+ for (const classTypeCtx of ctx.classTypeList().classTypeExpr().classType()) {
375
+ this.sb.push(', ');
376
+ this.sb.push(GO_PACKAGE_NAME);
377
+ this.sb.push(classTypeCtx.getText());
378
+ this.sb.push('()');
379
+ }
380
+ }
381
+ this.sb.push(')');
382
+ }
383
+ }
384
+ exports.default = GoTranslateVisitor;
385
+ /**
386
+ * Decodes a base64 string into an array of unsigned byte values.
387
+ */
388
+ function base64ToBytes(base64) {
389
+ if (base64 === '')
390
+ return [];
391
+ const buf = buffer_1.Buffer.from(base64, 'base64');
392
+ const bytes = new Array(buf.length);
393
+ for (let i = 0; i < buf.length; i++) {
394
+ bytes[i] = buf[i];
395
+ }
396
+ return bytes;
397
+ }
398
+ class SymbolHelper {
399
+ static TO_GO_MAP = {
400
+ 'OUT': 'Out',
401
+ 'IN': 'In',
402
+ 'BOTH': 'Both',
403
+ 'bigdecimal': 'BigDecimal',
404
+ 'bigint': 'BigInt',
405
+ 'datetime': 'DateTime',
406
+ 'uuid': 'UUID',
407
+ 'vproperty': 'VProperty',
408
+ 'WithOptions': GO_PACKAGE_NAME + 'WithOptions',
409
+ 'IO': GO_PACKAGE_NAME + 'IO',
410
+ '__': GO_PACKAGE_NAME + 'T__',
411
+ };
412
+ static toGo(symbol) {
413
+ if (symbol in SymbolHelper.TO_GO_MAP) {
414
+ return SymbolHelper.TO_GO_MAP[symbol];
415
+ }
416
+ // Capitalize first letter (mirrors Java StringUtils.capitalize)
417
+ if (!symbol)
418
+ return symbol;
419
+ return symbol.charAt(0).toUpperCase() + symbol.slice(1);
420
+ }
421
+ }
@@ -0,0 +1,40 @@
1
+ import TranslateVisitor from './TranslateVisitor.cjs';
2
+ /**
3
+ * Converts a Gremlin traversal string into a Go source code representation.
4
+ * Assumes use of the gremlingo, math, time, and uuid packages.
5
+ */
6
+ export default class GoTranslateVisitor extends TranslateVisitor {
7
+ constructor(graphTraversalSourceName?: string);
8
+ protected processGremlinSymbol(step: string): string;
9
+ protected getCardinalityFunctionClass(): string;
10
+ protected appendExplicitNaming(txt: string, prefix: string): void;
11
+ protected appendAnonymousSpawn(): void;
12
+ protected visitP(ctx: any, pClass: string, methodName: string): void;
13
+ visitTraversalGType(ctx: any): void;
14
+ visitNanLiteral(_ctx: any): void;
15
+ visitInfLiteral(ctx: any): void;
16
+ visitNullLiteral(_ctx: any): void;
17
+ visitStringNullableLiteral(ctx: any): void;
18
+ visitIntegerLiteral(ctx: any): void;
19
+ visitFloatLiteral(ctx: any): void;
20
+ visitDateLiteral(ctx: any): void;
21
+ visitGenericRangeLiteral(_ctx: any): void;
22
+ visitGenericSetLiteral(ctx: any): void;
23
+ visitGenericCollectionLiteral(ctx: any): void;
24
+ visitGenericMapLiteral(ctx: any): void;
25
+ visitMapEntry(ctx: any): void;
26
+ visitMapKey(ctx: any): void;
27
+ visitUuidLiteral(ctx: any): void;
28
+ visitCharacterLiteral(_ctx: any): void;
29
+ visitDurationLiteral(ctx: any): void;
30
+ visitBinaryLiteral(ctx: any): void;
31
+ visitTraversalTerminalMethod_next(ctx: any): void;
32
+ visitTraversalStrategy(ctx: any): void;
33
+ visitConfiguration(ctx: any): void;
34
+ visitTraversalSourceSpawnMethod_match_string(ctx: any): void;
35
+ visitTraversalSourceSpawnMethod_match_string_map(ctx: any): void;
36
+ visitTraversalMethod_match_string(ctx: any): void;
37
+ visitTraversalMethod_match_string_map(ctx: any): void;
38
+ private visitGoParamsMap;
39
+ visitTraversalSourceSelfMethod_withoutStrategies(ctx: any): void;
40
+ }