pycep-parser 0.6.1.dev6__tar.gz → 0.6.1.dev7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/PKG-INFO +1 -1
  2. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/pycep/bicep.lark +1 -1
  3. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/pycep/transformer.py +7 -2
  4. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/pycep/typing.py +1 -0
  5. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/pyproject.toml +1 -1
  6. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/10-extension/main.bicep +2 -0
  7. pycep_parser-0.6.1.dev7/tests/examples/complex/11-typed-var/main.bicep +38 -0
  8. pycep_parser-0.6.1.dev7/tests/examples/complex/11-typed-var/result.json +80 -0
  9. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_parse_general.py +13 -0
  10. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/LICENSE +0 -0
  11. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/README.md +0 -0
  12. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/pycep/__init__.py +0 -0
  13. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/pycep/main.py +0 -0
  14. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/pycep/py.typed +0 -0
  15. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/pycep/validator.py +0 -0
  16. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/__init__.py +0 -0
  17. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/basic/01-param/main.bicep +0 -0
  18. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/basic/01-param/result.json +0 -0
  19. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/basic/02-var/main.bicep +0 -0
  20. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/basic/02-var/result.json +0 -0
  21. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/basic/03-output/main.bicep +0 -0
  22. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/basic/03-output/result.json +0 -0
  23. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/basic/04-resource/main.bicep +0 -0
  24. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/basic/04-resource/result.json +0 -0
  25. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/basic/05-module/main.bicep +0 -0
  26. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/basic/05-module/result.json +0 -0
  27. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/basic/06-type/main.bicep +0 -0
  28. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/basic/06-type/result.json +0 -0
  29. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complete/playground/main.bicep +0 -0
  30. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complete/playground/result-line-numbers.json +0 -0
  31. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complete/playground/result.json +0 -0
  32. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/01-param-decorator/main.bicep +0 -0
  33. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/01-param-decorator/result.json +0 -0
  34. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/02-resource-module-decorator/main.bicep +0 -0
  35. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/02-resource-module-decorator/result.json +0 -0
  36. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/03-resource-existing/main.bicep +0 -0
  37. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/03-resource-existing/result.json +0 -0
  38. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/04-child-resource/main.bicep +0 -0
  39. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/04-child-resource/result.json +0 -0
  40. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/05-deploy-condition/main.bicep +0 -0
  41. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/05-deploy-condition/result.json +0 -0
  42. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/06-output-decorator/main.bicep +0 -0
  43. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/06-output-decorator/result.json +0 -0
  44. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/07-module-alias/main.bicep +0 -0
  45. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/07-module-alias/result.json +0 -0
  46. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/08-var-decorator/main.bicep +0 -0
  47. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/08-var-decorator/result.json +0 -0
  48. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/09-metadata/main.bicep +0 -0
  49. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/09-metadata/result.json +0 -0
  50. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/complex/10-extension/result.json +0 -0
  51. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/invalid/invalid_multi_line.bicep +0 -0
  52. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/array/main.bicep +0 -0
  53. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/array/result.json +0 -0
  54. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/array-index/main.bicep +0 -0
  55. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/array-index/result.json +0 -0
  56. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/array-w-newline/main.bicep +0 -0
  57. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/array-w-newline/result.json +0 -0
  58. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/child/main.bicep +0 -0
  59. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/child/result.json +0 -0
  60. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/condition/main.bicep +0 -0
  61. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/condition/result.json +0 -0
  62. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/object/main.bicep +0 -0
  63. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/object/result.json +0 -0
  64. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/range/main.bicep +0 -0
  65. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/loop/range/result.json +0 -0
  66. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/scope/management_group/main.bicep +0 -0
  67. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/scope/management_group/result.json +0 -0
  68. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/scope/resource_group/main.bicep +0 -0
  69. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/scope/resource_group/result.json +0 -0
  70. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/scope/subscription/main.bicep +0 -0
  71. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/scope/subscription/result.json +0 -0
  72. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/scope/tenant/main.bicep +0 -0
  73. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/examples/scope/tenant/result.json +0 -0
  74. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/__init__.py +0 -0
  75. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/any/any/main.bicep +0 -0
  76. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/any/any/result.json +0 -0
  77. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/array/main.bicep +0 -0
  78. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/array/result.json +0 -0
  79. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/concat/main.bicep +0 -0
  80. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/concat/result.json +0 -0
  81. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/contains/main.bicep +0 -0
  82. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/contains/result.json +0 -0
  83. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/empty/main.bicep +0 -0
  84. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/empty/result.json +0 -0
  85. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/first/main.bicep +0 -0
  86. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/first/result.json +0 -0
  87. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/flatten/main.bicep +0 -0
  88. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/flatten/result.json +0 -0
  89. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/intersection/main.bicep +0 -0
  90. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/intersection/result.json +0 -0
  91. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/last/main.bicep +0 -0
  92. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/last/result.json +0 -0
  93. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/length/main.bicep +0 -0
  94. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/length/result.json +0 -0
  95. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/max/main.bicep +0 -0
  96. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/max/result.json +0 -0
  97. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/min/main.bicep +0 -0
  98. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/min/result.json +0 -0
  99. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/skip/main.bicep +0 -0
  100. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/skip/result.json +0 -0
  101. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/take/main.bicep +0 -0
  102. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/take/result.json +0 -0
  103. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/union/main.bicep +0 -0
  104. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/array/union/result.json +0 -0
  105. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/date/date_time_add/main.bicep +0 -0
  106. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/date/date_time_add/result.json +0 -0
  107. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/date/date_time_from_epoch/main.bicep +0 -0
  108. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/date/date_time_from_epoch/result.json +0 -0
  109. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/date/date_time_to_epoch/main.bicep +0 -0
  110. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/date/date_time_to_epoch/result.json +0 -0
  111. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/date/utc_now/main.bicep +0 -0
  112. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/date/utc_now/result.json +0 -0
  113. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/deployment/deployment/main.bicep +0 -0
  114. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/deployment/deployment/result.json +0 -0
  115. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/deployment/environment/main.bicep +0 -0
  116. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/deployment/environment/result.json +0 -0
  117. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/file/load_file_as_base64/main.bicep +0 -0
  118. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/file/load_file_as_base64/result.json +0 -0
  119. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/file/load_json_content/main.bicep +0 -0
  120. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/file/load_json_content/result.json +0 -0
  121. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/file/load_text_content/main.bicep +0 -0
  122. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/file/load_text_content/result.json +0 -0
  123. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/file/load_yaml_content/main.bicep +0 -0
  124. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/file/load_yaml_content/result.json +0 -0
  125. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/lambda/filter/main.bicep +0 -0
  126. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/lambda/filter/result.json +0 -0
  127. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/logical/bool/main.bicep +0 -0
  128. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/logical/bool/result.json +0 -0
  129. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/numeric/int/main.bicep +0 -0
  130. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/numeric/int/result.json +0 -0
  131. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/object/json/main.bicep +0 -0
  132. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/object/json/result.json +0 -0
  133. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/extension_resource_id/main.bicep +0 -0
  134. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/extension_resource_id/result.json +0 -0
  135. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/list_keys/main.bicep +0 -0
  136. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/list_keys/result.json +0 -0
  137. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/management_group_resource_id/main.bicep +0 -0
  138. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/management_group_resource_id/result.json +0 -0
  139. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/pick_zones/main.bicep +0 -0
  140. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/pick_zones/result.json +0 -0
  141. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/reference/main.bicep +0 -0
  142. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/reference/result.json +0 -0
  143. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/resource_id/main.bicep +0 -0
  144. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/resource_id/result.json +0 -0
  145. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/subscription_resource_id/main.bicep +0 -0
  146. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/subscription_resource_id/result.json +0 -0
  147. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/tenant_resource_id/main.bicep +0 -0
  148. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/resource/tenant_resource_id/result.json +0 -0
  149. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/scope/management_group/main.bicep +0 -0
  150. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/scope/management_group/result.json +0 -0
  151. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/scope/resource_group/main.bicep +0 -0
  152. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/scope/resource_group/result.json +0 -0
  153. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/scope/subscription/main.bicep +0 -0
  154. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/scope/subscription/result.json +0 -0
  155. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/scope/tenant/main.bicep +0 -0
  156. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/scope/tenant/result.json +0 -0
  157. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/base64/main.bicep +0 -0
  158. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/base64/result.json +0 -0
  159. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/base64_to_json/main.bicep +0 -0
  160. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/base64_to_json/result.json +0 -0
  161. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/base64_to_string/main.bicep +0 -0
  162. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/base64_to_string/result.json +0 -0
  163. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/data_uri/main.bicep +0 -0
  164. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/data_uri/result.json +0 -0
  165. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/data_uri_to_string/main.bicep +0 -0
  166. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/data_uri_to_string/result.json +0 -0
  167. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/ends_with/main.bicep +0 -0
  168. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/ends_with/result.json +0 -0
  169. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/format/main.bicep +0 -0
  170. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/format/result.json +0 -0
  171. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/guid/main.bicep +0 -0
  172. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/guid/result.json +0 -0
  173. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/index_of/main.bicep +0 -0
  174. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/index_of/result.json +0 -0
  175. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/join/main.bicep +0 -0
  176. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/join/result.json +0 -0
  177. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/last_index_of/main.bicep +0 -0
  178. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/last_index_of/result.json +0 -0
  179. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/new_guid/main.bicep +0 -0
  180. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/new_guid/result.json +0 -0
  181. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/pad_left/main.bicep +0 -0
  182. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/pad_left/result.json +0 -0
  183. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/replace/main.bicep +0 -0
  184. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/replace/result.json +0 -0
  185. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/split/main.bicep +0 -0
  186. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/split/result.json +0 -0
  187. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/starts_with/main.bicep +0 -0
  188. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/starts_with/result.json +0 -0
  189. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/string/main.bicep +0 -0
  190. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/string/result.json +0 -0
  191. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/substring/main.bicep +0 -0
  192. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/substring/result.json +0 -0
  193. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/to_lower/main.bicep +0 -0
  194. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/to_lower/result.json +0 -0
  195. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/to_upper/main.bicep +0 -0
  196. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/to_upper/result.json +0 -0
  197. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/trim/main.bicep +0 -0
  198. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/trim/result.json +0 -0
  199. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/unique_string/main.bicep +0 -0
  200. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/unique_string/result.json +0 -0
  201. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/uri/main.bicep +0 -0
  202. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/uri/result.json +0 -0
  203. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/uri_component/main.bicep +0 -0
  204. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/uri_component/result.json +0 -0
  205. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/uri_component_to_string/main.bicep +0 -0
  206. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/examples/string/uri_component_to_string/result.json +0 -0
  207. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/test_parse_any.py +0 -0
  208. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/test_parse_array.py +0 -0
  209. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/test_parse_date.py +0 -0
  210. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/test_parse_deployment.py +0 -0
  211. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/test_parse_file.py +0 -0
  212. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/test_parse_lambda.py +0 -0
  213. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/test_parse_logical.py +0 -0
  214. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/test_parse_numeric.py +0 -0
  215. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/test_parse_object.py +0 -0
  216. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/test_parse_resource.py +0 -0
  217. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/test_parse_scope.py +0 -0
  218. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_function/test_parse_string.py +0 -0
  219. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_main.py +0 -0
  220. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/accessor/function/main.bicep +0 -0
  221. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/accessor/function/result.json +0 -0
  222. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/accessor/index/main.bicep +0 -0
  223. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/accessor/index/result.json +0 -0
  224. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/accessor/nested_resource/main.bicep +0 -0
  225. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/accessor/nested_resource/result.json +0 -0
  226. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/accessor/non_null/main.bicep +0 -0
  227. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/accessor/non_null/result.json +0 -0
  228. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/accessor/property/main.bicep +0 -0
  229. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/accessor/property/result.json +0 -0
  230. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/equals/main.bicep +0 -0
  231. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/equals/result.json +0 -0
  232. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/equals_case_insensitive/main.bicep +0 -0
  233. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/equals_case_insensitive/result.json +0 -0
  234. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/greater_than/main.bicep +0 -0
  235. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/greater_than/result.json +0 -0
  236. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/greater_than_or_equals/main.bicep +0 -0
  237. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/greater_than_or_equals/result.json +0 -0
  238. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/less_than/main.bicep +0 -0
  239. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/less_than/result.json +0 -0
  240. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/less_than_or_equals/main.bicep +0 -0
  241. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/less_than_or_equals/result.json +0 -0
  242. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/not_equals/main.bicep +0 -0
  243. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/not_equals/result.json +0 -0
  244. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/not_equals_case_insensitive/main.bicep +0 -0
  245. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/comparison/not_equals_case_insensitive/result.json +0 -0
  246. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/logical/and/main.bicep +0 -0
  247. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/logical/and/result.json +0 -0
  248. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/logical/coalesce/main.bicep +0 -0
  249. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/logical/coalesce/result.json +0 -0
  250. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/logical/conditional/main.bicep +0 -0
  251. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/logical/conditional/result.json +0 -0
  252. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/logical/not/main.bicep +0 -0
  253. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/logical/not/result.json +0 -0
  254. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/logical/or/main.bicep +0 -0
  255. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/logical/or/result.json +0 -0
  256. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/numeric/add/main.bicep +0 -0
  257. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/numeric/add/result.json +0 -0
  258. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/numeric/divide/main.bicep +0 -0
  259. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/numeric/divide/result.json +0 -0
  260. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/numeric/minus/main.bicep +0 -0
  261. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/numeric/minus/result.json +0 -0
  262. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/numeric/modulo/main.bicep +0 -0
  263. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/numeric/modulo/result.json +0 -0
  264. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/numeric/multiply/main.bicep +0 -0
  265. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/numeric/multiply/result.json +0 -0
  266. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/numeric/substract/main.bicep +0 -0
  267. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/numeric/substract/result.json +0 -0
  268. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/safe_dereference/main.bicep +0 -0
  269. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/examples/safe_dereference/result.json +0 -0
  270. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/test_parse_accessor.py +0 -0
  271. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/test_parse_comparison.py +0 -0
  272. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/test_parse_logical.py +0 -0
  273. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/test_parse_numeric.py +0 -0
  274. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_operator/test_parse_safe_dereference.py +0 -0
  275. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_parse_loop.py +0 -0
  276. {pycep_parser-0.6.1.dev6 → pycep_parser-0.6.1.dev7}/tests/test_parse_scope.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pycep-parser
