python-fx 0.3.1__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.
- {python-fx-0.3.1 → python_fx-0.3.2}/CHANGELOG.md +7 -1
- {python-fx-0.3.1 → python_fx-0.3.2}/PKG-INFO +19 -14
- {python-fx-0.3.1 → python_fx-0.3.2}/README.md +6 -1
- python_fx-0.3.2/dev-requirements.txt +80 -0
- python_fx-0.3.2/requirements.txt +17 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/setup.cfg +1 -1
- python_fx-0.3.2/src/pyfx/__version__.py +1 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/model/autocomplete/autocomplete_listener.py +3 -1
- python_fx-0.3.2/src/pyfx/model/common/jsonpath/JSONPath.interp +67 -0
- python_fx-0.3.2/src/pyfx/model/common/jsonpath/JSONPathLexer.interp +78 -0
- python_fx-0.3.2/src/pyfx/model/common/jsonpath/JSONPathLexer.py +108 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/model/common/jsonpath/JSONPathListener.py +8 -13
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/model/common/jsonpath/JSONPathParser.py +146 -225
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/common/frame.py +3 -2
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/common/selectable_text.py +1 -1
- {python-fx-0.3.1 → python_fx-0.3.2}/src/python_fx.egg-info/PKG-INFO +19 -14
- python_fx-0.3.2/src/python_fx.egg-info/requires.txt +27 -0
- python-fx-0.3.1/dev-requirements.txt +0 -82
- python-fx-0.3.1/requirements.txt +0 -17
- python-fx-0.3.1/src/pyfx/__version__.py +0 -1
- python-fx-0.3.1/src/pyfx/model/common/jsonpath/JSONPath.interp +0 -67
- python-fx-0.3.1/src/pyfx/model/common/jsonpath/JSONPathLexer.interp +0 -78
- python-fx-0.3.1/src/pyfx/model/common/jsonpath/JSONPathLexer.py +0 -126
- python-fx-0.3.1/src/python_fx.egg-info/requires.txt +0 -31
- {python-fx-0.3.1 → python_fx-0.3.2}/.coveragerc +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/.readthedocs.yml +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/CODE_OF_CONDUCT.md +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/LICENSE.txt +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/MANIFEST.in +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/docs/Makefile +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/docs/conf.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/docs/demo.gif +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/docs/index.rst +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/docs/make.bat +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/pyproject.toml +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/setup.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/app.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/cli.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/cli_utils.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/config/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/config/config.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/config/config_parser.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/config/yaml/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/config/yaml/config.yml +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/config/yaml/config_schema.yml +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/config/yaml/keymaps/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/config/yaml/keymaps/basic.yml +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/config/yaml/keymaps/emacs.yml +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/config/yaml/keymaps/vim.yml +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/config/yaml/themes/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/config/yaml/themes/basic.yml +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/error.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/model/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/model/autocomplete/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/model/common/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/model/common/jsonpath/JSONPath.g4 +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/model/common/jsonpath/JSONPath.tokens +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/model/common/jsonpath/JSONPathLexer.tokens +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/model/common/jsonpath/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/model/model.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/service/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/service/client.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/service/dispatcher.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/common/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/common/popup.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/components/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/components/abstract_component_keys.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/components/autocomplete_popup.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/components/help_popup.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/components/json_browser.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/components/query_bar.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/components/warning_bar.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/array/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/array/array_end_node.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/array/array_end_widget.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/array/array_node.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/array/array_start_widget.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/array/array_unexpanded_widget.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_composite_end_node.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_composite_node.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_listbox.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_listwalker.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_node_creator.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_node_factory.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_simple_node.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/json_widget.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/object/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/object/object_end_node.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/object/object_end_widget.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/object/object_node.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/object/object_start_widget.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/object/object_unexpanded_widget.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/__init__.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/base.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/boolean.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/integer.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/null.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/numeric.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/json_lib/primitive/string.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/keys.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/themes.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/view_frame.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/view_manager.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/pyfx/view/view_mediator.py +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/python_fx.egg-info/SOURCES.txt +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/python_fx.egg-info/dependency_links.txt +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/python_fx.egg-info/entry_points.txt +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/src/python_fx.egg-info/top_level.txt +0 -0
- {python-fx-0.3.1 → python_fx-0.3.2}/tox.ini +0 -0
|
@@ -7,6 +7,11 @@ 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
|
+
|
|
10
15
|
## [0.3.1] - 2023-09-24
|
|
11
16
|
### Changed
|
|
12
17
|
- Bump all dependent libraries' version
|
|
@@ -114,7 +119,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
114
119
|
|
|
115
120
|
- Initial commit with pyfx
|
|
116
121
|
|
|
117
|
-
[unreleased]: https://github.com/cielong/pyfx/compare/v0.3.
|
|
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
|
|
118
124
|
[0.3.1]: https://github.com/cielong/pyfx/compare/v0.3.0...v0.3.1
|
|
119
125
|
[0.3.0]: https://github.com/cielong/pyfx/compare/v0.2.0...v0.3.0
|
|
120
126
|
[0.2.0]: https://github.com/cielong/pyfx/compare/v0.1.0...v0.2.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-fx
|
|
3
|
-
Version: 0.3.
|
|
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,23 +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.
|
|
20
|
-
Requires-Dist: asciimatics==1.
|
|
19
|
+
Requires-Dist: antlr4-python3-runtime==4.13.2
|
|
20
|
+
Requires-Dist: asciimatics==1.15.0; python_version >= "3.8"
|
|
21
21
|
Requires-Dist: click==8.1.7; python_version >= "3.7"
|
|
22
22
|
Requires-Dist: dacite==1.8.1; python_version >= "3.6"
|
|
23
23
|
Requires-Dist: first==2.0.2
|
|
24
|
-
Requires-Dist:
|
|
25
|
-
Requires-Dist: jsonpath-ng==1.6.0
|
|
24
|
+
Requires-Dist: jsonpath-ng==1.6.1
|
|
26
25
|
Requires-Dist: loguru==0.7.2; python_version >= "3.5"
|
|
27
|
-
Requires-Dist: overrides==7.
|
|
28
|
-
Requires-Dist: pillow==10.0
|
|
26
|
+
Requires-Dist: overrides==7.7.0; python_version >= "3.6"
|
|
27
|
+
Requires-Dist: pillow==10.4.0; python_version >= "3.8"
|
|
29
28
|
Requires-Dist: ply==3.11
|
|
30
|
-
Requires-Dist: pyfiglet==0.
|
|
31
|
-
Requires-Dist: pyperclip==1.
|
|
32
|
-
Requires-Dist: pyyaml==6.0.
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
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"
|
|
36
36
|
|
|
37
37
|
# Pyfx
|
|
38
38
|

|
|
@@ -84,7 +84,11 @@ pip install -U autopep8 tox build
|
|
|
84
84
|
make install
|
|
85
85
|
```
|
|
86
86
|
### Local Development
|
|
87
|
-
|
|
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
|
|
88
92
|
```bash
|
|
89
93
|
pip install -U pipenv
|
|
90
94
|
pipenv install --dev
|
|
@@ -220,6 +224,7 @@ See the [changelog](CHANGELOG.md) for a history of notable changes to *Pyfx*.
|
|
|
220
224
|
## Contributors
|
|
221
225
|
[Avery (@nullableVoidPtr)](https://github.com/nullableVoidPtr)
|
|
222
226
|
[Zephyr Lykos (@mochaaP)](https://github.com/mochaaP)
|
|
227
|
+
[@jcaesar](https://github.com/jcaesar)
|
|
223
228
|
|
|
224
229
|
## How to Contribute
|
|
225
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
|
-
|
|
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'
|
|
@@ -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
|
|
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.
|
|
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.
|