gremlin 3.8.0 → 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.
Files changed (416) hide show
  1. package/README.md +18 -4
  2. package/build/cjs/driver/auth.cjs +69 -0
  3. package/build/cjs/driver/auth.d.cts +9 -0
  4. package/build/cjs/driver/client.cjs +134 -0
  5. package/build/cjs/driver/client.d.cts +85 -0
  6. package/build/cjs/driver/connection.cjs +250 -0
  7. package/build/cjs/driver/connection.d.cts +63 -0
  8. package/build/cjs/driver/driver-remote-connection.cjs +141 -0
  9. package/build/cjs/driver/driver-remote-connection.d.cts +33 -0
  10. package/build/cjs/driver/remote-connection.cjs +75 -0
  11. package/build/cjs/driver/remote-connection.d.cts +72 -0
  12. package/build/cjs/driver/request-message.cjs +157 -0
  13. package/build/cjs/driver/request-message.d.cts +49 -0
  14. package/build/cjs/driver/response-error.cjs +45 -0
  15. package/build/cjs/driver/response-error.d.cts +13 -0
  16. package/build/cjs/driver/result-set.cjs +111 -0
  17. package/build/cjs/driver/result-set.d.cts +29 -0
  18. package/build/cjs/index.cjs +125 -0
  19. package/build/cjs/index.d.cts +393 -0
  20. package/build/cjs/language/grammar/GremlinLexer.cjs +1851 -0
  21. package/build/cjs/language/grammar/GremlinLexer.d.cts +340 -0
  22. package/build/cjs/language/grammar/GremlinListener.cjs +4490 -0
  23. package/build/cjs/language/grammar/GremlinListener.d.cts +4898 -0
  24. package/build/cjs/language/grammar/GremlinParser.cjs +35244 -0
  25. package/build/cjs/language/grammar/GremlinParser.d.cts +5881 -0
  26. package/build/cjs/language/index.cjs +48 -0
  27. package/build/cjs/language/index.d.cts +12 -0
  28. package/build/cjs/language/translator/AnonymizedTranslateVisitor.cjs +157 -0
  29. package/build/cjs/language/translator/AnonymizedTranslateVisitor.d.cts +36 -0
  30. package/build/cjs/language/translator/DotNetTranslateVisitor.cjs +826 -0
  31. package/build/cjs/language/translator/DotNetTranslateVisitor.d.cts +155 -0
  32. package/build/cjs/language/translator/GoTranslateVisitor.cjs +339 -0
  33. package/build/cjs/language/translator/GoTranslateVisitor.d.cts +31 -0
  34. package/build/cjs/language/translator/GremlinTranslator.cjs +96 -0
  35. package/build/cjs/language/translator/GremlinTranslator.d.cts +18 -0
  36. package/build/cjs/language/translator/GroovyTranslateVisitor.cjs +287 -0
  37. package/build/cjs/language/translator/GroovyTranslateVisitor.d.cts +34 -0
  38. package/build/cjs/language/translator/JavaTranslateVisitor.cjs +247 -0
  39. package/build/cjs/language/translator/JavaTranslateVisitor.d.cts +23 -0
  40. package/build/cjs/language/translator/JavascriptTranslateVisitor.cjs +220 -0
  41. package/build/cjs/language/translator/JavascriptTranslateVisitor.d.cts +25 -0
  42. package/build/cjs/language/translator/PythonTranslateVisitor.cjs +304 -0
  43. package/build/cjs/language/translator/PythonTranslateVisitor.d.cts +28 -0
  44. package/build/cjs/language/translator/TranslateVisitor.cjs +389 -0
  45. package/build/cjs/language/translator/TranslateVisitor.d.cts +91 -0
  46. package/build/cjs/language/translator/Translation.cjs +47 -0
  47. package/build/cjs/language/translator/Translation.d.cts +13 -0
  48. package/build/cjs/language/translator/Translator.cjs +46 -0
  49. package/build/cjs/language/translator/Translator.d.cts +24 -0
  50. package/build/cjs/language/translator/TranslatorException.cjs +31 -0
  51. package/build/cjs/language/translator/TranslatorException.d.cts +6 -0
  52. package/build/cjs/process/anonymous-traversal.cjs +78 -0
  53. package/build/cjs/process/anonymous-traversal.d.cts +40 -0
  54. package/build/cjs/process/graph-traversal.cjs +1702 -0
  55. package/build/cjs/process/graph-traversal.d.cts +1134 -0
  56. package/build/cjs/process/gremlin-lang.cjs +196 -0
  57. package/build/cjs/process/gremlin-lang.d.cts +15 -0
  58. package/build/cjs/process/transaction.cjs +69 -0
  59. package/build/cjs/process/transaction.d.cts +34 -0
  60. package/build/cjs/process/traversal-strategy.cjs +360 -0
  61. package/build/cjs/process/traversal-strategy.d.cts +211 -0
  62. package/build/cjs/process/traversal.cjs +482 -0
  63. package/build/cjs/process/traversal.d.cts +186 -0
  64. package/build/cjs/structure/graph.cjs +157 -0
  65. package/build/cjs/structure/graph.d.cts +57 -0
  66. package/build/cjs/structure/io/binary/GraphBinary.cjs +148 -0
  67. package/build/cjs/structure/io/binary/GraphBinary.d.cts +91 -0
  68. package/build/cjs/structure/io/binary/internals/AnySerializer.cjs +80 -0
  69. package/build/cjs/structure/io/binary/internals/AnySerializer.d.cts +8 -0
  70. package/build/cjs/structure/io/binary/internals/ArraySerializer.cjs +139 -0
  71. package/build/cjs/structure/io/binary/internals/ArraySerializer.d.cts +15 -0
  72. package/build/cjs/structure/io/binary/internals/BigIntegerSerializer.cjs +136 -0
  73. package/build/cjs/structure/io/binary/internals/BigIntegerSerializer.d.cts +14 -0
  74. package/build/cjs/structure/io/binary/internals/BinarySerializer.cjs +112 -0
  75. package/build/cjs/structure/io/binary/internals/BinarySerializer.d.cts +11 -0
  76. package/build/cjs/structure/io/binary/internals/BooleanSerializer.cjs +93 -0
  77. package/build/cjs/structure/io/binary/internals/BooleanSerializer.d.cts +11 -0
  78. package/build/cjs/structure/io/binary/internals/ByteSerializer.cjs +88 -0
  79. package/build/cjs/structure/io/binary/internals/ByteSerializer.d.cts +10 -0
  80. package/build/cjs/structure/io/binary/internals/DataType.cjs +63 -0
  81. package/build/cjs/structure/io/binary/internals/DataType.d.cts +35 -0
  82. package/build/cjs/structure/io/binary/internals/DateTimeSerializer.cjs +139 -0
  83. package/build/cjs/structure/io/binary/internals/DateTimeSerializer.d.cts +15 -0
  84. package/build/cjs/structure/io/binary/internals/DoubleSerializer.cjs +91 -0
  85. package/build/cjs/structure/io/binary/internals/DoubleSerializer.d.cts +11 -0
  86. package/build/cjs/structure/io/binary/internals/EdgeSerializer.cjs +201 -0
  87. package/build/cjs/structure/io/binary/internals/EdgeSerializer.d.cts +20 -0
  88. package/build/cjs/structure/io/binary/internals/EnumSerializer.cjs +127 -0
  89. package/build/cjs/structure/io/binary/internals/EnumSerializer.d.cts +24 -0
  90. package/build/cjs/structure/io/binary/internals/FloatSerializer.cjs +91 -0
  91. package/build/cjs/structure/io/binary/internals/FloatSerializer.d.cts +11 -0
  92. package/build/cjs/structure/io/binary/internals/GraphBinaryReader.cjs +97 -0
  93. package/build/cjs/structure/io/binary/internals/GraphBinaryReader.d.cts +19 -0
  94. package/build/cjs/structure/io/binary/internals/GraphBinaryWriter.cjs +85 -0
  95. package/build/cjs/structure/io/binary/internals/GraphBinaryWriter.d.cts +9 -0
  96. package/build/cjs/structure/io/binary/internals/IntSerializer.cjs +103 -0
  97. package/build/cjs/structure/io/binary/internals/IntSerializer.d.cts +13 -0
  98. package/build/cjs/structure/io/binary/internals/LongSerializer.cjs +95 -0
  99. package/build/cjs/structure/io/binary/internals/LongSerializer.d.cts +11 -0
  100. package/build/cjs/structure/io/binary/internals/MapSerializer.cjs +144 -0
  101. package/build/cjs/structure/io/binary/internals/MapSerializer.d.cts +13 -0
  102. package/build/cjs/structure/io/binary/internals/MarkerSerializer.cjs +63 -0
  103. package/build/cjs/structure/io/binary/internals/MarkerSerializer.d.cts +8 -0
  104. package/build/cjs/structure/io/binary/internals/NumberSerializationStrategy.cjs +66 -0
  105. package/build/cjs/structure/io/binary/internals/NumberSerializationStrategy.d.cts +9 -0
  106. package/build/cjs/structure/io/binary/internals/PathSerializer.cjs +113 -0
  107. package/build/cjs/structure/io/binary/internals/PathSerializer.d.cts +15 -0
  108. package/build/cjs/structure/io/binary/internals/PropertySerializer.cjs +130 -0
  109. package/build/cjs/structure/io/binary/internals/PropertySerializer.d.cts +15 -0
  110. package/build/cjs/structure/io/binary/internals/SetSerializer.cjs +138 -0
  111. package/build/cjs/structure/io/binary/internals/SetSerializer.d.cts +15 -0
  112. package/build/cjs/structure/io/binary/internals/ShortSerializer.cjs +91 -0
  113. package/build/cjs/structure/io/binary/internals/ShortSerializer.d.cts +11 -0
  114. package/build/cjs/structure/io/binary/internals/StringSerializer.cjs +107 -0
  115. package/build/cjs/structure/io/binary/internals/StringSerializer.d.cts +11 -0
  116. package/{lib/driver/auth/authenticator.js → build/cjs/structure/io/binary/internals/StubSerializer.cjs} +14 -20
  117. package/build/cjs/structure/io/binary/internals/StubSerializer.d.cts +7 -0
  118. package/build/cjs/structure/io/binary/internals/UnspecifiedNullSerializer.cjs +70 -0
  119. package/build/cjs/structure/io/binary/internals/UnspecifiedNullSerializer.d.cts +11 -0
  120. package/build/cjs/structure/io/binary/internals/UuidSerializer.cjs +109 -0
  121. package/build/cjs/structure/io/binary/internals/UuidSerializer.d.cts +14 -0
  122. package/build/cjs/structure/io/binary/internals/VertexPropertySerializer.cjs +163 -0
  123. package/build/cjs/structure/io/binary/internals/VertexPropertySerializer.d.cts +15 -0
  124. package/build/cjs/structure/io/binary/internals/VertexSerializer.cjs +128 -0
  125. package/build/cjs/structure/io/binary/internals/VertexSerializer.d.cts +17 -0
  126. package/build/cjs/structure/io/binary/internals/utils.cjs +53 -0
  127. package/build/cjs/structure/io/binary/internals/utils.d.cts +6 -0
  128. package/build/cjs/utils.cjs +142 -0
  129. package/build/cjs/utils.d.cts +20 -0
  130. package/build/esm/driver/auth.d.ts +9 -0
  131. package/build/esm/driver/auth.js +65 -0
  132. package/build/esm/driver/client.d.ts +85 -0
  133. package/build/esm/driver/client.js +128 -0
  134. package/build/esm/driver/connection.d.ts +63 -0
  135. package/build/esm/driver/connection.js +211 -0
  136. package/build/esm/driver/driver-remote-connection.d.ts +33 -0
  137. package/build/esm/driver/driver-remote-connection.js +102 -0
  138. package/build/esm/driver/remote-connection.d.ts +72 -0
  139. package/build/esm/driver/remote-connection.js +69 -0
  140. package/build/esm/driver/request-message.d.ts +49 -0
  141. package/build/esm/driver/request-message.js +152 -0
  142. package/build/esm/driver/response-error.d.ts +13 -0
  143. package/{lib → build/esm}/driver/response-error.js +21 -26
  144. package/build/esm/driver/result-set.d.ts +29 -0
  145. package/build/esm/driver/result-set.js +75 -0
  146. package/build/esm/index.d.ts +393 -0
  147. package/{index.js → build/esm/index.js} +22 -32
  148. package/build/esm/language/grammar/GremlinLexer.d.ts +340 -0
  149. package/build/esm/language/grammar/GremlinLexer.js +1814 -0
  150. package/build/esm/language/grammar/GremlinListener.d.ts +4898 -0
  151. package/build/esm/language/grammar/GremlinListener.js +4486 -0
  152. package/build/esm/language/grammar/GremlinParser.d.ts +5881 -0
  153. package/build/esm/language/grammar/GremlinParser.js +34711 -0
  154. package/build/esm/language/index.d.ts +12 -0
  155. package/build/esm/language/index.js +30 -0
  156. package/build/esm/language/translator/AnonymizedTranslateVisitor.d.ts +36 -0
  157. package/build/esm/language/translator/AnonymizedTranslateVisitor.js +151 -0
  158. package/build/esm/language/translator/DotNetTranslateVisitor.d.ts +155 -0
  159. package/build/esm/language/translator/DotNetTranslateVisitor.js +820 -0
  160. package/build/esm/language/translator/GoTranslateVisitor.d.ts +31 -0
  161. package/build/esm/language/translator/GoTranslateVisitor.js +333 -0
  162. package/build/esm/language/translator/GremlinTranslator.d.ts +18 -0
  163. package/build/esm/language/translator/GremlinTranslator.js +89 -0
  164. package/build/esm/language/translator/GroovyTranslateVisitor.d.ts +34 -0
  165. package/build/esm/language/translator/GroovyTranslateVisitor.js +281 -0
  166. package/build/esm/language/translator/JavaTranslateVisitor.d.ts +23 -0
  167. package/build/esm/language/translator/JavaTranslateVisitor.js +241 -0
  168. package/build/esm/language/translator/JavascriptTranslateVisitor.d.ts +25 -0
  169. package/build/esm/language/translator/JavascriptTranslateVisitor.js +214 -0
  170. package/build/esm/language/translator/PythonTranslateVisitor.d.ts +28 -0
  171. package/build/esm/language/translator/PythonTranslateVisitor.js +298 -0
  172. package/build/esm/language/translator/TranslateVisitor.d.ts +91 -0
  173. package/build/esm/language/translator/TranslateVisitor.js +386 -0
  174. package/build/esm/language/translator/Translation.d.ts +13 -0
  175. package/build/esm/language/translator/Translation.js +43 -0
  176. package/build/esm/language/translator/Translator.d.ts +24 -0
  177. package/build/esm/language/translator/Translator.js +40 -0
  178. package/build/esm/language/translator/TranslatorException.d.ts +6 -0
  179. package/build/esm/language/translator/TranslatorException.js +27 -0
  180. package/build/esm/process/anonymous-traversal.d.ts +40 -0
  181. package/build/esm/process/anonymous-traversal.js +72 -0
  182. package/build/esm/process/graph-traversal.d.ts +1134 -0
  183. package/build/esm/process/graph-traversal.js +1693 -0
  184. package/build/esm/process/gremlin-lang.d.ts +15 -0
  185. package/build/esm/process/gremlin-lang.js +193 -0
  186. package/build/esm/process/transaction.d.ts +34 -0
  187. package/build/esm/process/transaction.js +65 -0
  188. package/build/esm/process/traversal-strategy.d.ts +211 -0
  189. package/build/esm/process/traversal-strategy.js +319 -0
  190. package/build/esm/process/traversal.d.ts +186 -0
  191. package/build/esm/process/traversal.js +469 -0
  192. package/build/esm/structure/graph.d.ts +57 -0
  193. package/build/esm/structure/graph.js +148 -0
  194. package/build/esm/structure/io/binary/GraphBinary.d.ts +91 -0
  195. package/build/esm/structure/io/binary/GraphBinary.js +108 -0
  196. package/build/esm/structure/io/binary/internals/AnySerializer.d.ts +8 -0
  197. package/build/esm/structure/io/binary/internals/AnySerializer.js +77 -0
  198. package/build/esm/structure/io/binary/internals/ArraySerializer.d.ts +15 -0
  199. package/build/esm/structure/io/binary/internals/ArraySerializer.js +136 -0
  200. package/build/esm/structure/io/binary/internals/BigIntegerSerializer.d.ts +14 -0
  201. package/build/esm/structure/io/binary/internals/BigIntegerSerializer.js +133 -0
  202. package/build/esm/structure/io/binary/internals/BinarySerializer.d.ts +11 -0
  203. package/build/esm/structure/io/binary/internals/BinarySerializer.js +109 -0
  204. package/build/esm/structure/io/binary/internals/BooleanSerializer.d.ts +11 -0
  205. package/build/esm/structure/io/binary/internals/BooleanSerializer.js +90 -0
  206. package/build/esm/structure/io/binary/internals/ByteSerializer.d.ts +10 -0
  207. package/build/esm/structure/io/binary/internals/ByteSerializer.js +85 -0
  208. package/build/esm/structure/io/binary/internals/DataType.d.ts +35 -0
  209. package/{lib/driver/auth/mechanisms/sasl-mechanism-base.js → build/esm/structure/io/binary/internals/DataType.js} +43 -34
  210. package/build/esm/structure/io/binary/internals/DateTimeSerializer.d.ts +15 -0
  211. package/build/esm/structure/io/binary/internals/DateTimeSerializer.js +136 -0
  212. package/build/esm/structure/io/binary/internals/DoubleSerializer.d.ts +11 -0
  213. package/build/esm/structure/io/binary/internals/DoubleSerializer.js +88 -0
  214. package/build/esm/structure/io/binary/internals/EdgeSerializer.d.ts +20 -0
  215. package/build/esm/structure/io/binary/internals/EdgeSerializer.js +198 -0
  216. package/build/esm/structure/io/binary/internals/EnumSerializer.d.ts +24 -0
  217. package/build/esm/structure/io/binary/internals/EnumSerializer.js +124 -0
  218. package/build/esm/structure/io/binary/internals/FloatSerializer.d.ts +11 -0
  219. package/build/esm/structure/io/binary/internals/FloatSerializer.js +88 -0
  220. package/build/esm/structure/io/binary/internals/GraphBinaryReader.d.ts +19 -0
  221. package/build/esm/structure/io/binary/internals/GraphBinaryReader.js +94 -0
  222. package/build/esm/structure/io/binary/internals/GraphBinaryWriter.d.ts +9 -0
  223. package/build/esm/structure/io/binary/internals/GraphBinaryWriter.js +82 -0
  224. package/build/esm/structure/io/binary/internals/IntSerializer.d.ts +13 -0
  225. package/build/esm/structure/io/binary/internals/IntSerializer.js +100 -0
  226. package/build/esm/structure/io/binary/internals/LongSerializer.d.ts +11 -0
  227. package/build/esm/structure/io/binary/internals/LongSerializer.js +92 -0
  228. package/build/esm/structure/io/binary/internals/MapSerializer.d.ts +13 -0
  229. package/build/esm/structure/io/binary/internals/MapSerializer.js +141 -0
  230. package/build/esm/structure/io/binary/internals/MarkerSerializer.d.ts +8 -0
  231. package/build/esm/structure/io/binary/internals/MarkerSerializer.js +60 -0
  232. package/build/esm/structure/io/binary/internals/NumberSerializationStrategy.d.ts +9 -0
  233. package/build/esm/structure/io/binary/internals/NumberSerializationStrategy.js +63 -0
  234. package/build/esm/structure/io/binary/internals/PathSerializer.d.ts +15 -0
  235. package/build/esm/structure/io/binary/internals/PathSerializer.js +110 -0
  236. package/build/esm/structure/io/binary/internals/PropertySerializer.d.ts +15 -0
  237. package/build/esm/structure/io/binary/internals/PropertySerializer.js +127 -0
  238. package/build/esm/structure/io/binary/internals/SetSerializer.d.ts +15 -0
  239. package/build/esm/structure/io/binary/internals/SetSerializer.js +135 -0
  240. package/build/esm/structure/io/binary/internals/ShortSerializer.d.ts +11 -0
  241. package/build/esm/structure/io/binary/internals/ShortSerializer.js +88 -0
  242. package/build/esm/structure/io/binary/internals/StringSerializer.d.ts +11 -0
  243. package/build/esm/structure/io/binary/internals/StringSerializer.js +104 -0
  244. package/build/esm/structure/io/binary/internals/StubSerializer.d.ts +7 -0
  245. package/{.prettierrc.js → build/esm/structure/io/binary/internals/StubSerializer.js} +12 -12
  246. package/build/esm/structure/io/binary/internals/UnspecifiedNullSerializer.d.ts +11 -0
  247. package/build/esm/structure/io/binary/internals/UnspecifiedNullSerializer.js +67 -0
  248. package/build/esm/structure/io/binary/internals/UuidSerializer.d.ts +14 -0
  249. package/build/esm/structure/io/binary/internals/UuidSerializer.js +106 -0
  250. package/build/esm/structure/io/binary/internals/VertexPropertySerializer.d.ts +15 -0
  251. package/build/esm/structure/io/binary/internals/VertexPropertySerializer.js +160 -0
  252. package/build/esm/structure/io/binary/internals/VertexSerializer.d.ts +17 -0
  253. package/build/esm/structure/io/binary/internals/VertexSerializer.js +125 -0
  254. package/build/esm/structure/io/binary/internals/utils.d.ts +6 -0
  255. package/{lib → build/esm}/structure/io/binary/internals/utils.js +23 -35
  256. package/build/esm/utils.d.ts +20 -0
  257. package/build/esm/utils.js +98 -0
  258. package/package.json +61 -23
  259. package/.eslintrc.js +0 -154
  260. package/.nvmrc +0 -1
  261. package/Gruntfile.js +0 -35
  262. package/NOTICE +0 -5
  263. package/doc/AnonymousTraversalSource.html +0 -793
  264. package/doc/Authenticator.html +0 -303
  265. package/doc/Bytecode.html +0 -941
  266. package/doc/CardinalityValue.html +0 -711
  267. package/doc/Client.html +0 -1869
  268. package/doc/Connection.html +0 -1192
  269. package/doc/DataType.js.html +0 -150
  270. package/doc/DriverRemoteConnection.html +0 -1528
  271. package/doc/EdgeLabelVerificationStrategy.html +0 -238
  272. package/doc/Graph.html +0 -343
  273. package/doc/GraphBinaryReader.js.html +0 -132
  274. package/doc/GraphBinaryWriter.js.html +0 -135
  275. package/doc/GraphSON2Reader.html +0 -407
  276. package/doc/GraphSON2Writer.html +0 -558
  277. package/doc/GraphSON3Reader.html +0 -170
  278. package/doc/GraphSON3Writer.html +0 -170
  279. package/doc/GraphTraversal.html +0 -22974
  280. package/doc/GraphTraversalSource.html +0 -3683
  281. package/doc/HaltedTraverserStrategy.html +0 -215
  282. package/doc/MatchAlgorithmStrategy.html +0 -210
  283. package/doc/P.html +0 -2020
  284. package/doc/PartitionStrategy.html +0 -387
  285. package/doc/Path.html +0 -242
  286. package/doc/PlainTextSaslAuthenticator.html +0 -456
  287. package/doc/ProductiveByStrategy.html +0 -258
  288. package/doc/RemoteConnection.html +0 -1086
  289. package/doc/RemoteStrategy.html +0 -307
  290. package/doc/RemoteTraversal.html +0 -170
  291. package/doc/ReservedKeysVerificationStrategy.html +0 -261
  292. package/doc/ResponseError.html +0 -360
  293. package/doc/ResultSet.html +0 -633
  294. package/doc/SaslAuthenticator.html +0 -455
  295. package/doc/SaslMechanismBase.html +0 -506
  296. package/doc/SaslMechanismPlain.html +0 -925
  297. package/doc/SeedStrategy.html +0 -288
  298. package/doc/SubgraphStrategy.html +0 -387
  299. package/doc/TextP.html +0 -1440
  300. package/doc/Transaction.html +0 -655
  301. package/doc/Translator.html +0 -527
  302. package/doc/TraversalStrategies.html +0 -652
  303. package/doc/TraversalStrategy.html +0 -393
  304. package/doc/TypeSerializer.html +0 -166
  305. package/doc/driver_auth_authenticator.js.html +0 -89
  306. package/doc/driver_auth_mechanisms_sasl-mechanism-base.js.html +0 -103
  307. package/doc/driver_auth_mechanisms_sasl-mechanism-plain.js.html +0 -157
  308. package/doc/driver_auth_plain-text-sasl-authenticator.js.html +0 -106
  309. package/doc/driver_auth_sasl-authenticator.js.html +0 -100
  310. package/doc/driver_client.js.html +0 -250
  311. package/doc/driver_connection.js.html +0 -518
  312. package/doc/driver_driver-remote-connection.js.html +0 -193
  313. package/doc/driver_remote-connection.js.html +0 -198
  314. package/doc/driver_response-error.js.html +0 -98
  315. package/doc/driver_result-set.js.html +0 -134
  316. package/doc/fonts/OpenSans-Bold-webfont.eot +0 -0
  317. package/doc/fonts/OpenSans-Bold-webfont.svg +0 -1830
  318. package/doc/fonts/OpenSans-Bold-webfont.woff +0 -0
  319. package/doc/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  320. package/doc/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  321. package/doc/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  322. package/doc/fonts/OpenSans-Italic-webfont.eot +0 -0
  323. package/doc/fonts/OpenSans-Italic-webfont.svg +0 -1830
  324. package/doc/fonts/OpenSans-Italic-webfont.woff +0 -0
  325. package/doc/fonts/OpenSans-Light-webfont.eot +0 -0
  326. package/doc/fonts/OpenSans-Light-webfont.svg +0 -1831
  327. package/doc/fonts/OpenSans-Light-webfont.woff +0 -0
  328. package/doc/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  329. package/doc/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  330. package/doc/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  331. package/doc/fonts/OpenSans-Regular-webfont.eot +0 -0
  332. package/doc/fonts/OpenSans-Regular-webfont.svg +0 -1831
  333. package/doc/fonts/OpenSans-Regular-webfont.woff +0 -0
  334. package/doc/global.html +0 -728
  335. package/doc/index.html +0 -185
  336. package/doc/module.exports.html +0 -301
  337. package/doc/process_anonymous-traversal.js.html +0 -138
  338. package/doc/process_bytecode.js.html +0 -175
  339. package/doc/process_graph-traversal.js.html +0 -1936
  340. package/doc/process_transaction.js.html +0 -151
  341. package/doc/process_translator.js.html +0 -172
  342. package/doc/process_traversal-strategy.js.html +0 -466
  343. package/doc/process_traversal.js.html +0 -592
  344. package/doc/scripts/linenumber.js +0 -25
  345. package/doc/scripts/prettify/Apache-License-2.0.txt +0 -202
  346. package/doc/scripts/prettify/lang-css.js +0 -2
  347. package/doc/scripts/prettify/prettify.js +0 -28
  348. package/doc/structure_graph.js.html +0 -233
  349. package/doc/structure_io_binary_internals_DataType.js.html +0 -151
  350. package/doc/structure_io_binary_internals_GraphBinaryReader.js.html +0 -133
  351. package/doc/structure_io_binary_internals_GraphBinaryWriter.js.html +0 -136
  352. package/doc/structure_io_graph-serializer.js.html +0 -354
  353. package/doc/structure_io_type-serializers.js.html +0 -617
  354. package/doc/styles/jsdoc-default.css +0 -358
  355. package/doc/styles/prettify-jsdoc.css +0 -111
  356. package/doc/styles/prettify-tomorrow.css +0 -132
  357. package/doc/utils.js.html +0 -181
  358. package/docker-compose.yml +0 -66
  359. package/lib/driver/auth/mechanisms/sasl-mechanism-plain.js +0 -106
  360. package/lib/driver/auth/plain-text-sasl-authenticator.js +0 -55
  361. package/lib/driver/auth/sasl-authenticator.js +0 -49
  362. package/lib/driver/client.js +0 -199
  363. package/lib/driver/connection.js +0 -467
  364. package/lib/driver/driver-remote-connection.js +0 -142
  365. package/lib/driver/remote-connection.js +0 -147
  366. package/lib/driver/result-set.js +0 -83
  367. package/lib/process/anonymous-traversal.js +0 -87
  368. package/lib/process/bytecode.js +0 -124
  369. package/lib/process/graph-traversal.js +0 -1885
  370. package/lib/process/transaction.js +0 -100
  371. package/lib/process/translator.js +0 -121
  372. package/lib/process/traversal-strategy.js +0 -415
  373. package/lib/process/traversal.js +0 -541
  374. package/lib/structure/graph.js +0 -182
  375. package/lib/structure/io/binary/GraphBinary.js +0 -110
  376. package/lib/structure/io/binary/internals/AnySerializer.js +0 -100
  377. package/lib/structure/io/binary/internals/ArraySerializer.js +0 -137
  378. package/lib/structure/io/binary/internals/BigIntegerSerializer.js +0 -153
  379. package/lib/structure/io/binary/internals/BooleanSerializer.js +0 -105
  380. package/lib/structure/io/binary/internals/BulkSetSerializer.js +0 -126
  381. package/lib/structure/io/binary/internals/ByteBufferSerializer.js +0 -126
  382. package/lib/structure/io/binary/internals/ByteSerializer.js +0 -97
  383. package/lib/structure/io/binary/internals/BytecodeSerializer.js +0 -250
  384. package/lib/structure/io/binary/internals/ClassSerializer.js +0 -60
  385. package/lib/structure/io/binary/internals/DataType.js +0 -100
  386. package/lib/structure/io/binary/internals/DateSerializer.js +0 -105
  387. package/lib/structure/io/binary/internals/DoubleSerializer.js +0 -101
  388. package/lib/structure/io/binary/internals/EdgeSerializer.js +0 -216
  389. package/lib/structure/io/binary/internals/EnumSerializer.js +0 -152
  390. package/lib/structure/io/binary/internals/FloatSerializer.js +0 -101
  391. package/lib/structure/io/binary/internals/GraphBinaryReader.js +0 -82
  392. package/lib/structure/io/binary/internals/GraphBinaryWriter.js +0 -85
  393. package/lib/structure/io/binary/internals/IntSerializer.js +0 -114
  394. package/lib/structure/io/binary/internals/LambdaSerializer.js +0 -71
  395. package/lib/structure/io/binary/internals/LongSerializer.js +0 -109
  396. package/lib/structure/io/binary/internals/LongSerializerNg.js +0 -104
  397. package/lib/structure/io/binary/internals/MapSerializer.js +0 -155
  398. package/lib/structure/io/binary/internals/NumberSerializationStrategy.js +0 -73
  399. package/lib/structure/io/binary/internals/OffsetDateTimeSerializer.js +0 -151
  400. package/lib/structure/io/binary/internals/PSerializer.js +0 -152
  401. package/lib/structure/io/binary/internals/PathSerializer.js +0 -124
  402. package/lib/structure/io/binary/internals/PropertySerializer.js +0 -142
  403. package/lib/structure/io/binary/internals/SetSerializer.js +0 -134
  404. package/lib/structure/io/binary/internals/ShortSerializer.js +0 -101
  405. package/lib/structure/io/binary/internals/StringSerializer.js +0 -116
  406. package/lib/structure/io/binary/internals/TextPSerializer.js +0 -146
  407. package/lib/structure/io/binary/internals/TraversalStrategySerializer.js +0 -69
  408. package/lib/structure/io/binary/internals/TraverserSerializer.js +0 -124
  409. package/lib/structure/io/binary/internals/UnspecifiedNullSerializer.js +0 -77
  410. package/lib/structure/io/binary/internals/UuidSerializer.js +0 -121
  411. package/lib/structure/io/binary/internals/VertexPropertySerializer.js +0 -176
  412. package/lib/structure/io/binary/internals/VertexSerializer.js +0 -139
  413. package/lib/structure/io/graph-serializer.js +0 -303
  414. package/lib/structure/io/type-serializers.js +0 -566
  415. package/lib/utils.js +0 -130
  416. package/licenses/chai +0 -21
