flowquery 1.0.46 → 1.0.47

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