python-fx 0.3.0.post1__tar.gz → 0.3.2__tar.gz

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 (112) hide show
  1. {python-fx-0.3.0.post1 → python_fx-0.3.2}/CHANGELOG.md +11 -1
  2. {python-fx-0.3.0.post1 → python_fx-0.3.2}/PKG-INFO +22 -19
  3. {python-fx-0.3.0.post1 → python_fx-0.3.2}/README.md +6 -1
  4. python_fx-0.3.2/dev-requirements.txt +80 -0
  5. python_fx-0.3.2/requirements.txt +17 -0
  6. {python-fx-0.3.0.post1 → python_fx-0.3.2}/setup.cfg +1 -1
  7. python_fx-0.3.2/src/pyfx/__version__.py +1 -0
  8. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/model/autocomplete/autocomplete_listener.py +3 -1
  9. python_fx-0.3.2/src/pyfx/model/common/jsonpath/JSONPath.interp +67 -0
  10. python_fx-0.3.2/src/pyfx/model/common/jsonpath/JSONPathLexer.interp +78 -0
  11. python_fx-0.3.2/src/pyfx/model/common/jsonpath/JSONPathLexer.py +108 -0
  12. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/model/common/jsonpath/JSONPathListener.py +8 -13
  13. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/model/common/jsonpath/JSONPathParser.py +146 -225
  14. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/common/frame.py +3 -2
  15. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/common/selectable_text.py +1 -1
  16. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/python_fx.egg-info/PKG-INFO +22 -19
  17. python_fx-0.3.2/src/python_fx.egg-info/requires.txt +27 -0
  18. {python-fx-0.3.0.post1 → python_fx-0.3.2}/tox.ini +2 -2
  19. python-fx-0.3.0.post1/dev-requirements.txt +0 -84
  20. python-fx-0.3.0.post1/requirements.txt +0 -19
  21. python-fx-0.3.0.post1/src/pyfx/__version__.py +0 -1
  22. python-fx-0.3.0.post1/src/pyfx/model/common/jsonpath/JSONPath.interp +0 -67
  23. python-fx-0.3.0.post1/src/pyfx/model/common/jsonpath/JSONPathLexer.interp +0 -78
  24. python-fx-0.3.0.post1/src/pyfx/model/common/jsonpath/JSONPathLexer.py +0 -126
  25. python-fx-0.3.0.post1/src/python_fx.egg-info/requires.txt +0 -19
  26. {python-fx-0.3.0.post1 → python_fx-0.3.2}/.coveragerc +0 -0
  27. {python-fx-0.3.0.post1 → python_fx-0.3.2}/.readthedocs.yml +0 -0
  28. {python-fx-0.3.0.post1 → python_fx-0.3.2}/CODE_OF_CONDUCT.md +0 -0
  29. {python-fx-0.3.0.post1 → python_fx-0.3.2}/LICENSE.txt +0 -0
  30. {python-fx-0.3.0.post1 → python_fx-0.3.2}/MANIFEST.in +0 -0
  31. {python-fx-0.3.0.post1 → python_fx-0.3.2}/docs/Makefile +0 -0
  32. {python-fx-0.3.0.post1 → python_fx-0.3.2}/docs/conf.py +0 -0
  33. {python-fx-0.3.0.post1 → python_fx-0.3.2}/docs/demo.gif +0 -0
  34. {python-fx-0.3.0.post1 → python_fx-0.3.2}/docs/index.rst +0 -0
  35. {python-fx-0.3.0.post1 → python_fx-0.3.2}/docs/make.bat +0 -0
  36. {python-fx-0.3.0.post1 → python_fx-0.3.2}/pyproject.toml +0 -0
  37. {python-fx-0.3.0.post1 → python_fx-0.3.2}/setup.py +0 -0
  38. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/__init__.py +0 -0
  39. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/app.py +0 -0
  40. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/cli.py +0 -0
  41. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/cli_utils.py +0 -0
  42. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/config/__init__.py +0 -0
  43. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/config/config.py +0 -0
  44. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/config/config_parser.py +0 -0
  45. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/config/yaml/__init__.py +0 -0
  46. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/config/yaml/config.yml +0 -0
  47. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/config/yaml/config_schema.yml +0 -0
  48. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/config/yaml/keymaps/__init__.py +0 -0
  49. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/config/yaml/keymaps/basic.yml +0 -0
  50. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/config/yaml/keymaps/emacs.yml +0 -0
  51. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/config/yaml/keymaps/vim.yml +0 -0
  52. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/config/yaml/themes/__init__.py +0 -0
  53. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/config/yaml/themes/basic.yml +0 -0
  54. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/error.py +0 -0
  55. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/model/__init__.py +0 -0
  56. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/model/autocomplete/__init__.py +0 -0
  57. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/model/common/__init__.py +0 -0
  58. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/model/common/jsonpath/JSONPath.g4 +0 -0
  59. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/model/common/jsonpath/JSONPath.tokens +0 -0
  60. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/model/common/jsonpath/JSONPathLexer.tokens +0 -0
  61. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/model/common/jsonpath/__init__.py +0 -0
  62. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/model/model.py +0 -0
  63. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/service/__init__.py +0 -0
  64. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/service/client.py +0 -0
  65. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/service/dispatcher.py +0 -0
  66. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/__init__.py +0 -0
  67. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/common/__init__.py +0 -0
  68. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/common/popup.py +0 -0
  69. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/components/__init__.py +0 -0
  70. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/components/abstract_component_keys.py +0 -0
  71. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/components/autocomplete_popup.py +0 -0
  72. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/components/help_popup.py +0 -0
  73. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/components/json_browser.py +0 -0
  74. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/components/query_bar.py +0 -0
  75. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/components/warning_bar.py +0 -0
  76. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/__init__.py +0 -0
  77. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/array/__init__.py +0 -0
  78. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/array/array_end_node.py +0 -0
  79. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/array/array_end_widget.py +0 -0
  80. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/array/array_node.py +0 -0
  81. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/array/array_start_widget.py +0 -0
  82. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/array/array_unexpanded_widget.py +0 -0
  83. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_composite_end_node.py +0 -0
  84. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_composite_node.py +0 -0
  85. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_listbox.py +0 -0
  86. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_listwalker.py +0 -0
  87. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_node_creator.py +0 -0
  88. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_node_factory.py +0 -0
  89. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_simple_node.py +0 -0
  90. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_widget.py +0 -0
  91. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/object/__init__.py +0 -0
  92. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/object/object_end_node.py +0 -0
  93. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/object/object_end_widget.py +0 -0
  94. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/object/object_node.py +0 -0
  95. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/object/object_start_widget.py +0 -0
  96. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/object/object_unexpanded_widget.py +0 -0
  97. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/__init__.py +0 -0
  98. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/base.py +0 -0
  99. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/boolean.py +0 -0
  100. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/integer.py +0 -0
  101. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/null.py +0 -0
  102. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/numeric.py +0 -0
  103. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/string.py +0 -0
  104. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/keys.py +0 -0
  105. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/themes.py +0 -0
  106. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/view_frame.py +0 -0
  107. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/view_manager.py +0 -0
  108. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/pyfx/view/view_mediator.py +0 -0
  109. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/python_fx.egg-info/SOURCES.txt +0 -0
  110. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/python_fx.egg-info/dependency_links.txt +0 -0
  111. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/python_fx.egg-info/entry_points.txt +0 -0
  112. {python-fx-0.3.0.post1 → python_fx-0.3.2}/src/python_fx.egg-info/top_level.txt +0 -0
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.2] - 2024-08-12
11
+ ### Changed
12
+ - Bump all dependent libraries' version
13
+ - Bump ANTLR version and regenerate parser code
14
+
15
+ ## [0.3.1] - 2023-09-24
16
+ ### Changed
17
+ - Bump all dependent libraries' version
10
18
 
