flowquery 1.0.20 → 1.0.22

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 (167) hide show
  1. package/.github/workflows/release.yml +2 -2
  2. package/.husky/pre-commit +26 -0
  3. package/dist/flowquery.min.js +1 -1
  4. package/dist/graph/data.d.ts +5 -4
  5. package/dist/graph/data.d.ts.map +1 -1
  6. package/dist/graph/data.js +35 -19
  7. package/dist/graph/data.js.map +1 -1
  8. package/dist/graph/database.d.ts +1 -0
  9. package/dist/graph/database.d.ts.map +1 -1
  10. package/dist/graph/database.js +39 -0
  11. package/dist/graph/database.js.map +1 -1
  12. package/dist/graph/node.d.ts +2 -0
  13. package/dist/graph/node.d.ts.map +1 -1
  14. package/dist/graph/node.js +23 -0
  15. package/dist/graph/node.js.map +1 -1
  16. package/dist/graph/node_data.js +1 -1
  17. package/dist/graph/node_data.js.map +1 -1
  18. package/dist/graph/relationship.d.ts +6 -1
  19. package/dist/graph/relationship.d.ts.map +1 -1
  20. package/dist/graph/relationship.js +38 -7
  21. package/dist/graph/relationship.js.map +1 -1
  22. package/dist/graph/relationship_data.d.ts +2 -0
  23. package/dist/graph/relationship_data.d.ts.map +1 -1
  24. package/dist/graph/relationship_data.js +8 -1
  25. package/dist/graph/relationship_data.js.map +1 -1
  26. package/dist/graph/relationship_match_collector.js +2 -2
  27. package/dist/graph/relationship_match_collector.js.map +1 -1
  28. package/dist/graph/relationship_reference.d.ts.map +1 -1
  29. package/dist/graph/relationship_reference.js +2 -1
  30. package/dist/graph/relationship_reference.js.map +1 -1
  31. package/dist/index.d.ts +7 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +4 -4
  34. package/dist/index.js.map +1 -1
  35. package/dist/parsing/functions/function_factory.d.ts +1 -0
  36. package/dist/parsing/functions/function_factory.d.ts.map +1 -1
  37. package/dist/parsing/functions/function_factory.js +1 -0
  38. package/dist/parsing/functions/function_factory.js.map +1 -1
  39. package/dist/parsing/functions/schema.d.ts +17 -0
  40. package/dist/parsing/functions/schema.d.ts.map +1 -0
  41. package/dist/parsing/functions/schema.js +62 -0
  42. package/dist/parsing/functions/schema.js.map +1 -0
  43. package/dist/parsing/parser.d.ts +1 -0
  44. package/dist/parsing/parser.d.ts.map +1 -1
  45. package/dist/parsing/parser.js +47 -0
  46. package/dist/parsing/parser.js.map +1 -1
  47. package/docs/flowquery.min.js +1 -1
  48. package/flowquery-py/notebooks/TestFlowQuery.ipynb +1 -1
  49. package/flowquery-py/pyproject.toml +45 -2
  50. package/flowquery-py/src/__init__.py +5 -5
  51. package/flowquery-py/src/compute/runner.py +14 -10
  52. package/flowquery-py/src/extensibility.py +8 -8
  53. package/flowquery-py/src/graph/__init__.py +7 -7
  54. package/flowquery-py/src/graph/data.py +36 -19
  55. package/flowquery-py/src/graph/database.py +34 -20
  56. package/flowquery-py/src/graph/node.py +50 -19
  57. package/flowquery-py/src/graph/node_data.py +1 -1
  58. package/flowquery-py/src/graph/node_reference.py +10 -11
  59. package/flowquery-py/src/graph/pattern.py +23 -36
  60. package/flowquery-py/src/graph/pattern_expression.py +13 -11
  61. package/flowquery-py/src/graph/patterns.py +2 -2
  62. package/flowquery-py/src/graph/physical_node.py +4 -3
  63. package/flowquery-py/src/graph/physical_relationship.py +5 -5
  64. package/flowquery-py/src/graph/relationship.py +56 -15
  65. package/flowquery-py/src/graph/relationship_data.py +7 -2
  66. package/flowquery-py/src/graph/relationship_match_collector.py +15 -10
  67. package/flowquery-py/src/graph/relationship_reference.py +4 -4
  68. package/flowquery-py/src/io/command_line.py +13 -14
  69. package/flowquery-py/src/parsing/__init__.py +2 -2
  70. package/flowquery-py/src/parsing/alias_option.py +1 -1
  71. package/flowquery-py/src/parsing/ast_node.py +21 -20
  72. package/flowquery-py/src/parsing/base_parser.py +7 -7
  73. package/flowquery-py/src/parsing/components/__init__.py +3 -3
  74. package/flowquery-py/src/parsing/components/from_.py +3 -1
  75. package/flowquery-py/src/parsing/components/headers.py +2 -2
  76. package/flowquery-py/src/parsing/components/null.py +2 -2
  77. package/flowquery-py/src/parsing/context.py +7 -7
  78. package/flowquery-py/src/parsing/data_structures/associative_array.py +7 -7
  79. package/flowquery-py/src/parsing/data_structures/json_array.py +3 -3
  80. package/flowquery-py/src/parsing/data_structures/key_value_pair.py +4 -4
  81. package/flowquery-py/src/parsing/data_structures/lookup.py +2 -2
  82. package/flowquery-py/src/parsing/data_structures/range_lookup.py +2 -2
  83. package/flowquery-py/src/parsing/expressions/__init__.py +16 -16
  84. package/flowquery-py/src/parsing/expressions/expression.py +16 -13
  85. package/flowquery-py/src/parsing/expressions/expression_map.py +9 -9
  86. package/flowquery-py/src/parsing/expressions/f_string.py +3 -3
  87. package/flowquery-py/src/parsing/expressions/identifier.py +4 -3
  88. package/flowquery-py/src/parsing/expressions/number.py +3 -3
  89. package/flowquery-py/src/parsing/expressions/operator.py +16 -16
  90. package/flowquery-py/src/parsing/expressions/reference.py +3 -3
  91. package/flowquery-py/src/parsing/expressions/string.py +2 -2
  92. package/flowquery-py/src/parsing/functions/__init__.py +19 -17
  93. package/flowquery-py/src/parsing/functions/aggregate_function.py +8 -8
  94. package/flowquery-py/src/parsing/functions/async_function.py +12 -9
  95. package/flowquery-py/src/parsing/functions/avg.py +4 -4
  96. package/flowquery-py/src/parsing/functions/collect.py +6 -6
  97. package/flowquery-py/src/parsing/functions/function.py +6 -6
  98. package/flowquery-py/src/parsing/functions/function_factory.py +31 -34
  99. package/flowquery-py/src/parsing/functions/function_metadata.py +10 -11
  100. package/flowquery-py/src/parsing/functions/functions.py +14 -6
  101. package/flowquery-py/src/parsing/functions/join.py +3 -3
  102. package/flowquery-py/src/parsing/functions/keys.py +3 -3
  103. package/flowquery-py/src/parsing/functions/predicate_function.py +8 -7
  104. package/flowquery-py/src/parsing/functions/predicate_sum.py +12 -7
  105. package/flowquery-py/src/parsing/functions/rand.py +2 -2
  106. package/flowquery-py/src/parsing/functions/range_.py +9 -4
  107. package/flowquery-py/src/parsing/functions/replace.py +2 -2
  108. package/flowquery-py/src/parsing/functions/round_.py +2 -2
  109. package/flowquery-py/src/parsing/functions/schema.py +36 -0
  110. package/flowquery-py/src/parsing/functions/size.py +2 -2
  111. package/flowquery-py/src/parsing/functions/split.py +9 -4
  112. package/flowquery-py/src/parsing/functions/stringify.py +3 -3
  113. package/flowquery-py/src/parsing/functions/sum.py +4 -4
  114. package/flowquery-py/src/parsing/functions/to_json.py +2 -2
  115. package/flowquery-py/src/parsing/functions/type_.py +3 -3
  116. package/flowquery-py/src/parsing/functions/value_holder.py +1 -1
  117. package/flowquery-py/src/parsing/logic/__init__.py +2 -2
  118. package/flowquery-py/src/parsing/logic/case.py +0 -1
  119. package/flowquery-py/src/parsing/logic/when.py +3 -1
  120. package/flowquery-py/src/parsing/operations/__init__.py +10 -10
  121. package/flowquery-py/src/parsing/operations/aggregated_return.py +3 -5
  122. package/flowquery-py/src/parsing/operations/aggregated_with.py +4 -4
  123. package/flowquery-py/src/parsing/operations/call.py +6 -7
  124. package/flowquery-py/src/parsing/operations/create_node.py +5 -4
  125. package/flowquery-py/src/parsing/operations/create_relationship.py +5 -4
  126. package/flowquery-py/src/parsing/operations/group_by.py +18 -16
  127. package/flowquery-py/src/parsing/operations/load.py +21 -19
  128. package/flowquery-py/src/parsing/operations/match.py +8 -7
  129. package/flowquery-py/src/parsing/operations/operation.py +3 -3
  130. package/flowquery-py/src/parsing/operations/projection.py +6 -6
  131. package/flowquery-py/src/parsing/operations/return_op.py +9 -5
  132. package/flowquery-py/src/parsing/operations/unwind.py +3 -2
  133. package/flowquery-py/src/parsing/operations/where.py +9 -7
  134. package/flowquery-py/src/parsing/operations/with_op.py +2 -2
  135. package/flowquery-py/src/parsing/parser.py +104 -57
  136. package/flowquery-py/src/parsing/token_to_node.py +2 -2
  137. package/flowquery-py/src/tokenization/__init__.py +4 -4
  138. package/flowquery-py/src/tokenization/keyword.py +1 -1
  139. package/flowquery-py/src/tokenization/operator.py +1 -1
  140. package/flowquery-py/src/tokenization/string_walker.py +4 -4
  141. package/flowquery-py/src/tokenization/symbol.py +1 -1
  142. package/flowquery-py/src/tokenization/token.py +11 -11
  143. package/flowquery-py/src/tokenization/token_mapper.py +10 -9
  144. package/flowquery-py/src/tokenization/token_type.py +1 -1
  145. package/flowquery-py/src/tokenization/tokenizer.py +19 -19
  146. package/flowquery-py/src/tokenization/trie.py +18 -17
  147. package/flowquery-py/src/utils/__init__.py +1 -1
  148. package/flowquery-py/src/utils/object_utils.py +3 -3
  149. package/flowquery-py/src/utils/string_utils.py +12 -12
  150. package/flowquery-py/tests/compute/test_runner.py +250 -1
  151. package/flowquery-py/tests/parsing/test_parser.py +41 -0
  152. package/flowquery-vscode/flowQueryEngine/flowquery.min.js +1 -1
  153. package/package.json +1 -1
  154. package/src/graph/data.ts +35 -19
  155. package/src/graph/database.ts +30 -0
  156. package/src/graph/node.ts +23 -0
  157. package/src/graph/node_data.ts +1 -1
  158. package/src/graph/relationship.ts +37 -5
  159. package/src/graph/relationship_data.ts +8 -1
  160. package/src/graph/relationship_match_collector.ts +1 -1
  161. package/src/graph/relationship_reference.ts +2 -1
  162. package/src/index.ts +1 -0
  163. package/src/parsing/functions/function_factory.ts +1 -0
  164. package/src/parsing/functions/schema.ts +36 -0
  165. package/src/parsing/parser.ts +47 -0
  166. package/tests/compute/runner.test.ts +218 -0
  167. package/tests/parsing/parser.test.ts +32 -0
