flowquery 1.0.20 → 1.0.21

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 (151) 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/node.d.ts +2 -0
  9. package/dist/graph/node.d.ts.map +1 -1
  10. package/dist/graph/node.js +23 -0
  11. package/dist/graph/node.js.map +1 -1
  12. package/dist/graph/node_data.js +1 -1
  13. package/dist/graph/node_data.js.map +1 -1
  14. package/dist/graph/relationship.d.ts +6 -1
  15. package/dist/graph/relationship.d.ts.map +1 -1
  16. package/dist/graph/relationship.js +38 -7
  17. package/dist/graph/relationship.js.map +1 -1
  18. package/dist/graph/relationship_data.d.ts +2 -0
  19. package/dist/graph/relationship_data.d.ts.map +1 -1
  20. package/dist/graph/relationship_data.js +8 -1
  21. package/dist/graph/relationship_data.js.map +1 -1
  22. package/dist/graph/relationship_match_collector.js +2 -2
  23. package/dist/graph/relationship_match_collector.js.map +1 -1
  24. package/dist/graph/relationship_reference.d.ts.map +1 -1
  25. package/dist/graph/relationship_reference.js +2 -1
  26. package/dist/graph/relationship_reference.js.map +1 -1
  27. package/dist/index.d.ts +7 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +4 -4
  30. package/dist/index.js.map +1 -1
  31. package/dist/parsing/parser.d.ts +1 -0
  32. package/dist/parsing/parser.d.ts.map +1 -1
  33. package/dist/parsing/parser.js +47 -0
  34. package/dist/parsing/parser.js.map +1 -1
  35. package/docs/flowquery.min.js +1 -1
  36. package/flowquery-py/notebooks/TestFlowQuery.ipynb +1 -1
  37. package/flowquery-py/pyproject.toml +45 -2
  38. package/flowquery-py/src/__init__.py +5 -5
  39. package/flowquery-py/src/compute/runner.py +14 -10
  40. package/flowquery-py/src/extensibility.py +8 -8
  41. package/flowquery-py/src/graph/__init__.py +7 -7
  42. package/flowquery-py/src/graph/data.py +36 -19
  43. package/flowquery-py/src/graph/database.py +10 -20
  44. package/flowquery-py/src/graph/node.py +50 -19
  45. package/flowquery-py/src/graph/node_data.py +1 -1
  46. package/flowquery-py/src/graph/node_reference.py +10 -11
  47. package/flowquery-py/src/graph/pattern.py +23 -36
  48. package/flowquery-py/src/graph/pattern_expression.py +13 -11
  49. package/flowquery-py/src/graph/patterns.py +2 -2
  50. package/flowquery-py/src/graph/physical_node.py +4 -3
  51. package/flowquery-py/src/graph/physical_relationship.py +5 -5
  52. package/flowquery-py/src/graph/relationship.py +56 -15
  53. package/flowquery-py/src/graph/relationship_data.py +7 -2
  54. package/flowquery-py/src/graph/relationship_match_collector.py +15 -10
  55. package/flowquery-py/src/graph/relationship_reference.py +4 -4
  56. package/flowquery-py/src/io/command_line.py +13 -14
  57. package/flowquery-py/src/parsing/__init__.py +2 -2
  58. package/flowquery-py/src/parsing/alias_option.py +1 -1
  59. package/flowquery-py/src/parsing/ast_node.py +21 -20
  60. package/flowquery-py/src/parsing/base_parser.py +7 -7
  61. package/flowquery-py/src/parsing/components/__init__.py +3 -3
  62. package/flowquery-py/src/parsing/components/from_.py +3 -1
  63. package/flowquery-py/src/parsing/components/headers.py +2 -2
  64. package/flowquery-py/src/parsing/components/null.py +2 -2
  65. package/flowquery-py/src/parsing/context.py +7 -7
  66. package/flowquery-py/src/parsing/data_structures/associative_array.py +7 -7
  67. package/flowquery-py/src/parsing/data_structures/json_array.py +3 -3
  68. package/flowquery-py/src/parsing/data_structures/key_value_pair.py +4 -4
  69. package/flowquery-py/src/parsing/data_structures/lookup.py +2 -2
  70. package/flowquery-py/src/parsing/data_structures/range_lookup.py +2 -2
  71. package/flowquery-py/src/parsing/expressions/__init__.py +16 -16
  72. package/flowquery-py/src/parsing/expressions/expression.py +16 -13
  73. package/flowquery-py/src/parsing/expressions/expression_map.py +9 -9
  74. package/flowquery-py/src/parsing/expressions/f_string.py +3 -3
  75. package/flowquery-py/src/parsing/expressions/identifier.py +4 -3
  76. package/flowquery-py/src/parsing/expressions/number.py +3 -3
  77. package/flowquery-py/src/parsing/expressions/operator.py +16 -16
  78. package/flowquery-py/src/parsing/expressions/reference.py +3 -3
  79. package/flowquery-py/src/parsing/expressions/string.py +2 -2
  80. package/flowquery-py/src/parsing/functions/__init__.py +17 -17
  81. package/flowquery-py/src/parsing/functions/aggregate_function.py +8 -8
  82. package/flowquery-py/src/parsing/functions/async_function.py +12 -9
  83. package/flowquery-py/src/parsing/functions/avg.py +4 -4
  84. package/flowquery-py/src/parsing/functions/collect.py +6 -6
  85. package/flowquery-py/src/parsing/functions/function.py +6 -6
  86. package/flowquery-py/src/parsing/functions/function_factory.py +31 -34
  87. package/flowquery-py/src/parsing/functions/function_metadata.py +10 -11
  88. package/flowquery-py/src/parsing/functions/functions.py +14 -6
  89. package/flowquery-py/src/parsing/functions/join.py +3 -3
  90. package/flowquery-py/src/parsing/functions/keys.py +3 -3
  91. package/flowquery-py/src/parsing/functions/predicate_function.py +8 -7
  92. package/flowquery-py/src/parsing/functions/predicate_sum.py +12 -7
  93. package/flowquery-py/src/parsing/functions/rand.py +2 -2
  94. package/flowquery-py/src/parsing/functions/range_.py +9 -4
  95. package/flowquery-py/src/parsing/functions/replace.py +2 -2
  96. package/flowquery-py/src/parsing/functions/round_.py +2 -2
  97. package/flowquery-py/src/parsing/functions/size.py +2 -2
  98. package/flowquery-py/src/parsing/functions/split.py +9 -4
  99. package/flowquery-py/src/parsing/functions/stringify.py +3 -3
  100. package/flowquery-py/src/parsing/functions/sum.py +4 -4
  101. package/flowquery-py/src/parsing/functions/to_json.py +2 -2
  102. package/flowquery-py/src/parsing/functions/type_.py +3 -3
  103. package/flowquery-py/src/parsing/functions/value_holder.py +1 -1
  104. package/flowquery-py/src/parsing/logic/__init__.py +2 -2
  105. package/flowquery-py/src/parsing/logic/case.py +0 -1
  106. package/flowquery-py/src/parsing/logic/when.py +3 -1
  107. package/flowquery-py/src/parsing/operations/__init__.py +10 -10
  108. package/flowquery-py/src/parsing/operations/aggregated_return.py +3 -5
  109. package/flowquery-py/src/parsing/operations/aggregated_with.py +4 -4
  110. package/flowquery-py/src/parsing/operations/call.py +6 -7
  111. package/flowquery-py/src/parsing/operations/create_node.py +5 -4
  112. package/flowquery-py/src/parsing/operations/create_relationship.py +5 -4
  113. package/flowquery-py/src/parsing/operations/group_by.py +18 -16
  114. package/flowquery-py/src/parsing/operations/load.py +21 -19
  115. package/flowquery-py/src/parsing/operations/match.py +8 -7
  116. package/flowquery-py/src/parsing/operations/operation.py +3 -3
  117. package/flowquery-py/src/parsing/operations/projection.py +6 -6
  118. package/flowquery-py/src/parsing/operations/return_op.py +9 -5
  119. package/flowquery-py/src/parsing/operations/unwind.py +3 -2
  120. package/flowquery-py/src/parsing/operations/where.py +9 -7
  121. package/flowquery-py/src/parsing/operations/with_op.py +2 -2
  122. package/flowquery-py/src/parsing/parser.py +104 -57
  123. package/flowquery-py/src/parsing/token_to_node.py +2 -2
  124. package/flowquery-py/src/tokenization/__init__.py +4 -4
  125. package/flowquery-py/src/tokenization/keyword.py +1 -1
  126. package/flowquery-py/src/tokenization/operator.py +1 -1
  127. package/flowquery-py/src/tokenization/string_walker.py +4 -4
  128. package/flowquery-py/src/tokenization/symbol.py +1 -1
  129. package/flowquery-py/src/tokenization/token.py +11 -11
  130. package/flowquery-py/src/tokenization/token_mapper.py +10 -9
  131. package/flowquery-py/src/tokenization/token_type.py +1 -1
  132. package/flowquery-py/src/tokenization/tokenizer.py +19 -19
  133. package/flowquery-py/src/tokenization/trie.py +18 -17
  134. package/flowquery-py/src/utils/__init__.py +1 -1
  135. package/flowquery-py/src/utils/object_utils.py +3 -3
  136. package/flowquery-py/src/utils/string_utils.py +12 -12
  137. package/flowquery-py/tests/compute/test_runner.py +205 -1
  138. package/flowquery-py/tests/parsing/test_parser.py +41 -0
  139. package/flowquery-vscode/flowQueryEngine/flowquery.min.js +1 -1
  140. package/package.json +1 -1
  141. package/src/graph/data.ts +35 -19
  142. package/src/graph/node.ts +23 -0
  143. package/src/graph/node_data.ts +1 -1
  144. package/src/graph/relationship.ts +37 -5
  145. package/src/graph/relationship_data.ts +8 -1
  146. package/src/graph/relationship_match_collector.ts +1 -1
  147. package/src/graph/relationship_reference.ts +2 -1
  148. package/src/index.ts +1 -0
  149. package/src/parsing/parser.ts +47 -0
  150. package/tests/compute/runner.test.ts +178 -0
  151. 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