3
- Version: 0.6.1.dev6
3
+ Version: 0.6.1.dev7
4
4
  Summary: A Python based Bicep parser
5
5
  Keywords: bicep,parser,lark
6
6
  Author: Anton Grübel
@@ -4,7 +4,7 @@ element: "targetScope" "=" QUOTED_INTERPOLATION
4
4
  | "extension" STRING ["with" object] ["as" STRING] -> extension
5
5
  | "metadata" STRING "=" metadata_value -> metadata
6
6
  | [decorator] "param" STRING data_type ["=" value_brackets] -> param
7
- | [decorator] "var" STRING "=" var_value -> var
7
+ | [decorator] "var" STRING [data_type] "=" var_value -> var
8
8
  | [decorator] "output" STRING data_type "=" output_value -> output
9
9
  | [decorator] "resource" STRING type_api_pair [EXISTING] "=" resource_value -> resource
10
10
  | [decorator] "module" STRING module_path "=" module_value -> module
@@ -160,9 +160,11 @@ class BicepToJson(Transformer[Token, pycep_typing.BicepJson]):
160
160
 
161
161
  @v_args(meta=True)
162
162
  def var(
163
- self, meta: Meta, args: tuple[list[pycep_typing.Decorator] | None, Token, pycep_typing.PossibleValue]
163
+ self,
164
+ meta: Meta,
165
+ args: tuple[list[pycep_typing.Decorator] | None, Token, str | None, pycep_typing.PossibleValue],
164
166
  ) -> pycep_typing.VarResponse:
