flowquery 1.0.46 → 1.0.48

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 (422) hide show
  1. package/dist/flowquery.min.js +1 -1
  2. package/dist/index.d.ts +0 -7
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +6 -4
  5. package/dist/index.js.map +1 -1
  6. package/dist/parsing/data_structures/list_comprehension.d.ts +56 -0
  7. package/dist/parsing/data_structures/list_comprehension.d.ts.map +1 -0
  8. package/dist/parsing/data_structures/list_comprehension.js +102 -0
  9. package/dist/parsing/data_structures/list_comprehension.js.map +1 -0
  10. package/dist/parsing/parser.d.ts +18 -0
  11. package/dist/parsing/parser.d.ts.map +1 -1
  12. package/dist/parsing/parser.js +92 -0
  13. package/dist/parsing/parser.js.map +1 -1
  14. package/package.json +4 -1
  15. package/.editorconfig +0 -21
  16. package/.gitattributes +0 -3
  17. package/.github/workflows/npm-publish.yml +0 -32
  18. package/.github/workflows/python-publish.yml +0 -143
  19. package/.github/workflows/release.yml +0 -107
  20. package/.husky/pre-commit +0 -28
  21. package/.prettierrc +0 -22
  22. package/CODE_OF_CONDUCT.md +0 -10
  23. package/FlowQueryLogoIcon.png +0 -0
  24. package/SECURITY.md +0 -14
  25. package/SUPPORT.md +0 -13
  26. package/docs/flowquery.min.js +0 -1
  27. package/docs/index.html +0 -105
  28. package/flowquery-py/CONTRIBUTING.md +0 -127
  29. package/flowquery-py/README.md +0 -67
  30. package/flowquery-py/misc/data/test.json +0 -10
  31. package/flowquery-py/misc/data/users.json +0 -242
  32. package/flowquery-py/notebooks/TestFlowQuery.ipynb +0 -440
  33. package/flowquery-py/pyproject.toml +0 -121
  34. package/flowquery-py/setup_env.ps1 +0 -92
  35. package/flowquery-py/setup_env.sh +0 -87
  36. package/flowquery-py/src/__init__.py +0 -38
  37. package/flowquery-py/src/__main__.py +0 -10
  38. package/flowquery-py/src/compute/__init__.py +0 -6
  39. package/flowquery-py/src/compute/flowquery.py +0 -68
  40. package/flowquery-py/src/compute/runner.py +0 -64
  41. package/flowquery-py/src/extensibility.py +0 -52
  42. package/flowquery-py/src/graph/__init__.py +0 -31
  43. package/flowquery-py/src/graph/data.py +0 -136
  44. package/flowquery-py/src/graph/database.py +0 -141
  45. package/flowquery-py/src/graph/hops.py +0 -43
  46. package/flowquery-py/src/graph/node.py +0 -143
  47. package/flowquery-py/src/graph/node_data.py +0 -26
  48. package/flowquery-py/src/graph/node_reference.py +0 -50
  49. package/flowquery-py/src/graph/pattern.py +0 -115
  50. package/flowquery-py/src/graph/pattern_expression.py +0 -67
  51. package/flowquery-py/src/graph/patterns.py +0 -42
  52. package/flowquery-py/src/graph/physical_node.py +0 -41
  53. package/flowquery-py/src/graph/physical_relationship.py +0 -36
  54. package/flowquery-py/src/graph/relationship.py +0 -193
  55. package/flowquery-py/src/graph/relationship_data.py +0 -36
  56. package/flowquery-py/src/graph/relationship_match_collector.py +0 -85
  57. package/flowquery-py/src/graph/relationship_reference.py +0 -21
  58. package/flowquery-py/src/io/__init__.py +0 -5
  59. package/flowquery-py/src/io/command_line.py +0 -108
  60. package/flowquery-py/src/parsing/__init__.py +0 -17
  61. package/flowquery-py/src/parsing/alias.py +0 -20
  62. package/flowquery-py/src/parsing/alias_option.py +0 -11
  63. package/flowquery-py/src/parsing/ast_node.py +0 -147
  64. package/flowquery-py/src/parsing/base_parser.py +0 -84
  65. package/flowquery-py/src/parsing/components/__init__.py +0 -19
  66. package/flowquery-py/src/parsing/components/csv.py +0 -8
  67. package/flowquery-py/src/parsing/components/from_.py +0 -12
  68. package/flowquery-py/src/parsing/components/headers.py +0 -12
  69. package/flowquery-py/src/parsing/components/json.py +0 -8
  70. package/flowquery-py/src/parsing/components/null.py +0 -10
  71. package/flowquery-py/src/parsing/components/post.py +0 -8
  72. package/flowquery-py/src/parsing/components/text.py +0 -8
  73. package/flowquery-py/src/parsing/context.py +0 -50
  74. package/flowquery-py/src/parsing/data_structures/__init__.py +0 -15
  75. package/flowquery-py/src/parsing/data_structures/associative_array.py +0 -41
  76. package/flowquery-py/src/parsing/data_structures/json_array.py +0 -30
  77. package/flowquery-py/src/parsing/data_structures/key_value_pair.py +0 -38
  78. package/flowquery-py/src/parsing/data_structures/lookup.py +0 -51
  79. package/flowquery-py/src/parsing/data_structures/range_lookup.py +0 -42
  80. package/flowquery-py/src/parsing/expressions/__init__.py +0 -61
  81. package/flowquery-py/src/parsing/expressions/boolean.py +0 -20
  82. package/flowquery-py/src/parsing/expressions/expression.py +0 -141
  83. package/flowquery-py/src/parsing/expressions/expression_map.py +0 -26
  84. package/flowquery-py/src/parsing/expressions/f_string.py +0 -27
  85. package/flowquery-py/src/parsing/expressions/identifier.py +0 -21
  86. package/flowquery-py/src/parsing/expressions/number.py +0 -32
  87. package/flowquery-py/src/parsing/expressions/operator.py +0 -271
  88. package/flowquery-py/src/parsing/expressions/reference.py +0 -47
  89. package/flowquery-py/src/parsing/expressions/string.py +0 -27
  90. package/flowquery-py/src/parsing/functions/__init__.py +0 -127
  91. package/flowquery-py/src/parsing/functions/aggregate_function.py +0 -60
  92. package/flowquery-py/src/parsing/functions/async_function.py +0 -65
  93. package/flowquery-py/src/parsing/functions/avg.py +0 -55
  94. package/flowquery-py/src/parsing/functions/coalesce.py +0 -43
  95. package/flowquery-py/src/parsing/functions/collect.py +0 -75
  96. package/flowquery-py/src/parsing/functions/count.py +0 -79
  97. package/flowquery-py/src/parsing/functions/date_.py +0 -61
  98. package/flowquery-py/src/parsing/functions/datetime_.py +0 -62
  99. package/flowquery-py/src/parsing/functions/duration.py +0 -159
  100. package/flowquery-py/src/parsing/functions/element_id.py +0 -50
  101. package/flowquery-py/src/parsing/functions/function.py +0 -68
  102. package/flowquery-py/src/parsing/functions/function_factory.py +0 -170
  103. package/flowquery-py/src/parsing/functions/function_metadata.py +0 -148
  104. package/flowquery-py/src/parsing/functions/functions.py +0 -67
  105. package/flowquery-py/src/parsing/functions/head.py +0 -39
  106. package/flowquery-py/src/parsing/functions/id_.py +0 -49
  107. package/flowquery-py/src/parsing/functions/join.py +0 -49
  108. package/flowquery-py/src/parsing/functions/keys.py +0 -34
  109. package/flowquery-py/src/parsing/functions/last.py +0 -39
  110. package/flowquery-py/src/parsing/functions/localdatetime.py +0 -60
  111. package/flowquery-py/src/parsing/functions/localtime.py +0 -57
  112. package/flowquery-py/src/parsing/functions/max_.py +0 -49
  113. package/flowquery-py/src/parsing/functions/min_.py +0 -49
  114. package/flowquery-py/src/parsing/functions/nodes.py +0 -48
  115. package/flowquery-py/src/parsing/functions/predicate_function.py +0 -47
  116. package/flowquery-py/src/parsing/functions/predicate_sum.py +0 -49
  117. package/flowquery-py/src/parsing/functions/properties.py +0 -50
  118. package/flowquery-py/src/parsing/functions/rand.py +0 -28
  119. package/flowquery-py/src/parsing/functions/range_.py +0 -41
  120. package/flowquery-py/src/parsing/functions/reducer_element.py +0 -15
  121. package/flowquery-py/src/parsing/functions/relationships.py +0 -46
  122. package/flowquery-py/src/parsing/functions/replace.py +0 -39
  123. package/flowquery-py/src/parsing/functions/round_.py +0 -34
  124. package/flowquery-py/src/parsing/functions/schema.py +0 -40
  125. package/flowquery-py/src/parsing/functions/size.py +0 -34
  126. package/flowquery-py/src/parsing/functions/split.py +0 -54
  127. package/flowquery-py/src/parsing/functions/string_distance.py +0 -92
  128. package/flowquery-py/src/parsing/functions/stringify.py +0 -49
  129. package/flowquery-py/src/parsing/functions/substring.py +0 -76
  130. package/flowquery-py/src/parsing/functions/sum.py +0 -51
  131. package/flowquery-py/src/parsing/functions/tail.py +0 -37
  132. package/flowquery-py/src/parsing/functions/temporal_utils.py +0 -186
  133. package/flowquery-py/src/parsing/functions/time_.py +0 -57
  134. package/flowquery-py/src/parsing/functions/timestamp.py +0 -37
  135. package/flowquery-py/src/parsing/functions/to_float.py +0 -46
  136. package/flowquery-py/src/parsing/functions/to_integer.py +0 -46
  137. package/flowquery-py/src/parsing/functions/to_json.py +0 -35
  138. package/flowquery-py/src/parsing/functions/to_lower.py +0 -37
  139. package/flowquery-py/src/parsing/functions/to_string.py +0 -41
  140. package/flowquery-py/src/parsing/functions/trim.py +0 -37
  141. package/flowquery-py/src/parsing/functions/type_.py +0 -47
  142. package/flowquery-py/src/parsing/functions/value_holder.py +0 -24
  143. package/flowquery-py/src/parsing/logic/__init__.py +0 -15
  144. package/flowquery-py/src/parsing/logic/case.py +0 -28
  145. package/flowquery-py/src/parsing/logic/else_.py +0 -12
  146. package/flowquery-py/src/parsing/logic/end.py +0 -8
  147. package/flowquery-py/src/parsing/logic/then.py +0 -12
  148. package/flowquery-py/src/parsing/logic/when.py +0 -12
  149. package/flowquery-py/src/parsing/operations/__init__.py +0 -46
  150. package/flowquery-py/src/parsing/operations/aggregated_return.py +0 -25
  151. package/flowquery-py/src/parsing/operations/aggregated_with.py +0 -22
  152. package/flowquery-py/src/parsing/operations/call.py +0 -73
  153. package/flowquery-py/src/parsing/operations/create_node.py +0 -35
  154. package/flowquery-py/src/parsing/operations/create_relationship.py +0 -35
  155. package/flowquery-py/src/parsing/operations/delete_node.py +0 -29
  156. package/flowquery-py/src/parsing/operations/delete_relationship.py +0 -29
  157. package/flowquery-py/src/parsing/operations/group_by.py +0 -148
  158. package/flowquery-py/src/parsing/operations/limit.py +0 -33
  159. package/flowquery-py/src/parsing/operations/load.py +0 -148
  160. package/flowquery-py/src/parsing/operations/match.py +0 -52
  161. package/flowquery-py/src/parsing/operations/operation.py +0 -69
  162. package/flowquery-py/src/parsing/operations/order_by.py +0 -114
  163. package/flowquery-py/src/parsing/operations/projection.py +0 -21
  164. package/flowquery-py/src/parsing/operations/return_op.py +0 -88
  165. package/flowquery-py/src/parsing/operations/union.py +0 -115
  166. package/flowquery-py/src/parsing/operations/union_all.py +0 -17
  167. package/flowquery-py/src/parsing/operations/unwind.py +0 -42
  168. package/flowquery-py/src/parsing/operations/where.py +0 -43
  169. package/flowquery-py/src/parsing/operations/with_op.py +0 -18
  170. package/flowquery-py/src/parsing/parser.py +0 -1384
  171. package/flowquery-py/src/parsing/parser_state.py +0 -26
  172. package/flowquery-py/src/parsing/token_to_node.py +0 -109
  173. package/flowquery-py/src/tokenization/__init__.py +0 -23
  174. package/flowquery-py/src/tokenization/keyword.py +0 -54
  175. package/flowquery-py/src/tokenization/operator.py +0 -29
  176. package/flowquery-py/src/tokenization/string_walker.py +0 -158
  177. package/flowquery-py/src/tokenization/symbol.py +0 -19
  178. package/flowquery-py/src/tokenization/token.py +0 -693
  179. package/flowquery-py/src/tokenization/token_mapper.py +0 -53
  180. package/flowquery-py/src/tokenization/token_type.py +0 -21
  181. package/flowquery-py/src/tokenization/tokenizer.py +0 -214
  182. package/flowquery-py/src/tokenization/trie.py +0 -125
  183. package/flowquery-py/src/utils/__init__.py +0 -6
  184. package/flowquery-py/src/utils/object_utils.py +0 -20
  185. package/flowquery-py/src/utils/string_utils.py +0 -113
  186. package/flowquery-py/tests/__init__.py +0 -1
  187. package/flowquery-py/tests/compute/__init__.py +0 -1
  188. package/flowquery-py/tests/compute/test_runner.py +0 -4902
  189. package/flowquery-py/tests/graph/__init__.py +0 -1
  190. package/flowquery-py/tests/graph/test_create.py +0 -56
  191. package/flowquery-py/tests/graph/test_data.py +0 -73
  192. package/flowquery-py/tests/graph/test_match.py +0 -40
  193. package/flowquery-py/tests/parsing/__init__.py +0 -1
  194. package/flowquery-py/tests/parsing/test_context.py +0 -34
  195. package/flowquery-py/tests/parsing/test_expression.py +0 -248
  196. package/flowquery-py/tests/parsing/test_parser.py +0 -1237
  197. package/flowquery-py/tests/test_extensibility.py +0 -611
  198. package/flowquery-py/tests/tokenization/__init__.py +0 -1
  199. package/flowquery-py/tests/tokenization/test_token_mapper.py +0 -60
  200. package/flowquery-py/tests/tokenization/test_tokenizer.py +0 -198
  201. package/flowquery-py/tests/tokenization/test_trie.py +0 -30
  202. package/flowquery-vscode/.vscode-test.mjs +0 -5
  203. package/flowquery-vscode/.vscodeignore +0 -13
  204. package/flowquery-vscode/LICENSE +0 -21
  205. package/flowquery-vscode/README.md +0 -11
  206. package/flowquery-vscode/demo/FlowQueryVSCodeDemo.gif +0 -0
  207. package/flowquery-vscode/eslint.config.mjs +0 -25
  208. package/flowquery-vscode/extension.js +0 -508
  209. package/flowquery-vscode/flowQueryEngine/flowquery.min.js +0 -1
  210. package/flowquery-vscode/flowquery-worker.js +0 -66
  211. package/flowquery-vscode/images/FlowQueryLogoIcon.png +0 -0
  212. package/flowquery-vscode/jsconfig.json +0 -13
  213. package/flowquery-vscode/libs/page.css +0 -53
  214. package/flowquery-vscode/libs/table.css +0 -13
  215. package/flowquery-vscode/libs/tabs.css +0 -66
  216. package/flowquery-vscode/package-lock.json +0 -2917
  217. package/flowquery-vscode/package.json +0 -51
  218. package/flowquery-vscode/test/extension.test.js +0 -196
  219. package/flowquery-vscode/test/worker.test.js +0 -25
  220. package/flowquery-vscode/vsc-extension-quickstart.md +0 -42
  221. package/jest.config.js +0 -14
  222. package/misc/apps/RAG/README.md +0 -29
  223. package/misc/apps/RAG/data/chats.json +0 -302
  224. package/misc/apps/RAG/data/emails.json +0 -182
  225. package/misc/apps/RAG/data/events.json +0 -226
  226. package/misc/apps/RAG/data/files.json +0 -172
  227. package/misc/apps/RAG/data/users.json +0 -158
  228. package/misc/apps/RAG/jest.config.js +0 -21
  229. package/misc/apps/RAG/package.json +0 -48
  230. package/misc/apps/RAG/public/index.html +0 -18
  231. package/misc/apps/RAG/src/App.css +0 -42
  232. package/misc/apps/RAG/src/App.tsx +0 -50
  233. package/misc/apps/RAG/src/components/AdaptiveCardRenderer.css +0 -172
  234. package/misc/apps/RAG/src/components/AdaptiveCardRenderer.tsx +0 -380
  235. package/misc/apps/RAG/src/components/ApiKeySettings.tsx +0 -245
  236. package/misc/apps/RAG/src/components/ChatContainer.css +0 -67
  237. package/misc/apps/RAG/src/components/ChatContainer.tsx +0 -242
  238. package/misc/apps/RAG/src/components/ChatInput.css +0 -23
  239. package/misc/apps/RAG/src/components/ChatInput.tsx +0 -76
  240. package/misc/apps/RAG/src/components/ChatMessage.css +0 -160
  241. package/misc/apps/RAG/src/components/ChatMessage.tsx +0 -286
  242. package/misc/apps/RAG/src/components/FlowQueryAgent.ts +0 -708
  243. package/misc/apps/RAG/src/components/FlowQueryRunner.css +0 -113
  244. package/misc/apps/RAG/src/components/FlowQueryRunner.tsx +0 -371
  245. package/misc/apps/RAG/src/components/index.ts +0 -28
  246. package/misc/apps/RAG/src/graph/index.ts +0 -19
  247. package/misc/apps/RAG/src/graph/initializeGraph.ts +0 -254
  248. package/misc/apps/RAG/src/index.tsx +0 -29
  249. package/misc/apps/RAG/src/prompts/FlowQuerySystemPrompt.ts +0 -327
  250. package/misc/apps/RAG/src/prompts/index.ts +0 -10
  251. package/misc/apps/RAG/src/tests/graph.test.ts +0 -35
  252. package/misc/apps/RAG/src/utils/FlowQueryExecutor.ts +0 -130
  253. package/misc/apps/RAG/src/utils/FlowQueryExtractor.ts +0 -208
  254. package/misc/apps/RAG/src/utils/Llm.ts +0 -248
  255. package/misc/apps/RAG/src/utils/index.ts +0 -12
  256. package/misc/apps/RAG/tsconfig.json +0 -22
  257. package/misc/apps/RAG/webpack.config.js +0 -43
  258. package/misc/apps/README.md +0 -1
  259. package/misc/queries/analyze_catfacts.cql +0 -75
  260. package/misc/queries/azure_openai_completions.cql +0 -13
  261. package/misc/queries/azure_openai_models.cql +0 -9
  262. package/misc/queries/mock_pipeline.cql +0 -84
  263. package/misc/queries/openai_completions.cql +0 -15
  264. package/misc/queries/openai_models.cql +0 -13
  265. package/misc/queries/test.cql +0 -6
  266. package/misc/queries/tool_inference.cql +0 -24
  267. package/misc/queries/wisdom.cql +0 -6
  268. package/misc/queries/wisdom_letter_histogram.cql +0 -8
  269. package/src/compute/flowquery.ts +0 -46
  270. package/src/compute/runner.ts +0 -66
  271. package/src/extensibility.ts +0 -45
  272. package/src/graph/data.ts +0 -130
  273. package/src/graph/database.ts +0 -143
  274. package/src/graph/hops.ts +0 -22
  275. package/src/graph/node.ts +0 -122
  276. package/src/graph/node_data.ts +0 -18
  277. package/src/graph/node_reference.ts +0 -38
  278. package/src/graph/pattern.ts +0 -110
  279. package/src/graph/pattern_expression.ts +0 -48
  280. package/src/graph/patterns.ts +0 -36
  281. package/src/graph/physical_node.ts +0 -23
  282. package/src/graph/physical_relationship.ts +0 -23
  283. package/src/graph/relationship.ts +0 -167
  284. package/src/graph/relationship_data.ts +0 -31
  285. package/src/graph/relationship_match_collector.ts +0 -64
  286. package/src/graph/relationship_reference.ts +0 -25
  287. package/src/index.browser.ts +0 -46
  288. package/src/index.node.ts +0 -55
  289. package/src/index.ts +0 -12
  290. package/src/io/command_line.ts +0 -74
  291. package/src/parsing/alias.ts +0 -23
  292. package/src/parsing/alias_option.ts +0 -5
  293. package/src/parsing/ast_node.ts +0 -153
  294. package/src/parsing/base_parser.ts +0 -98
  295. package/src/parsing/components/csv.ts +0 -9
  296. package/src/parsing/components/from.ts +0 -12
  297. package/src/parsing/components/headers.ts +0 -12
  298. package/src/parsing/components/json.ts +0 -9
  299. package/src/parsing/components/null.ts +0 -9
  300. package/src/parsing/components/post.ts +0 -9
  301. package/src/parsing/components/text.ts +0 -9
  302. package/src/parsing/context.ts +0 -54
  303. package/src/parsing/data_structures/associative_array.ts +0 -43
  304. package/src/parsing/data_structures/json_array.ts +0 -31
  305. package/src/parsing/data_structures/key_value_pair.ts +0 -37
  306. package/src/parsing/data_structures/lookup.ts +0 -44
  307. package/src/parsing/data_structures/range_lookup.ts +0 -36
  308. package/src/parsing/expressions/boolean.ts +0 -21
  309. package/src/parsing/expressions/expression.ts +0 -150
  310. package/src/parsing/expressions/expression_map.ts +0 -22
  311. package/src/parsing/expressions/f_string.ts +0 -26
  312. package/src/parsing/expressions/identifier.ts +0 -22
  313. package/src/parsing/expressions/number.ts +0 -40
  314. package/src/parsing/expressions/operator.ts +0 -354
  315. package/src/parsing/expressions/reference.ts +0 -45
  316. package/src/parsing/expressions/string.ts +0 -34
  317. package/src/parsing/functions/aggregate_function.ts +0 -58
  318. package/src/parsing/functions/async_function.ts +0 -64
  319. package/src/parsing/functions/avg.ts +0 -47
  320. package/src/parsing/functions/coalesce.ts +0 -49
  321. package/src/parsing/functions/collect.ts +0 -54
  322. package/src/parsing/functions/count.ts +0 -54
  323. package/src/parsing/functions/date.ts +0 -63
  324. package/src/parsing/functions/datetime.ts +0 -63
  325. package/src/parsing/functions/duration.ts +0 -143
  326. package/src/parsing/functions/element_id.ts +0 -51
  327. package/src/parsing/functions/function.ts +0 -60
  328. package/src/parsing/functions/function_factory.ts +0 -195
  329. package/src/parsing/functions/function_metadata.ts +0 -217
  330. package/src/parsing/functions/functions.ts +0 -70
  331. package/src/parsing/functions/head.ts +0 -42
  332. package/src/parsing/functions/id.ts +0 -51
  333. package/src/parsing/functions/join.ts +0 -40
  334. package/src/parsing/functions/keys.ts +0 -29
  335. package/src/parsing/functions/last.ts +0 -42
  336. package/src/parsing/functions/localdatetime.ts +0 -63
  337. package/src/parsing/functions/localtime.ts +0 -58
  338. package/src/parsing/functions/max.ts +0 -37
  339. package/src/parsing/functions/min.ts +0 -37
  340. package/src/parsing/functions/nodes.ts +0 -54
  341. package/src/parsing/functions/predicate_function.ts +0 -48
  342. package/src/parsing/functions/predicate_sum.ts +0 -47
  343. package/src/parsing/functions/properties.ts +0 -56
  344. package/src/parsing/functions/rand.ts +0 -21
  345. package/src/parsing/functions/range.ts +0 -37
  346. package/src/parsing/functions/reducer_element.ts +0 -10
  347. package/src/parsing/functions/relationships.ts +0 -52
  348. package/src/parsing/functions/replace.ts +0 -38
  349. package/src/parsing/functions/round.ts +0 -28
  350. package/src/parsing/functions/schema.ts +0 -39
  351. package/src/parsing/functions/size.ts +0 -28
  352. package/src/parsing/functions/split.ts +0 -45
  353. package/src/parsing/functions/string_distance.ts +0 -83
  354. package/src/parsing/functions/stringify.ts +0 -37
  355. package/src/parsing/functions/substring.ts +0 -68
  356. package/src/parsing/functions/sum.ts +0 -41
  357. package/src/parsing/functions/tail.ts +0 -39
  358. package/src/parsing/functions/temporal_utils.ts +0 -180
  359. package/src/parsing/functions/time.ts +0 -58
  360. package/src/parsing/functions/timestamp.ts +0 -37
  361. package/src/parsing/functions/to_float.ts +0 -50
  362. package/src/parsing/functions/to_integer.ts +0 -50
  363. package/src/parsing/functions/to_json.ts +0 -28
  364. package/src/parsing/functions/to_lower.ts +0 -28
  365. package/src/parsing/functions/to_string.ts +0 -32
  366. package/src/parsing/functions/trim.ts +0 -28
  367. package/src/parsing/functions/type.ts +0 -39
  368. package/src/parsing/functions/value_holder.ts +0 -13
  369. package/src/parsing/logic/case.ts +0 -26
  370. package/src/parsing/logic/else.ts +0 -12
  371. package/src/parsing/logic/end.ts +0 -9
  372. package/src/parsing/logic/then.ts +0 -12
  373. package/src/parsing/logic/when.ts +0 -12
  374. package/src/parsing/operations/aggregated_return.ts +0 -22
  375. package/src/parsing/operations/aggregated_with.ts +0 -18
  376. package/src/parsing/operations/call.ts +0 -69
  377. package/src/parsing/operations/create_node.ts +0 -39
  378. package/src/parsing/operations/create_relationship.ts +0 -38
  379. package/src/parsing/operations/delete_node.ts +0 -33
  380. package/src/parsing/operations/delete_relationship.ts +0 -32
  381. package/src/parsing/operations/group_by.ts +0 -137
  382. package/src/parsing/operations/limit.ts +0 -31
  383. package/src/parsing/operations/load.ts +0 -146
  384. package/src/parsing/operations/match.ts +0 -54
  385. package/src/parsing/operations/operation.ts +0 -69
  386. package/src/parsing/operations/order_by.ts +0 -126
  387. package/src/parsing/operations/projection.ts +0 -18
  388. package/src/parsing/operations/return.ts +0 -76
  389. package/src/parsing/operations/union.ts +0 -114
  390. package/src/parsing/operations/union_all.ts +0 -16
  391. package/src/parsing/operations/unwind.ts +0 -36
  392. package/src/parsing/operations/where.ts +0 -42
  393. package/src/parsing/operations/with.ts +0 -20
  394. package/src/parsing/parser.ts +0 -1641
  395. package/src/parsing/parser_state.ts +0 -25
  396. package/src/parsing/token_to_node.ts +0 -114
  397. package/src/tokenization/keyword.ts +0 -50
  398. package/src/tokenization/operator.ts +0 -25
  399. package/src/tokenization/string_walker.ts +0 -197
  400. package/src/tokenization/symbol.ts +0 -15
  401. package/src/tokenization/token.ts +0 -764
  402. package/src/tokenization/token_mapper.ts +0 -53
  403. package/src/tokenization/token_type.ts +0 -16
  404. package/src/tokenization/tokenizer.ts +0 -250
  405. package/src/tokenization/trie.ts +0 -117
  406. package/src/utils/object_utils.ts +0 -17
  407. package/src/utils/string_utils.ts +0 -114
  408. package/tests/compute/runner.test.ts +0 -4559
  409. package/tests/extensibility.test.ts +0 -643
  410. package/tests/graph/create.test.ts +0 -36
  411. package/tests/graph/data.test.ts +0 -58
  412. package/tests/graph/match.test.ts +0 -29
  413. package/tests/parsing/context.test.ts +0 -27
  414. package/tests/parsing/expression.test.ts +0 -303
  415. package/tests/parsing/parser.test.ts +0 -1327
  416. package/tests/tokenization/token_mapper.test.ts +0 -47
  417. package/tests/tokenization/tokenizer.test.ts +0 -191
  418. package/tests/tokenization/trie.test.ts +0 -20
  419. package/tsconfig.json +0 -19
  420. package/typedoc.json +0 -16
  421. package/vscode-settings.json.recommended +0 -16
  422. package/webpack.config.js +0 -26
