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