11
19
  ## [0.3.0] - 2023-09-22
12
20
  ### Added
@@ -111,7 +119,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
111
119
 
112
120
  - Initial commit with pyfx
113
121
 
114
- [unreleased]: https://github.com/cielong/pyfx/compare/v0.3.0...HEAD
122
+ [unreleased]: https://github.com/cielong/pyfx/compare/v0.3.1...HEAD
123
+ [0.3.2]: https://github.com/cielong/pyfx/compare/v0.3.1...v0.3.2
124
+ [0.3.1]: https://github.com/cielong/pyfx/compare/v0.3.0...v0.3.1
115
125
  [0.3.0]: https://github.com/cielong/pyfx/compare/v0.2.0...v0.3.0
116
126
  [0.2.0]: https://github.com/cielong/pyfx/compare/v0.1.0...v0.2.0
117
127
  [0.1.0]: https://github.com/cielong/pyfx/compare/v0.1.0-beta.2...v0.1.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-fx
3
- Version: 0.3.0.post1
3
+ Version: 0.3.2
4
4
  Summary: A python-native fx-alike terminal JSON viewer.
5
5
  Author-email: Yutian Wu <yutianwu@umich.edu>
6
6
  License: MIT
@@ -16,25 +16,23 @@ Classifier: Topic :: Utilities
16
16
  Requires-Python: >=3.8
17
17
  Description-Content-Type: text/markdown
18
18
  License-File: LICENSE.txt
19
- Requires-Dist: antlr4-python3-runtime==4.8
20
- Requires-Dist: asciimatics==1.14.0
21
- Requires-Dist: click==8.1.3
22
- Requires-Dist: dacite==1.6.0
23
- Requires-Dist: decorator==5.1.1
19
+ Requires-Dist: antlr4-python3-runtime==4.13.2
20
+ Requires-Dist: asciimatics==1.15.0; python_version >= "3.8"
21
+ Requires-Dist: click==8.1.7; python_version >= "3.7"
22
+ Requires-Dist: dacite==1.8.1; python_version >= "3.6"
24
23
  Requires-Dist: first==2.0.2
25
- Requires-Dist: future==0.18.3
26
- Requires-Dist: jsonpath-ng==1.5.3
27
- Requires-Dist: loguru==0.6.0
28
- Requires-Dist: overrides==7.3.1
29
- Requires-Dist: pillow==10.0.1
24
+ Requires-Dist: jsonpath-ng==1.6.1
25
+ Requires-Dist: loguru==0.7.2; python_version >= "3.5"
26
+ Requires-Dist: overrides==7.7.0; python_version >= "3.6"
27
+ Requires-Dist: pillow==10.4.0; python_version >= "3.8"
30
28
  Requires-Dist: ply==3.11
31
- Requires-Dist: pyfiglet==1.0.0
32
- Requires-Dist: pyperclip==1.8.2
33
- Requires-Dist: pyyaml==6.0.1
34
- Requires-Dist: six==1.16.0
35
- Requires-Dist: urwid==2.1.2
36
- Requires-Dist: wcwidth==0.2.6
37
- Requires-Dist: yamale==4.0.4
29
+ Requires-Dist: pyfiglet==1.0.2; python_version >= "3.9"
30
+ Requires-Dist: pyperclip==1.9.0
31
+ Requires-Dist: pyyaml==6.0.2; python_version >= "3.8"
32
+ Requires-Dist: typing-extensions==4.12.2; python_version >= "3.8"
33
+ Requires-Dist: urwid==2.6.15; python_version >= "3.8"
34
+ Requires-Dist: wcwidth==0.2.13
35
+ Requires-Dist: yamale==5.2.1; python_version >= "3.8"
38
36
 
39
37
  # Pyfx