@@ -0,0 +1,826 @@
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
+ // Steps whose return type needs <object, object>
29
+ const DOUBLE_GENERIC_STEPS = new Set(['group', 'valueMap']);
30
+ /**
31
+ * Converts a Gremlin traversal string into a C# source code representation.
32
+ * Mirrors the Java DotNetTranslateVisitor.
33
+ */
34
+ class DotNetTranslateVisitor extends TranslateVisitor_js_1.default {
35
+ constructor(graphTraversalSourceName = 'g') {
36
+ super(graphTraversalSourceName);
37
+ }
38
+ processGremlinSymbol(step) {
39
+ return SymbolHelper.toCSharp(step);
40
+ }
41
+ getCardinalityFunctionClass() {
42
+ return 'CardinalityValue';
43
+ }
44
+ /**
45
+ * .NET enum values are capitalized but do NOT go through processGremlinSymbol,
46
+ * since the SymbolHelper mappings (bigdecimal→BigDecimal etc.) don't apply to enums.
47
+ */
48
+ appendExplicitNaming(txt, prefix) {
49
+ if (!txt.startsWith(prefix + '.')) {
50
+ this.sb.push(prefix);
51
+ this.sb.push('.');
52
+ this.sb.push(capitalize(txt));
53
+ }
54
+ else {
55
+ const parts = txt.split('.');
56
+ this.sb.push(parts[0]);
57
+ this.sb.push('.');
58
+ this.sb.push(capitalize(parts[1]));
59
+ }
60
+ }
61
+ visitTraversalGType(ctx) {
62
+ const parts = ctx.getText().split('.');
63
+ this.sb.push(this.processGremlinSymbol(parts[0]));
64
+ this.sb.push('.');
65
+ this.sb.push(this.processGremlinSymbol(parts[1].toLowerCase()));
66
+ }
67
+ visitTraversalDirection(ctx) {
68
+ const direction = ctx.getText().toLowerCase();
69
+ this.sb.push('Direction.');
70
+ if (direction.includes('out'))
71
+ this.sb.push('Out');
72
+ else if (direction.includes('in'))
73
+ this.sb.push('In');
74
+ else if (direction.includes('from'))
75
+ this.sb.push('From');
76
+ else if (direction.includes('to'))
77
+ this.sb.push('To');
78
+ else
79
+ this.sb.push('Both');
80
+ }
81
+ visitTraversalDirectionShort(ctx) {
82
+ this.visitTraversalDirection(ctx);
83
+ }
84
+ visitTraversalDirectionLong(ctx) {
85
+ this.visitTraversalDirection(ctx);
86
+ }
87
+ visitNanLiteral(_ctx) {
88
+ this.sb.push('Double.NaN');
89
+ }
90
+ visitInfLiteral(ctx) {
91
+ if (ctx.SignedInfLiteral() != null && ctx.SignedInfLiteral().getText() === '-Infinity') {
92
+ this.sb.push('Double.NegativeInfinity');
93
+ }
94
+ else {
95
+ this.sb.push('Double.PositiveInfinity');
96
+ }
97
+ }
98
+ visitIntegerLiteral(ctx) {
99
+ const integerLiteral = ctx.getText().toLowerCase();
100
+ const lastChar = integerLiteral[integerLiteral.length - 1];
101
+ if (!/[a-z]/.test(lastChar)) {
102
+ this.sb.push(integerLiteral);
103
+ return;
104
+ }
105
+ const num = integerLiteral.slice(0, -1);
106
+ switch (lastChar) {
107
+ case 'b':
108
+ this.sb.push('(sbyte) ');
109
+ this.sb.push(num);
110
+ break;
111
+ case 's':
112
+ this.sb.push('(short) ');
113
+ this.sb.push(num);
114
+ break;
115
+ case 'i':
116
+ this.sb.push(num);
117
+ break;
118
+ case 'l':
119
+ this.sb.push(integerLiteral); // keep the 'l' suffix for C#
120
+ break;
121
+ case 'n':
122
+ this.sb.push('BigInteger.Parse("');
123
+ this.sb.push(num);
124
+ this.sb.push('")');
125
+ break;
126
+ default:
127
+ this.sb.push(integerLiteral);
128
+ }
129
+ }
130
+ visitFloatLiteral(ctx) {
131
+ if (ctx.infLiteral() != null) {
132
+ this.visit(ctx.infLiteral());
133
+ return;
134
+ }
135
+ if (ctx.nanLiteral() != null) {
136
+ this.visit(ctx.nanLiteral());
137
+ return;
138
+ }
139
+ const floatLiteral = ctx.getText().toLowerCase();
140
+ const lastChar = floatLiteral[floatLiteral.length - 1];
141
+ if (!/[a-z]/.test(lastChar)) {
142
+ this.sb.push(floatLiteral);
143
+ return;
144
+ }
145
+ const num = floatLiteral.slice(0, -1);
146
+ switch (lastChar) {
147
+ case 'f':
148
+ case 'd':
149
+ this.sb.push(floatLiteral); // keep the f/d suffix for C#
150
+ break;
151
+ case 'm':
152
+ this.sb.push('(decimal) ');
153
+ this.sb.push(num);
154
+ break;
155
+ default:
156
+ this.sb.push(floatLiteral);
157
+ }
158
+ }
159
+ visitDateLiteral(ctx) {
160
+ const dtString = ctx.getChild(2).getText();
161
+ const inner = TranslateVisitor_js_1.default.removeFirstAndLastCharacters(dtString);
162
+ this.sb.push('DateTimeOffset.Parse("');
163
+ this.sb.push(formatDatetimeJavaStyle(inner));
164
+ this.sb.push('")');
165
+ }
166
+ visitGenericRangeLiteral(_ctx) {
167
+ throw new TranslatorException_js_1.TranslatorException('.NET does not support range literals');
168
+ }
169
+ visitGenericSetLiteral(ctx) {
170
+ this.sb.push('new HashSet<object> { ');
171
+ const literals = ctx.genericLiteral();
172
+ for (let i = 0; i < literals.length; i++) {
173
+ this.visit(literals[i]);
174
+ if (i < literals.length - 1)
175
+ this.sb.push(', ');
176
+ }
177
+ this.sb.push(' }');
178
+ }
179
+ visitGenericCollectionLiteral(ctx) {
180
+ this.sb.push('new List<object> { ');
181
+ const literals = ctx.genericLiteral();
182
+ for (let i = 0; i < literals.length; i++) {
183
+ this.visit(literals[i]);
184
+ if (i < literals.length - 1)
185
+ this.sb.push(', ');
186
+ }
187
+ this.sb.push(' }');
188
+ }
189
+ visitGenericMapLiteral(ctx) {
190
+ this.sb.push('new Dictionary<object, object> {');
191
+ const entries = ctx.mapEntry();
192
+ for (let i = 0; i < entries.length; i++) {
193
+ this.visit(entries[i]);
194
+ if (i < entries.length - 1)
195
+ this.sb.push(', ');
196
+ }
197
+ this.sb.push('}');
198
+ }
199
+ visitMapEntry(ctx) {
200
+ this.sb.push('{ ');
201
+ this.visit(ctx.mapKey());
202
+ this.sb.push(', ');
203
+ this.visit(ctx.genericLiteral());
204
+ this.sb.push(' }');
205
+ }
206
+ visitMapKey(ctx) {
207
+ const keyIndex = (ctx.LPAREN() != null && ctx.RPAREN() != null) ? 1 : 0;
208
+ this.visit(ctx.getChild(keyIndex));
209
+ }
210
+ visitUuidLiteral(ctx) {
211
+ if (ctx.stringLiteral() == null) {
212
+ this.sb.push('Guid.NewGuid()');
213
+ return;
214
+ }
215
+ this.sb.push('Guid.Parse(');
216
+ this.sb.push(ctx.stringLiteral().getText());
217
+ this.sb.push(')');
218
+ }
219
+ visitClassType(ctx) {
220
+ this.sb.push('typeof(');
221
+ this.sb.push(ctx.getText());
222
+ this.sb.push(')');
223
+ }
224
+ visitTraversalStrategy(ctx) {
225
+ if (ctx.getChildCount() === 1) {
226
+ this.sb.push('new ');
227
+ this.sb.push(ctx.getText());
228
+ this.sb.push('()');
229
+ return;
230
+ }
231
+ const firstText = ctx.getChild(0).getText();
232
+ const strategyName = firstText === 'new' ? ctx.getChild(1).getText() : firstText;
233
+ this.sb.push('new ');
234
+ this.sb.push(strategyName);
235
+ this.sb.push('(');
236
+ const configs = ctx.configuration();
237
+ const isOptionsStrategy = ctx.children?.some((c) => c.getText() === 'OptionsStrategy');
238
+ if (configs.length > 0 && isOptionsStrategy) {
239
+ this.sb.push('new Dictionary<string, object> {');
240
+ for (const cfg of configs) {
241
+ this.sb.push('{"');
242
+ this.sb.push(cfg.getChild(0).getText());
243
+ this.sb.push('",');
244
+ this.visit(cfg.getChild(2));
245
+ this.sb.push('},');
246
+ }
247
+ this.sb.push('}');
248
+ }
249
+ else {
250
+ for (let ix = 0; ix < configs.length; ix++) {
251
+ this.visit(configs[ix]);
252
+ if (ix < configs.length - 1)
253
+ this.sb.push(', ');
254
+ }
255
+ }
256
+ this.sb.push(')');
257
+ }
258
+ visitConfiguration(ctx) {
259
+ const key = ctx.getChild(0).getText();
260
+ this.sb.push(key);
261
+ this.sb.push(': ');
262
+ const startIdx = this.sb.length;
263
+ this.visit(ctx.getChild(2));
264
+ if (key === 'readPartitions') {
265
+ const added = this.sb.splice(startIdx);
266
+ this.sb.push(added.join('').replace('List<object>', 'HashSet<string>'));
267
+ }
268
+ else if (key === 'keys') {
269
+ const added = this.sb.splice(startIdx);
270
+ const joined = added.join('');
271
+ this.sb.push(joined.includes('HashSet<object>') ? joined.replace('HashSet<object>', 'HashSet<string>') : joined);
272
+ }
273
+ }
274
+ visitStringNullableArgumentVarargs(ctx) {
275
+ const n = ctx.getChildCount();
276
+ for (let ix = 0; ix < n; ix++) {
277
+ const child = ctx.getChild(ix);
278
+ if (child.constructor?.name === 'StringNullableArgumentContext') {
279
+ this.tryAppendCastToString_StringNullableArg(child);
280
+ }
281
+ this.visit(child);
282
+ }
283
+ }
284
+ // ─── handleGenerics helpers ─────────────────────────────────────────────
285
+ handleGenerics(ctx) {
286
+ const step = ctx.getChild(0).getText();
287
+ this.sb.push(capitalize(step));
288
+ this.sb.push(DOUBLE_GENERIC_STEPS.has(step) ? '<object, object>' : '<object>');
289
+ for (let ix = 1; ix < ctx.getChildCount(); ix++) {
290
+ this.visit(ctx.getChild(ix));
291
+ }
292
+ }
293
+ handleLongArguments(ctx) {
294
+ const step = ctx.getChild(0).getText();
295
+ this.sb.push(capitalize(step));
296
+ this.sb.push('<object>');
297
+ for (let ix = 1; ix < ctx.getChildCount(); ix++) {
298
+ const child = ctx.getChild(ix);
299
+ if (child.constructor?.name === 'IntegerArgumentContext') {
300
+ this.tryAppendCastToLong_IntArg(child);
301
+ }
302
+ this.visit(child);
303
+ }
304
+ }
305
+ // ─── Cast helpers ────────────────────────────────────────────────────────
306
+ tryAppendCastToLong_IntArg(ctx) {
307
+ if (ctx?.variable() != null)
308
+ this.sb.push('(long) ');
309
+ }
310
+ tryAppendCastToString_StringArg(ctx) {
311
+ if (ctx?.variable() != null || ctx?.stringLiteral() != null)
312
+ this.sb.push('(string) ');
313
+ }
314
+ tryAppendCastToString_StringNullableLit(ctx) {
315
+ if (ctx?.K_NULL != null && ctx.K_NULL() != null)
316
+ this.sb.push('(string) ');
317
+ }
318
+ tryAppendCastToString_StringNullableArg(ctx) {
319
+ if (ctx?.variable() != null ||
320
+ (ctx?.stringNullableLiteral() != null && ctx.stringNullableLiteral()?.K_NULL != null && ctx.stringNullableLiteral().K_NULL() != null)) {
321
+ this.sb.push('(string) ');
322
+ }
323
+ }
324
+ tryAppendCastToObject_GenericArg(ctx) {
325
+ if (ctx?.variable() != null ||
326
+ (ctx?.genericLiteral() != null && ctx.genericLiteral()?.nullLiteral != null && ctx.genericLiteral().nullLiteral() != null)) {
327
+ this.sb.push('(object) ');
328
+ }
329
+ }
330
+ tryAppendCastToObject_GenericLit(ctx) {
331
+ if (ctx?.nullLiteral != null && ctx.nullLiteral() != null)
332
+ this.sb.push('(object) ');
333
+ }
334
+ // ─── isCalledAsFirstStepInAnonymousTraversal ─────────────────────────────
335
+ isCalledAsFirstStepInAnonymousTraversal(ctx) {
336
+ // ctx = traversalMethod_fold_EmptyContext
337
+ // parent = traversalMethodContext → chainedTraversalContext → nestedTraversalContext
338
+ const parent = ctx.parent;
339
+ if (!parent)
340
+ return false;
341
+ const parentParent = parent.parent; // ChainedTraversalContext
342
+ if (!parentParent)
343
+ return false;
344
+ const parentParentParent = parentParent.parent; // should be NestedTraversalContext
345
+ if (parentParentParent?.constructor?.name !== 'NestedTraversalContext')
346
+ return false;
347
+ // Check if ctx is the first step: parentParent.child(0).child(0) === ctx
348
+ const firstChild = parentParent.getChild(0);
349
+ const firstGrandchild = firstChild?.getChild(0);
350
+ return firstGrandchild === ctx;
351
+ }
352
+ // ─── Source spawn method overrides ──────────────────────────────────────
353
+ visitTraversalSourceSpawnMethod_inject(ctx) { this.handleGenerics(ctx); }
354
+ visitTraversalSourceSpawnMethod_io(ctx) { this.handleGenerics(ctx); }
355
+ visitTraversalSourceSpawnMethod_union(ctx) { this.handleGenerics(ctx); }
356
+ visitTraversalSourceSpawnMethod_call_empty(ctx) { this.handleGenerics(ctx); }
357
+ visitTraversalSourceSpawnMethod_addV(ctx) {
358
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
359
+ for (let ix = 1; ix < ctx.getChildCount(); ix++) {
360
+ const child = ctx.getChild(ix);
361
+ if (child.constructor?.name === 'StringArgumentContext')
362
+ this.tryAppendCastToString_StringArg(child);
363
+ this.visit(child);
364
+ }
365
+ }
366
+ visitTraversalSourceSpawnMethod_addE(ctx) {
367
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
368
+ for (let ix = 1; ix < ctx.getChildCount(); ix++) {
369
+ const child = ctx.getChild(ix);
370
+ if (child.constructor?.name === 'StringArgumentContext')
371
+ this.tryAppendCastToString_StringArg(child);
372
+ this.visit(child);
373
+ }
374
+ }
375
+ visitTraversalSourceSpawnMethod_call_string(ctx) {
376
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
377
+ this.sb.push('<object>');
378
+ this.sb.push('((string) ');
379
+ this.visit(ctx.stringLiteral());
380
+ this.sb.push(')');
381
+ }
382
+ visitTraversalSourceSpawnMethod_call_string_map(ctx) {
383
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
384
+ this.sb.push('<object>(');
385
+ this.visit(ctx.stringLiteral());
386
+ this.sb.push(', (IDictionary<object, object>) ');
387
+ this.visit(ctx.genericMapArgument());
388
+ this.sb.push(')');
389
+ }
390
+ visitTraversalSourceSpawnMethod_call_string_traversal(ctx) {
391
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
392
+ this.sb.push('<object>(');
393
+ this.visit(ctx.stringLiteral());
394
+ this.sb.push(', (ITraversal) ');
395
+ this.visit(ctx.nestedTraversal());
396
+ this.sb.push(')');
397
+ }
398
+ visitTraversalSourceSpawnMethod_call_string_map_traversal(ctx) {
399
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
400
+ this.sb.push('<object>(');
401
+ this.visit(ctx.stringLiteral());
402
+ this.sb.push(', (IDictionary<object, object>) ');
403
+ this.visit(ctx.genericMapArgument());
404
+ this.sb.push(', (ITraversal) ');
405
+ this.visit(ctx.nestedTraversal());
406
+ this.sb.push(')');
407
+ }
408
+ visitTraversalSourceSpawnMethod_mergeV_Map(ctx) {
409
+ this.visit(ctx.getChild(0));
410
+ this.sb.push('((IDictionary<object, object>) ');
411
+ this.visit(ctx.genericMapNullableArgument());
412
+ this.sb.push(')');
413
+ }
414
+ visitTraversalSourceSpawnMethod_mergeV_Traversal(ctx) {
415
+ this.visit(ctx.getChild(0));
416
+ this.sb.push('((ITraversal) ');
417
+ this.visit(ctx.nestedTraversal());
418
+ this.sb.push(')');
419
+ }
420
+ visitTraversalSourceSpawnMethod_mergeE_Map(ctx) {
421
+ this.visit(ctx.getChild(0));
422
+ this.sb.push('((IDictionary<object, object>) ');
423
+ this.visit(ctx.genericMapNullableArgument());
424
+ this.sb.push(')');
425
+ }
426
+ visitTraversalSourceSpawnMethod_mergeE_Traversal(ctx) {
427
+ this.visit(ctx.getChild(0));
428
+ this.sb.push('((ITraversal) ');
429
+ this.visit(ctx.nestedTraversal());
430
+ this.sb.push(')');
431
+ }
432
+ // ─── Traversal method overrides — handleGenerics ─────────────────────────
433
+ visitTraversalMethod_asString_Scope(ctx) { this.handleGenerics(ctx); }
434
+ visitTraversalMethod_branch(ctx) { this.handleGenerics(ctx); }
435
+ visitTraversalMethod_cap(ctx) { this.handleGenerics(ctx); }
436
+ visitTraversalMethod_choose_Function(ctx) { this.handleGenerics(ctx); }
437
+ visitTraversalMethod_choose_Predicate_Traversal(ctx) { this.handleGenerics(ctx); }
438
+ visitTraversalMethod_choose_Predicate_Traversal_Traversal(ctx) { this.handleGenerics(ctx); }
439
+ visitTraversalMethod_choose_Traversal(ctx) { this.handleGenerics(ctx); }
440
+ visitTraversalMethod_choose_Traversal_Traversal(ctx) { this.handleGenerics(ctx); }
441
+ visitTraversalMethod_choose_Traversal_Traversal_Traversal(ctx) { this.handleGenerics(ctx); }
442
+ visitTraversalMethod_coalesce(ctx) { this.handleGenerics(ctx); }
443
+ visitTraversalMethod_constant(ctx) { this.handleGenerics(ctx); }
444
+ visitTraversalMethod_elementMap(ctx) { this.handleGenerics(ctx); }
445
+ visitTraversalMethod_flatMap(ctx) { this.handleGenerics(ctx); }
446
+ visitTraversalMethod_fold_Empty(ctx) {
447
+ if (this.isCalledAsFirstStepInAnonymousTraversal(ctx)) {
448
+ this.handleGenerics(ctx);
449
+ }
450
+ else {
451
+ this.visitChildren(ctx); // base: just output Fold()
452
+ }
453
+ }
454
+ visitTraversalMethod_fold_Object_BiFunction(ctx) { this.handleGenerics(ctx); }
455
+ visitTraversalMethod_group_Empty(ctx) { this.handleGenerics(ctx); }
456
+ visitTraversalMethod_groupCount_Empty(ctx) { this.handleGenerics(ctx); }
457
+ visitTraversalMethod_index(ctx) { this.handleGenerics(ctx); }
458
+ visitTraversalMethod_length_Scope(ctx) { this.handleGenerics(ctx); }
459
+ visitTraversalMethod_local(ctx) { this.handleGenerics(ctx); }
460
+ visitTraversalMethod_lTrim_Scope(ctx) { this.handleGenerics(ctx); }
461
+ visitTraversalMethod_map(ctx) { this.handleGenerics(ctx); }
462
+ visitTraversalMethod_match(ctx) { this.handleGenerics(ctx); }
463
+ visitTraversalMethod_max_Empty(ctx) { this.handleGenerics(ctx); }
464
+ visitTraversalMethod_max_Scope(ctx) { this.handleGenerics(ctx); }
465
+ visitTraversalMethod_mean_Empty(ctx) { this.handleGenerics(ctx); }
466
+ visitTraversalMethod_mean_Scope(ctx) { this.handleGenerics(ctx); }
467
+ visitTraversalMethod_min_Empty(ctx) { this.handleGenerics(ctx); }
468
+ visitTraversalMethod_min_Scope(ctx) { this.handleGenerics(ctx); }
469
+ visitTraversalMethod_optional(ctx) { this.handleGenerics(ctx); }
470
+ visitTraversalMethod_profile_Empty(ctx) { this.handleGenerics(ctx); }
471
+ visitTraversalMethod_project(ctx) { this.handleGenerics(ctx); }
472
+ visitTraversalMethod_properties(ctx) { this.handleGenerics(ctx); }
473
+ visitTraversalMethod_propertyMap(ctx) { this.handleGenerics(ctx); }
474
+ visitTraversalMethod_replace_Scope_String_String(ctx) { this.handleGenerics(ctx); }
475
+ visitTraversalMethod_rTrim_Scope(ctx) { this.handleGenerics(ctx); }
476
+ visitTraversalMethod_sack_Empty(ctx) { this.handleGenerics(ctx); }
477
+ visitTraversalMethod_select_Column(ctx) { this.handleGenerics(ctx); }
478
+ visitTraversalMethod_select_Pop_String(ctx) { this.handleGenerics(ctx); }
479
+ visitTraversalMethod_select_Pop_String_String_String(ctx) { this.handleGenerics(ctx); }
480
+ visitTraversalMethod_select_Pop_Traversal(ctx) { this.handleGenerics(ctx); }
481
+ visitTraversalMethod_select_String(ctx) { this.handleGenerics(ctx); }
482
+ visitTraversalMethod_select_String_String_String(ctx) { this.handleGenerics(ctx); }
483
+ visitTraversalMethod_select_Traversal(ctx) { this.handleGenerics(ctx); }
484
+ visitTraversalMethod_split_Scope_String(ctx) { this.handleGenerics(ctx); }
485
+ visitTraversalMethod_substring_Scope_int(ctx) { this.handleGenerics(ctx); }
486
+ visitTraversalMethod_substring_Scope_int_int(ctx) { this.handleGenerics(ctx); }
487
+ visitTraversalMethod_sum_Empty(ctx) { this.handleGenerics(ctx); }
488
+ visitTraversalMethod_sum_Scope(ctx) { this.handleGenerics(ctx); }
489
+ visitTraversalMethod_tail_Empty(ctx) { this.handleGenerics(ctx); }
490
+ visitTraversalMethod_tail_Scope(ctx) { this.handleGenerics(ctx); }
491
+ visitTraversalMethod_toLower_Scope(ctx) { this.handleGenerics(ctx); }
492
+ visitTraversalMethod_toUpper_Scope(ctx) { this.handleGenerics(ctx); }
493
+ visitTraversalMethod_tree_Empty(ctx) { this.handleGenerics(ctx); }
494
+ visitTraversalMethod_trim_Scope(ctx) { this.handleGenerics(ctx); }
495
+ visitTraversalMethod_unfold(ctx) { this.handleGenerics(ctx); }
496
+ visitTraversalMethod_union(ctx) { this.handleGenerics(ctx); }
497
+ visitTraversalMethod_value(ctx) { this.handleGenerics(ctx); }
498
+ visitTraversalMethod_valueMap_String(ctx) { this.handleGenerics(ctx); }
499
+ visitTraversalMethod_valueMap_boolean_String(ctx) { this.handleGenerics(ctx); }
500
+ visitTraversalMethod_values(ctx) { this.handleGenerics(ctx); }
501
+ // ─── Traversal method overrides — handleLongArguments ────────────────────
502
+ visitTraversalMethod_limit_long(ctx) { this.handleLongArguments(ctx); }
503
+ visitTraversalMethod_limit_Scope_long(ctx) { this.handleLongArguments(ctx); }
504
+ visitTraversalMethod_range_long_long(ctx) { this.handleLongArguments(ctx); }
505
+ visitTraversalMethod_range_Scope_long_long(ctx) { this.handleLongArguments(ctx); }
506
+ visitTraversalMethod_skip_long(ctx) { this.handleLongArguments(ctx); }
507
+ visitTraversalMethod_skip_Scope_long(ctx) { this.handleLongArguments(ctx); }
508
+ visitTraversalMethod_tail_long(ctx) { this.handleLongArguments(ctx); }
509
+ visitTraversalMethod_tail_Scope_long(ctx) { this.handleLongArguments(ctx); }
510
+ // ─── addV / addE (string cast) ───────────────────────────────────────────
511
+ visitTraversalMethod_addV_String(ctx) {
512
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
513
+ for (let ix = 1; ix < ctx.getChildCount(); ix++) {
514
+ const child = ctx.getChild(ix);
515
+ if (child.constructor?.name === 'StringArgumentContext')
516
+ this.tryAppendCastToString_StringArg(child);
517
+ this.visit(child);
518
+ }
519
+ }
520
+ visitTraversalMethod_addE_String(ctx) {
521
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
522
+ for (let ix = 1; ix < ctx.getChildCount(); ix++) {
523
+ const child = ctx.getChild(ix);
524
+ if (child.constructor?.name === 'StringArgumentContext')
525
+ this.tryAppendCastToString_StringArg(child);
526
+ this.visit(child);
527
+ }
528
+ }
529
+ // ─── call variants ───────────────────────────────────────────────────────
530
+ visitTraversalMethod_call_string(ctx) {
531
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
532
+ this.sb.push('<object>((string) ');
533
+ this.visit(ctx.stringLiteral());
534
+ this.sb.push(')');
535
+ }
536
+ visitTraversalMethod_call_string_map(ctx) {
537
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
538
+ this.sb.push('<object>(');
539
+ this.visit(ctx.stringLiteral());
540
+ this.sb.push(', (IDictionary<object, object>) ');
541
+ this.visit(ctx.genericMapArgument());
542
+ this.sb.push(')');
543
+ }
544
+ visitTraversalMethod_call_string_traversal(ctx) {
545
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
546
+ this.sb.push('<object>(');
547
+ this.visit(ctx.stringLiteral());
548
+ this.sb.push(', (ITraversal) ');
549
+ this.visit(ctx.nestedTraversal());
550
+ this.sb.push(')');
551
+ }
552
+ visitTraversalMethod_call_string_map_traversal(ctx) {
553
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
554
+ this.sb.push('<object>(');
555
+ this.visit(ctx.stringLiteral());
556
+ this.sb.push(', (IDictionary<object, object>) ');
557
+ this.visit(ctx.genericMapArgument());
558
+ this.sb.push(', (ITraversal) ');
559
+ this.visit(ctx.nestedTraversal());
560
+ this.sb.push(')');
561
+ }
562
+ // ─── has family ──────────────────────────────────────────────────────────
563
+ visitTraversalMethod_has_String_Object(ctx) {
564
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
565
+ this.sb.push('(');
566
+ this.tryAppendCastToString_StringNullableLit(ctx.stringNullableLiteral());
567
+ this.visit(ctx.stringNullableLiteral());
568
+ this.sb.push(', ');
569
+ this.tryAppendCastToObject_GenericArg(ctx.genericArgument());
570
+ this.visit(ctx.genericArgument());
571
+ this.sb.push(')');
572
+ }
573
+ visitTraversalMethod_has_String_P(ctx) {
574
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
575
+ this.sb.push('(');
576
+ this.tryAppendCastToString_StringNullableLit(ctx.stringNullableLiteral());
577
+ this.visit(ctx.stringNullableLiteral());
578
+ this.sb.push(', ');
579
+ this.visit(ctx.traversalPredicate());
580
+ this.sb.push(')');
581
+ }
582
+ visitTraversalMethod_has_String_String_Object(ctx) {
583
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
584
+ this.sb.push('(');
585
+ this.tryAppendCastToString_StringNullableArg(ctx.stringNullableArgument());
586
+ this.visit(ctx.stringNullableArgument());
587
+ this.sb.push(', ');
588
+ this.tryAppendCastToString_StringNullableLit(ctx.stringNullableLiteral());
589
+ this.visit(ctx.stringNullableLiteral());
590
+ this.sb.push(', ');
591
+ this.tryAppendCastToObject_GenericArg(ctx.genericArgument());
592
+ this.visit(ctx.genericArgument());
593
+ this.sb.push(')');
594
+ }
595
+ visitTraversalMethod_has_String_String_P(ctx) {
596
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
597
+ this.sb.push('(');
598
+ this.tryAppendCastToString_StringNullableArg(ctx.stringNullableArgument());
599
+ this.visit(ctx.stringNullableArgument());
600
+ this.sb.push(', ');
601
+ this.tryAppendCastToString_StringNullableLit(ctx.stringNullableLiteral());
602
+ this.visit(ctx.stringNullableLiteral());
603
+ this.sb.push(', ');
604
+ this.visit(ctx.traversalPredicate());
605
+ this.sb.push(')');
606
+ }
607
+ visitTraversalMethod_has_T_Object(ctx) {
608
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
609
+ this.sb.push('(');
610
+ this.visit(ctx.traversalT());
611
+ this.sb.push(', ');
612
+ this.tryAppendCastToObject_GenericArg(ctx.genericArgument());
613
+ this.visit(ctx.genericArgument());
614
+ this.sb.push(')');
615
+ }
616
+ visitTraversalMethod_has_T_P(ctx) {
617
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
618
+ this.sb.push('(');
619
+ this.visit(ctx.traversalT());
620
+ this.sb.push(', ');
621
+ this.visit(ctx.traversalPredicate());
622
+ this.sb.push(')');
623
+ }
624
+ visitTraversalMethod_hasKey_P(ctx) {
625
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
626
+ this.sb.push('(');
627
+ this.visit(ctx.traversalPredicate());
628
+ this.sb.push(')');
629
+ }
630
+ visitTraversalMethod_hasKey_String_String(ctx) {
631
+ // single arg: add (string) cast; multiple args: no cast
632
+ if (ctx.stringNullableLiteralVarargs() == null || ctx.stringNullableLiteralVarargs().getChildCount() === 0) {
633
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
634
+ this.sb.push('(');
635
+ this.tryAppendCastToString_StringNullableLit(ctx.stringNullableLiteral());
636
+ this.visit(ctx.stringNullableLiteral());
637
+ this.sb.push(')');
638
+ }
639
+ else {
640
+ this.visitChildren(ctx);
641
+ }
642
+ }
643
+ visitTraversalMethod_hasValue_Object_Object(ctx) {
644
+ // single arg: add (object) cast; multiple args: no cast
645
+ if (ctx.genericArgumentVarargs() == null || ctx.genericArgumentVarargs().getChildCount() === 0) {
646
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
647
+ this.sb.push('(');
648
+ this.tryAppendCastToObject_GenericArg(ctx.genericArgument());
649
+ this.visit(ctx.genericArgument());
650
+ this.sb.push(')');
651
+ }
652
+ else {
653
+ this.visitChildren(ctx);
654
+ }
655
+ }
656
+ visitTraversalMethod_hasValue_P(ctx) {
657
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
658
+ this.sb.push('(');
659
+ this.visit(ctx.traversalPredicate());
660
+ this.sb.push(')');
661
+ }
662
+ visitTraversalMethod_hasLabel_P(ctx) {
663
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
664
+ this.sb.push('(');
665
+ this.visit(ctx.traversalPredicate());
666
+ this.sb.push(')');
667
+ }
668
+ visitTraversalMethod_hasLabel_String_String(ctx) {
669
+ const step = capitalize(ctx.getChild(0).getText());
670
+ if (ctx.stringNullableArgumentVarargs() == null || ctx.stringNullableArgumentVarargs().getChildCount() === 0) {
671
+ // single arg: add (string) cast if variable or null
672
+ this.sb.push(step);
673
+ this.sb.push('(');
674
+ this.tryAppendCastToString_StringNullableArg(ctx.stringNullableArgument());
675
+ this.visit(ctx.stringNullableArgument());
676
+ this.sb.push(')');
677
+ }
678
+ else {
679
+ // multiple args
680
+ this.sb.push(step);
681
+ this.sb.push('(');
682
+ this.tryAppendCastToString_StringNullableArg(ctx.stringNullableArgument());
683
+ this.visit(ctx.stringNullableArgument());
684
+ if (ctx.stringNullableArgumentVarargs().getChildCount() > 0)
685
+ this.sb.push(', ');
686
+ this.visit(ctx.stringNullableArgumentVarargs());
687
+ this.sb.push(')');
688
+ }
689
+ }
690
+ // ─── mergeV / mergeE ─────────────────────────────────────────────────────
691
+ visitTraversalMethod_mergeV_Map(ctx) {
692
+ this.visit(ctx.getChild(0));
693
+ this.sb.push('((IDictionary<object, object>) ');
694
+ this.visit(ctx.genericMapNullableArgument());
695
+ this.sb.push(')');
696
+ }
697
+ visitTraversalMethod_mergeV_Traversal(ctx) {
698
+ this.visit(ctx.getChild(0));
699
+ this.sb.push('((ITraversal) ');
700
+ this.visit(ctx.nestedTraversal());
701
+ this.sb.push(')');
702
+ }
703
+ visitTraversalMethod_mergeE_Map(ctx) {
704
+ this.visit(ctx.getChild(0));
705
+ this.sb.push('((IDictionary<object, object>) ');
706
+ this.visit(ctx.genericMapNullableArgument());
707
+ this.sb.push(')');
708
+ }
709
+ visitTraversalMethod_mergeE_Traversal(ctx) {
710
+ this.visit(ctx.getChild(0));
711
+ this.sb.push('((ITraversal) ');
712
+ this.visit(ctx.nestedTraversal());
713
+ this.sb.push(')');
714
+ }
715
+ // ─── option ─────────────────────────────────────────────────────────────
716
+ visitTraversalMethod_option_Merge_Map(ctx) {
717
+ this.visit(ctx.getChild(0));
718
+ this.sb.push('(');
719
+ this.visit(ctx.traversalMerge());
720
+ this.sb.push(', (IDictionary<object, object>) ');
721
+ this.visit(ctx.genericMapNullableArgument());
722
+ this.sb.push(')');
723
+ }
724
+ visitTraversalMethod_option_Merge_Traversal(ctx) {
725
+ this.visit(ctx.getChild(0));
726
+ this.sb.push('(');
727
+ this.visit(ctx.traversalMerge());
728
+ this.sb.push(', (ITraversal) ');
729
+ this.visit(ctx.nestedTraversal());
730
+ this.sb.push(')');
731
+ }
732
+ visitTraversalMethod_option_Object_Traversal(ctx) {
733
+ // Only add (ITraversal) cast when the object is a traversalMerge
734
+ const argIsTraversalMerge = ctx.genericArgument()?.genericLiteral()?.traversalMerge != null &&
735
+ ctx.genericArgument().genericLiteral().traversalMerge() != null;
736
+ if (argIsTraversalMerge) {
737
+ this.visit(ctx.getChild(0));
738
+ this.sb.push('(');
739
+ this.visit(ctx.genericArgument());
740
+ this.sb.push(', (ITraversal) ');
741
+ this.visit(ctx.nestedTraversal());
742
+ this.sb.push(')');
743
+ }
744
+ else {
745
+ this.visitChildren(ctx);
746
+ }
747
+ }
748
+ // ─── property ────────────────────────────────────────────────────────────
749
+ visitTraversalMethod_property_Cardinality_Object_Object_Object(ctx) {
750
+ if (ctx.genericArgumentVarargs() == null || ctx.genericArgumentVarargs().getChildCount() === 0) {
751
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
752
+ this.sb.push('(');
753
+ this.visit(ctx.traversalCardinality());
754
+ this.sb.push(', ');
755
+ this.tryAppendCastToObject_GenericLit(ctx.genericLiteral());
756
+ this.visit(ctx.genericLiteral());
757
+ this.sb.push(', ');
758
+ this.tryAppendCastToObject_GenericArg(ctx.genericArgument());
759
+ this.visit(ctx.genericArgument());
760
+ this.sb.push(')');
761
+ }
762
+ else {
763
+ this.visitChildren(ctx);
764
+ }
765
+ }
766
+ // ─── conjoin ─────────────────────────────────────────────────────────────
767
+ visitTraversalMethod_conjoin_String(ctx) {
768
+ this.sb.push(capitalize(ctx.getChild(0).getText()));
769
+ this.sb.push('(');
770
+ this.tryAppendCastToString_StringLit(ctx.stringLiteral());
771
+ this.visit(ctx.stringLiteral());
772
+ this.sb.push(')');
773
+ }
774
+ tryAppendCastToString_StringLit(ctx) {
775
+ if (ctx != null)
776
+ this.sb.push('(string) ');
777
+ }
778
+ }
779
+ exports.default = DotNetTranslateVisitor;
780
+ // ─── Helpers ─────────────────────────────────────────────────────────────────
781
+ function capitalize(s) {
782
+ if (!s)
783
+ return s;
784
+ return s.charAt(0).toUpperCase() + s.slice(1);
785
+ }
786
+ /**
787
+ * Formats a datetime string the same way Java's OffsetDateTime.toString() does:
788
+ * - Truncates seconds if both seconds and milliseconds are 0
789
+ * - Uses 'Z' for UTC offset
790
+ */
791
+ function formatDatetimeJavaStyle(s) {
792
+ const d = new Date(s);
793
+ if (isNaN(d.getTime())) {
794
+ throw new TranslatorException_js_1.TranslatorException(`Invalid datetime: ${s}`);
795
+ }
796
+ const year = d.getUTCFullYear().toString().padStart(4, '0');
797
+ const month = (d.getUTCMonth() + 1).toString().padStart(2, '0');
798
+ const day = d.getUTCDate().toString().padStart(2, '0');
799
+ const hours = d.getUTCHours().toString().padStart(2, '0');
800
+ const minutes = d.getUTCMinutes().toString().padStart(2, '0');
801
+ const seconds = d.getUTCSeconds();
802
+ const millis = d.getUTCMilliseconds();
803
+ let result = `${year}-${month}-${day}T${hours}:${minutes}`;
804
+ if (seconds !== 0 || millis !== 0) {
805
+ result += ':' + seconds.toString().padStart(2, '0');
806
+ if (millis !== 0) {
807
+ result += '.' + millis.toString().padStart(3, '0').replace(/0+$/, '');
808
+ }
809
+ }
810
+ result += 'Z';
811
+ return result;
812
+ }
813
+ class SymbolHelper {
814
+ static TO_CS_MAP = {
815
+ 'graphml': 'GraphML',
816
+ 'graphson': 'GraphSON',
817
+ 'bigdecimal': 'BigDecimal',
818
+ 'bigint': 'BigInt',
819
+ 'datetime': 'DateTime',
820
+ 'uuid': 'UUID',
821
+ 'vproperty': 'VProperty',
822
+ };
823
+ static toCSharp(symbol) {
824
+ return SymbolHelper.TO_CS_MAP[symbol] ?? capitalize(symbol);
825
+ }
826
+ }