pycep-parser 0.7.0.dev5__tar.gz → 0.7.0.dev6__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.
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/PKG-INFO +1 -1
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/pycep/bicep.lark +1 -1
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/pycep/main.py +1 -1
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/pycep/rules/decorators.py +2 -2
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/pycep/rules/functions.py +21 -23
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/pycep/transformer.py +10 -9
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/pyproject.toml +15 -19
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/LICENSE +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/README.md +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/pycep/__init__.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/pycep/models.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/pycep/py.typed +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/pycep/rules/__init__.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/pycep/typing.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/pycep/utils.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/pycep/validator.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/__init__.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/01-param/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/01-param/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/02-var/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/02-var/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/03-output/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/03-output/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/04-resource/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/04-resource/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/05-module/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/05-module/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/06-type/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/06-type/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complete/playground/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complete/playground/result-line-numbers.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complete/playground/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/01-param-decorator/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/01-param-decorator/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/02-resource-module-decorator/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/02-resource-module-decorator/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/03-resource-existing/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/03-resource-existing/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/04-child-resource/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/04-child-resource/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/05-deploy-condition/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/05-deploy-condition/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/06-output-decorator/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/06-output-decorator/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/07-module-alias/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/07-module-alias/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/08-var-decorator/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/08-var-decorator/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/09-metadata/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/09-metadata/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/10-extension/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/10-extension/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/11-typed-var/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/11-typed-var/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/12-nullable-type/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/12-nullable-type/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/13-import/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/13-import/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/14-type-decorator/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/14-type-decorator/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/invalid/invalid_multi_line.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/array/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/array/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/array-index/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/array-index/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/array-w-newline/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/array-w-newline/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/child/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/child/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/condition/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/condition/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/object/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/object/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/scope/management_group/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/scope/management_group/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/scope/resource_group/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/scope/resource_group/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/scope/subscription/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/scope/subscription/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/scope/tenant/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/scope/tenant/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/__init__.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/any/any/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/any/any/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/array/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/array/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/concat/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/concat/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/contains/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/contains/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/empty/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/empty/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/first/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/first/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/flatten/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/flatten/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/intersection/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/intersection/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/last/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/last/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/length/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/length/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/max/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/max/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/min/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/min/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/skip/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/skip/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/take/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/take/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/union/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/array/union/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/date/date_time_add/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/date/date_time_add/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/date/date_time_from_epoch/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/date/date_time_from_epoch/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/date/date_time_to_epoch/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/date/date_time_to_epoch/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/date/utc_now/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/date/utc_now/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/deployment/deployment/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/deployment/deployment/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/deployment/environment/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/deployment/environment/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/file/load_file_as_base64/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/file/load_file_as_base64/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/file/load_json_content/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/file/load_json_content/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/file/load_text_content/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/file/load_text_content/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/file/load_yaml_content/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/file/load_yaml_content/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/lambda/filter/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/lambda/filter/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/logical/bool/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/logical/bool/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/numeric/int/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/numeric/int/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/object/json/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/object/json/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/extension_resource_id/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/extension_resource_id/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/list_keys/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/list_keys/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/management_group_resource_id/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/management_group_resource_id/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/pick_zones/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/pick_zones/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/reference/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/reference/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/resource_id/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/resource_id/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/subscription_resource_id/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/subscription_resource_id/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/tenant_resource_id/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/resource/tenant_resource_id/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/scope/management_group/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/scope/management_group/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/scope/resource_group/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/scope/resource_group/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/scope/subscription/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/scope/subscription/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/scope/tenant/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/scope/tenant/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/base64/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/base64/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/base64_to_json/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/base64_to_json/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/base64_to_string/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/base64_to_string/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/data_uri/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/data_uri/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/data_uri_to_string/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/data_uri_to_string/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/ends_with/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/ends_with/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/format/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/format/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/guid/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/guid/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/index_of/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/index_of/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/join/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/join/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/last_index_of/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/last_index_of/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/new_guid/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/new_guid/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/pad_left/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/pad_left/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/replace/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/replace/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/split/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/split/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/starts_with/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/starts_with/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/string/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/string/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/substring/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/substring/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/to_lower/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/to_lower/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/to_upper/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/to_upper/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/trim/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/trim/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/unique_string/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/unique_string/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/uri/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/uri/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/uri_component/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/uri_component/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/uri_component_to_string/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/string/uri_component_to_string/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/test_parse_any.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/test_parse_array.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/test_parse_date.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/test_parse_deployment.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/test_parse_file.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/test_parse_lambda.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/test_parse_logical.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/test_parse_numeric.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/test_parse_object.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/test_parse_resource.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/test_parse_scope.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/test_parse_string.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_main.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/accessor/function/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/accessor/function/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/accessor/index/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/accessor/index/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/accessor/nested_resource/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/accessor/nested_resource/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/accessor/non_null/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/accessor/non_null/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/accessor/property/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/accessor/property/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/equals/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/equals/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/equals_case_insensitive/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/equals_case_insensitive/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/greater_than/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/greater_than/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/greater_than_or_equals/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/greater_than_or_equals/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/less_than/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/less_than/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/less_than_or_equals/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/less_than_or_equals/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/not_equals/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/not_equals/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/not_equals_case_insensitive/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/comparison/not_equals_case_insensitive/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/logical/and/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/logical/and/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/logical/coalesce/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/logical/coalesce/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/logical/conditional/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/logical/conditional/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/logical/not/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/logical/not/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/logical/or/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/logical/or/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/numeric/add/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/numeric/add/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/numeric/divide/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/numeric/divide/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/numeric/minus/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/numeric/minus/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/numeric/modulo/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/numeric/modulo/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/numeric/multiply/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/numeric/multiply/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/numeric/substract/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/numeric/substract/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/safe_dereference/main.bicep +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/examples/safe_dereference/result.json +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/test_parse_accessor.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/test_parse_comparison.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/test_parse_logical.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/test_parse_numeric.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_operator/test_parse_safe_dereference.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_parse_general.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_parse_loop.py +0 -0
- {pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_parse_scope.py +0 -0
|
@@ -14,7 +14,7 @@ element: "targetScope" "=" QUOTED_INTERPOLATION
|
|
|
14
14
|
?value: _NEWLINE? "null" -> null
|
|
15
15
|
| _NEWLINE? "true" -> true
|
|
16
16
|
| _NEWLINE? "false" -> false
|
|
17
|
-
| _NEWLINE? INT ->
|
|
17
|
+
| _NEWLINE? INT -> int_type
|
|
18
18
|
| _NEWLINE? STRING -> string
|
|
19
19
|
| _NEWLINE? QUOTED_INTERPOLATION -> string
|
|
20
20
|
| MULTI_LINE_STRING -> multi_line_string
|
|
@@ -14,7 +14,7 @@ if TYPE_CHECKING:
|
|
|
14
14
|
from pycep import typing as pycep_typing
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
LARK_GRAMMAR = (files(__package__) / "bicep.lark").read_text()
|
|
17
|
+
LARK_GRAMMAR = (files(__package__) / "bicep.lark").read_text() # ty: ignore[invalid-argument-type] # can't be `None` here
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
class BicepParser:
|
|
@@ -62,9 +62,9 @@ def deco_min_val(_deco_name: str, args: tuple[int | dict[str, Any]]) -> pycep_ty
|
|
|
62
62
|
if isinstance(arg, dict) and (operator := arg.get("operator", {})).get("type") == "minus":
|
|
63
63
|
arg = operator["operands"]["integer_value"] * -1
|
|
64
64
|
|
|
65
|
-
return {
|
|
65
|
+
return { # ty: ignore[invalid-return-type] # there is no real issue if this returns a dict
|
|
66
66
|
"type": "min_value",
|
|
67
|
-
"argument": arg, #
|
|
67
|
+
"argument": arg, # ty: ignore[invalid-argument-type]
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
|
|
@@ -45,11 +45,11 @@ def array_func(_func_name: str, args: tuple[pycep_typing.PossibleValue, ...]) ->
|
|
|
45
45
|
def concat(_func_name: str, args: tuple[pycep_typing.PossibleValue, ...]) -> pycep_typing.Concat:
|
|
46
46
|
arg_1, *arg_x = args
|
|
47
47
|
|
|
48
|
-
return {
|
|
48
|
+
return { # ty: ignore[invalid-return-type] # dynamic operand creation
|
|
49
49
|
"type": "concat",
|
|
50
|
-
"parameters": {
|
|
50
|
+
"parameters": { # ty: ignore[missing-typed-dict-key]
|
|
51
51
|
"arg_1": arg_1,
|
|
52
|
-
**{f"arg_{idx + 2}": arg for idx, arg in enumerate(arg_x)},
|
|
52
|
+
**{f"arg_{idx + 2}": arg for idx, arg in enumerate(arg_x)},
|
|
53
53
|
},
|
|
54
54
|
}
|
|
55
55
|
|
|
@@ -103,7 +103,7 @@ def intersection(_func_name: str, args: tuple[str, ...]) -> pycep_typing.Interse
|
|
|
103
103
|
"parameters": {
|
|
104
104
|
"arg_1": arg_1,
|
|
105
105
|
"arg_2": arg_2,
|
|
106
|
-
**{f"arg_{idx + 3}": arg for idx, arg in enumerate(arg_x)},
|
|
106
|
+
**{f"arg_{idx + 3}": arg for idx, arg in enumerate(arg_x)},
|
|
107
107
|
},
|
|
108
108
|
}
|
|
109
109
|
|
|
@@ -131,11 +131,11 @@ def length(_func_name: str, args: tuple[pycep_typing.PossibleValue]) -> pycep_ty
|
|
|
131
131
|
def max_func(_func_name: str, args: tuple[pycep_typing.PossibleValue, ...]) -> pycep_typing.Max:
|
|
132
132
|
arg_1, *arg_x = args
|
|
133
133
|
|
|
134
|
-
return {
|
|
134
|
+
return { # ty: ignore[invalid-return-type] # dynamic operand creation
|
|
135
135
|
"type": "max",
|
|
136
|
-
"parameters": {
|
|
136
|
+
"parameters": { # ty: ignore[missing-typed-dict-key]
|
|
137
137
|
"arg_1": arg_1,
|
|
138
|
-
**{f"arg_{idx + 2}": arg for idx, arg in enumerate(arg_x)},
|
|
138
|
+
**{f"arg_{idx + 2}": arg for idx, arg in enumerate(arg_x)},
|
|
139
139
|
},
|
|
140
140
|
}
|
|
141
141
|
|
|
@@ -143,11 +143,11 @@ def max_func(_func_name: str, args: tuple[pycep_typing.PossibleValue, ...]) -> p
|
|
|
143
143
|
def min_func(_func_name: str, args: tuple[pycep_typing.PossibleValue, ...]) -> pycep_typing.Min:
|
|
144
144
|
arg_1, *arg_x = args
|
|
145
145
|
|
|
146
|
-
return {
|
|
146
|
+
return { # ty: ignore[invalid-return-type] # dynamic operand creation
|
|
147
147
|
"type": "min",
|
|
148
|
-
"parameters": {
|
|
148
|
+
"parameters": { # ty: ignore[missing-typed-dict-key]
|
|
149
149
|
"arg_1": arg_1,
|
|
150
|
-
**{f"arg_{idx + 2}": arg for idx, arg in enumerate(arg_x)},
|
|
150
|
+
**{f"arg_{idx + 2}": arg for idx, arg in enumerate(arg_x)},
|
|
151
151
|
},
|
|
152
152
|
}
|
|
153
153
|
|
|
@@ -195,7 +195,7 @@ def union(_func_name: str, args: tuple[str, ...]) -> pycep_typing.UnionFunc:
|
|
|
195
195
|
"parameters": {
|
|
196
196
|
"arg_1": arg_1,
|
|
197
197
|
"arg_2": arg_2,
|
|
198
|
-
**{f"arg_{idx + 3}": arg for idx, arg in enumerate(arg_x)},
|
|
198
|
+
**{f"arg_{idx + 3}": arg for idx, arg in enumerate(arg_x)},
|
|
199
199
|
},
|
|
200
200
|
}
|
|
201
201
|
|
|
@@ -588,13 +588,11 @@ def resource_id(_func_name: str, args: list[Token]) -> pycep_typing.ResourceId:
|
|
|
588
588
|
# resource_name_1 = args[3]
|
|
589
589
|
# resource_name_2 = args[4]
|
|
590
590
|
|
|
591
|
-
return {
|
|
591
|
+
return { # ty: ignore[invalid-return-type] # dynamic operand creation
|
|
592
592
|
"type": "resource_id",
|
|
593
|
-
"parameters": {
|
|
593
|
+
"parameters": { # ty: ignore[missing-typed-dict-key]
|
|
594
594
|
"resource_type": resource_type,
|
|
595
|
-
**{
|
|
596
|
-
f"resource_name_{idx}": resource_name for idx, resource_name in enumerate(args[3:], start=1)
|
|
597
|
-
},
|
|
595
|
+
**{f"resource_name_{idx}": resource_name for idx, resource_name in enumerate(args[3:], start=1)},
|
|
598
596
|
"resource_group_name": resource_group_name,
|
|
599
597
|
"subscription_id": subscription_id,
|
|
600
598
|
},
|
|
@@ -793,11 +791,11 @@ def ends_with(
|
|
|
793
791
|
def format_func(_func_name: str, args: tuple[pycep_typing.PossibleValue, ...]) -> pycep_typing.Format:
|
|
794
792
|
format_string, *arg_x = args
|
|
795
793
|
|
|
796
|
-
return {
|
|
794
|
+
return { # ty: ignore[invalid-return-type] # dynamic operand creation
|
|
797
795
|
"type": "format",
|
|
798
|
-
"parameters": {
|
|
796
|
+
"parameters": { # ty: ignore[missing-typed-dict-key]
|
|
799
797
|
"format_string": format_string,
|
|
800
|
-
**{f"arg_{idx + 1}": extra for idx, extra in enumerate(arg_x)},
|
|
798
|
+
**{f"arg_{idx + 1}": extra for idx, extra in enumerate(arg_x)},
|
|
801
799
|
},
|
|
802
800
|
}
|
|
803
801
|
|
|
@@ -809,7 +807,7 @@ def guid(_func_name: str, args: tuple[pycep_typing.PossibleValue, ...]) -> pycep
|
|
|
809
807
|
"type": "guid",
|
|
810
808
|
"parameters": {
|
|
811
809
|
"base_string": base_string,
|
|
812
|
-
**{f"extra_string_{idx + 1}": extra for idx, extra in enumerate(extra_string_x)},
|
|
810
|
+
**{f"extra_string_{idx + 1}": extra for idx, extra in enumerate(extra_string_x)},
|
|
813
811
|
},
|
|
814
812
|
}
|
|
815
813
|
|
|
@@ -970,7 +968,7 @@ def unique_string(_func_name: str, args: tuple[pycep_typing.PossibleValue, ...])
|
|
|
970
968
|
"type": "unique_string",
|
|
971
969
|
"parameters": {
|
|
972
970
|
"base_string": base_string,
|
|
973
|
-
**{f"extra_string_{idx + 1}": extra for idx, extra in enumerate(extra_string_x)},
|
|
971
|
+
**{f"extra_string_{idx + 1}": extra for idx, extra in enumerate(extra_string_x)},
|
|
974
972
|
},
|
|
975
973
|
}
|
|
976
974
|
|
|
@@ -1015,9 +1013,9 @@ def uri_component_to_string(
|
|
|
1015
1013
|
|
|
1016
1014
|
|
|
1017
1015
|
def unknown_func(func_name: str, args: tuple[pycep_typing.PossibleValue, ...]) -> pycep_typing.UnknownFunction:
|
|
1018
|
-
return {
|
|
1016
|
+
return { # ty: ignore[invalid-return-type] # dynamic operand creation
|
|
1019
1017
|
"type": func_name,
|
|
1020
|
-
"parameters": {f"arg_{idx + 1}": arg for idx, arg in enumerate(args)}, #
|
|
1018
|
+
"parameters": {f"arg_{idx + 1}": arg for idx, arg in enumerate(args)}, # ty: ignore[invalid-argument-type]
|
|
1021
1019
|
}
|
|
1022
1020
|
|
|
1023
1021
|
|
|
@@ -63,7 +63,7 @@ class BicepToJson(Transformer[Token, pycep_typing.BicepJson]):
|
|
|
63
63
|
# very unlikely this will happen in a real Bicep file, but in test files possible
|
|
64
64
|
continue
|
|
65
65
|
for key, value in arg.items():
|
|
66
|
-
result.setdefault(key, {})[value["__name__"]] = value["__attrs__"] #
|
|
66
|
+
result.setdefault(key, {})[value["__name__"]] = value["__attrs__"] # ty: ignore[non-subscriptable, no-matching-overload]
|
|
67
67
|
|
|
68
68
|
return result
|
|
69
69
|
|
|
@@ -117,7 +117,7 @@ class BicepToJson(Transformer[Token, pycep_typing.BicepJson]):
|
|
|
117
117
|
*name_alias_pairs, file_path = args
|
|
118
118
|
|
|
119
119
|
for name_alias in name_alias_pairs:
|
|
120
|
-
result = {
|
|
120
|
+
result: pycep_typing._Import = {
|
|
121
121
|
"__name__": str(name_alias["name"]),
|
|
122
122
|
"__attrs__": {
|
|
123
123
|
"file_path": transform_string_token(file_path),
|
|
@@ -321,7 +321,8 @@ class BicepToJson(Transformer[Token, pycep_typing.BicepJson]):
|
|
|
321
321
|
"__name__": str(name),
|
|
322
322
|
"__attrs__": {
|
|
323
323
|
"decorators": decorators or [],
|
|
324
|
-
|
|
324
|
+
"type": path["type"],
|
|
325
|
+
"detail": path["detail"],
|
|
325
326
|
"config": config,
|
|
326
327
|
},
|
|
327
328
|
}
|
|
@@ -682,7 +683,7 @@ class BicepToJson(Transformer[Token, pycep_typing.BicepJson]):
|
|
|
682
683
|
"operands": {
|
|
683
684
|
"operand_1": operand_1,
|
|
684
685
|
"operand_2": operand_2,
|
|
685
|
-
**{f"operand_{idx + 3}": op for idx, op in enumerate(operand_x)},
|
|
686
|
+
**{f"operand_{idx + 3}": op for idx, op in enumerate(operand_x)},
|
|
686
687
|
},
|
|
687
688
|
}
|
|
688
689
|
|
|
@@ -694,7 +695,7 @@ class BicepToJson(Transformer[Token, pycep_typing.BicepJson]):
|
|
|
694
695
|
"operands": {
|
|
695
696
|
"operand_1": operand_1,
|
|
696
697
|
"operand_2": operand_2,
|
|
697
|
-
**{f"operand_{idx + 3}": op for idx, op in enumerate(operand_x)},
|
|
698
|
+
**{f"operand_{idx + 3}": op for idx, op in enumerate(operand_x)},
|
|
698
699
|
},
|
|
699
700
|
}
|
|
700
701
|
|
|
@@ -714,7 +715,7 @@ class BicepToJson(Transformer[Token, pycep_typing.BicepJson]):
|
|
|
714
715
|
"operands": {
|
|
715
716
|
"operand_1": operand_1,
|
|
716
717
|
"operand_2": operand_2,
|
|
717
|
-
**{f"operand_{idx + 3}": op for idx, op in enumerate(operand_x)},
|
|
718
|
+
**{f"operand_{idx + 3}": op for idx, op in enumerate(operand_x)},
|
|
718
719
|
},
|
|
719
720
|
}
|
|
720
721
|
|
|
@@ -820,7 +821,7 @@ class BicepToJson(Transformer[Token, pycep_typing.BicepJson]):
|
|
|
820
821
|
"operands": {
|
|
821
822
|
"operand_1": arg_1,
|
|
822
823
|
"func_name": str(func_name),
|
|
823
|
-
**{f"operand_{idx + 2}": extra for idx, extra in enumerate(arg_x) if extra},
|
|
824
|
+
**{f"operand_{idx + 2}": extra for idx, extra in enumerate(arg_x) if extra},
|
|
824
825
|
},
|
|
825
826
|
}
|
|
826
827
|
|
|
@@ -855,7 +856,7 @@ class BicepToJson(Transformer[Token, pycep_typing.BicepJson]):
|
|
|
855
856
|
def key(self, arg: tuple[Token]) -> str:
|
|
856
857
|
return str(arg[0])
|
|
857
858
|
|
|
858
|
-
def
|
|
859
|
+
def int_type(self, arg: tuple[Token]) -> int:
|
|
859
860
|
return int(arg[0])
|
|
860
861
|
|
|
861
862
|
def string(self, arg: tuple[Token]) -> str:
|
|
@@ -880,7 +881,7 @@ class BicepToJson(Transformer[Token, pycep_typing.BicepJson]):
|
|
|
880
881
|
"type": "lambda_expression",
|
|
881
882
|
"detail": {
|
|
882
883
|
"var_1": str(arg_1),
|
|
883
|
-
**{f"var_{idx + 2}": str(arg) for idx, arg in enumerate(arg_x)},
|
|
884
|
+
**{f"var_{idx + 2}": str(arg) for idx, arg in enumerate(arg_x)},
|
|
884
885
|
"expression": expr,
|
|
885
886
|
},
|
|
886
887
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "pycep-parser"
|
|
3
|
-
version = "0.7.0.
|
|
3
|
+
version = "0.7.0.dev6"
|
|
4
4
|
description = "A Python based Bicep parser"
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Anton Grübel", email = "anton.gruebel@gmail.com" }
|
|
@@ -37,8 +37,9 @@ Releases = "https://github.com/gruebel/pycep/releases"
|
|
|
37
37
|
[dependency-groups]
|
|
38
38
|
dev = [
|
|
39
39
|
"assertpy>=1.1,<2.0",
|
|
40
|
-
"prek>=0.2.
|
|
40
|
+
"prek>=0.2.22,<0.3.0",
|
|
41
41
|
"pytest>=8.4.2,<9.0.0",
|
|
42
|
+
"ty>=0.0.3,<0.1.0",
|
|
42
43
|
]
|
|
43
44
|
|
|
44
45
|
[build-system]
|
|
@@ -53,23 +54,6 @@ source-include = ["tests/**"]
|
|
|
53
54
|
[tool.uv]
|
|
54
55
|
required-version = "~=0.9.0"
|
|
55
56
|
|
|
56
|
-
[tool.mypy]
|
|
57
|
-
files = "pycep"
|
|
58
|
-
|
|
59
|
-
python_version = "3.9"
|
|
60
|
-
local_partial_types = true # will become the new default from version 2
|
|
61
|
-
allow_redefinition_new = true # will become the new default from version 2
|
|
62
|
-
fixed_format_cache = true # new caching mechanism
|
|
63
|
-
pretty = true
|
|
64
|
-
strict = true
|
|
65
|
-
implicit_reexport = true
|
|
66
|
-
|
|
67
|
-
[[tool.mypy.overrides]]
|
|
68
|
-
module = [
|
|
69
|
-
"assertpy"
|
|
70
|
-
]
|
|
71
|
-
ignore_missing_imports = true
|
|
72
|
-
|
|
73
57
|
[tool.ruff]
|
|
74
58
|
exclude = [
|
|
75
59
|
".git",
|
|
@@ -129,3 +113,15 @@ ignore = [
|
|
|
129
113
|
]
|
|
130
114
|
|
|
131
115
|
fixable = ["I001"]
|
|
116
|
+
|
|
117
|
+
[tool.ty.environment]
|
|
118
|
+
python-version = "3.9"
|
|
119
|
+
|
|
120
|
+
[tool.ty.src]
|
|
121
|
+
include = [
|
|
122
|
+
"pycep",
|
|
123
|
+
"tests",
|
|
124
|
+
]
|
|
125
|
+
|
|
126
|
+
[tool.ty.rules]
|
|
127
|
+
unused-ignore-comment = "error"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/01-param/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/01-param/result.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/03-output/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/03-output/result.json
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/04-resource/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/04-resource/result.json
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/05-module/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/05-module/result.json
RENAMED
|
File without changes
|
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/basic/06-type/result.json
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complete/playground/main.bicep
RENAMED
|
File without changes
|
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complete/playground/result.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/09-metadata/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/09-metadata/result.json
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/10-extension/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/10-extension/result.json
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/11-typed-var/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/11-typed-var/result.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/13-import/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/complex/13-import/result.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/invalid/invalid_multi_line.bicep
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/array-index/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/array-index/result.json
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/array-w-newline/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/array-w-newline/result.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/condition/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/loop/condition/result.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/scope/management_group/main.bicep
RENAMED
|
File without changes
|
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/scope/resource_group/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/scope/resource_group/result.json
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/scope/subscription/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/examples/scope/subscription/result.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/any/any/main.bicep
RENAMED
|
File without changes
|
{pycep_parser-0.7.0.dev5 → pycep_parser-0.7.0.dev6}/tests/test_function/examples/any/any/result.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|