@@ -1,58 +0,0 @@
1
- import Data from "../../src/graph/data";
2
- import NodeData from "../../src/graph/node_data";
3
- import RelationshipData from "../../src/graph/relationship_data";
4
-
5
- test("Data iteration", () => {
6
- const records = [
7
- { id: "1", name: "Alice" },
8
- { id: "2", name: "Bob" },
9
- { id: "3", name: "Charlie" },
10
- ];
11
- const data = new Data(records);
12
- expect(data.next()).toBe(true);
13
- expect(data.next()).toBe(true);
14
- expect(data.next()).toBe(true);
15
- expect(data.next()).toBe(false);
16
- });
17
-
18
- test("Data find", () => {
19
- const records = [
20
- { id: "1", name: "Alice" },
21
- { id: "2", name: "Bob" },
22
- { id: "3", name: "Charlie" },
23
- { id: "2", name: "Bob Duplicate" },
24
- ];
25
- const data: NodeData = new NodeData(records);
26
- data.find("2");
27
- expect(data.current()).toEqual({ id: "2", name: "Bob" });
28
- expect(data.find("2")).toBe(true);
29
- expect(data.current()).toEqual({ id: "2", name: "Bob Duplicate" });
30
- expect(data.find("2")).toBe(false);
31
- });
32
-
33
- test("Data find non-existing", () => {
34
- const records = [
35
- { id: "1", name: "Alice" },
36
- { id: "2", name: "Bob" },
37
- ];
38
- const data: NodeData = new NodeData(records);
39
- expect(data.find("3")).toBe(false);
40
- });
41
-
42
- test("RelationshipData find", () => {
43
- const records = [
44
- { left_id: "1", right_id: "2", type: "FRIEND", id: "r1" },
45
- { left_id: "2", right_id: "3", type: "COLLEAGUE", id: "r2" },
46
- { left_id: "1", right_id: "3", type: "FRIEND", id: "r3" },
47
- ];
48
- const data: RelationshipData = new RelationshipData(records);
49
- data.find("1");
50
- expect(data.current()).toEqual({ left_id: "1", right_id: "2", type: "FRIEND", id: "r1" });
51
- expect(data.find("1")).toBe(true);
52
- expect(data.current()).toEqual({ left_id: "1", right_id: "3", type: "FRIEND", id: "r3" });
53
- expect(data.find("1")).toBe(false);
54
- expect(data.find("2")).toBe(true);
55
- expect(data.current()).toEqual({ left_id: "2", right_id: "3", type: "COLLEAGUE", id: "r2" });
56
- expect(data.find("2")).toBe(false);
57
- expect(data.find("4")).toBe(false);
58
- });
@@ -1,29 +0,0 @@
1
- import Runner from "../../src/compute/runner";
2
- import PhysicalNode from "../../src/graph/physical_node";
3
- import CreateNode from "../../src/parsing/operations/create_node";
4
- import Parser from "../../src/parsing/parser";
5
-
6
- test("Test CreateNode and match operations", async () => {
7
- const node = new PhysicalNode(null, "Person");
8
- expect(node.label).toBe("Person");
9
- expect(node.statement).toBeNull();
10
- const parser = new Parser();
11
- const statement = parser.parse(`
12
- unwind [
13
- {id: 1, name: 'Person 1'},
14
- {id: 2, name: 'Person 2'}
15
- ] as record
16
- RETURN record.id as id, record.name as name
17
- `);
18
- const op = new CreateNode(node, statement);
19
- await op.run();
20
- const runner = new Runner("match (n:Person) RETURN n");
21
- await runner.run();
22
- expect(runner.results.length).toBe(2);
23
- expect(runner.results[0].n).toBeDefined();
24
- expect(runner.results[0].n.id).toBe(1);
25
- expect(runner.results[0].n.name).toBe("Person 1");
26
- expect(runner.results[1].n).toBeDefined();
27
- expect(runner.results[1].n.id).toBe(2);
28
- expect(runner.results[1].n.name).toBe("Person 2");
29
- });
@@ -1,27 +0,0 @@
1
- import Context from "../../src/parsing/context";
2
- import Sum from "../../src/parsing/functions/sum";
3
- import AggregateFunction from "../../src/parsing/functions/aggregate_function";
4
-
5
- test('Test Context containsType', () => {
6
- const context = new Context();
7
- const sum = new Sum();
8
- context.push(sum);
9
- expect(context.containsType(AggregateFunction)).toBe(true);
10
- });
11
-
12
- test('Test Context containsType false', () => {
13
- const context = new Context();
14
- expect(context.containsType(AggregateFunction)).toBe(false);
15
- });
16
-
17
- test('Test Context push and pop', () => {
18
- const context = new Context();
19
- const sum = new Sum();
20
- context.push(sum);
21
- expect(context.pop()).toBe(sum);
22
- });
23
-
24
- test('Test Context pop undefined', () => {
25
- const context = new Context();
26
- expect(context.pop()).toBe(undefined);
27
- });
@@ -1,303 +0,0 @@
1
- import ASTNode from "../../src/parsing/ast_node";
2
- import Null from "../../src/parsing/components/null";
3
- import Expression from "../../src/parsing/expressions/expression";
4
- import Number from "../../src/parsing/expressions/number";
5
- import {
6
- Add,
7
- And,
8
- Contains,
9
- EndsWith,
10
- Equals,
11
- GreaterThan,
12
- Is,
13
- IsNot,
14
- Multiply,
15
- NotContains,
16
- NotEndsWith,
17
- NotEquals,
18
- NotStartsWith,
19
- Power,
20
- StartsWith,
21
- Subtract,
22
- deepEquals,
23
- } from "../../src/parsing/expressions/operator";
24
- import String from "../../src/parsing/expressions/string";
25
-
26
- class ObjectValue extends ASTNode {
27
- private _value: any;
28
- constructor(value: any) {
29
- super();
30
- this._value = value;
31
- }
32
- public value(): any {
33
- return this._value;
34
- }
35
- }
36
-
37
- test("Test Expression Shunting Yard algorithm", () => {
38
- const expression = new Expression();
39
- expression.addNode(new Number("2"));
40
- expression.addNode(new Add());
41
- expression.addNode(new Number("3"));
42
- expression.addNode(new Multiply());
43
- expression.addNode(new Number("4"));
44
- expression.addNode(new Subtract());
45
- expression.addNode(new Number("2"));
46
- expression.addNode(new Power());
47
- expression.addNode(new Number("2"));
48
- expression.finish();
49
- expect(expression.value()).toBe(10);
50
- });
51
-
52
- test("Test Expression with and operator", () => {
53
- const expression = new Expression();
54
- expression.addNode(new Number("2"));
55
- expression.addNode(new And());
56
- expression.addNode(new Number("3"));
57
- expression.finish();
58
- expect(expression.value()).toBe(1);
59
- });
60
-
61
- test("Test 1 > 0 and 2 > 1", () => {
62
- const expression = new Expression();
63
- expression.addNode(new Number("1"));
64
- expression.addNode(new GreaterThan());
65
- expression.addNode(new Number("0"));
66
- expression.addNode(new And());
67
- expression.addNode(new Number("2"));
68
- expression.addNode(new GreaterThan());
69
- expression.addNode(new Number("1"));
70
- expression.finish();
71
- expect(expression.value()).toBe(1);
72
- });
73
-
74
- test("Test IS NULL with null value", () => {
75
- const expression = new Expression();
76
- expression.addNode(new Null());
77
- expression.addNode(new Is());
78
- expression.addNode(new Null());
79
- expression.finish();
80
- expect(expression.value()).toBe(1);
81
- });
82
-
83
- test("Test IS NULL with non-null value", () => {
84
- const expression = new Expression();
85
- expression.addNode(new Number("42"));
86
- expression.addNode(new Is());
87
- expression.addNode(new Null());
88
- expression.finish();
89
- expect(expression.value()).toBe(0);
90
- });
91
-
92
- test("Test IS NOT NULL with non-null value", () => {
93
- const expression = new Expression();
94
- expression.addNode(new Number("42"));
95
- expression.addNode(new IsNot());
96
- expression.addNode(new Null());
97
- expression.finish();
98
- expect(expression.value()).toBe(1);
99
- });
100
-
101
- test("Test IS NOT NULL with null value", () => {
102
- const expression = new Expression();
103
- expression.addNode(new Null());
104
- expression.addNode(new IsNot());
105
- expression.addNode(new Null());
106
- expression.finish();
107
- expect(expression.value()).toBe(0);
108
- });
109
-
110
- test("Test CONTAINS with matching substring", () => {
111
- const expression = new Expression();
112
- expression.addNode(new String("pineapple"));
113
- expression.addNode(new Contains());
114
- expression.addNode(new String("apple"));
115
- expression.finish();
116
- expect(expression.value()).toBe(1);
117
- });
118
-
119
- test("Test CONTAINS with non-matching substring", () => {
120
- const expression = new Expression();
121
- expression.addNode(new String("banana"));
122
- expression.addNode(new Contains());
123
- expression.addNode(new String("apple"));
124
- expression.finish();
125
- expect(expression.value()).toBe(0);
126
- });
127
-
128
- test("Test NOT CONTAINS", () => {
129
- const expression = new Expression();
130
- expression.addNode(new String("banana"));
131
- expression.addNode(new NotContains());
132
- expression.addNode(new String("apple"));
133
- expression.finish();
134
- expect(expression.value()).toBe(1);
135
- });
136
-
137
- test("Test STARTS WITH matching prefix", () => {
138
- const expression = new Expression();
139
- expression.addNode(new String("pineapple"));
140
- expression.addNode(new StartsWith());
141
- expression.addNode(new String("pine"));
142
- expression.finish();
143
- expect(expression.value()).toBe(1);
144
- });
145
-
146
- test("Test STARTS WITH non-matching prefix", () => {
147
- const expression = new Expression();
148
- expression.addNode(new String("pineapple"));
149
- expression.addNode(new StartsWith());
150
- expression.addNode(new String("apple"));
151
- expression.finish();
152
- expect(expression.value()).toBe(0);
153
- });
154
-
155
- test("Test NOT STARTS WITH", () => {
156
- const expression = new Expression();
157
- expression.addNode(new String("pineapple"));
158
- expression.addNode(new NotStartsWith());
159
- expression.addNode(new String("apple"));
160
- expression.finish();
161
- expect(expression.value()).toBe(1);
162
- });
163
-
164
- test("Test ENDS WITH matching suffix", () => {
165
- const expression = new Expression();
166
- expression.addNode(new String("pineapple"));
167
- expression.addNode(new EndsWith());
168
- expression.addNode(new String("apple"));
169
- expression.finish();
170
- expect(expression.value()).toBe(1);
171
- });
172
-
173
- test("Test ENDS WITH non-matching suffix", () => {
174
- const expression = new Expression();
175
- expression.addNode(new String("pineapple"));
176
- expression.addNode(new EndsWith());
177
- expression.addNode(new String("banana"));
178
- expression.finish();
179
- expect(expression.value()).toBe(0);
180
- });
181
-
182
- test("Test NOT ENDS WITH", () => {
183
- const expression = new Expression();
184
- expression.addNode(new String("pineapple"));
185
- expression.addNode(new NotEndsWith());
186
- expression.addNode(new String("banana"));
187
- expression.finish();
188
- expect(expression.value()).toBe(1);
189
- });
190
-
191
- // deepEquals unit tests
192
-
193
- test("deepEquals with identical primitives", () => {
194
- expect(deepEquals(1, 1)).toBe(true);
195
- expect(deepEquals("abc", "abc")).toBe(true);
196
- expect(deepEquals(null, null)).toBe(true);
197
- });
198
-
199
- test("deepEquals with different primitives", () => {
200
- expect(deepEquals(1, 2)).toBe(false);
201
- expect(deepEquals("abc", "def")).toBe(false);
202
- expect(deepEquals(null, 1)).toBe(false);
203
- expect(deepEquals(1, "1")).toBe(false);
204
- });
205
-
206
- test("deepEquals with identical objects", () => {
207
- const obj = { id: "1", name: "Alice" };
208
- expect(deepEquals(obj, obj)).toBe(true);
209
- });
210
-
211
- test("deepEquals with structurally equal objects", () => {
212
- expect(deepEquals({ id: "1", name: "Alice" }, { id: "1", name: "Alice" })).toBe(true);
213
- });
214
-
215
- test("deepEquals with different objects", () => {
216
- expect(deepEquals({ id: "1", name: "Alice" }, { id: "2", name: "Bob" })).toBe(false);
217
- });
218
-
219
- test("deepEquals with nested objects", () => {
220
- expect(
221
- deepEquals({ id: "1", data: { x: 1, y: [2, 3] } }, { id: "1", data: { x: 1, y: [2, 3] } })
222
- ).toBe(true);
223
- expect(
224
- deepEquals({ id: "1", data: { x: 1, y: [2, 3] } }, { id: "1", data: { x: 1, y: [2, 4] } })
225
- ).toBe(false);
226
- });
227
-
228
- test("deepEquals with arrays", () => {
229
- expect(deepEquals([1, 2, 3], [1, 2, 3])).toBe(true);
230
- expect(deepEquals([1, 2, 3], [1, 2])).toBe(false);
231
- expect(deepEquals([1, 2], [1, 2, 3])).toBe(false);
232
- });
233
-
234
- test("deepEquals with objects having different keys", () => {
235
- expect(deepEquals({ a: 1 }, { b: 1 })).toBe(false);
236
- expect(deepEquals({ a: 1 }, { a: 1, b: 2 })).toBe(false);
237
- });
238
-
239
- // Equals operator with objects
240
-
241
- test("Test Equals with equal numbers", () => {
242
- const expression = new Expression();
243
- expression.addNode(new Number("42"));
244
- expression.addNode(new Equals());
245
- expression.addNode(new Number("42"));
246
- expression.finish();
247
- expect(expression.value()).toBe(1);
248
- });
249
-
250
- test("Test Equals with different numbers", () => {
251
- const expression = new Expression();
252
- expression.addNode(new Number("42"));
253
- expression.addNode(new Equals());
254
- expression.addNode(new Number("99"));
255
- expression.finish();
256
- expect(expression.value()).toBe(0);
257
- });
258
-
259
- test("Test Equals with structurally equal objects", () => {
260
- const expression = new Expression();
261
- expression.addNode(new ObjectValue({ id: "1", name: "Alice" }));
262
- expression.addNode(new Equals());
263
- expression.addNode(new ObjectValue({ id: "1", name: "Alice" }));
264
- expression.finish();
265
- expect(expression.value()).toBe(1);
266
- });
267
-
268
- test("Test Equals with different objects", () => {
269
- const expression = new Expression();
270
- expression.addNode(new ObjectValue({ id: "1", name: "Alice" }));
271
- expression.addNode(new Equals());
272
- expression.addNode(new ObjectValue({ id: "2", name: "Bob" }));
273
- expression.finish();
274
- expect(expression.value()).toBe(0);
275
- });
276
-
277
- test("Test NotEquals with structurally equal objects", () => {
278
- const expression = new Expression();
279
- expression.addNode(new ObjectValue({ id: "1", name: "Alice" }));
280
- expression.addNode(new NotEquals());
281
- expression.addNode(new ObjectValue({ id: "1", name: "Alice" }));
282
- expression.finish();
283
- expect(expression.value()).toBe(0);
284
- });
285
-
286
- test("Test NotEquals with different objects", () => {
287
- const expression = new Expression();
288
- expression.addNode(new ObjectValue({ id: "1", name: "Alice" }));
289
- expression.addNode(new NotEquals());
290
- expression.addNode(new ObjectValue({ id: "2", name: "Bob" }));
291
- expression.finish();
292
- expect(expression.value()).toBe(1);
293
- });
294
-
295
- test("Test Equals with same reference object", () => {
296
- const obj = { id: "1", name: "Alice" };
297
- const expression = new Expression();
298
- expression.addNode(new ObjectValue(obj));
299
- expression.addNode(new Equals());
300
- expression.addNode(new ObjectValue(obj));
301
- expression.finish();
302
- expect(expression.value()).toBe(1);
303
- });