@@ -68,11 +68,11 @@ jobs:
68
68
 
69
69
  # Commit the version bump
70
70
  git add package.json package-lock.json docs/flowquery.min.js
71
- git commit -m "chore: bump version to ${NEW_VERSION} [skip ci]"
71
+ git commit --no-verify -m "chore: bump version to ${NEW_VERSION} [skip ci]"
72
72
 
73
73
  # Include any changes from formatters/linters in the commit
74
74
  git add -A
75
- git diff --cached --quiet || git commit --amend --no-edit
75
+ git diff --cached --quiet || git commit --amend --no-verify --no-edit
76
76
 
77
77
  # Pull latest changes and rebase our commit on top
78
78
  git pull --rebase origin main
package/.husky/pre-commit CHANGED
@@ -1 +1,27 @@
1
1
  npx lint-staged
2
+
3
+ # Run ruff and mypy on Python files in flowquery-py
4
+ if git diff --cached --name-only | grep -q "^flowquery-py/.*\.py$"; then
5
+ echo "Running ruff on Python files..."
6
+ cd flowquery-py
7
+ conda run -n flowquery ruff check src --select=F401,E,W,I
8
+ if [ $? -ne 0 ]; then
9
+ echo "Ruff check failed. Please fix the issues before committing."
10
+ exit 1
11
+ fi
12
+ echo "Running mypy on Python files..."
13
+ conda run -n flowquery mypy src --no-error-summary
14
+ if [ $? -ne 0 ]; then
15
+ echo "Mypy check failed. Please fix the type errors before committing."
16
+ exit 1
17
+ fi
18
+ cd ..
19
+ fi
20
+
21
+ # Strip outputs from notebook files in flowquery-py
22
+ for notebook in $(git ls-files 'flowquery-py/**/*.ipynb'); do
23
+ if [ -f "$notebook" ]; then
24
+ echo "Stripping outputs from: $notebook"
25
+ python -m nbstripout "$notebook"
26
+ fi
27
+ done