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,47 +0,0 @@
1
- import TokenMapper from "../../src/tokenization/token_mapper";
2
- import Symbol from "../../src/tokenization/symbol";
3
- import Keyword from "../../src/tokenization/keyword";
4
- import Operator from "../../src/tokenization/operator";
5
-
6
- test('mapper with Symbols', () => {
7
- const mapper = new TokenMapper(Symbol);
8
- expect(mapper.map(Symbol.LEFT_PARENTHESIS)).toBeDefined();
9
- expect(mapper.map(Symbol.RIGHT_PARENTHESIS)).toBeDefined();
10
- expect(mapper.map(Symbol.COMMA)).toBeDefined();
11
- expect(mapper.map(Symbol.DOT)).toBeDefined();
12
- expect(mapper.map(Symbol.COLON)).toBeDefined();
13
-
14
- expect(mapper.map(Operator.ADD)).toBeUndefined();
15
- });
16
-
17
- test('mapper with Keywords', () => {
18
- const mapper = new TokenMapper(Keyword);
19
- expect(mapper.map(Keyword.MATCH)).toBeDefined();
20
- expect(mapper.map(Keyword.RETURN)).toBeDefined();
21
- expect(mapper.map(Keyword.WHERE)).toBeDefined();
22
-
23
- expect(mapper.map('not_a_keyword')).toBeUndefined();
24
- });
25
-
26
- test('mapper with Operators', () => {
27
- const mapper = new TokenMapper(Operator);
28
- expect(mapper.map(Operator.GREATER_THAN_OR_EQUAL)).toBeDefined();
29
- expect(mapper.map(Operator.ADD.valueOf())).toBeDefined();
30
- expect(mapper.map(Operator.SUBTRACT)).toBeDefined();
31
- expect(mapper.map(Operator.NOT)).toBeDefined();
32
- expect(mapper.map(Operator.EQUALS)).toBeDefined();
33
- expect(mapper.map(Operator.NOT_EQUALS)).toBeDefined();
34
- expect(mapper.map(Operator.LESS_THAN)).toBeDefined();
35
- expect(mapper.map(Operator.LESS_THAN_OR_EQUAL)).toBeDefined();
36
-
37
- expect(mapper.map(Operator.GREATER_THAN_OR_EQUAL + "1")).toBeDefined();
38
-
39
- expect(mapper.map('i_s_n_o_t_an_operator')).toBeUndefined();
40
- });
41
-
42
- test('mapper with mixed types', () => {
43
- const mapper = new TokenMapper(Symbol);
44
- expect(mapper.map(Symbol.LEFT_PARENTHESIS)).toBeDefined();
45
- expect(mapper.map(Symbol.RIGHT_PARENTHESIS)).toBeDefined();
46
- expect(mapper.map(Symbol.COMMA)).toBeDefined();
47
- });
@@ -1,191 +0,0 @@
1
- import Tokenizer from "../../src/tokenization/tokenizer";
2
-
3
- test("Tokenizer.tokenize() should return an array of tokens", () => {
4
- const tokenizer = new Tokenizer("MATCH (n:Person) RETURN n");
5
- const tokens = tokenizer.tokenize();
6
- expect(tokens).toBeDefined();
7
- expect(tokens.length).toBeGreaterThan(0);
8
- });
9
-
10
- test("Tokenizer.tokenize() should handle escaped quotes", () => {
11
- const tokenizer = new Tokenizer('return "hello \\"world"');
12
- const tokens = tokenizer.tokenize();
13
- expect(tokens).toBeDefined();
14
- expect(tokens.length).toBeGreaterThan(0);
15
- });
16
-
17
- test("Test predicate function", () => {
18
- const tokenizer = new Tokenizer("RETURN sum(n in [1, 2, 3] | n where n > 1)");
19
- const tokens = tokenizer.tokenize();
20
- expect(tokens).toBeDefined();
21
- expect(tokens.length).toBeGreaterThan(0);
22
- });
23
-
24
- test("Test f-string", () => {
25
- const tokenizer = new Tokenizer('RETURN f"hello {world}"');
26
- const tokens = tokenizer.tokenize();
27
- expect(tokens).toBeDefined();
28
- expect(tokens.length).toBeGreaterThan(0);
29
- });
30
-
31
- test("Test another f-string", () => {
32
- const tokenizer = new Tokenizer("RETURN f`Value is: {value}`");
33
- const tokens = tokenizer.tokenize();
34
- expect(tokens).toBeDefined();
35
- expect(tokens.length).toBeGreaterThan(0);
36
- });
37
-
38
- test("Test", () => {
39
- const tokenizer = new Tokenizer("WITH 1 AS n RETURN n");
40
- const tokens = tokenizer.tokenize();
41
- expect(tokens).toBeDefined();
42
- expect(tokens.length).toBeGreaterThan(0);
43
- });
44
-
45
- test("Test associative array with backtick string", () => {
46
- const tokenizer = new Tokenizer("RETURN {`key`: `value`}");
47
- const tokens = tokenizer.tokenize();
48
- expect(tokens).toBeDefined();
49
- expect(tokens.length).toBeGreaterThan(0);
50
- });
51
-
52
- test("Test limit", () => {
53
- const tokenizer = new Tokenizer("unwind range(1, 10) as n limit 5 return n");
54
- const tokens = tokenizer.tokenize();
55
- expect(tokens).toBeDefined();
56
- expect(tokens.length).toBeGreaterThan(0);
57
- });
58
-
59
- test("Test return -2", () => {
60
- const tokenizer = new Tokenizer("return [:-2], -2");
61
- const tokens = tokenizer.tokenize();
62
- expect(tokens).toBeDefined();
63
- expect(tokens.length).toBeGreaterThan(0);
64
- });
65
-
66
- test("Test range with function", () => {
67
- const tokenizer = new Tokenizer(`
68
- with range(1,10) as data
69
- return range(0, size(data)-1) as indices
70
- `);
71
- const tokens = tokenizer.tokenize();
72
- expect(tokens).toBeDefined();
73
- expect(tokens.length).toBeGreaterThan(0);
74
- });
75
-
76
- test("Test create virtual node", () => {
77
- const tokenizer = new Tokenizer(`
78
- CREATE VIRTUAL (:Person) AS {
79
- call users() YIELD id, name
80
- }
81
- `);
82
- const tokens = tokenizer.tokenize();
83
- expect(tokens).toBeDefined();
84
- expect(tokens.length).toBeGreaterThan(0);
85
- });
86
-
87
- test("Test create virtual relationship", () => {
88
- const tokenizer = new Tokenizer(`
89
- CREATE VIRTUAL (:Person)-[:KNOWS]->(:Person) AS {
90
- call friendships() YIELD user1_id, user2_id
91
- }
92
- `);
93
- const tokens = tokenizer.tokenize();
94
- expect(tokens).toBeDefined();
95
- expect(tokens.length).toBeGreaterThan(0);
96
- });
97
-
98
- test("Match based on virtual node", () => {
99
- const tokenizer = new Tokenizer(`
100
- MATCH (a:Person)
101
- RETURN a.name
102
- `);
103
- const tokens = tokenizer.tokenize();
104
- expect(tokens).toBeDefined();
105
- expect(tokens.length).toBeGreaterThan(0);
106
- });
107
-
108
- test("Match based on virtual nodes and relationships", () => {
109
- const tokenizer = new Tokenizer(`
110
- MATCH (a:Person)-[r:KNOWS]->(b:Person)
111
- RETURN a.name, b.name
112
- `);
113
- const tokens = tokenizer.tokenize();
114
- expect(tokens).toBeDefined();
115
- expect(tokens.length).toBeGreaterThan(0);
116
- });
117
-
118
- test("Test not equal operator", () => {
119
- const tokenizer = new Tokenizer(`
120
- MATCH (n:Person)
121
- WHERE n.age <> 30
122
- RETURN n.name AS name, n.age AS age
123
- `);
124
- const tokens = tokenizer.tokenize();
125
- expect(tokens).toBeDefined();
126
- expect(tokens.length).toBeGreaterThan(0);
127
- });
128
-
129
- test("Test equal operator", () => {
130
- const tokenizer = new Tokenizer(`
131
- MATCH (n:Person)
132
- WHERE n.age = 30
133
- RETURN n.name AS name, n.age AS age
134
- `);
135
- const tokens = tokenizer.tokenize();
136
- expect(tokens).toBeDefined();
137
- expect(tokens.length).toBeGreaterThan(0);
138
- });
139
-
140
- test("Test boolean operators", () => {
141
- const tokenizer = new Tokenizer(`
142
- return true AND false OR true NOT false
143
- `);
144
- const tokens = tokenizer.tokenize();
145
- expect(tokens).toBeDefined();
146
- expect(tokens.length).toBeGreaterThan(0);
147
- });
148
-
149
- test("Test relationship with hops", () => {
150
- const tokenizer = new Tokenizer(`
151
- MATCH (a:Person)-[r:KNOWS*1..3]->(b:Person)
152
- RETURN a.name, b.name
153
- `);
154
- const tokens = tokenizer.tokenize();
155
- expect(tokens).toBeDefined();
156
- expect(tokens.length).toBeGreaterThan(0);
157
- });
158
-
159
- test("Test reserved keywords as identifiers", () => {
160
- const tokenizer = new Tokenizer(`
161
- WITH 1 AS return
162
- RETURN return
163
- `);
164
- const tokens = tokenizer.tokenize();
165
- expect(tokens).toBeDefined();
166
- expect(tokens.length).toBeGreaterThan(0);
167
- });
168
-
169
- test("Test reserved keywords as part of identifiers", () => {
170
- const tokenizer = new Tokenizer(`
171
- unwind [
172
- {from: "Alice", to: "Bob", organizer: "Charlie"},
173
- {from: "Bob", to: "Charlie", organizer: "Alice"},
174
- {from: "Charlie", to: "Alice", organizer: "Bob"}
175
- ] as data
176
- return data.from, data.to
177
- `);
178
- const tokens = tokenizer.tokenize();
179
- expect(tokens).toBeDefined();
180
- expect(tokens.length).toBeGreaterThan(0);
181
- });
182
-
183
- test("Test reserved keywords as relationship types and labels", () => {
184
- const tokenizer = new Tokenizer(`
185
- MATCH (a:RETURN)-[r:WITH]->(b:RETURN)
186
- RETURN a, b
187
- `);
188
- const tokens = tokenizer.tokenize();
189
- expect(tokens).toBeDefined();
190
- expect(tokens.length).toBeGreaterThan(0);
191
- });
@@ -1,20 +0,0 @@
1
- import Token from "../../src/tokenization/token";
2
- import Keyword from "../../src/tokenization/keyword";
3
- import Trie from "../../src/tokenization/trie";
4
-
5
- test('Trie', () => {
6
- let trie = new Trie();
7
- for(const key of Object.keys(Keyword)) {
8
- const token: Token | undefined = Token.method(key);
9
- if(token !== undefined && token.value !== null) {
10
- trie.insert(token);
11
- expect(trie.find(key)).toBeDefined();
12
- }
13
- }
14
- expect(trie.find('not_a_keyword')).toBeUndefined();
15
- expect(trie.find('not_a_operator')).toBeUndefined();
16
- expect(trie.find('not_a_keyword_or_operator')).toBeUndefined();
17
- expect(trie.find('')).toBeUndefined();
18
- expect(trie.find(' ')).toBeUndefined();
19
- expect(trie.find('a')).toBeUndefined();
20
- });
package/tsconfig.json DELETED
@@ -1,19 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- /* Visit https://aka.ms/tsconfig to read more about this file */
4
- "outDir": "./dist",
5
- "rootDir": "./src", // Optional, but recommended to specify the root directory
6
- "target": "es2016" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ /* Modules */,
7
- "experimentalDecorators": true /* Enable experimental support for decorators. */,
8
- "module": "commonjs" /* Specify what module code is generated. */,
9
- "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */,
10
- "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
11
- "strict": true,
12
- "types": ["node", "jest"],
13
- "sourceMap": true,
14
- "declaration": true /* Generate .d.ts declaration files. */,
15
- "declarationMap": true /* Generate sourcemaps for .d.ts files. */
16
- },
17
- "include": ["src"],
18
- "exclude": ["flowquery-py", "flowquery-vscode", "docs", "misc"]
19
- }
package/typedoc.json DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "entryPoints": ["src/index.ts"],
3
- "out": "docs/api",
4
- "exclude": ["**/node_modules/**", "**/*.test.ts"],
5
- "excludePrivate": true,
6
- "excludeProtected": false,
7
- "excludeExternals": true,
8
- "readme": "README.md",
9
- "name": "FlowQuery API Documentation",
10
- "includeVersion": true,
11
- "disableSources": false,
12
- "navigation": {
13
- "includeCategories": true,
14
- "includeGroups": true
15
- }
16
- }
@@ -1,16 +0,0 @@
1
- {
2
- // Recommended VS Code settings for FlowQuery development
3
- // Copy this file to .vscode/settings.json to enable format-on-save
4
-
5
- "editor.formatOnSave": true,
6
- "editor.defaultFormatter": "esbenp.prettier-vscode",
7
- "[typescript]": {
8
- "editor.defaultFormatter": "esbenp.prettier-vscode"
9
- },
10
- "[javascript]": {
11
- "editor.defaultFormatter": "esbenp.prettier-vscode"
12
- },
13
- "[json]": {
14
- "editor.defaultFormatter": "esbenp.prettier-vscode"
15
- }
16
- }
package/webpack.config.js DELETED
@@ -1,26 +0,0 @@
1
- const path = require('path');
2
-
3
- module.exports = {
4
- entry: './src/index.browser.ts', // Use your entry point here
5
- output: {
6
- filename: 'flowquery.min.js', // The output file for the browser
7
- path: path.resolve(__dirname, 'dist'),
8
- library: 'FlowQuery', // Expose your module as a global variable
9
- libraryTarget: 'umd', // Ensure compatibility with various module systems
10
- libraryExport: 'default', // Export only the default export
11
- },
12
- resolve: {
13
- extensions: ['.ts', '.js'],
14
- },
15
- module: {
16
- rules: [
17
- {
18
- test: /\.ts$/,
19
- use: 'ts-loader',
20
- exclude: /node_modules/,
21
- },
22
- ],
23
- },
24
- mode: 'production', // Use 'development' for unminified output
25
- target: 'web', // Ensure the build is targeted for browsers
26
- };