165
- decorators, name, value = args
167
+ decorators, name, data_type, value = args
166
168
 
167
169
  result: pycep_typing.VarResponse = {
168
170
  "variables": {
@@ -174,6 +176,9 @@ class BicepToJson(Transformer[Token, pycep_typing.BicepJson]):
174
176
  }
175
177
  }
176
178
 
179
+ if data_type:
180
+ result["variables"]["__attrs__"]["type"] = data_type
181
+
177
182
  if self.add_line_numbers:
178
183
  result["variables"]["__attrs__"]["__start_line__"] = meta.line
179
184
  result["variables"]["__attrs__"]["__end_line__"] = meta.end_line
@@ -114,6 +114,7 @@ class ParamResponse(TypedDict):
114
114
 
115
115
  class VariableAttributes(TypedDict):
116
116
  decorators: list[Decorator]
117
+ type: NotRequired[str]
117
118
  value: PossibleValue
118
119
  __start_line__: NotRequired[int]
119
120
  __end_line__: NotRequired[int]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pycep-parser"
3
- version = "0.6.1.dev6"
3
+ version = "0.6.1.dev7"
4
4
  description = "A Python based Bicep parser"
5
5
  authors = [
6
6
  { name = "Anton Grübel", email = "anton.gruebel@gmail.com" }
@@ -1,3 +1,5 @@
1
+ // https://docs.azure.cn/en-us/azure-resource-manager/bicep/bicep-extension
2
+
1
3
  // Simple extension
2
4
  extension microsoftGraphV1
3
5
 
@@ -0,0 +1,38 @@
1
+ // https://docs.azure.cn/en-us/azure-resource-manager/bicep/variables#typed-variables
2
+
3
+ // basic types
4
+ var resourceName string = 'myResource'
5
+ var instanceCount int = 3
6
+ var isProduction bool = true
7
+
8
+ // arrays
9
+ var mixedArray array = [
10
+ resourceGroup().name
11
+ 1
12
+ // some comment
13
+ true
14
+ 'example string'
15
+ 'comma', 'separated', 'elements'
16
+ ]
17
+ var subnets array = ['subnet1', 'subnet2']
18
+
19
+ // objects
20
+ var mixedObject object = {
21
+ name: resourceGroup().name
22
+ integer: 1
23
+ // some comment
24
+ boolean: true
25
+ example: 'string'
26
+ }
27
+ var tags object = { environment: 'dev' }
28
+
29
+ // schema not supported yet
30
+ // var config {
31
+ // name: string
32
+ // count: int
33
+ // enabled: bool
34
+ // } = {
35
+ // name: 'myApp'
36
+ // count: 5
37
+ // enabled: true
38
+ // }
@@ -0,0 +1,80 @@
1
+ {
2
+ "globals": {
3
+ "scope": {
4
+ "value": "resourceGroup"
5
+ }
6
+ },
7
+ "variables": {
8
+ "resourceName": {
9
+ "decorators": [],
10
+ "value": "myResource",
11
+ "type": "string"
12
+ },
13
+ "instanceCount": {
14
+ "decorators": [],
15
+ "value": 3,
16
+ "type": "int"
17
+ },
18
+ "isProduction": {
19
+ "decorators": [],
20
+ "value": true,
21
+ "type": "bool"
22
+ },
23
+ "mixedArray": {
24
+ "decorators": [],
25
+ "value": [
26
+ {
27
+ "function": {
28
+ "type": "resource_group",
29
+ "parameters": {
30
+ "resource_group_name": null,
31
+ "subscription_id": null
32
+ },
33
+ "property_name": "name"
34
+ }
35
+ },
36
+ 1,
37
+ true,
38
+ "example string",
39
+ "comma",
40
+ "separated",
41
+ "elements"
42
+ ],
43
+ "type": "array"
44
+ },
45
+ "subnets": {
46
+ "decorators": [],
47
+ "value": [
48
+ "subnet1",
49
+ "subnet2"
50
+ ],
51
+ "type": "array"
52
+ },
53
+ "mixedObject": {
54
+ "decorators": [],
55
+ "value": {
56
+ "name": {
57
+ "function": {
58
+ "type": "resource_group",
59
+ "parameters": {
60
+ "resource_group_name": null,
61
+ "subscription_id": null
62
+ },
63
+ "property_name": "name"
64
+ }
65
+ },
66
+ "integer": 1,
67
+ "boolean": true,
68
+ "example": "string"
69
+ },
70
+ "type": "object"
71
+ },
72
+ "tags": {
73
+ "decorators": [],
74
+ "value": {
75
+ "environment": "dev"
76
+ },
77
+ "type": "object"
78
+ }
79
+ }
80
+ }
@@ -215,3 +215,16 @@ def test_parse_extension() -> None:
215
215
 
216
216
  # then
217
217
  assert_that(result).is_equal_to(expected_result)
218
+
219
+
220
+ def test_parse_typed_var() -> None:
221
+ # given
222
+ sub_dir_path = EXAMPLES_DIR / "complex/11-typed-var"
223
+ file_path = sub_dir_path / "main.bicep"
224
+ expected_result = json.loads((sub_dir_path / "result.json").read_text())
225
+
226
+ # when
227
+ result = BICEP_PARSER.parse(file_path=file_path)
228
+
229
+ # then
230
+ assert_that(result).is_equal_to(expected_result)