40
38
  ![Build Status](https://github.com/cielong/pyfx/actions/workflows/ci.yml/badge.svg?branch=main)
@@ -86,7 +84,11 @@ pip install -U autopep8 tox build
86
84
  make install
87
85
  ```
88
86
  ### Local Development
89
- Clone the this [repo](https://github.com/cielong/pyfx.git), change directory into the project and run
87
+ 1. Download and install the latest [ANTLR v4](https://www.antlr.org/)
88
+
89
+ * It is required that ANTLR version installed matches the version of the Python ANTLR runtime version.
90
+
91
+ 2. Clone the this [repo](https://github.com/cielong/pyfx.git), change directory into the project and run
90
92
  ```bash
91
93
  pip install -U pipenv
92
94
  pipenv install --dev
@@ -222,6 +224,7 @@ See the [changelog](CHANGELOG.md) for a history of notable changes to *Pyfx*.
222
224
  ## Contributors
223
225
  [Avery (@nullableVoidPtr)](https://github.com/nullableVoidPtr)
224
226
  [Zephyr Lykos (@mochaaP)](https://github.com/mochaaP)
227
+ [@jcaesar](https://github.com/jcaesar)
225
228
 
226
229
  ## How to Contribute
227
230
  If you run into any issues, please let me know by creating a GitHub issue.
@@ -48,7 +48,11 @@ pip install -U autopep8 tox build
48
48
  make install
49
49
  ```
50
50
  ### Local Development
51
- Clone the this [repo](https://github.com/cielong/pyfx.git), change directory into the project and run
51
+ 1. Download and install the latest [ANTLR v4](https://www.antlr.org/)
52
+
53
+ * It is required that ANTLR version installed matches the version of the Python ANTLR runtime version.
54
+
55
+ 2. Clone the this [repo](https://github.com/cielong/pyfx.git), change directory into the project and run
52
56
  ```bash
53
57
  pip install -U pipenv
54
58
  pipenv install --dev
@@ -184,6 +188,7 @@ See the [changelog](CHANGELOG.md) for a history of notable changes to *Pyfx*.
184
188
  ## Contributors
185
189
  [Avery (@nullableVoidPtr)](https://github.com/nullableVoidPtr)
186
190
  [Zephyr Lykos (@mochaaP)](https://github.com/mochaaP)
191
+ [@jcaesar](https://github.com/jcaesar)
187
192
 
188
193
  ## How to Contribute
189
194
  If you run into any issues, please let me know by creating a GitHub issue.
@@ -0,0 +1,80 @@
1
+ alabaster==1.0.0; python_version >= '3.10'
2
+ autopep8==2.3.1; python_version >= '3.8'
3
+ babel==2.16.0; python_version >= '3.8'
4
+ backports.tarfile==1.2.0; python_version < '3.12'
5
+ build==1.2.1; python_version >= '3.8'
6
+ cachetools==5.4.0; python_version >= '3.7'
7
+ certifi==2024.7.4; python_version >= '3.6'
8
+ chardet==5.2.0; python_version >= '3.7'
9
+ charset-normalizer==3.3.2; python_full_version >= '3.7.0'
10
+ click==8.1.7; python_version >= '3.7'
11
+ colorama==0.4.6; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'
12
+ coverage[toml]==7.6.1; python_version >= '3.8'
13
+ distlib==0.3.8
14
+ docutils==0.21.2; python_version >= '3.9'
15
+ filelock==3.15.4; python_version >= '3.8'
16
+ flake8==7.1.1; python_full_version >= '3.8.1'
17
+ idna==3.7; python_version >= '3.5'
18
+ imagesize==1.4.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
19
+ importlib-metadata==8.2.0; python_version >= '3.8'
20
+ iniconfig==2.0.0; python_version >= '3.7'
21
+ jaraco.classes==3.4.0; python_version >= '3.8'
22
+ jaraco.context==5.3.0; python_version >= '3.8'
23
+ jaraco.functools==4.0.2; python_version >= '3.8'
24
+ jinja2==3.1.4; python_version >= '3.7'
25
+ keyring==25.3.0; python_version >= '3.8'
26
+ markdown-it-py==3.0.0; python_version >= '3.8'
27
+ markupsafe==2.1.5; python_version >= '3.7'
28
+ mccabe==0.7.0; python_version >= '3.6'
29
+ mdurl==0.1.2; python_version >= '3.7'
30
+ more-itertools==10.4.0; python_version >= '3.8'
31
+ nh3==0.2.18
32
+ packaging==24.1; python_version >= '3.8'
33
+ parameterized==0.9.0; python_version >= '3.7'
34
+ pillow==10.4.0; python_version >= '3.8'
35
+ pkginfo==1.10.0; python_version >= '3.6'
36
+ platformdirs==4.2.2; python_version >= '3.8'
37
+ pluggy==1.5.0; python_version >= '3.8'
38
+ pycodestyle==2.12.1; python_version >= '3.8'
39
+ pyflakes==3.2.0; python_version >= '3.8'
40
+ pygments==2.18.0; python_version >= '3.8'
41
+ pyproject-api==1.7.1; python_version >= '3.8'
42
+ pyproject-hooks==1.1.0; python_version >= '3.7'
43
+ pytest==8.3.2; python_version >= '3.8'
44
+ pytest-cov==5.0.0; python_version >= '3.8'
45
+ readme-renderer==44.0; python_version >= '3.9'
46
+ requests==2.32.3; python_version >= '3.8'
47
+ requests-toolbelt==1.0.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
48
+ rfc3986==2.0.0; python_version >= '3.7'
49
+ rich==13.7.1; python_full_version >= '3.7.0'
50
+ setuptools==72.1.0; python_version >= '3.8'
51
+ snowballstemmer==2.2.0
52
+ sphinx==8.0.2; python_version >= '3.10'
53
+ sphinx-click==6.0.0; python_version >= '3.8'
54
+ sphinxcontrib-applehelp==2.0.0; python_version >= '3.9'
55
+ sphinxcontrib-devhelp==2.0.0; python_version >= '3.9'
56
+ sphinxcontrib-htmlhelp==2.1.0; python_version >= '3.9'
57
+ sphinxcontrib-jsmath==1.0.1; python_version >= '3.5'
58
+ sphinxcontrib-qthelp==2.0.0; python_version >= '3.9'
59
+ sphinxcontrib-serializinghtml==2.0.0; python_version >= '3.9'
60
+ tox==4.17.1; python_version >= '3.8'
61
+ tox-gh-actions==3.2.0; python_version >= '3.7'
62
+ twine==5.1.1; python_version >= '3.8'
63
+ urllib3==2.2.2; python_version >= '3.8'
64
+ virtualenv==20.26.3; python_version >= '3.7'
65
+ zipp==3.20.0; python_version >= '3.8'
66
+ antlr4-python3-runtime==4.13.2
67
+ asciimatics==1.15.0; python_version >= '3.8'
68
+ dacite==1.8.1; python_version >= '3.6'
69
+ first==2.0.2
70
+ jsonpath-ng==1.6.1
71
+ loguru==0.7.2; python_version >= '3.5'
72
+ overrides==7.7.0; python_version >= '3.6'
73
+ ply==3.11
74
+ pyfiglet==1.0.2; python_version >= '3.9'
75
+ pyperclip==1.9.0
76
+ pyyaml==6.0.2; python_version >= '3.8'
77
+ typing-extensions==4.12.2; python_version >= '3.8'
78
+ urwid==2.6.15; python_version >= '3.8'
79
+ wcwidth==0.2.13
80
+ yamale==5.2.1; python_version >= '3.8'
@@ -0,0 +1,17 @@
1
+ antlr4-python3-runtime==4.13.2
2
+ asciimatics==1.15.0; python_version >= '3.8'
3
+ click==8.1.7; python_version >= '3.7'
4
+ dacite==1.8.1; python_version >= '3.6'
5
+ first==2.0.2
6
+ jsonpath-ng==1.6.1
7
+ loguru==0.7.2; python_version >= '3.5'
8
+ overrides==7.7.0; python_version >= '3.6'
9
+ pillow==10.4.0; python_version >= '3.8'
10
+ ply==3.11
11
+ pyfiglet==1.0.2; python_version >= '3.9'
12
+ pyperclip==1.9.0
13
+ pyyaml==6.0.2; python_version >= '3.8'
14
+ typing-extensions==4.12.2; python_version >= '3.8'
15
+ urwid==2.6.15; python_version >= '3.8'
16
+ wcwidth==0.2.13
17
+ yamale==5.2.1; python_version >= '3.8'
@@ -4,7 +4,7 @@ test = pytest
4
4
  [flake8]
5
5
  max_line_length = 120
6
6
  exclude =
7
- .git,,
7
+ .git,
8
8
  .github,
9
9
  .tox,
10
10
  __pycache__,
@@ -0,0 +1 @@
1
+ __version__ = "0.3.2"
@@ -5,7 +5,9 @@ from antlr4.error.ErrorListener import ErrorListener
5
5
  from loguru import logger
6
6
  from overrides import overrides
7
7
 
8
- from ..common.jsonpath import JSONPathLexer, JSONPathParser, JSONPathListener
8
+ from ..common.jsonpath.JSONPathLexer import JSONPathLexer
9
+ from ..common.jsonpath.JSONPathParser import JSONPathParser
10
+ from ..common.jsonpath.JSONPathListener import JSONPathListener
9
11
 
10
12
 
11
13
  def autocomplete(current_input, query):
@@ -0,0 +1,67 @@
1
+ token literal names:
2
+ null
3
+ '['
4
+ '?'
5
+ '('
6
+ ')'
7
+ ']'
8
+ '>'
9
+ '<'
10
+ '=='
11
+ ','
12
+ ':'
13
+ '*'
14
+ '[*]'
15
+ '$'
16
+ '@'
17
+ '.'
18
+ '..'
19
+ null
20
+ null
21
+ null
22
+ null
23
+
24
+ token symbolic names:
25
+ null
26
+ null
27
+ null
28
+ null
29
+ null
30
+ null
31
+ null
32
+ null
33
+ null
34
+ null
35
+ null
36
+ null
37
+ null
38
+ ROOT
39
+ CURRENT
40
+ SINGLE_DOT
41
+ DOUBLE_DOT
42
+ LETTER
43
+ STRING
44
+ INT
45
+ WS
46
+
47
+ rule names:
48
+ jsonpath
49
+ expression
50
+ doubleDotExpression
51
+ singleDotExpression
52
+ filters
53
+ numericFilter
54
+ stringFilter
55
+ booleanFilter
56
+ union
57
+ arraySlice
58
+ fieldAccessor
59
+ field
60
+ bracketField
61
+ arrayIndex
62
+ wildcard
63
+ bracketWildcard
64
+
65
+
66
+ atn:
67
+ [4, 1, 20, 159, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 1, 0, 1, 0, 5, 0, 35, 8, 0, 10, 0, 12, 0, 38, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 3, 1, 44, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 50, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 56, 8, 3, 1, 3, 1, 3, 3, 3, 60, 8, 3, 1, 3, 1, 3, 3, 3, 64, 8, 3, 1, 3, 1, 3, 3, 3, 68, 8, 3, 1, 3, 3, 3, 71, 8, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 94, 8, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 4, 8, 113, 8, 8, 11, 8, 12, 8, 114, 1, 8, 1, 8, 1, 9, 1, 9, 3, 9, 121, 8, 9, 1, 9, 1, 9, 3, 9, 125, 8, 9, 1, 9, 1, 9, 3, 9, 129, 8, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 3, 10, 136, 8, 10, 1, 10, 1, 10, 3, 10, 140, 8, 10, 1, 10, 3, 10, 143, 8, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 0, 0, 16, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 1, 0, 6, 8, 1, 0, 17, 18, 164, 0, 32, 1, 0, 0, 0, 2, 43, 1, 0, 0, 0, 4, 49, 1, 0, 0, 0, 6, 70, 1, 0, 0, 0, 8, 93, 1, 0, 0, 0, 10, 95, 1, 0, 0, 0, 12, 100, 1, 0, 0, 0, 14, 105, 1, 0, 0, 0, 16, 108, 1, 0, 0, 0, 18, 118, 1, 0, 0, 0, 20, 142, 1, 0, 0, 0, 22, 144, 1, 0, 0, 0, 24, 146, 1, 0, 0, 0, 26, 150, 1, 0, 0, 0, 28, 154, 1, 0, 0, 0, 30, 156, 1, 0, 0, 0, 32, 36, 5, 13, 0, 0, 33, 35, 3, 2, 1, 0, 34, 33, 1, 0, 0, 0, 35, 38, 1, 0, 0, 0, 36, 34, 1, 0, 0, 0, 36, 37, 1, 0, 0, 0, 37, 39, 1, 0, 0, 0, 38, 36, 1, 0, 0, 0, 39, 40, 5, 0, 0, 1, 40, 1, 1, 0, 0, 0, 41, 44, 3, 6, 3, 0, 42, 44, 3, 4, 2, 0, 43, 41, 1, 0, 0, 0, 43, 42, 1, 0, 0, 0, 44, 3, 1, 0, 0, 0, 45, 46, 5, 16, 0, 0, 46, 50, 3, 22, 11, 0, 47, 48, 5, 16, 0, 0, 48, 50, 3, 24, 12, 0, 49, 45, 1, 0, 0, 0, 49, 47, 1, 0, 0, 0, 50, 5, 1, 0, 0, 0, 51, 71, 3, 20, 10, 0, 52, 53, 5, 15, 0, 0, 53, 71, 3, 28, 14, 0, 54, 56, 5, 15, 0, 0, 55, 54, 1, 0, 0, 0, 55, 56, 1, 0, 0, 0, 56, 57, 1, 0, 0, 0, 57, 71, 3, 30, 15, 0, 58, 60, 5, 15, 0, 0, 59, 58, 1, 0, 0, 0, 59, 60, 1, 0, 0, 0, 60, 61, 1, 0, 0, 0, 61, 71, 3, 8, 4, 0, 62, 64, 5, 15, 0, 0, 63, 62, 1, 0, 0, 0, 63, 64, 1, 0, 0, 0, 64, 65, 1, 0, 0, 0, 65, 71, 3, 18, 9, 0, 66, 68, 5, 15, 0, 0, 67, 66, 1, 0, 0, 0, 67, 68, 1, 0, 0, 0, 68, 69, 1, 0, 0, 0, 69, 71, 3, 16, 8, 0, 70, 51, 1, 0, 0, 0, 70, 52, 1, 0, 0, 0, 70, 55, 1, 0, 0, 0, 70, 59, 1, 0, 0, 0, 70, 63, 1, 0, 0, 0, 70, 67, 1, 0, 0, 0, 71, 7, 1, 0, 0, 0, 72, 73, 5, 1, 0, 0, 73, 74, 5, 2, 0, 0, 74, 75, 5, 3, 0, 0, 75, 76, 3, 10, 5, 0, 76, 77, 5, 4, 0, 0, 77, 78, 5, 5, 0, 0, 78, 94, 1, 0, 0, 0, 79, 80, 5, 1, 0, 0, 80, 81, 5, 2, 0, 0, 81, 82, 5, 3, 0, 0, 82, 83, 3, 12, 6, 0, 83, 84, 5, 4, 0, 0, 84, 85, 5, 5, 0, 0, 85, 94, 1, 0, 0, 0, 86, 87, 5, 1, 0, 0, 87, 88, 5, 2, 0, 0, 88, 89, 5, 3, 0, 0, 89, 90, 3, 14, 7, 0, 90, 91, 5, 4, 0, 0, 91, 92, 5, 5, 0, 0, 92, 94, 1, 0, 0, 0, 93, 72, 1, 0, 0, 0, 93, 79, 1, 0, 0, 0, 93, 86, 1, 0, 0, 0, 94, 9, 1, 0, 0, 0, 95, 96, 5, 14, 0, 0, 96, 97, 3, 20, 10, 0, 97, 98, 7, 0, 0, 0, 98, 99, 5, 19, 0, 0, 99, 11, 1, 0, 0, 0, 100, 101, 5, 14, 0, 0, 101, 102, 3, 20, 10, 0, 102, 103, 5, 8, 0, 0, 103, 104, 5, 18, 0, 0, 104, 13, 1, 0, 0, 0, 105, 106, 5, 14, 0, 0, 106, 107, 3, 20, 10, 0, 107, 15, 1, 0, 0, 0, 108, 109, 5, 1, 0, 0, 109, 112, 7, 1, 0, 0, 110, 111, 5, 9, 0, 0, 111, 113, 7, 1, 0, 0, 112, 110, 1, 0, 0, 0, 113, 114, 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 116, 1, 0, 0, 0, 116, 117, 5, 5, 0, 0, 117, 17, 1, 0, 0, 0, 118, 120, 5, 1, 0, 0, 119, 121, 5, 19, 0, 0, 120, 119, 1, 0, 0, 0, 120, 121, 1, 0, 0, 0, 121, 122, 1, 0, 0, 0, 122, 124, 5, 10, 0, 0, 123, 125, 5, 19, 0, 0, 124, 123, 1, 0, 0, 0, 124, 125, 1, 0, 0, 0, 125, 128, 1, 0, 0, 0, 126, 127, 5, 10, 0, 0, 127, 129, 5, 19, 0, 0, 128, 126, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 130, 1, 0, 0, 0, 130, 131, 5, 5, 0, 0, 131, 19, 1, 0, 0, 0, 132, 133, 5, 15, 0, 0, 133, 143, 3, 22, 11, 0, 134, 136, 5, 15, 0, 0, 135, 134, 1, 0, 0, 0, 135, 136, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 143, 3, 24, 12, 0, 138, 140, 5, 15, 0, 0, 139, 138, 1, 0, 0, 0, 139, 140, 1, 0, 0, 0, 140, 141, 1, 0, 0, 0, 141, 143, 3, 26, 13, 0, 142, 132, 1, 0, 0, 0, 142, 135, 1, 0, 0, 0, 142, 139, 1, 0, 0, 0, 143, 21, 1, 0, 0, 0, 144, 145, 5, 17, 0, 0, 145, 23, 1, 0, 0, 0, 146, 147, 5, 1, 0, 0, 147, 148, 7, 1, 0, 0, 148, 149, 5, 5, 0, 0, 149, 25, 1, 0, 0, 0, 150, 151, 5, 1, 0, 0, 151, 152, 5, 19, 0, 0, 152, 153, 5, 5, 0, 0, 153, 27, 1, 0, 0, 0, 154, 155, 5, 11, 0, 0, 155, 29, 1, 0, 0, 0, 156, 157, 5, 12, 0, 0, 157, 31, 1, 0, 0, 0, 16, 36, 43, 49, 55, 59, 63, 67, 70, 93, 114, 120, 124, 128, 135, 139, 142]
@@ -0,0 +1,78 @@
1
+ token literal names:
2
+ null
3
+ '['
4
+ '?'
5
+ '('
6
+ ')'
7
+ ']'
8
+ '>'
9
+ '<'
10
+ '=='
11
+ ','
12
+ ':'
13
+ '*'
14
+ '[*]'
15
+ '$'
16
+ '@'
17
+ '.'
18
+ '..'
19
+ null
20
+ null
21
+ null
22
+ null
23
+
24
+ token symbolic names:
25
+ null
26
+ null
27
+ null
28
+ null
29
+ null
30
+ null
31
+ null
32
+ null
33
+ null
34
+ null
35
+ null
36
+ null
37
+ null
38
+ ROOT
39
+ CURRENT
40
+ SINGLE_DOT
41
+ DOUBLE_DOT
42
+ LETTER
43
+ STRING
44
+ INT
45
+ WS
46
+
47
+ rule names:
48
+ T__0
49
+ T__1
50
+ T__2
51
+ T__3
52
+ T__4
53
+ T__5
54
+ T__6
55
+ T__7
56
+ T__8
57
+ T__9
58
+ T__10
59
+ T__11
60
+ ROOT
61
+ CURRENT
62
+ SINGLE_DOT
63
+ DOUBLE_DOT
64
+ LETTER
65
+ STRING
66
+ QUOTE
67
+ INT
68
+ WS
69
+
70
+ channel names:
71
+ DEFAULT_TOKEN_CHANNEL
72
+ HIDDEN
73
+
74
+ mode names:
75
+ DEFAULT_MODE
76
+
77
+ atn:
78
+ [4, 0, 20, 118, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 16, 4, 16, 81, 8, 16, 11, 16, 12, 16, 82, 1, 17, 1, 17, 1, 17, 5, 17, 88, 8, 17, 10, 17, 12, 17, 91, 9, 17, 1, 17, 3, 17, 94, 8, 17, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 100, 8, 18, 1, 19, 1, 19, 1, 19, 5, 19, 105, 8, 19, 10, 19, 12, 19, 108, 9, 19, 3, 19, 110, 8, 19, 1, 20, 4, 20, 113, 8, 20, 11, 20, 12, 20, 114, 1, 20, 1, 20, 1, 89, 0, 21, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 0, 39, 19, 41, 20, 1, 0, 5, 2, 0, 65, 90, 97, 122, 1, 1, 39, 39, 1, 0, 49, 57, 1, 0, 48, 57, 3, 0, 9, 10, 13, 13, 32, 32, 123, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 1, 43, 1, 0, 0, 0, 3, 45, 1, 0, 0, 0, 5, 47, 1, 0, 0, 0, 7, 49, 1, 0, 0, 0, 9, 51, 1, 0, 0, 0, 11, 53, 1, 0, 0, 0, 13, 55, 1, 0, 0, 0, 15, 57, 1, 0, 0, 0, 17, 60, 1, 0, 0, 0, 19, 62, 1, 0, 0, 0, 21, 64, 1, 0, 0, 0, 23, 66, 1, 0, 0, 0, 25, 70, 1, 0, 0, 0, 27, 72, 1, 0, 0, 0, 29, 74, 1, 0, 0, 0, 31, 76, 1, 0, 0, 0, 33, 80, 1, 0, 0, 0, 35, 84, 1, 0, 0, 0, 37, 99, 1, 0, 0, 0, 39, 109, 1, 0, 0, 0, 41, 112, 1, 0, 0, 0, 43, 44, 5, 91, 0, 0, 44, 2, 1, 0, 0, 0, 45, 46, 5, 63, 0, 0, 46, 4, 1, 0, 0, 0, 47, 48, 5, 40, 0, 0, 48, 6, 1, 0, 0, 0, 49, 50, 5, 41, 0, 0, 50, 8, 1, 0, 0, 0, 51, 52, 5, 93, 0, 0, 52, 10, 1, 0, 0, 0, 53, 54, 5, 62, 0, 0, 54, 12, 1, 0, 0, 0, 55, 56, 5, 60, 0, 0, 56, 14, 1, 0, 0, 0, 57, 58, 5, 61, 0, 0, 58, 59, 5, 61, 0, 0, 59, 16, 1, 0, 0, 0, 60, 61, 5, 44, 0, 0, 61, 18, 1, 0, 0, 0, 62, 63, 5, 58, 0, 0, 63, 20, 1, 0, 0, 0, 64, 65, 5, 42, 0, 0, 65, 22, 1, 0, 0, 0, 66, 67, 5, 91, 0, 0, 67, 68, 5, 42, 0, 0, 68, 69, 5, 93, 0, 0, 69, 24, 1, 0, 0, 0, 70, 71, 5, 36, 0, 0, 71, 26, 1, 0, 0, 0, 72, 73, 5, 64, 0, 0, 73, 28, 1, 0, 0, 0, 74, 75, 5, 46, 0, 0, 75, 30, 1, 0, 0, 0, 76, 77, 5, 46, 0, 0, 77, 78, 5, 46, 0, 0, 78, 32, 1, 0, 0, 0, 79, 81, 7, 0, 0, 0, 80, 79, 1, 0, 0, 0, 81, 82, 1, 0, 0, 0, 82, 80, 1, 0, 0, 0, 82, 83, 1, 0, 0, 0, 83, 34, 1, 0, 0, 0, 84, 89, 5, 39, 0, 0, 85, 88, 3, 37, 18, 0, 86, 88, 9, 0, 0, 0, 87, 85, 1, 0, 0, 0, 87, 86, 1, 0, 0, 0, 88, 91, 1, 0, 0, 0, 89, 90, 1, 0, 0, 0, 89, 87, 1, 0, 0, 0, 90, 93, 1, 0, 0, 0, 91, 89, 1, 0, 0, 0, 92, 94, 7, 1, 0, 0, 93, 92, 1, 0, 0, 0, 94, 36, 1, 0, 0, 0, 95, 96, 5, 92, 0, 0, 96, 100, 5, 39, 0, 0, 97, 98, 5, 92, 0, 0, 98, 100, 5, 92, 0, 0, 99, 95, 1, 0, 0, 0, 99, 97, 1, 0, 0, 0, 100, 38, 1, 0, 0, 0, 101, 110, 5, 48, 0, 0, 102, 106, 7, 2, 0, 0, 103, 105, 7, 3, 0, 0, 104, 103, 1, 0, 0, 0, 105, 108, 1, 0, 0, 0, 106, 104, 1, 0, 0, 0, 106, 107, 1, 0, 0, 0, 107, 110, 1, 0, 0, 0, 108, 106, 1, 0, 0, 0, 109, 101, 1, 0, 0, 0, 109, 102, 1, 0, 0, 0, 110, 40, 1, 0, 0, 0, 111, 113, 7, 4, 0, 0, 112, 111, 1, 0, 0, 0, 113, 114, 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 116, 1, 0, 0, 0, 116, 117, 6, 20, 0, 0, 117, 42, 1, 0, 0, 0, 9, 0, 82, 87, 89, 93, 99, 106, 109, 114, 1, 6, 0, 0]
@@ -0,0 +1,108 @@
1
+ # Generated from JSONPath.g4 by ANTLR 4.13.2
2
+ from antlr4 import *
3
+ from io import StringIO
4
+ import sys
5
+ if sys.version_info[1] > 5:
6
+ from typing import TextIO
7
+ else:
8
+ from typing.io import TextIO
9
+
10
+
11
+ def serializedATN():
12
+ return [
13
+ 4, 0, 20, 118, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5,
14
+ 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2,
15
+ 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7,
16
+ 19, 2, 20, 7, 20, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6,
17
+ 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1,
18
+ 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 16, 4, 16, 81, 8, 16, 11,
19
+ 16, 12, 16, 82, 1, 17, 1, 17, 1, 17, 5, 17, 88, 8, 17, 10, 17, 12, 17, 91, 9, 17, 1, 17,
20
+ 3, 17, 94, 8, 17, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 100, 8, 18, 1, 19, 1, 19, 1, 19, 5,
21
+ 19, 105, 8, 19, 10, 19, 12, 19, 108, 9, 19, 3, 19, 110, 8, 19, 1, 20, 4, 20, 113, 8, 20,
22
+ 11, 20, 12, 20, 114, 1, 20, 1, 20, 1, 89, 0, 21, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13,
23
+ 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18,
24
+ 37, 0, 39, 19, 41, 20, 1, 0, 5, 2, 0, 65, 90, 97, 122, 1, 1, 39, 39, 1, 0, 49, 57, 1, 0,
25
+ 48, 57, 3, 0, 9, 10, 13, 13, 32, 32, 123, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0,
26
+ 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0,
27
+ 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0,
28
+ 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0,
29
+ 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 1, 43, 1, 0, 0, 0, 3, 45, 1, 0, 0, 0, 5, 47, 1, 0, 0, 0,
30
+ 7, 49, 1, 0, 0, 0, 9, 51, 1, 0, 0, 0, 11, 53, 1, 0, 0, 0, 13, 55, 1, 0, 0, 0, 15, 57, 1, 0,
31
+ 0, 0, 17, 60, 1, 0, 0, 0, 19, 62, 1, 0, 0, 0, 21, 64, 1, 0, 0, 0, 23, 66, 1, 0, 0, 0, 25, 70,
32
+ 1, 0, 0, 0, 27, 72, 1, 0, 0, 0, 29, 74, 1, 0, 0, 0, 31, 76, 1, 0, 0, 0, 33, 80, 1, 0, 0, 0,
33
+ 35, 84, 1, 0, 0, 0, 37, 99, 1, 0, 0, 0, 39, 109, 1, 0, 0, 0, 41, 112, 1, 0, 0, 0, 43, 44,
34
+ 5, 91, 0, 0, 44, 2, 1, 0, 0, 0, 45, 46, 5, 63, 0, 0, 46, 4, 1, 0, 0, 0, 47, 48, 5, 40, 0, 0,
35
+ 48, 6, 1, 0, 0, 0, 49, 50, 5, 41, 0, 0, 50, 8, 1, 0, 0, 0, 51, 52, 5, 93, 0, 0, 52, 10, 1,
36
+ 0, 0, 0, 53, 54, 5, 62, 0, 0, 54, 12, 1, 0, 0, 0, 55, 56, 5, 60, 0, 0, 56, 14, 1, 0, 0, 0,
37
+ 57, 58, 5, 61, 0, 0, 58, 59, 5, 61, 0, 0, 59, 16, 1, 0, 0, 0, 60, 61, 5, 44, 0, 0, 61, 18,
38
+ 1, 0, 0, 0, 62, 63, 5, 58, 0, 0, 63, 20, 1, 0, 0, 0, 64, 65, 5, 42, 0, 0, 65, 22, 1, 0, 0,
39
+ 0, 66, 67, 5, 91, 0, 0, 67, 68, 5, 42, 0, 0, 68, 69, 5, 93, 0, 0, 69, 24, 1, 0, 0, 0, 70,
40
+ 71, 5, 36, 0, 0, 71, 26, 1, 0, 0, 0, 72, 73, 5, 64, 0, 0, 73, 28, 1, 0, 0, 0, 74, 75, 5, 46,
41
+ 0, 0, 75, 30, 1, 0, 0, 0, 76, 77, 5, 46, 0, 0, 77, 78, 5, 46, 0, 0, 78, 32, 1, 0, 0, 0, 79,
42
+ 81, 7, 0, 0, 0, 80, 79, 1, 0, 0, 0, 81, 82, 1, 0, 0, 0, 82, 80, 1, 0, 0, 0, 82, 83, 1, 0, 0,
43
+ 0, 83, 34, 1, 0, 0, 0, 84, 89, 5, 39, 0, 0, 85, 88, 3, 37, 18, 0, 86, 88, 9, 0, 0, 0, 87,
44
+ 85, 1, 0, 0, 0, 87, 86, 1, 0, 0, 0, 88, 91, 1, 0, 0, 0, 89, 90, 1, 0, 0, 0, 89, 87, 1, 0, 0,
45
+ 0, 90, 93, 1, 0, 0, 0, 91, 89, 1, 0, 0, 0, 92, 94, 7, 1, 0, 0, 93, 92, 1, 0, 0, 0, 94, 36,
46
+ 1, 0, 0, 0, 95, 96, 5, 92, 0, 0, 96, 100, 5, 39, 0, 0, 97, 98, 5, 92, 0, 0, 98, 100, 5, 92,
47
+ 0, 0, 99, 95, 1, 0, 0, 0, 99, 97, 1, 0, 0, 0, 100, 38, 1, 0, 0, 0, 101, 110, 5, 48, 0, 0,
48
+ 102, 106, 7, 2, 0, 0, 103, 105, 7, 3, 0, 0, 104, 103, 1, 0, 0, 0, 105, 108, 1, 0, 0, 0,
49
+ 106, 104, 1, 0, 0, 0, 106, 107, 1, 0, 0, 0, 107, 110, 1, 0, 0, 0, 108, 106, 1, 0, 0, 0,
50
+ 109, 101, 1, 0, 0, 0, 109, 102, 1, 0, 0, 0, 110, 40, 1, 0, 0, 0, 111, 113, 7, 4, 0, 0, 112,
51
+ 111, 1, 0, 0, 0, 113, 114, 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115,
52
+ 116, 1, 0, 0, 0, 116, 117, 6, 20, 0, 0, 117, 42, 1, 0, 0, 0, 9, 0, 82, 87, 89, 93, 99, 106,
53
+ 109, 114, 1, 6, 0, 0
54
+ ]
55
+
56
+
57
+ class JSONPathLexer(Lexer):
58
+
59
+ atn = ATNDeserializer().deserialize(serializedATN())
60
+
61
+ decisionsToDFA = [DFA(ds, i) for i, ds in enumerate(atn.decisionToState)]
62
+
63
+ T__0 = 1
64
+ T__1 = 2
65
+ T__2 = 3
66
+ T__3 = 4
67
+ T__4 = 5
68
+ T__5 = 6
69
+ T__6 = 7
70
+ T__7 = 8
71
+ T__8 = 9
72
+ T__9 = 10
73
+ T__10 = 11
74
+ T__11 = 12
75
+ ROOT = 13
76
+ CURRENT = 14
77
+ SINGLE_DOT = 15
78
+ DOUBLE_DOT = 16
79
+ LETTER = 17
80
+ STRING = 18
81
+ INT = 19
82
+ WS = 20
83
+
84
+ channelNames = [u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN"]
85
+
86
+ modeNames = ["DEFAULT_MODE"]
87
+
88
+ literalNames = ["<INVALID>",
89
+ "'['", "'?'", "'('", "')'", "']'", "'>'", "'<'", "'=='", "','",
90
+ "':'", "'*'", "'[*]'", "'$'", "'@'", "'.'", "'..'"]
91
+
92
+ symbolicNames = ["<INVALID>",
93
+ "ROOT", "CURRENT", "SINGLE_DOT", "DOUBLE_DOT", "LETTER", "STRING",
94
+ "INT", "WS"]
95
+
96
+ ruleNames = ["T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6",
97
+ "T__7", "T__8", "T__9", "T__10", "T__11", "ROOT", "CURRENT",
98
+ "SINGLE_DOT", "DOUBLE_DOT", "LETTER", "STRING", "QUOTE",
99
+ "INT", "WS"]
100
+
101
+ grammarFileName = "JSONPath.g4"
102
+
103
+ def __init__(self, input=None, output: TextIO = sys.stdout):
104
+ super().__init__(input, output)
105
+ self.checkVersion("4.13.2")
106
+ self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache())
107
+ self._actions = None
108
+ self._predicates = None
@@ -1,14 +1,13 @@
1
- # Generated from JSONPath.g4 by ANTLR 4.8
1
+ # Generated from JSONPath.g4 by ANTLR 4.13.2
2
2
  from antlr4 import *
3
-
4
- if __name__ is not None and "." in __name__:
3
+ if "." in __name__:
5
4
  from .JSONPathParser import JSONPathParser
6
5
  else:
7
6
  from JSONPathParser import JSONPathParser
8
7
 
8
+ # This class defines a complete listener for a parse tree produced by JSONPathParser.
9
+
9
10
 
10
- # This class defines a complete listener for a parse tree produced by
11
- # JSONPathParser.
12
11
  class JSONPathListener(ParseTreeListener):
13
12
 
14
13
  # Enter a parse tree produced by JSONPathParser#jsonpath.
@@ -28,23 +27,19 @@ class JSONPathListener(ParseTreeListener):
28
27
  pass
29
28
 
30
29
  # Enter a parse tree produced by JSONPathParser#doubleDotExpression.
31
- def enterDoubleDotExpression(
32
- self, ctx: JSONPathParser.DoubleDotExpressionContext):
30
+ def enterDoubleDotExpression(self, ctx: JSONPathParser.DoubleDotExpressionContext):
33
31
  pass
34
32
 
35
33
  # Exit a parse tree produced by JSONPathParser#doubleDotExpression.
36
- def exitDoubleDotExpression(
37
- self, ctx: JSONPathParser.DoubleDotExpressionContext):
34
+ def exitDoubleDotExpression(self, ctx: JSONPathParser.DoubleDotExpressionContext):
38
35
  pass
39
36
 
40
37
  # Enter a parse tree produced by JSONPathParser#singleDotExpression.
41
- def enterSingleDotExpression(
42
- self, ctx: JSONPathParser.SingleDotExpressionContext):
38
+ def enterSingleDotExpression(self, ctx: JSONPathParser.SingleDotExpressionContext):
43
39
  pass
44
40
 
45
41
  # Exit a parse tree produced by JSONPathParser#singleDotExpression.
46
- def exitSingleDotExpression(
47
- self, ctx: JSONPathParser.SingleDotExpressionContext):
42
+ def exitSingleDotExpression(self, ctx: JSONPathParser.SingleDotExpressionContext):
48
43
  pass
49
44
 
50
45
  # Enter a parse tree produced by JSONPathParser#filters.