jsonata-python 0.4.0__py3-none-any.whl → 0.5.1__py3-none-any.whl
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.
- jsonata/cli/__main__.py +1 -1
- jsonata/functions.py +5 -8
- jsonata/parser.py +1 -0
- jsonata/signature.py +2 -3
- {jsonata_python-0.4.0.dist-info → jsonata_python-0.5.1.dist-info}/METADATA +1 -2
- {jsonata_python-0.4.0.dist-info → jsonata_python-0.5.1.dist-info}/RECORD +8 -8
- {jsonata_python-0.4.0.dist-info → jsonata_python-0.5.1.dist-info}/WHEEL +1 -1
- {jsonata_python-0.4.0.dist-info → jsonata_python-0.5.1.dist-info}/licenses/LICENSE +0 -0
jsonata/cli/__main__.py
CHANGED
|
@@ -34,7 +34,7 @@ def get_options(argv: Optional[list[str]] = None) -> argparse.ArgumentParser:
|
|
|
34
34
|
"""
|
|
35
35
|
parser = argparse.ArgumentParser(prog="jsonata.cli", description="Pure Python JSONata CLI")
|
|
36
36
|
parser.add_argument(
|
|
37
|
-
"-v", "--version", action='version', version='%(prog)s 0.
|
|
37
|
+
"-v", "--version", action='version', version='%(prog)s 0.5.1')
|
|
38
38
|
|
|
39
39
|
parser.add_argument(
|
|
40
40
|
"-e", "--expression", metavar="<file>",
|
jsonata/functions.py
CHANGED
|
@@ -1570,8 +1570,11 @@ class Functions:
|
|
|
1570
1570
|
from jsonata import jsonata
|
|
1571
1571
|
if isinstance(func, jsonata.Jsonata.JFunction):
|
|
1572
1572
|
return func.signature.get_min_number_of_args()
|
|
1573
|
+
elif isinstance(func, jsonata.Jsonata.JLambda):
|
|
1574
|
+
from inspect import signature
|
|
1575
|
+
|
|
1576
|
+
return len(signature(func.function).parameters)
|
|
1573
1577
|
else:
|
|
1574
|
-
# Lambda
|
|
1575
1578
|
return len(func.arguments)
|
|
1576
1579
|
|
|
1577
1580
|
#
|
|
@@ -2007,15 +2010,9 @@ class Functions:
|
|
|
2007
2010
|
arg1 = utils.Utils.create_sequence(arg1)
|
|
2008
2011
|
if not (isinstance(arg2, list)):
|
|
2009
2012
|
arg2 = utils.Utils.JList([arg2])
|
|
2010
|
-
# else
|
|
2011
|
-
# // Arg2 was a list: add it as a list element (don't flatten)
|
|
2012
|
-
# ((List)arg1).add((List)arg2)
|
|
2013
2013
|
|
|
2014
2014
|
arg1 = utils.Utils.JList(arg1) # create a new copy!
|
|
2015
|
-
|
|
2016
|
-
arg1.append(arg2)
|
|
2017
|
-
else:
|
|
2018
|
-
arg1.extend(arg2)
|
|
2015
|
+
arg1.extend(arg2)
|
|
2019
2016
|
return arg1
|
|
2020
2017
|
|
|
2021
2018
|
@staticmethod
|
jsonata/parser.py
CHANGED
|
@@ -1180,6 +1180,7 @@ class Parser:
|
|
|
1180
1180
|
result.position = expr.position
|
|
1181
1181
|
result.lhs = self.process_ast(expr.lhs)
|
|
1182
1182
|
result.rhs = self.process_ast(expr.rhs)
|
|
1183
|
+
result.keep_array = result.lhs.keep_array or result.rhs.keep_array
|
|
1183
1184
|
else:
|
|
1184
1185
|
result = Parser.Infix(self, None)
|
|
1185
1186
|
result.type = expr.type
|
jsonata/signature.py
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
# Copyright Dashjoin GmbH. https://dashjoin.com
|
|
2
|
+
# Copyright Robert Yokota
|
|
5
3
|
#
|
|
6
4
|
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
7
5
|
# you may not use this file except in compliance with the License.
|
|
@@ -307,6 +305,7 @@ class Signature:
|
|
|
307
305
|
validated_args.append(arg)
|
|
308
306
|
arg_index += 1
|
|
309
307
|
else:
|
|
308
|
+
arg = args[arg_index] if arg_index < len(args) else None
|
|
310
309
|
validated_args.append(arg)
|
|
311
310
|
arg_index += 1
|
|
312
311
|
return validated_args
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: jsonata-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.1
|
|
4
4
|
Summary: Pure Python implementation of JSONata
|
|
5
5
|
Project-URL: Homepage, https://github.com/rayokota/jsonata-python
|
|
6
6
|
Project-URL: Bug Reports, https://github.com/rayokota/jsonata-python/issues
|
|
@@ -207,7 +207,6 @@ License: Apache License
|
|
|
207
207
|
See the License for the specific language governing permissions and
|
|
208
208
|
limitations under the License.
|
|
209
209
|
|
|
210
|
-
License-File: LICENSE
|
|
211
210
|
Keywords: json,jsonata
|
|
212
211
|
Classifier: Development Status :: 4 - Beta
|
|
213
212
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
jsonata/__init__.py,sha256=4r8USHj4SoBy_TD8dLxt9HJIgpLfXApFrZBipi4rgr0,388
|
|
2
2
|
jsonata/constants.py,sha256=WtdH_l_s5KD-SiOJ4GR2az7WpVgKB2HguXUnyfy4tvs,3017
|
|
3
3
|
jsonata/datetimeutils.py,sha256=IzU6y-vwyhwobHyw9rsImBye-RfWDV7K8Vk0Xs-yiG0,48567
|
|
4
|
-
jsonata/functions.py,sha256=
|
|
4
|
+
jsonata/functions.py,sha256=giAtWZ92cOlnBcH7Zkapnib-LPSPyBFHrz-9AMdkhqQ,75500
|
|
5
5
|
jsonata/jexception.py,sha256=6Jz7WMsIiNlQ7-1Hq8RKiE2HxcHq2PDekw0qsSe3lqo,12885
|
|
6
6
|
jsonata/jsonata.py,sha256=jZIxVrNcZI3aBvE0PURZ4-cxpaK9JiJVH5Q_cllCXS0,84247
|
|
7
|
-
jsonata/parser.py,sha256=
|
|
8
|
-
jsonata/signature.py,sha256=
|
|
7
|
+
jsonata/parser.py,sha256=U8nNxvsDIy0wVTfNCs2DNN7RjNVm0SqfociD9cRcsWM,53877
|
|
8
|
+
jsonata/signature.py,sha256=j7eNKUuGx_9vCt5Qv8BPM7iV5vH26U0Kx8zrkDcctME,20194
|
|
9
9
|
jsonata/timebox.py,sha256=bnevNR_ONvKUiIZCJZEWsRiR0gCWTGOwn5RCY7dKqYc,2861
|
|
10
10
|
jsonata/tokenizer.py,sha256=6WMK6M-XxmOwPtr7ZqWMTtaZPdGFhVMcGHxQlP97jdk,11856
|
|
11
11
|
jsonata/utils.py,sha256=U13I49Ie3hEn3PKGR4361TPengDAkbyHmwipDFZJlXo,5192
|
|
12
12
|
jsonata/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
-
jsonata/cli/__main__.py,sha256=
|
|
14
|
-
jsonata_python-0.
|
|
15
|
-
jsonata_python-0.
|
|
16
|
-
jsonata_python-0.
|
|
17
|
-
jsonata_python-0.
|
|
13
|
+
jsonata/cli/__main__.py,sha256=G3bgRulCyS6nekd_7ulbsfJpWewQmZgiYylBREHgJx8,6971
|
|
14
|
+
jsonata_python-0.5.1.dist-info/METADATA,sha256=CHwsN5yZbO2z5AIiI6_tJxoh58Op91MYL2TCD26Ow6M,17275
|
|
15
|
+
jsonata_python-0.5.1.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
|
16
|
+
jsonata_python-0.5.1.dist-info/licenses/LICENSE,sha256=y16Ofl9KOYjhBjwULGDcLfdWBfTEZRXnduOspt-XbhQ,11325
|
|
17
|
+
jsonata_python-0.5.1.dist-info/RECORD,,
|
|
File without changes
|