pareto 0.76.67 → 0.77.0

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 (678) hide show
  1. package/dist/bin/{compile.js → compile_temp_schemas.js} +3 -3
  2. package/dist/bin/seal.js +2 -2
  3. package/dist/bin/serialize_schemas.js +2 -2
  4. package/dist/bin/validate.js +2 -2
  5. package/dist/exceptional/deserializers/load_schema.d.ts +5 -5
  6. package/dist/exceptional/deserializers/load_schema.js +11 -10
  7. package/dist/{operations → implementation/algorithms/operations}/impure/tbd/path.d.ts +1 -1
  8. package/dist/implementation/algorithms/operations/impure/tbd/path.js +16 -0
  9. package/dist/implementation/algorithms/procedures/unguaranteed/compile_temp_schemas.js +152 -0
  10. package/dist/{procedures → implementation/algorithms/procedures}/unguaranteed/seal.js +2 -2
  11. package/dist/implementation/algorithms/procedures/unguaranteed/serialize_schemas.js +62 -0
  12. package/dist/{procedures → implementation/algorithms/procedures}/unguaranteed/validate.js +4 -4
  13. package/dist/{queries → implementation/algorithms/queries}/unguaranteed/load_pareto_document.d.ts +2 -2
  14. package/dist/implementation/algorithms/queries/unguaranteed/load_pareto_document.js +75 -0
  15. package/dist/{queries → implementation/algorithms/queries}/unguaranteed/load_pareto_file.d.ts +1 -1
  16. package/dist/{queries → implementation/algorithms/queries}/unguaranteed/load_pareto_file.js +4 -4
  17. package/dist/implementation/algorithms/transformations/module/exupery_implementation.d.ts +4 -0
  18. package/dist/{transformations → implementation/algorithms/transformations}/module/exupery_implementation.js +1 -1
  19. package/dist/implementation/algorithms/transformations/module/exupery_interface.d.ts +5 -0
  20. package/dist/{transformations → implementation/algorithms/transformations}/module/exupery_interface.js +6 -6
  21. package/dist/implementation/algorithms/transformations/module/temp_typescript_implementation.d.ts +3 -0
  22. package/dist/implementation/algorithms/transformations/module/temp_typescript_implementation.js +45 -0
  23. package/dist/implementation/algorithms/transformations/module/temp_typescript_interface.d.ts +3 -0
  24. package/dist/implementation/algorithms/transformations/module/temp_typescript_interface.js +43 -0
  25. package/dist/implementation/algorithms/transformations/schema/exupery_implementation/deserialize.d.ts +8 -0
  26. package/dist/implementation/algorithms/transformations/schema/exupery_implementation/deserialize.js +52 -0
  27. package/dist/{transformations → implementation/algorithms/transformations}/schema/exupery_implementation/main.d.ts +2 -2
  28. package/dist/implementation/algorithms/transformations/schema/exupery_implementation/main.js +92 -0
  29. package/dist/{transformations → implementation/algorithms/transformations}/schema/exupery_implementation/marshall.d.ts +3 -3
  30. package/dist/implementation/algorithms/transformations/schema/exupery_implementation/marshall.js +142 -0
  31. package/dist/implementation/algorithms/transformations/schema/exupery_implementation/migrate_boilerplate.d.ts +14 -0
  32. package/dist/implementation/algorithms/transformations/schema/exupery_implementation/migrate_boilerplate.js +105 -0
  33. package/dist/{transformations → implementation/algorithms/transformations}/schema/exupery_implementation/resolve.d.ts +3 -3
  34. package/dist/implementation/algorithms/transformations/schema/exupery_implementation/resolve.js +300 -0
  35. package/dist/implementation/algorithms/transformations/schema/exupery_implementation/serialize.d.ts +9 -0
  36. package/dist/implementation/algorithms/transformations/schema/exupery_implementation/serialize.js +53 -0
  37. package/dist/{transformations → implementation/algorithms/transformations}/schema/exupery_implementation/unmarshall.d.ts +3 -3
  38. package/dist/implementation/algorithms/transformations/schema/exupery_implementation/unmarshall.js +158 -0
  39. package/dist/implementation/algorithms/transformations/schema/exupery_interface/deserialize.d.ts +6 -0
  40. package/dist/implementation/algorithms/transformations/schema/exupery_interface/deserialize.js +39 -0
  41. package/dist/implementation/algorithms/transformations/schema/exupery_interface/dummy_resolve.d.ts +3 -0
  42. package/dist/implementation/algorithms/transformations/schema/exupery_interface/dummy_resolve.js +13 -0
  43. package/dist/implementation/algorithms/transformations/schema/exupery_interface/main.d.ts +6 -0
  44. package/dist/implementation/algorithms/transformations/schema/exupery_interface/main.js +116 -0
  45. package/dist/implementation/algorithms/transformations/schema/exupery_interface/marshall.d.ts +6 -0
  46. package/dist/{transformations → implementation/algorithms/transformations}/schema/exupery_interface/marshall.js +1 -1
  47. package/dist/implementation/algorithms/transformations/schema/exupery_interface/migrate_boilerplate.d.ts +7 -0
  48. package/dist/{transformations → implementation/algorithms/transformations}/schema/exupery_interface/migrate_boilerplate.js +1 -1
  49. package/dist/implementation/algorithms/transformations/schema/exupery_interface/resolve.d.ts +12 -0
  50. package/dist/implementation/algorithms/transformations/schema/exupery_interface/resolve.js +110 -0
  51. package/dist/implementation/algorithms/transformations/schema/exupery_interface/serialize.d.ts +6 -0
  52. package/dist/implementation/algorithms/transformations/schema/exupery_interface/serialize.js +39 -0
  53. package/dist/implementation/algorithms/transformations/schema/exupery_interface/types.d.ts +12 -0
  54. package/dist/implementation/algorithms/transformations/schema/exupery_interface/types.js +192 -0
  55. package/dist/{transformations → implementation/algorithms/transformations}/schema/exupery_interface/unmarshall.d.ts +2 -2
  56. package/dist/{transformations → implementation/algorithms/transformations}/schema/exupery_interface/unmarshall.js +1 -1
  57. package/dist/implementation/algorithms/transformations/schema/exupery_interface/value_deserializers.d.ts +6 -0
  58. package/dist/{transformations → implementation/algorithms/transformations}/schema/exupery_interface/value_deserializers.js +1 -1
  59. package/dist/implementation/algorithms/transformations/schema/exupery_interface/value_serializers.d.ts +6 -0
  60. package/dist/{transformations → implementation/algorithms/transformations}/schema/exupery_interface/value_serializers.js +1 -1
  61. package/dist/implementation/algorithms/transformations/temp/astn_schema.d.ts +10 -0
  62. package/dist/implementation/algorithms/transformations/temp/astn_schema.js +140 -0
  63. package/dist/{transformations → implementation/algorithms/transformations}/temp/unmarshall_astn_ast.d.ts +4 -4
  64. package/dist/{transformations → implementation/algorithms/transformations}/temp/unmarshall_astn_ast.js +6 -23
  65. package/dist/{transformations → implementation/algorithms/transformations}/unmarshall_errors/fountain_pen.d.ts +4 -4
  66. package/dist/implementation/algorithms/transformations/unmarshall_errors/fountain_pen.js +86 -0
  67. package/dist/implementation/algorithms/transformations/unmarshall_result/astn_authoring_target.d.ts +3 -0
  68. package/dist/{transformations → implementation/algorithms/transformations}/unmarshall_result/astn_authoring_target.js +1 -1
  69. package/dist/implementation/algorithms/transformations/unmarshall_result/unmarshall_errors.d.ts +8 -0
  70. package/dist/implementation/algorithms/transformations/unmarshall_result/unmarshall_errors.js +344 -0
  71. package/dist/implementation/generated/pareto/generic/parse/ast.d.ts +10 -0
  72. package/dist/implementation/generated/pareto/generic/parse/ast.js +245 -0
  73. package/dist/implementation/generated/pareto/generic/parse/astn_parse_generic.d.ts +13 -0
  74. package/dist/implementation/generated/pareto/generic/parse/astn_parse_generic.js +50 -0
  75. package/dist/implementation/generated/pareto/generic/parse/parse.d.ts +6 -0
  76. package/dist/implementation/generated/pareto/generic/parse/parse.js +65 -0
  77. package/dist/implementation/generated/pareto/generic/parse/string_iterator.d.ts +41 -0
  78. package/dist/implementation/generated/pareto/generic/parse/string_iterator.js +113 -0
  79. package/dist/implementation/generated/pareto/generic/parse/token.d.ts +9 -0
  80. package/dist/implementation/generated/pareto/generic/parse/token.js +519 -0
  81. package/dist/{generated/implementation → implementation/generated/pareto}/generic/resolve.d.ts +3 -3
  82. package/dist/implementation/generated/pareto/generic/resolve.js +276 -0
  83. package/dist/implementation/generated/pareto/generic/serialize.d.ts +4 -0
  84. package/dist/implementation/generated/pareto/generic/serialize.js +93 -0
  85. package/dist/implementation/generated/pareto/generic/unmarshall.d.ts +42 -0
  86. package/dist/implementation/generated/pareto/generic/unmarshall.js +247 -0
  87. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/astn_schema/marshall.d.ts +1 -1
  88. package/dist/implementation/generated/pareto/schemas/astn_schema/marshall.js +232 -0
  89. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/astn_schema/resolve.d.ts +1 -1
  90. package/dist/implementation/generated/pareto/schemas/astn_schema/resolve.js +446 -0
  91. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/astn_schema/unmarshall.d.ts +1 -1
  92. package/dist/implementation/generated/pareto/schemas/astn_schema/unmarshall.js +206 -0
  93. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/module/marshall.d.ts +1 -1
  94. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/module/marshall.js +1 -1
  95. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/module/resolve.d.ts +1 -1
  96. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/module/resolve.js +1 -1
  97. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/module/unmarshall.d.ts +1 -1
  98. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/module/unmarshall.js +1 -1
  99. package/dist/{generated/implementation/schemas/ast → implementation/generated/pareto/schemas/parse_tree}/marshall.d.ts +1 -1
  100. package/dist/{generated/implementation/schemas/ast → implementation/generated/pareto/schemas/parse_tree}/marshall.js +1 -1
  101. package/dist/{generated/implementation/schemas/ast → implementation/generated/pareto/schemas/parse_tree}/unmarshall.d.ts +1 -1
  102. package/dist/{generated/implementation/schemas/ast → implementation/generated/pareto/schemas/parse_tree}/unmarshall.js +1 -1
  103. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/schema/marshall.d.ts +1 -1
  104. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/schema/marshall.js +1 -1
  105. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/schema/resolve.d.ts +1 -1
  106. package/dist/implementation/generated/pareto/schemas/schema/resolve.js +2025 -0
  107. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/schema/unmarshall.d.ts +1 -1
  108. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/schema/unmarshall.js +1 -1
  109. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/token/marshall.d.ts +1 -1
  110. package/dist/implementation/generated/pareto/schemas/token/marshall.js +230 -0
  111. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/token/unmarshall.d.ts +1 -1
  112. package/dist/implementation/generated/pareto/schemas/token/unmarshall.js +218 -0
  113. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/unmarshall_errors/marshall.d.ts +1 -1
  114. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/unmarshall_errors/marshall.js +1 -1
  115. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/unmarshall_errors/unmarshall.d.ts +1 -1
  116. package/dist/{generated/implementation → implementation/generated/pareto}/schemas/unmarshall_errors/unmarshall.js +1 -1
  117. package/dist/implementation/generated/pareto/schemas/unmarshall_result/marshall.js +3 -0
  118. package/dist/implementation/generated/pareto/schemas/unmarshall_result/unmarshall.js +3 -0
  119. package/dist/interface/algorithms/operations/impure/tbd/path.d.ts +1 -0
  120. package/dist/interface/algorithms/operations/impure/tbd/path.js +5 -0
  121. package/dist/interface/algorithms/procedures/unguaranteed/compile.d.ts +1 -0
  122. package/dist/interface/algorithms/procedures/unguaranteed/compile.js +5 -0
  123. package/dist/interface/algorithms/procedures/unguaranteed/seal.d.ts +1 -0
  124. package/dist/interface/algorithms/procedures/unguaranteed/seal.js +5 -0
  125. package/dist/interface/algorithms/procedures/unguaranteed/serialize_schemas.d.ts +1 -0
  126. package/dist/interface/algorithms/procedures/unguaranteed/serialize_schemas.js +5 -0
  127. package/dist/interface/algorithms/procedures/unguaranteed/validate.d.ts +1 -0
  128. package/dist/interface/algorithms/procedures/unguaranteed/validate.js +5 -0
  129. package/dist/interface/algorithms/queries/unguaranteed/load_pareto_document.d.ts +1 -0
  130. package/dist/interface/algorithms/queries/unguaranteed/load_pareto_document.js +5 -0
  131. package/dist/interface/algorithms/queries/unguaranteed/load_pareto_file.d.ts +1 -0
  132. package/dist/interface/algorithms/queries/unguaranteed/load_pareto_file.js +5 -0
  133. package/dist/interface/algorithms/transformations/module/exupery_implementation.d.ts +1 -0
  134. package/dist/interface/algorithms/transformations/module/exupery_implementation.js +5 -0
  135. package/dist/interface/algorithms/transformations/module/exupery_interface.d.ts +1 -0
  136. package/dist/interface/algorithms/transformations/module/exupery_interface.js +5 -0
  137. package/dist/interface/algorithms/transformations/module/temp_typescript.d.ts +1 -0
  138. package/dist/interface/algorithms/transformations/module/temp_typescript.js +5 -0
  139. package/dist/interface/algorithms/transformations/schema/exupery_implementation/main.d.ts +1 -0
  140. package/dist/interface/algorithms/transformations/schema/exupery_implementation/main.js +5 -0
  141. package/dist/interface/algorithms/transformations/schema/exupery_implementation/marshall.d.ts +1 -0
  142. package/dist/interface/algorithms/transformations/schema/exupery_implementation/marshall.js +5 -0
  143. package/dist/interface/algorithms/transformations/schema/exupery_implementation/migrate_boilerplate.d.ts +1 -0
  144. package/dist/interface/algorithms/transformations/schema/exupery_implementation/migrate_boilerplate.js +5 -0
  145. package/dist/interface/algorithms/transformations/schema/exupery_implementation/resolve.d.ts +1 -0
  146. package/dist/interface/algorithms/transformations/schema/exupery_implementation/resolve.js +5 -0
  147. package/dist/interface/algorithms/transformations/schema/exupery_implementation/unmarshall.d.ts +1 -0
  148. package/dist/interface/algorithms/transformations/schema/exupery_implementation/unmarshall.js +5 -0
  149. package/dist/interface/algorithms/transformations/schema/exupery_interface/dummy_resolve.d.ts +1 -0
  150. package/dist/interface/algorithms/transformations/schema/exupery_interface/dummy_resolve.js +5 -0
  151. package/dist/interface/algorithms/transformations/schema/exupery_interface/main.d.ts +1 -0
  152. package/dist/interface/algorithms/transformations/schema/exupery_interface/main.js +5 -0
  153. package/dist/interface/algorithms/transformations/schema/exupery_interface/marshall.d.ts +1 -0
  154. package/dist/interface/algorithms/transformations/schema/exupery_interface/marshall.js +5 -0
  155. package/dist/interface/algorithms/transformations/schema/exupery_interface/migrate_boilerplate.d.ts +1 -0
  156. package/dist/interface/algorithms/transformations/schema/exupery_interface/migrate_boilerplate.js +5 -0
  157. package/dist/interface/algorithms/transformations/schema/exupery_interface/resolve.d.ts +1 -0
  158. package/dist/interface/algorithms/transformations/schema/exupery_interface/resolve.js +5 -0
  159. package/dist/interface/algorithms/transformations/schema/exupery_interface/types.d.ts +1 -0
  160. package/dist/interface/algorithms/transformations/schema/exupery_interface/types.js +5 -0
  161. package/dist/interface/algorithms/transformations/schema/exupery_interface/unmarshall.d.ts +1 -0
  162. package/dist/interface/algorithms/transformations/schema/exupery_interface/unmarshall.js +5 -0
  163. package/dist/interface/algorithms/transformations/schema/exupery_interface/value_deserializers.d.ts +1 -0
  164. package/dist/interface/algorithms/transformations/schema/exupery_interface/value_deserializers.js +5 -0
  165. package/dist/interface/algorithms/transformations/schema/exupery_interface/value_serializers.d.ts +1 -0
  166. package/dist/interface/algorithms/transformations/schema/exupery_interface/value_serializers.js +5 -0
  167. package/dist/interface/algorithms/transformations/temp/astn_schema.d.ts +1 -0
  168. package/dist/interface/algorithms/transformations/temp/astn_schema.js +5 -0
  169. package/dist/interface/algorithms/transformations/temp/unmarshall_astn_ast.d.ts +1 -0
  170. package/dist/interface/algorithms/transformations/temp/unmarshall_astn_ast.js +5 -0
  171. package/dist/interface/algorithms/transformations/unmarshall_errors/fountain_pen.d.ts +1 -0
  172. package/dist/interface/algorithms/transformations/unmarshall_errors/fountain_pen.js +5 -0
  173. package/dist/interface/algorithms/transformations/unmarshall_result/astn_authoring_target.d.ts +1 -0
  174. package/dist/interface/algorithms/transformations/unmarshall_result/astn_authoring_target.js +5 -0
  175. package/dist/interface/algorithms/transformations/unmarshall_result/unmarshall_errors.d.ts +1 -0
  176. package/dist/interface/algorithms/transformations/unmarshall_result/unmarshall_errors.js +5 -0
  177. package/dist/{generated/interface → interface/generated/pareto}/core/astn_source.d.ts +15 -0
  178. package/dist/{generated/interface → interface/generated/pareto}/core/astn_source.js +1 -1
  179. package/dist/{generated/interface → interface/generated/pareto}/core/astn_target.js +1 -1
  180. package/dist/interface/generated/pareto/core/parse_result.d.ts +25 -0
  181. package/dist/interface/generated/pareto/core/parse_result.js +3 -0
  182. package/dist/{generated/interface → interface/generated/pareto}/core/resolve.js +1 -1
  183. package/dist/{generated/interface → interface/generated/pareto}/core/resolved.js +1 -1
  184. package/dist/interface/generated/pareto/core/token.d.ts +49 -0
  185. package/dist/interface/generated/pareto/core/token.js +3 -0
  186. package/dist/{generated/interface → interface/generated/pareto}/core/unconstrained.js +1 -1
  187. package/dist/{generated/interface → interface/generated/pareto}/core/unresolved.js +1 -1
  188. package/dist/{generated/interface/schemas/schema → interface/generated/pareto/schemas/astn_schema}/data_types/resolve.js +1 -1
  189. package/dist/{generated/interface/schemas/schema → interface/generated/pareto/schemas/astn_schema}/data_types/source.js +1 -1
  190. package/dist/{generated/interface/schemas/schema → interface/generated/pareto/schemas/astn_schema}/data_types/target.js +1 -1
  191. package/dist/{generated/implementation/schemas/unmarshall_result → interface/generated/pareto/schemas/astn_schema}/marshall.js +1 -1
  192. package/dist/{generated/interface/schemas/schema → interface/generated/pareto/schemas/astn_schema}/migrate_boilerplate.js +1 -1
  193. package/dist/{generated/interface/schemas/module → interface/generated/pareto/schemas/astn_schema}/unmarshall.js +1 -1
  194. package/dist/interface/generated/pareto/schemas/astn_schema/value_deserializers.js +3 -0
  195. package/dist/{generated/interface/schemas/schema → interface/generated/pareto/schemas/astn_schema}/value_serializers.js +1 -1
  196. package/dist/{generated/interface/schemas/astn_schema → interface/generated/pareto/schemas/module}/data_types/resolve.js +1 -1
  197. package/dist/{generated/interface/schemas/astn_schema → interface/generated/pareto/schemas/module}/data_types/source.js +1 -1
  198. package/dist/{generated/interface/schemas/astn_schema → interface/generated/pareto/schemas/module}/data_types/target.js +1 -1
  199. package/dist/{generated/interface/schemas/schema → interface/generated/pareto/schemas/module}/marshall.js +1 -1
  200. package/dist/{generated/interface/schemas/astn_schema → interface/generated/pareto/schemas/module}/migrate_boilerplate.js +1 -1
  201. package/dist/{generated/interface/schemas/schema → interface/generated/pareto/schemas/module}/unmarshall.js +1 -1
  202. package/dist/{generated/interface → interface/generated/pareto}/schemas/module/value_deserializers.js +1 -1
  203. package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/module}/value_serializers.js +1 -1
  204. package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/parse_tree}/data_types/resolve.js +1 -1
  205. package/dist/interface/generated/pareto/schemas/parse_tree/data_types/source.js +3 -0
  206. package/dist/interface/generated/pareto/schemas/parse_tree/data_types/target.js +3 -0
  207. package/dist/{generated/interface/schemas/module → interface/generated/pareto/schemas/parse_tree}/marshall.js +1 -1
  208. package/dist/interface/generated/pareto/schemas/parse_tree/migrate_boilerplate.js +3 -0
  209. package/dist/interface/generated/pareto/schemas/parse_tree/unmarshall.js +3 -0
  210. package/dist/{generated/interface/schemas/astn_schema → interface/generated/pareto/schemas/parse_tree}/value_deserializers.js +1 -1
  211. package/dist/interface/generated/pareto/schemas/parse_tree/value_serializers.js +3 -0
  212. package/dist/{generated/interface/schemas/module → interface/generated/pareto/schemas/schema}/data_types/resolve.js +1 -1
  213. package/dist/{generated/interface/schemas/module → interface/generated/pareto/schemas/schema}/data_types/source.js +1 -1
  214. package/dist/{generated/interface/schemas/module → interface/generated/pareto/schemas/schema}/data_types/target.js +1 -1
  215. package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/schema}/marshall.js +1 -1
  216. package/dist/{generated/interface/schemas/module → interface/generated/pareto/schemas/schema}/migrate_boilerplate.js +1 -1
  217. package/dist/{generated/interface/schemas/astn_schema → interface/generated/pareto/schemas/schema}/unmarshall.js +1 -1
  218. package/dist/{generated/interface → interface/generated/pareto}/schemas/schema/value_deserializers.js +1 -1
  219. package/dist/{generated/interface/schemas/astn_schema → interface/generated/pareto/schemas/schema}/value_serializers.js +1 -1
  220. package/dist/{generated/interface → interface/generated/pareto}/schemas/token/data_types/resolve.js +1 -1
  221. package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/token}/data_types/source.js +1 -1
  222. package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/token}/data_types/target.js +1 -1
  223. package/dist/{generated/interface/schemas/astn_schema → interface/generated/pareto/schemas/token}/marshall.js +1 -1
  224. package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/token}/migrate_boilerplate.js +1 -1
  225. package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/token}/unmarshall.js +1 -1
  226. package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/token}/value_deserializers.js +1 -1
  227. package/dist/{generated/interface/schemas/module → interface/generated/pareto/schemas/token}/value_serializers.js +1 -1
  228. package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_errors/data_types/resolve.js +1 -1
  229. package/dist/interface/generated/pareto/schemas/unmarshall_errors/data_types/source.js +3 -0
  230. package/dist/interface/generated/pareto/schemas/unmarshall_errors/data_types/target.js +3 -0
  231. package/dist/interface/generated/pareto/schemas/unmarshall_errors/marshall.js +3 -0
  232. package/dist/interface/generated/pareto/schemas/unmarshall_errors/migrate_boilerplate.js +3 -0
  233. package/dist/{generated/implementation/schemas/unmarshall_result → interface/generated/pareto/schemas/unmarshall_errors}/unmarshall.js +1 -1
  234. package/dist/interface/generated/pareto/schemas/unmarshall_errors/value_deserializers.js +3 -0
  235. package/dist/interface/generated/pareto/schemas/unmarshall_errors/value_serializers.js +3 -0
  236. package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/data_types/resolve.js +1 -1
  237. package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/data_types/source.js +1 -1
  238. package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/data_types/target.js +1 -1
  239. package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/marshall.js +1 -1
  240. package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/migrate_boilerplate.js +1 -1
  241. package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/unmarshall.js +1 -1
  242. package/dist/interface/generated/pareto/schemas/unmarshall_result/value_deserializers.js +3 -0
  243. package/dist/interface/generated/pareto/schemas/unmarshall_result/value_serializers.js +3 -0
  244. package/dist/shorthands/module.d.ts +2 -2
  245. package/dist/shorthands/schema.d.ts +1 -1
  246. package/dist/temp/resolvers/module.d.ts +1 -1
  247. package/dist/temp/resolvers/module.js +31 -31
  248. package/dist/temp/resolvers/schema.d.ts +1 -1
  249. package/dist/temp/resolvers/schema.js +66 -66
  250. package/dist/temp/temp_unmashall_result_types.d.ts +3 -3
  251. package/dist/temp/temporary_schemas/accounting_ruwe_data/module.astn.d.ts +1 -1
  252. package/dist/temp/temporary_schemas/accounting_ruwe_data/operations.astn.d.ts +1 -1
  253. package/dist/temp/temporary_schemas/accounting_ruwe_data/schema_tree.astn.d.ts +1 -1
  254. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.globals.astn.d.ts +1 -1
  255. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.module.astn.d.ts +1 -1
  256. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.types.astn.d.ts +1 -1
  257. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.globals.astn.d.ts +1 -1
  258. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.module.astn.d.ts +1 -1
  259. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.types.astn.d.ts +1 -1
  260. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/csv/$.globals.astn.d.ts +1 -1
  261. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/csv/$.module.astn.d.ts +1 -1
  262. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/csv/$.types.astn.d.ts +1 -1
  263. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/html/$.globals.astn.d.ts +1 -1
  264. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/html/$.module.astn.d.ts +1 -1
  265. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/html/$.types.astn.d.ts +1 -1
  266. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.globals.astn.d.ts +1 -1
  267. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.module.astn.d.ts +1 -1
  268. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.types.astn.d.ts +1 -1
  269. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.globals.astn.d.ts +1 -1
  270. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.module.astn.d.ts +1 -1
  271. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.types.astn.d.ts +1 -1
  272. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.globals.astn.d.ts +1 -1
  273. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.module.astn.d.ts +1 -1
  274. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.types.astn.d.ts +1 -1
  275. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.globals.astn.d.ts +1 -1
  276. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.module.astn.d.ts +1 -1
  277. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.types.astn.d.ts +1 -1
  278. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.globals.astn.d.ts +1 -1
  279. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.module.astn.d.ts +1 -1
  280. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.types.astn.d.ts +1 -1
  281. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.globals.astn.d.ts +1 -1
  282. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.module.astn.d.ts +1 -1
  283. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.types.astn.d.ts +1 -1
  284. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.globals.astn.d.ts +1 -1
  285. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.module.astn.d.ts +1 -1
  286. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.types.astn.d.ts +1 -1
  287. package/dist/temp/temporary_schemas/all.d.ts +1 -1
  288. package/dist/temp/temporary_schemas/all.js +19 -17
  289. package/dist/temp/temporary_schemas/antlr/module.astn.d.ts +1 -1
  290. package/dist/temp/temporary_schemas/antlr/operations.astn.d.ts +1 -1
  291. package/dist/temp/temporary_schemas/antlr/schema_tree.astn.d.ts +1 -1
  292. package/dist/temp/temporary_schemas/antlr/schemas/ast/$.globals.astn.d.ts +1 -1
  293. package/dist/temp/temporary_schemas/antlr/schemas/ast/$.module.astn.d.ts +1 -1
  294. package/dist/temp/temporary_schemas/antlr/schemas/ast/$.types.astn.d.ts +1 -1
  295. package/dist/temp/temporary_schemas/antlr/schemas/atn/$.globals.astn.d.ts +1 -1
  296. package/dist/temp/temporary_schemas/antlr/schemas/atn/$.module.astn.d.ts +1 -1
  297. package/dist/temp/temporary_schemas/antlr/schemas/atn/$.types.astn.d.ts +1 -1
  298. package/dist/temp/temporary_schemas/antlr/schemas/dfa/$.globals.astn.d.ts +1 -1
  299. package/dist/temp/temporary_schemas/antlr/schemas/dfa/$.module.astn.d.ts +1 -1
  300. package/dist/temp/temporary_schemas/antlr/schemas/dfa/$.types.astn.d.ts +1 -1
  301. package/dist/temp/temporary_schemas/antlr/schemas/lookahead/$.globals.astn.d.ts +1 -1
  302. package/dist/temp/temporary_schemas/antlr/schemas/lookahead/$.module.astn.d.ts +1 -1
  303. package/dist/temp/temporary_schemas/antlr/schemas/lookahead/$.types.astn.d.ts +1 -1
  304. package/dist/temp/temporary_schemas/astn/module.astn.d.ts +1 -1
  305. package/dist/temp/temporary_schemas/astn/operations.astn.d.ts +1 -1
  306. package/dist/temp/temporary_schemas/astn/schema_tree.astn.d.ts +1 -1
  307. package/dist/temp/temporary_schemas/astn/schema_tree.astn.js +5 -9
  308. package/dist/temp/temporary_schemas/astn/schemas/astn_schema/$.globals.astn.d.ts +1 -1
  309. package/dist/temp/temporary_schemas/astn/schemas/astn_schema/$.module.astn.d.ts +1 -1
  310. package/dist/temp/temporary_schemas/astn/schemas/astn_schema/$.resolvers.astn.d.ts +1 -1
  311. package/dist/temp/temporary_schemas/astn/schemas/astn_schema/$.signatures.astn.d.ts +1 -1
  312. package/dist/temp/temporary_schemas/astn/schemas/astn_schema/$.types.astn.d.ts +1 -1
  313. package/dist/temp/temporary_schemas/astn/schemas/authoring_parse_result/$.globals.astn.d.ts +1 -1
  314. package/dist/temp/temporary_schemas/astn/schemas/authoring_parse_result/$.module.astn.d.ts +1 -1
  315. package/dist/temp/temporary_schemas/astn/schemas/authoring_parse_result/$.types.astn.d.ts +1 -1
  316. package/dist/temp/temporary_schemas/astn/schemas/authoring_parse_tree/$.globals.astn.d.ts +1 -1
  317. package/dist/temp/temporary_schemas/astn/schemas/authoring_parse_tree/$.module.astn.d.ts +1 -1
  318. package/dist/temp/temporary_schemas/astn/schemas/authoring_parse_tree/$.types.astn.d.ts +1 -1
  319. package/dist/temp/temporary_schemas/astn/schemas/authoring_target/$.globals.astn.d.ts +1 -1
  320. package/dist/temp/temporary_schemas/astn/schemas/authoring_target/$.module.astn.d.ts +1 -1
  321. package/dist/temp/temporary_schemas/astn/schemas/authoring_target/$.types.astn.d.ts +1 -1
  322. package/dist/temp/temporary_schemas/astn/schemas/ide/$.globals.astn.d.ts +1 -1
  323. package/dist/temp/temporary_schemas/astn/schemas/ide/$.module.astn.d.ts +1 -1
  324. package/dist/temp/temporary_schemas/astn/schemas/ide/$.types.astn.d.ts +1 -1
  325. package/dist/temp/temporary_schemas/astn/schemas/sealed_target/$.globals.astn.d.ts +1 -1
  326. package/dist/temp/temporary_schemas/astn/schemas/sealed_target/$.module.astn.d.ts +1 -1
  327. package/dist/temp/temporary_schemas/astn/schemas/sealed_target/$.types.astn.d.ts +1 -1
  328. package/dist/temp/temporary_schemas/astn/schemas/token/$.globals.astn.d.ts +1 -1
  329. package/dist/temp/temporary_schemas/astn/schemas/token/$.module.astn.d.ts +1 -1
  330. package/dist/temp/temporary_schemas/astn/schemas/token/$.types.astn.d.ts +1 -1
  331. package/dist/temp/temporary_schemas/astn-to-xml/module.astn.d.ts +1 -1
  332. package/dist/temp/temporary_schemas/astn-to-xml/operations.astn.d.ts +1 -1
  333. package/dist/temp/temporary_schemas/astn-to-xml/schema_tree.astn.d.ts +1 -1
  334. package/dist/temp/temporary_schemas/astn-to-xml/schemas/xml/$.globals.astn.d.ts +1 -1
  335. package/dist/temp/temporary_schemas/astn-to-xml/schemas/xml/$.module.astn.d.ts +1 -1
  336. package/dist/temp/temporary_schemas/astn-to-xml/schemas/xml/$.types.astn.d.ts +1 -1
  337. package/dist/temp/temporary_schemas/exupery/module.astn.d.ts +1 -1
  338. package/dist/temp/temporary_schemas/exupery/operations.astn.d.ts +1 -1
  339. package/dist/temp/temporary_schemas/exupery/schema_tree.astn.d.ts +1 -1
  340. package/dist/temp/temporary_schemas/exupery/schemas/implementation/$.globals.astn.d.ts +1 -1
  341. package/dist/temp/temporary_schemas/exupery/schemas/implementation/$.module.astn.d.ts +1 -1
  342. package/dist/temp/temporary_schemas/exupery/schemas/implementation/$.resolvers.astn.d.ts +1 -1
  343. package/dist/temp/temporary_schemas/exupery/schemas/implementation/$.signatures.astn.d.ts +1 -1
  344. package/dist/temp/temporary_schemas/exupery/schemas/implementation/$.types.astn.d.ts +1 -1
  345. package/dist/temp/temporary_schemas/exupery/schemas/interface/$.globals.astn.d.ts +1 -1
  346. package/dist/temp/temporary_schemas/exupery/schemas/interface/$.module.astn.d.ts +1 -1
  347. package/dist/temp/temporary_schemas/exupery/schemas/interface/$.resolvers.astn.d.ts +1 -1
  348. package/dist/temp/temporary_schemas/exupery/schemas/interface/$.signatures.astn.d.ts +1 -1
  349. package/dist/temp/temporary_schemas/exupery/schemas/interface/$.types.astn.d.ts +1 -1
  350. package/dist/temp/temporary_schemas/exupery/schemas/typescript_light/$.globals.astn.d.ts +1 -1
  351. package/dist/temp/temporary_schemas/exupery/schemas/typescript_light/$.module.astn.d.ts +1 -1
  352. package/dist/temp/temporary_schemas/exupery/schemas/typescript_light/$.types.astn.d.ts +1 -1
  353. package/dist/temp/temporary_schemas/exupery/schemas/typescript_light/$.types.astn.js +8 -8
  354. package/dist/temp/temporary_schemas/exupery-resources/module.astn.d.ts +1 -1
  355. package/dist/temp/temporary_schemas/exupery-resources/operations.astn.d.ts +1 -1
  356. package/dist/temp/temporary_schemas/exupery-resources/schema_tree.astn.d.ts +1 -1
  357. package/dist/temp/temporary_schemas/exupery-resources/schema_tree.astn.js +15 -13
  358. package/dist/temp/temporary_schemas/exupery-resources/schemas/copy/$.globals.astn.d.ts +1 -1
  359. package/dist/temp/temporary_schemas/exupery-resources/schemas/copy/$.module.astn.d.ts +1 -1
  360. package/dist/temp/temporary_schemas/exupery-resources/schemas/copy/$.types.astn.d.ts +1 -1
  361. package/dist/temp/temporary_schemas/exupery-resources/schemas/copy/$.types.astn.js +2 -2
  362. package/dist/temp/temporary_schemas/{pareto-lionweb/schemas/m3_normalized → exupery-resources/schemas/execute_procedure_executable}/$.globals.astn.d.ts +1 -1
  363. package/dist/temp/temporary_schemas/{astn/schemas/sealed_parse_result → exupery-resources/schemas/execute_procedure_executable}/$.globals.astn.js +1 -1
  364. package/dist/temp/temporary_schemas/{astn/schemas/sealed_parse_result → exupery-resources/schemas/execute_procedure_executable}/$.module.astn.d.ts +1 -1
  365. package/dist/temp/temporary_schemas/exupery-resources/schemas/{run_query_executable_and_catch → execute_procedure_executable}/$.module.astn.js +1 -1
  366. package/dist/temp/temporary_schemas/exupery-resources/schemas/execute_procedure_executable/$.types.astn.d.ts +3 -0
  367. package/dist/temp/temporary_schemas/exupery-resources/schemas/execute_procedure_executable/$.types.astn.js +20 -0
  368. package/dist/temp/temporary_schemas/exupery-resources/schemas/{run_query_executable → execute_query_executable}/$.globals.astn.d.ts +1 -1
  369. package/dist/temp/temporary_schemas/{astn/schemas/sealed_ast → exupery-resources/schemas/execute_query_executable}/$.globals.astn.js +1 -1
  370. package/dist/temp/temporary_schemas/{astn/schemas/sealed_ast → exupery-resources/schemas/execute_query_executable}/$.module.astn.d.ts +1 -1
  371. package/dist/temp/temporary_schemas/{astn/schemas/sealed_ast → exupery-resources/schemas/execute_query_executable}/$.module.astn.js +2 -4
  372. package/dist/temp/temporary_schemas/exupery-resources/schemas/execute_query_executable/$.types.astn.d.ts +3 -0
  373. package/dist/temp/temporary_schemas/exupery-resources/schemas/execute_query_executable/$.types.astn.js +23 -0
  374. package/dist/temp/temporary_schemas/exupery-resources/schemas/{run_query_executable_and_catch → execute_query_executable_and_catch}/$.globals.astn.d.ts +1 -1
  375. package/dist/temp/temporary_schemas/exupery-resources/schemas/{run_query_executable_and_catch → execute_query_executable_and_catch}/$.globals.astn.js +1 -1
  376. package/dist/temp/temporary_schemas/exupery-resources/schemas/{run_query_executable → execute_query_executable_and_catch}/$.module.astn.d.ts +1 -1
  377. package/dist/temp/temporary_schemas/exupery-resources/schemas/execute_query_executable_and_catch/$.module.astn.js +8 -0
  378. package/dist/temp/temporary_schemas/exupery-resources/schemas/execute_query_executable_and_catch/$.types.astn.d.ts +3 -0
  379. package/dist/temp/temporary_schemas/exupery-resources/schemas/execute_query_executable_and_catch/$.types.astn.js +26 -0
  380. package/dist/temp/temporary_schemas/exupery-resources/schemas/get_instream_data/$.globals.astn.d.ts +1 -1
  381. package/dist/temp/temporary_schemas/exupery-resources/schemas/get_instream_data/$.module.astn.d.ts +1 -1
  382. package/dist/temp/temporary_schemas/exupery-resources/schemas/get_instream_data/$.types.astn.d.ts +1 -1
  383. package/dist/temp/temporary_schemas/exupery-resources/schemas/log/$.globals.astn.d.ts +1 -1
  384. package/dist/temp/temporary_schemas/exupery-resources/schemas/log/$.module.astn.d.ts +1 -1
  385. package/dist/temp/temporary_schemas/exupery-resources/schemas/log/$.types.astn.d.ts +1 -1
  386. package/dist/temp/temporary_schemas/exupery-resources/schemas/log_error/$.globals.astn.d.ts +1 -1
  387. package/dist/temp/temporary_schemas/exupery-resources/schemas/log_error/$.module.astn.d.ts +1 -1
  388. package/dist/temp/temporary_schemas/exupery-resources/schemas/log_error/$.types.astn.d.ts +1 -1
  389. package/dist/temp/temporary_schemas/exupery-resources/schemas/make_directory/$.globals.astn.d.ts +1 -1
  390. package/dist/temp/temporary_schemas/exupery-resources/schemas/make_directory/$.module.astn.d.ts +1 -1
  391. package/dist/temp/temporary_schemas/exupery-resources/schemas/make_directory/$.types.astn.d.ts +1 -1
  392. package/dist/temp/temporary_schemas/exupery-resources/schemas/make_directory/$.types.astn.js +2 -2
  393. package/dist/temp/temporary_schemas/exupery-resources/schemas/read_directory/$.globals.astn.d.ts +1 -1
  394. package/dist/temp/temporary_schemas/exupery-resources/schemas/read_directory/$.module.astn.d.ts +1 -1
  395. package/dist/temp/temporary_schemas/exupery-resources/schemas/read_directory/$.types.astn.d.ts +1 -1
  396. package/dist/temp/temporary_schemas/exupery-resources/schemas/read_directory/$.types.astn.js +2 -2
  397. package/dist/temp/temporary_schemas/exupery-resources/schemas/read_file/$.globals.astn.d.ts +1 -1
  398. package/dist/temp/temporary_schemas/exupery-resources/schemas/read_file/$.module.astn.d.ts +1 -1
  399. package/dist/temp/temporary_schemas/exupery-resources/schemas/read_file/$.types.astn.d.ts +1 -1
  400. package/dist/temp/temporary_schemas/exupery-resources/schemas/read_file/$.types.astn.js +2 -2
  401. package/dist/temp/temporary_schemas/exupery-resources/schemas/remove/$.globals.astn.d.ts +1 -1
  402. package/dist/temp/temporary_schemas/exupery-resources/schemas/remove/$.module.astn.d.ts +1 -1
  403. package/dist/temp/temporary_schemas/exupery-resources/schemas/remove/$.types.astn.d.ts +1 -1
  404. package/dist/temp/temporary_schemas/exupery-resources/schemas/remove/$.types.astn.js +2 -2
  405. package/dist/temp/temporary_schemas/exupery-resources/schemas/stat/$.globals.astn.d.ts +1 -1
  406. package/dist/temp/temporary_schemas/exupery-resources/schemas/stat/$.module.astn.d.ts +1 -1
  407. package/dist/temp/temporary_schemas/exupery-resources/schemas/stat/$.types.astn.d.ts +1 -1
  408. package/dist/temp/temporary_schemas/exupery-resources/schemas/stat/$.types.astn.js +2 -2
  409. package/dist/temp/temporary_schemas/exupery-resources/schemas/write_file/$.globals.astn.d.ts +1 -1
  410. package/dist/temp/temporary_schemas/exupery-resources/schemas/write_file/$.module.astn.d.ts +1 -1
  411. package/dist/temp/temporary_schemas/exupery-resources/schemas/write_file/$.types.astn.d.ts +1 -1
  412. package/dist/temp/temporary_schemas/exupery-resources/schemas/write_file/$.types.astn.js +2 -2
  413. package/dist/temp/temporary_schemas/git/module.astn.d.ts +1 -1
  414. package/dist/temp/temporary_schemas/git/operations.astn.d.ts +1 -1
  415. package/dist/temp/temporary_schemas/git/schema_tree.astn.d.ts +1 -1
  416. package/dist/temp/temporary_schemas/git/schemas/git/$.globals.astn.d.ts +1 -1
  417. package/dist/temp/temporary_schemas/git/schemas/git/$.module.astn.d.ts +1 -1
  418. package/dist/temp/temporary_schemas/git/schemas/git/$.types.astn.d.ts +1 -1
  419. package/dist/temp/temporary_schemas/json-to-astn/module.astn.d.ts +1 -1
  420. package/dist/temp/temporary_schemas/json-to-astn/operations.astn.d.ts +1 -1
  421. package/dist/temp/temporary_schemas/json-to-astn/schema_tree.astn.d.ts +1 -1
  422. package/dist/temp/temporary_schemas/json-to-astn/schemas/legacy_json_schema/$.globals.astn.d.ts +1 -1
  423. package/dist/temp/temporary_schemas/json-to-astn/schemas/legacy_json_schema/$.module.astn.d.ts +1 -1
  424. package/dist/temp/temporary_schemas/json-to-astn/schemas/legacy_json_schema/$.types.astn.d.ts +1 -1
  425. package/dist/temp/temporary_schemas/pareto/module.astn.d.ts +1 -1
  426. package/dist/temp/temporary_schemas/pareto/operations.astn.d.ts +1 -1
  427. package/dist/temp/temporary_schemas/pareto/schema_tree.astn.d.ts +1 -1
  428. package/dist/temp/temporary_schemas/pareto/schemas/module/$.globals.astn.d.ts +1 -1
  429. package/dist/temp/temporary_schemas/pareto/schemas/module/$.module.astn.d.ts +1 -1
  430. package/dist/temp/temporary_schemas/pareto/schemas/module/$.resolvers.astn.d.ts +1 -1
  431. package/dist/temp/temporary_schemas/pareto/schemas/module/$.signatures.astn.d.ts +1 -1
  432. package/dist/temp/temporary_schemas/pareto/schemas/module/$.types.astn.d.ts +1 -1
  433. package/dist/temp/temporary_schemas/pareto/schemas/schema/$.globals.astn.d.ts +1 -1
  434. package/dist/temp/temporary_schemas/pareto/schemas/schema/$.module.astn.d.ts +1 -1
  435. package/dist/temp/temporary_schemas/pareto/schemas/schema/$.resolvers.astn.d.ts +1 -1
  436. package/dist/temp/temporary_schemas/pareto/schemas/schema/$.signatures.astn.d.ts +1 -1
  437. package/dist/temp/temporary_schemas/pareto/schemas/schema/$.types.astn.d.ts +1 -1
  438. package/dist/temp/temporary_schemas/pareto/schemas/unmarshall_errors/$.globals.astn.d.ts +1 -1
  439. package/dist/temp/temporary_schemas/pareto/schemas/unmarshall_errors/$.module.astn.d.ts +1 -1
  440. package/dist/temp/temporary_schemas/pareto/schemas/unmarshall_errors/$.types.astn.d.ts +1 -1
  441. package/dist/temp/temporary_schemas/pareto/schemas/unmarshall_result/$.globals.astn.d.ts +1 -1
  442. package/dist/temp/temporary_schemas/pareto/schemas/unmarshall_result/$.module.astn.d.ts +1 -1
  443. package/dist/temp/temporary_schemas/pareto/schemas/unmarshall_result/$.types.astn.d.ts +1 -1
  444. package/dist/temp/temporary_schemas/pareto-boekhouding/module.astn.d.ts +1 -1
  445. package/dist/temp/temporary_schemas/pareto-boekhouding/operations.astn.d.ts +1 -1
  446. package/dist/temp/temporary_schemas/pareto-boekhouding/schema_tree.astn.d.ts +1 -1
  447. package/dist/temp/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.globals.astn.d.ts +1 -1
  448. package/dist/temp/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.module.astn.d.ts +1 -1
  449. package/dist/temp/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.resolvers.astn.d.ts +1 -1
  450. package/dist/temp/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.signatures.astn.d.ts +1 -1
  451. package/dist/temp/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.types.astn.d.ts +1 -1
  452. package/dist/temp/temporary_schemas/pareto-boekhouding/schemas/boekhouding_oude_model/$.globals.astn.d.ts +1 -1
  453. package/dist/temp/temporary_schemas/pareto-boekhouding/schemas/boekhouding_oude_model/$.module.astn.d.ts +1 -1
  454. package/dist/temp/temporary_schemas/pareto-boekhouding/schemas/boekhouding_oude_model/$.types.astn.d.ts +1 -1
  455. package/dist/temp/temporary_schemas/pareto-fountain-pen/module.astn.d.ts +1 -1
  456. package/dist/temp/temporary_schemas/pareto-fountain-pen/operations.astn.d.ts +1 -1
  457. package/dist/temp/temporary_schemas/pareto-fountain-pen/schema_tree.astn.d.ts +1 -1
  458. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/block/$.globals.astn.d.ts +1 -1
  459. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/block/$.module.astn.d.ts +1 -1
  460. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/block/$.types.astn.d.ts +1 -1
  461. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/block/$.types.astn.js +7 -7
  462. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/lines/$.globals.astn.d.ts +1 -1
  463. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/lines/$.module.astn.d.ts +1 -1
  464. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/lines/$.types.astn.d.ts +1 -1
  465. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.globals.astn.d.ts +1 -1
  466. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.module.astn.d.ts +1 -1
  467. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.types.astn.d.ts +1 -1
  468. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/text/$.globals.astn.d.ts +1 -1
  469. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/text/$.module.astn.d.ts +1 -1
  470. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/text/$.types.astn.d.ts +1 -1
  471. package/dist/temp/temporary_schemas/pareto-json/module.astn.d.ts +1 -1
  472. package/dist/temp/temporary_schemas/pareto-json/operations.astn.d.ts +1 -1
  473. package/dist/temp/temporary_schemas/pareto-json/schema_tree.astn.d.ts +1 -1
  474. package/dist/temp/temporary_schemas/pareto-json/schemas/json/$.globals.astn.d.ts +1 -1
  475. package/dist/temp/temporary_schemas/pareto-json/schemas/json/$.module.astn.d.ts +1 -1
  476. package/dist/temp/temporary_schemas/pareto-json/schemas/json/$.types.astn.d.ts +1 -1
  477. package/dist/temp/temporary_schemas/pareto-lionweb/module.astn.d.ts +1 -1
  478. package/dist/temp/temporary_schemas/pareto-lionweb/operations.astn.d.ts +1 -1
  479. package/dist/temp/temporary_schemas/pareto-lionweb/schema_tree.astn.d.ts +1 -1
  480. package/dist/temp/temporary_schemas/pareto-lionweb/schema_tree.astn.js +5 -3
  481. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/lioncore/$.globals.astn.d.ts +1 -1
  482. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/lioncore/$.module.astn.d.ts +1 -1
  483. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/lioncore/$.types.astn.d.ts +1 -1
  484. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/lioncore/$.types.astn.js +13 -9
  485. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/serialization_chunk/$.globals.astn.d.ts +3 -0
  486. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/{m3_normalized → serialization_chunk}/$.globals.astn.js +1 -1
  487. package/dist/temp/temporary_schemas/{exupery-resources/schemas/run_query_executable_and_catch → pareto-lionweb/schemas/serialization_chunk}/$.module.astn.d.ts +1 -1
  488. package/dist/temp/temporary_schemas/{exupery-resources/schemas/run_query_executable → pareto-lionweb/schemas/serialization_chunk}/$.module.astn.js +1 -1
  489. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/serialization_chunk/$.types.astn.d.ts +3 -0
  490. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/serialization_chunk/$.types.astn.js +41 -0
  491. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/serialization_tree/$.globals.astn.d.ts +3 -0
  492. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/serialization_tree/$.globals.astn.js +10 -0
  493. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/serialization_tree/$.module.astn.d.ts +3 -0
  494. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/serialization_tree/$.module.astn.js +8 -0
  495. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/serialization_tree/$.types.astn.d.ts +3 -0
  496. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/serialization_tree/$.types.astn.js +27 -0
  497. package/dist/temp/temporary_schemas/pareto-static-html/module.astn.d.ts +3 -0
  498. package/dist/temp/temporary_schemas/pareto-static-html/module.astn.js +8 -0
  499. package/dist/temp/temporary_schemas/pareto-static-html/operations.astn.d.ts +3 -0
  500. package/dist/temp/temporary_schemas/pareto-static-html/operations.astn.js +6 -0
  501. package/dist/temp/temporary_schemas/pareto-static-html/schema_tree.astn.d.ts +3 -0
  502. package/dist/temp/temporary_schemas/pareto-static-html/schema_tree.astn.js +9 -0
  503. package/dist/temp/temporary_schemas/pareto-static-html/schemas/html-print/$.globals.astn.d.ts +3 -0
  504. package/dist/temp/temporary_schemas/pareto-static-html/schemas/html-print/$.globals.astn.js +10 -0
  505. package/dist/temp/temporary_schemas/pareto-static-html/schemas/html-print/$.module.astn.d.ts +3 -0
  506. package/dist/temp/temporary_schemas/{pareto-lionweb/schemas/m3_normalized → pareto-static-html/schemas/html-print}/$.module.astn.js +1 -1
  507. package/dist/temp/temporary_schemas/pareto-static-html/schemas/html-print/$.types.astn.d.ts +3 -0
  508. package/dist/temp/temporary_schemas/pareto-static-html/schemas/html-print/$.types.astn.js +81 -0
  509. package/dist/temp/temporary_schemas/pareto-targets/module.astn.d.ts +1 -1
  510. package/dist/temp/temporary_schemas/pareto-targets/operations.astn.d.ts +1 -1
  511. package/dist/temp/temporary_schemas/pareto-targets/schema_tree.astn.d.ts +1 -1
  512. package/dist/temp/temporary_schemas/pareto-targets/schemas/alan_light/$.globals.astn.d.ts +1 -1
  513. package/dist/temp/temporary_schemas/pareto-targets/schemas/alan_light/$.module.astn.d.ts +1 -1
  514. package/dist/temp/temporary_schemas/pareto-targets/schemas/alan_light/$.types.astn.d.ts +1 -1
  515. package/dist/temp/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.globals.astn.d.ts +1 -1
  516. package/dist/temp/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.module.astn.d.ts +1 -1
  517. package/dist/temp/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.types.astn.d.ts +1 -1
  518. package/dist/temp/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.globals.astn.d.ts +1 -1
  519. package/dist/temp/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.module.astn.d.ts +1 -1
  520. package/dist/temp/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.types.astn.d.ts +1 -1
  521. package/dist/temp/temporary_schemas/pareto-targets/schemas/lionweb/$.globals.astn.d.ts +1 -1
  522. package/dist/temp/temporary_schemas/pareto-targets/schemas/lionweb/$.module.astn.d.ts +1 -1
  523. package/dist/temp/temporary_schemas/pareto-targets/schemas/lionweb/$.types.astn.d.ts +1 -1
  524. package/dist/temp/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.globals.astn.d.ts +1 -1
  525. package/dist/temp/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.module.astn.d.ts +1 -1
  526. package/dist/temp/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.types.astn.d.ts +1 -1
  527. package/dist/temp/temporary_schemas/pareto-vscode-backend/module.astn.d.ts +1 -1
  528. package/dist/temp/temporary_schemas/pareto-vscode-backend/operations.astn.d.ts +1 -1
  529. package/dist/temp/temporary_schemas/pareto-vscode-backend/schema_tree.astn.d.ts +1 -1
  530. package/dist/temp/temporary_schemas/pareto-vscode-backend/schemas/client/$.globals.astn.d.ts +1 -1
  531. package/dist/temp/temporary_schemas/pareto-vscode-backend/schemas/client/$.module.astn.d.ts +1 -1
  532. package/dist/temp/temporary_schemas/pareto-vscode-backend/schemas/client/$.types.astn.d.ts +1 -1
  533. package/dist/temp/temporary_schemas/pareto-vscode-backend/schemas/server/$.globals.astn.d.ts +1 -1
  534. package/dist/temp/temporary_schemas/pareto-vscode-backend/schemas/server/$.module.astn.d.ts +1 -1
  535. package/dist/temp/temporary_schemas/pareto-vscode-backend/schemas/server/$.types.astn.d.ts +1 -1
  536. package/package.json +9 -9
  537. package/dist/generated/implementation/generic/resolve.js +0 -276
  538. package/dist/generated/implementation/generic/unmarshall.d.ts +0 -42
  539. package/dist/generated/implementation/generic/unmarshall.js +0 -238
  540. package/dist/generated/implementation/schemas/astn_schema/marshall.js +0 -232
  541. package/dist/generated/implementation/schemas/astn_schema/resolve.js +0 -446
  542. package/dist/generated/implementation/schemas/astn_schema/unmarshall.js +0 -206
  543. package/dist/generated/implementation/schemas/schema/resolve.js +0 -2025
  544. package/dist/generated/implementation/schemas/token/marshall.js +0 -230
  545. package/dist/generated/implementation/schemas/token/unmarshall.js +0 -218
  546. package/dist/generated/interface/schemas/token/data_types/source.js +0 -3
  547. package/dist/generated/interface/schemas/token/data_types/target.js +0 -3
  548. package/dist/generated/interface/schemas/token/marshall.js +0 -3
  549. package/dist/generated/interface/schemas/token/migrate_boilerplate.js +0 -3
  550. package/dist/generated/interface/schemas/token/unmarshall.js +0 -3
  551. package/dist/generated/interface/schemas/token/value_deserializers.js +0 -3
  552. package/dist/generated/interface/schemas/token/value_serializers.js +0 -3
  553. package/dist/generated/interface/schemas/unmarshall_errors/data_types/source.js +0 -3
  554. package/dist/generated/interface/schemas/unmarshall_errors/data_types/target.js +0 -3
  555. package/dist/generated/interface/schemas/unmarshall_errors/marshall.js +0 -3
  556. package/dist/generated/interface/schemas/unmarshall_errors/migrate_boilerplate.js +0 -3
  557. package/dist/generated/interface/schemas/unmarshall_errors/unmarshall.js +0 -3
  558. package/dist/generated/interface/schemas/unmarshall_errors/value_deserializers.js +0 -3
  559. package/dist/generated/interface/schemas/unmarshall_errors/value_serializers.js +0 -3
  560. package/dist/generated/interface/schemas/unmarshall_result/data_types/unconstrained.d.ts +0 -1
  561. package/dist/generated/interface/schemas/unmarshall_result/data_types/unconstrained.js +0 -7
  562. package/dist/generated/interface/schemas/unmarshall_result/value_deserializers.js +0 -3
  563. package/dist/generated/interface/schemas/unmarshall_result/value_serializers.js +0 -3
  564. package/dist/operations/impure/tbd/path.js +0 -16
  565. package/dist/procedures/unguaranteed/compile.js +0 -140
  566. package/dist/procedures/unguaranteed/serialize_schemas.js +0 -69
  567. package/dist/queries/unguaranteed/load_pareto_document.js +0 -79
  568. package/dist/temp/temporary_schemas/astn/schemas/sealed_ast/$.globals.astn.d.ts +0 -3
  569. package/dist/temp/temporary_schemas/astn/schemas/sealed_ast/$.types.astn.d.ts +0 -3
  570. package/dist/temp/temporary_schemas/astn/schemas/sealed_ast/$.types.astn.js +0 -74
  571. package/dist/temp/temporary_schemas/astn/schemas/sealed_parse_result/$.globals.astn.d.ts +0 -3
  572. package/dist/temp/temporary_schemas/astn/schemas/sealed_parse_result/$.module.astn.js +0 -11
  573. package/dist/temp/temporary_schemas/astn/schemas/sealed_parse_result/$.types.astn.d.ts +0 -3
  574. package/dist/temp/temporary_schemas/astn/schemas/sealed_parse_result/$.types.astn.js +0 -50
  575. package/dist/temp/temporary_schemas/exupery-resources/schemas/run_query_executable/$.globals.astn.js +0 -6
  576. package/dist/temp/temporary_schemas/exupery-resources/schemas/run_query_executable/$.types.astn.d.ts +0 -3
  577. package/dist/temp/temporary_schemas/exupery-resources/schemas/run_query_executable/$.types.astn.js +0 -23
  578. package/dist/temp/temporary_schemas/exupery-resources/schemas/run_query_executable_and_catch/$.types.astn.d.ts +0 -3
  579. package/dist/temp/temporary_schemas/exupery-resources/schemas/run_query_executable_and_catch/$.types.astn.js +0 -26
  580. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/m3_normalized/$.module.astn.d.ts +0 -3
  581. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/m3_normalized/$.types.astn.d.ts +0 -3
  582. package/dist/temp/temporary_schemas/pareto-lionweb/schemas/m3_normalized/$.types.astn.js +0 -38
  583. package/dist/transformations/module/exupery_implementation.d.ts +0 -4
  584. package/dist/transformations/module/exupery_interface.d.ts +0 -5
  585. package/dist/transformations/module/temp_typescript.d.ts +0 -3
  586. package/dist/transformations/module/temp_typescript.js +0 -56
  587. package/dist/transformations/schema/exupery_implementation/main.js +0 -81
  588. package/dist/transformations/schema/exupery_implementation/marshall.js +0 -142
  589. package/dist/transformations/schema/exupery_implementation/migrate_boilerplate.d.ts +0 -14
  590. package/dist/transformations/schema/exupery_implementation/migrate_boilerplate.js +0 -105
  591. package/dist/transformations/schema/exupery_implementation/resolve.js +0 -300
  592. package/dist/transformations/schema/exupery_implementation/unmarshall.js +0 -158
  593. package/dist/transformations/schema/exupery_interface/dummy_resolve.d.ts +0 -3
  594. package/dist/transformations/schema/exupery_interface/dummy_resolve.js +0 -13
  595. package/dist/transformations/schema/exupery_interface/main.d.ts +0 -6
  596. package/dist/transformations/schema/exupery_interface/main.js +0 -108
  597. package/dist/transformations/schema/exupery_interface/marshall.d.ts +0 -6
  598. package/dist/transformations/schema/exupery_interface/migrate_boilerplate.d.ts +0 -7
  599. package/dist/transformations/schema/exupery_interface/resolve.d.ts +0 -12
  600. package/dist/transformations/schema/exupery_interface/resolve.js +0 -110
  601. package/dist/transformations/schema/exupery_interface/types.d.ts +0 -12
  602. package/dist/transformations/schema/exupery_interface/types.js +0 -192
  603. package/dist/transformations/schema/exupery_interface/value_deserializers.d.ts +0 -6
  604. package/dist/transformations/schema/exupery_interface/value_serializers.d.ts +0 -6
  605. package/dist/transformations/temp/astn_schema.d.ts +0 -10
  606. package/dist/transformations/temp/astn_schema.js +0 -140
  607. package/dist/transformations/unmarshall_errors/fountain_pen.js +0 -86
  608. package/dist/transformations/unmarshall_result/astn_authoring_target.d.ts +0 -3
  609. package/dist/transformations/unmarshall_result/unmarshall_errors.d.ts +0 -8
  610. package/dist/transformations/unmarshall_result/unmarshall_errors.js +0 -344
  611. /package/dist/bin/{compile.d.ts → compile_temp_schemas.d.ts} +0 -0
  612. /package/dist/{procedures/unguaranteed/compile.d.ts → implementation/algorithms/procedures/unguaranteed/compile_temp_schemas.d.ts} +0 -0
  613. /package/dist/{procedures → implementation/algorithms/procedures}/unguaranteed/seal.d.ts +0 -0
  614. /package/dist/{procedures → implementation/algorithms/procedures}/unguaranteed/serialize_schemas.d.ts +0 -0
  615. /package/dist/{procedures → implementation/algorithms/procedures}/unguaranteed/validate.d.ts +0 -0
  616. /package/dist/{generated/implementation → implementation/generated/pareto}/schemas/unmarshall_result/marshall.d.ts +0 -0
  617. /package/dist/{generated/implementation → implementation/generated/pareto}/schemas/unmarshall_result/unmarshall.d.ts +0 -0
  618. /package/dist/{generated/interface → interface/generated/pareto}/core/astn_target.d.ts +0 -0
  619. /package/dist/{generated/interface → interface/generated/pareto}/core/resolve.d.ts +0 -0
  620. /package/dist/{generated/interface → interface/generated/pareto}/core/resolved.d.ts +0 -0
  621. /package/dist/{generated/interface → interface/generated/pareto}/core/unconstrained.d.ts +0 -0
  622. /package/dist/{generated/interface → interface/generated/pareto}/core/unresolved.d.ts +0 -0
  623. /package/dist/{generated/interface → interface/generated/pareto}/schemas/astn_schema/data_types/resolve.d.ts +0 -0
  624. /package/dist/{generated/interface → interface/generated/pareto}/schemas/astn_schema/data_types/source.d.ts +0 -0
  625. /package/dist/{generated/interface → interface/generated/pareto}/schemas/astn_schema/data_types/target.d.ts +0 -0
  626. /package/dist/{generated/interface → interface/generated/pareto}/schemas/astn_schema/marshall.d.ts +0 -0
  627. /package/dist/{generated/interface → interface/generated/pareto}/schemas/astn_schema/migrate_boilerplate.d.ts +0 -0
  628. /package/dist/{generated/interface → interface/generated/pareto}/schemas/astn_schema/unmarshall.d.ts +0 -0
  629. /package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/astn_schema}/value_deserializers.d.ts +0 -0
  630. /package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/astn_schema}/value_serializers.d.ts +0 -0
  631. /package/dist/{generated/interface → interface/generated/pareto}/schemas/module/data_types/resolve.d.ts +0 -0
  632. /package/dist/{generated/interface → interface/generated/pareto}/schemas/module/data_types/source.d.ts +0 -0
  633. /package/dist/{generated/interface → interface/generated/pareto}/schemas/module/data_types/target.d.ts +0 -0
  634. /package/dist/{generated/interface → interface/generated/pareto}/schemas/module/marshall.d.ts +0 -0
  635. /package/dist/{generated/interface → interface/generated/pareto}/schemas/module/migrate_boilerplate.d.ts +0 -0
  636. /package/dist/{generated/interface → interface/generated/pareto}/schemas/module/unmarshall.d.ts +0 -0
  637. /package/dist/{generated/interface/schemas/astn_schema → interface/generated/pareto/schemas/module}/value_deserializers.d.ts +0 -0
  638. /package/dist/{generated/interface/schemas/astn_schema → interface/generated/pareto/schemas/module}/value_serializers.d.ts +0 -0
  639. /package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/parse_tree}/data_types/resolve.d.ts +0 -0
  640. /package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/parse_tree}/data_types/source.d.ts +0 -0
  641. /package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/parse_tree}/data_types/target.d.ts +0 -0
  642. /package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/parse_tree}/marshall.d.ts +0 -0
  643. /package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/parse_tree}/migrate_boilerplate.d.ts +0 -0
  644. /package/dist/{generated/interface/schemas/ast → interface/generated/pareto/schemas/parse_tree}/unmarshall.d.ts +0 -0
  645. /package/dist/{generated/interface/schemas/module → interface/generated/pareto/schemas/parse_tree}/value_deserializers.d.ts +0 -0
  646. /package/dist/{generated/interface/schemas/module → interface/generated/pareto/schemas/parse_tree}/value_serializers.d.ts +0 -0
  647. /package/dist/{generated/interface → interface/generated/pareto}/schemas/schema/data_types/resolve.d.ts +0 -0
  648. /package/dist/{generated/interface → interface/generated/pareto}/schemas/schema/data_types/source.d.ts +0 -0
  649. /package/dist/{generated/interface → interface/generated/pareto}/schemas/schema/data_types/target.d.ts +0 -0
  650. /package/dist/{generated/interface → interface/generated/pareto}/schemas/schema/marshall.d.ts +0 -0
  651. /package/dist/{generated/interface → interface/generated/pareto}/schemas/schema/migrate_boilerplate.d.ts +0 -0
  652. /package/dist/{generated/interface → interface/generated/pareto}/schemas/schema/unmarshall.d.ts +0 -0
  653. /package/dist/{generated/interface → interface/generated/pareto}/schemas/schema/value_deserializers.d.ts +0 -0
  654. /package/dist/{generated/interface → interface/generated/pareto}/schemas/schema/value_serializers.d.ts +0 -0
  655. /package/dist/{generated/interface → interface/generated/pareto}/schemas/token/data_types/resolve.d.ts +0 -0
  656. /package/dist/{generated/interface → interface/generated/pareto}/schemas/token/data_types/source.d.ts +0 -0
  657. /package/dist/{generated/interface → interface/generated/pareto}/schemas/token/data_types/target.d.ts +0 -0
  658. /package/dist/{generated/interface → interface/generated/pareto}/schemas/token/marshall.d.ts +0 -0
  659. /package/dist/{generated/interface → interface/generated/pareto}/schemas/token/migrate_boilerplate.d.ts +0 -0
  660. /package/dist/{generated/interface → interface/generated/pareto}/schemas/token/unmarshall.d.ts +0 -0
  661. /package/dist/{generated/interface → interface/generated/pareto}/schemas/token/value_deserializers.d.ts +0 -0
  662. /package/dist/{generated/interface → interface/generated/pareto}/schemas/token/value_serializers.d.ts +0 -0
  663. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_errors/data_types/resolve.d.ts +0 -0
  664. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_errors/data_types/source.d.ts +0 -0
  665. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_errors/data_types/target.d.ts +0 -0
  666. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_errors/marshall.d.ts +0 -0
  667. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_errors/migrate_boilerplate.d.ts +0 -0
  668. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_errors/unmarshall.d.ts +0 -0
  669. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_errors/value_deserializers.d.ts +0 -0
  670. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_errors/value_serializers.d.ts +0 -0
  671. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/data_types/resolve.d.ts +0 -0
  672. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/data_types/source.d.ts +0 -0
  673. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/data_types/target.d.ts +0 -0
  674. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/marshall.d.ts +0 -0
  675. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/migrate_boilerplate.d.ts +0 -0
  676. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/unmarshall.d.ts +0 -0
  677. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/value_deserializers.d.ts +0 -0
  678. /package/dist/{generated/interface → interface/generated/pareto}/schemas/unmarshall_result/value_serializers.d.ts +0 -0
@@ -1,2025 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.r_Types = exports.r_Type_Specification = exports.r_Type_Reference = exports.r_Type_Parameters = exports.r_Type_Node_Reference = exports.r_Type_Node = exports.r_Type = exports.r_Text_Type = exports.r_Signatures = exports.r_Signature_Parameters = exports.r_Signature = exports.r_Schemas = exports.r_Schema_Tree = exports.r_Schema = exports.r_Resolvers = exports.r_Resolve_Logic = exports.r_Relative_Value_Selection = exports.r_Reference_To_Property_Constraint = exports.r_Property_Constraints = exports.r_Property_Constraint = exports.r_Presence = exports.r_Possible_Value_Selection = exports.r_Optional_Value_Initialization = exports.r_Option_Constraints = exports.r_Number_Type = exports.r_Node_Resolver_List_Result = exports.r_Node_Resolver_Group = exports.r_Node_Resolver = exports.r_Lookup_Selection = exports.r_Imports = exports.r_Guaranteed_Value_Selection = exports.r_Group = exports.r_Globals = exports.r_Dictionary = exports.r_Constraint = exports.r_Benchmark = void 0;
27
- const _pa = __importStar(require("exupery-core-alg"));
28
- const _pd = __importStar(require("exupery-core-dev"));
29
- const _i_generic = __importStar(require("../../generic/resolve"));
30
- const r_Benchmark = ($, $p) => _pa.block(() => {
31
- const l2s = $p['location 2 string'];
32
- const params = $p['parameters'];
33
- return _pa.block(() => {
34
- const p_selection = _pa.cc($['selection'], ($) => (0, exports.r_Guaranteed_Value_Selection)($, {
35
- 'location 2 string': l2s,
36
- 'parameters': ({
37
- 'lookups': params['lookups'],
38
- 'values': params['values'],
39
- }),
40
- }));
41
- const p_resulting_dictionary = _pa.cc($['resulting dictionary'], ($) => _pd.implement_me());
42
- const p_dense = _pa.cc($['dense'], ($) => $);
43
- return ({
44
- 'dense': p_dense,
45
- 'resulting dictionary': p_resulting_dictionary,
46
- 'selection': p_selection,
47
- });
48
- });
49
- });
50
- exports.r_Benchmark = r_Benchmark;
51
- const r_Constraint = ($, $p) => _pa.block(() => {
52
- const l2s = $p['location 2 string'];
53
- const params = $p['parameters'];
54
- return _pa.block(() => {
55
- const p_selection = _pa.cc($['selection'], ($) => (0, exports.r_Relative_Value_Selection)($, {
56
- 'location 2 string': l2s,
57
- 'parameters': ({
58
- 'lookups': params['lookups'],
59
- 'values': params['values'],
60
- }),
61
- }));
62
- const p_type = _pa.cc($['type'], ($) => _pa.cc($['state group'], ($) => {
63
- switch ($[0]) {
64
- case 'optional value': return _pa.ss($, ($) => ['optional value', _pa.block(() => {
65
- const c_optional = _pd.implement_me();
66
- return _pa.block(() => {
67
- const p_selected_optional_value = _pa.cc($['selected optional value'], ($) => c_optional);
68
- return ({
69
- 'selected optional value': p_selected_optional_value,
70
- });
71
- });
72
- })]);
73
- case 'state': return _pa.ss($, ($) => ['state', _pa.block(() => {
74
- const c_state_group = _pd.implement_me();
75
- return _pa.block(() => {
76
- const p_selected_state_group = _pa.cc($['selected state group'], ($) => c_state_group);
77
- const p_state = _pa.cc($['state'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(p_selected_state_group, null), {
78
- 'location 2 string': l2s,
79
- 'reference': $,
80
- }));
81
- return ({
82
- 'selected state group': p_selected_state_group,
83
- 'state': p_state,
84
- });
85
- });
86
- })]);
87
- default: return _pa.au($[0]);
88
- }
89
- }));
90
- return ({
91
- 'selection': p_selection,
92
- 'type': p_type,
93
- });
94
- });
95
- });
96
- exports.r_Constraint = r_Constraint;
97
- const r_Dictionary = ($, $p) => _pa.block(() => {
98
- const l2s = $p['location 2 string'];
99
- const params = $p['parameters'];
100
- return _pa.block(() => {
101
- const p_node = _pa.cc($['node'], ($) => (0, exports.r_Type_Node)($, {
102
- 'location 2 string': l2s,
103
- 'parameters': ({
104
- 'lookups': ({
105
- 'noncircular sibling types': params['lookups']['noncircular sibling types'],
106
- 'possibly circular dependent sibling types': params['lookups']['possibly circular dependent sibling types'],
107
- }),
108
- 'values': ({
109
- 'globals': params['values']['globals'],
110
- 'imports': params['values']['imports'],
111
- 'type parameters': params['values']['type parameters'],
112
- }),
113
- }),
114
- }));
115
- const p_ordered = _pa.cc($['ordered'], ($) => $);
116
- return ({
117
- 'node': p_node,
118
- 'ordered': p_ordered,
119
- });
120
- });
121
- });
122
- exports.r_Dictionary = r_Dictionary;
123
- const r_Globals = ($, $p) => _pa.block(() => {
124
- const l2s = $p['location 2 string'];
125
- const params = $p['parameters'];
126
- return _pa.block(() => {
127
- const p_complexity = _pa.cc($['complexity'], ($) => _pa.cc($['state group'], ($) => {
128
- switch ($[0]) {
129
- case 'constrained': return _pa.ss($, ($) => ['constrained', _pa.block(() => {
130
- return null;
131
- })]);
132
- case 'unconstrained': return _pa.ss($, ($) => ['unconstrained', _pa.block(() => {
133
- return null;
134
- })]);
135
- default: return _pa.au($[0]);
136
- }
137
- }));
138
- const p_text_types = _pa.cc($['text types'], ($) => _pa.block(() => {
139
- return _i_generic.resolve_dictionary($, {
140
- 'location 2 string': l2s,
141
- 'map': ($, $p) => _pa.block(() => {
142
- return _pa.cc($['value'], ($) => (0, exports.r_Text_Type)($, {
143
- 'location 2 string': l2s,
144
- 'parameters': ({
145
- 'lookups': null,
146
- 'values': null,
147
- }),
148
- }));
149
- }),
150
- });
151
- }));
152
- const p_number_types = _pa.cc($['number types'], ($) => _pa.block(() => {
153
- return _i_generic.resolve_dictionary($, {
154
- 'location 2 string': l2s,
155
- 'map': ($, $p) => _pa.block(() => {
156
- return _pa.cc($['value'], ($) => (0, exports.r_Number_Type)($, {
157
- 'location 2 string': l2s,
158
- 'parameters': ({
159
- 'lookups': null,
160
- 'values': null,
161
- }),
162
- }));
163
- }),
164
- });
165
- }));
166
- return ({
167
- 'complexity': p_complexity,
168
- 'number types': p_number_types,
169
- 'text types': p_text_types,
170
- });
171
- });
172
- });
173
- exports.r_Globals = r_Globals;
174
- const r_Group = ($, $p) => _pa.block(() => {
175
- const l2s = $p['location 2 string'];
176
- const params = $p['parameters'];
177
- return _pa.block(() => {
178
- return _i_generic.resolve_ordered_dictionary($, {
179
- 'location 2 string': l2s,
180
- 'map': ($, $p) => _pa.block(() => {
181
- return _pa.cc($['value'], ($) => _pa.block(() => {
182
- const p_description = _pa.cc($['description'], ($) => $.map(($) => _pa.block(() => {
183
- return $;
184
- })));
185
- const p_node = _pa.cc($['node'], ($) => (0, exports.r_Type_Node)($, {
186
- 'location 2 string': l2s,
187
- 'parameters': ({
188
- 'lookups': ({
189
- 'noncircular sibling types': params['lookups']['noncircular sibling types'],
190
- 'possibly circular dependent sibling types': params['lookups']['possibly circular dependent sibling types'],
191
- }),
192
- 'values': ({
193
- 'globals': params['values']['globals'],
194
- 'imports': params['values']['imports'],
195
- 'type parameters': params['values']['type parameters'],
196
- }),
197
- }),
198
- }));
199
- return ({
200
- 'description': p_description,
201
- 'node': p_node,
202
- });
203
- }));
204
- }),
205
- });
206
- });
207
- });
208
- exports.r_Group = r_Group;
209
- const r_Guaranteed_Value_Selection = ($, $p) => _pa.block(() => {
210
- const l2s = $p['location 2 string'];
211
- const params = $p['parameters'];
212
- return _pa.block(() => {
213
- const p_start = _pa.cc($['start'], ($) => _pa.cc($['state group'], ($) => {
214
- switch ($[0]) {
215
- case 'constraint': return _pa.ss($, ($) => ['constraint', _pa.block(() => {
216
- return _pa.cc($['state group'], ($) => {
217
- switch ($[0]) {
218
- case 'component': return _pa.ss($, ($) => ['component', _pa.block(() => {
219
- return _pa.block(() => {
220
- const p_property = _pa.cc($['property'], ($) => _i_generic.get_entry(params['lookups']['sibling property resolvers'], {
221
- 'location 2 string': l2s,
222
- 'reference': $,
223
- }));
224
- const p_constraint = _pa.cc($['constraint'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(_pd.implement_me(), null), {
225
- 'location 2 string': l2s,
226
- 'reference': $,
227
- }));
228
- return ({
229
- 'constraint': p_constraint,
230
- 'property': p_property,
231
- });
232
- });
233
- })]);
234
- case 'reference': return _pa.ss($, ($) => ['reference', _pa.block(() => {
235
- return _pa.block(() => {
236
- const p_property = _pa.cc($['property'], ($) => _i_generic.get_entry(params['lookups']['sibling property resolvers'], {
237
- 'location 2 string': l2s,
238
- 'reference': $,
239
- }));
240
- const p_constraint = _pa.cc($['constraint'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(_pd.implement_me(), null), {
241
- 'location 2 string': l2s,
242
- 'reference': $,
243
- }));
244
- return ({
245
- 'constraint': p_constraint,
246
- 'property': p_property,
247
- });
248
- });
249
- })]);
250
- default: return _pa.au($[0]);
251
- }
252
- });
253
- })]);
254
- case 'linked entry': return _pa.ss($, ($) => ['linked entry', _pa.block(() => {
255
- return null;
256
- })]);
257
- case 'list cursor': return _pa.ss($, ($) => ['list cursor', _pa.block(() => {
258
- return null;
259
- })]);
260
- case 'option constraint': return _pa.ss($, ($) => ['option constraint', _pa.block(() => {
261
- const c_oc = params['values']['option constraints'].transform(($) => $, () => _pa.panic('ABORT SELECTION'));
262
- return _i_generic.get_entry(_i_generic.dictionary_to_lookup(c_oc, null), {
263
- 'location 2 string': l2s,
264
- 'reference': $,
265
- });
266
- })]);
267
- case 'parameter': return _pa.ss($, ($) => ['parameter', _pa.block(() => {
268
- return _i_generic.get_entry(_i_generic.dictionary_to_lookup(params['values']['signature']['resolved parameters']['values'], null), {
269
- 'location 2 string': l2s,
270
- 'reference': $,
271
- });
272
- })]);
273
- case 'parent sibling': return _pa.ss($, ($) => ['parent sibling', _pa.block(() => {
274
- return _i_generic.get_entry(params['lookups']['parent sibling property resolvers'], {
275
- 'location 2 string': l2s,
276
- 'reference': $,
277
- });
278
- })]);
279
- case 'result': return _pa.ss($, ($) => ['result', _pa.block(() => {
280
- return _pa.cc($['state group'], ($) => {
281
- switch ($[0]) {
282
- case 'list': return _pa.ss($, ($) => ['list', _pa.block(() => {
283
- return _pa.block(() => {
284
- const p_property = _pa.cc($['property'], ($) => _i_generic.get_entry(params['lookups']['sibling property resolvers'], {
285
- 'location 2 string': l2s,
286
- 'reference': $,
287
- }));
288
- const p_list_result = _pa.cc($['list result'], ($) => _pd.implement_me());
289
- return ({
290
- 'list result': p_list_result,
291
- 'property': p_property,
292
- });
293
- });
294
- })]);
295
- case 'optional value': return _pa.ss($, ($) => ['optional value', _pa.block(() => {
296
- return _pa.block(() => {
297
- const p_property = _pa.cc($['property'], ($) => _i_generic.get_entry(params['lookups']['sibling property resolvers'], {
298
- 'location 2 string': l2s,
299
- 'reference': $,
300
- }));
301
- const p_optional_value = _pa.cc($['optional value'], ($) => _pd.implement_me());
302
- const p_result = _pa.cc($['result'], ($) => (0, exports.r_Type_Reference)($, {
303
- 'location 2 string': l2s,
304
- 'parameters': ({
305
- 'lookups': ({
306
- 'types': _i_generic.dictionary_to_lookup(params['values']['types']['dictionary'], null),
307
- }),
308
- 'values': ({
309
- 'imports': params['values']['imports'],
310
- }),
311
- }),
312
- }));
313
- return ({
314
- 'optional value': p_optional_value,
315
- 'property': p_property,
316
- 'result': p_result,
317
- });
318
- });
319
- })]);
320
- case 'state group': return _pa.ss($, ($) => ['state group', _pa.block(() => {
321
- return _pa.block(() => {
322
- const p_property = _pa.cc($['property'], ($) => _i_generic.get_entry(params['lookups']['sibling property resolvers'], {
323
- 'location 2 string': l2s,
324
- 'reference': $,
325
- }));
326
- const p_state_group = _pa.cc($['state group'], ($) => _pd.implement_me());
327
- const p_result = _pa.cc($['result'], ($) => (0, exports.r_Type_Reference)($, {
328
- 'location 2 string': l2s,
329
- 'parameters': ({
330
- 'lookups': ({
331
- 'types': _i_generic.dictionary_to_lookup(params['values']['types']['dictionary'], null),
332
- }),
333
- 'values': ({
334
- 'imports': params['values']['imports'],
335
- }),
336
- }),
337
- }));
338
- return ({
339
- 'property': p_property,
340
- 'result': p_result,
341
- 'state group': p_state_group,
342
- });
343
- });
344
- })]);
345
- default: return _pa.au($[0]);
346
- }
347
- });
348
- })]);
349
- case 'sibling': return _pa.ss($, ($) => ['sibling', _pa.block(() => {
350
- return _i_generic.get_entry(params['lookups']['sibling property resolvers'], {
351
- 'location 2 string': l2s,
352
- 'reference': $,
353
- });
354
- })]);
355
- default: return _pa.au($[0]);
356
- }
357
- }));
358
- const p_tail = _pa.cc($['tail'], ($) => (0, exports.r_Relative_Value_Selection)($, {
359
- 'location 2 string': l2s,
360
- 'parameters': ({
361
- 'lookups': null,
362
- 'values': ({
363
- 'node': _pd.implement_me(),
364
- }),
365
- }),
366
- }));
367
- const p_resulting_node = _pa.cc($['resulting node'], ($) => p_tail['resulting node']);
368
- return ({
369
- 'resulting node': p_resulting_node,
370
- 'start': p_start,
371
- 'tail': p_tail,
372
- });
373
- });
374
- });
375
- exports.r_Guaranteed_Value_Selection = r_Guaranteed_Value_Selection;
376
- const r_Imports = ($, $p) => _pa.block(() => {
377
- const l2s = $p['location 2 string'];
378
- const params = $p['parameters'];
379
- return _pa.block(() => {
380
- return _i_generic.resolve_dictionary($, {
381
- 'location 2 string': l2s,
382
- 'map': ($, $p) => _pa.block(() => {
383
- return _pa.cc($['value'], ($) => _pa.block(() => {
384
- const p_schema_set_child = _pa.cc($['schema set child'], ($) => _i_generic.get_entry_from_stack(params['lookups']['sibling schemas'], {
385
- 'location 2 string': l2s,
386
- 'reference': $,
387
- }));
388
- const p_schema = _pa.cc($['schema'], ($) => _pd.implement_me());
389
- return ({
390
- 'schema': p_schema,
391
- 'schema set child': p_schema_set_child,
392
- });
393
- }));
394
- }),
395
- });
396
- });
397
- });
398
- exports.r_Imports = r_Imports;
399
- const r_Lookup_Selection = ($, $p) => _pa.block(() => {
400
- const l2s = $p['location 2 string'];
401
- const params = $p['parameters'];
402
- return _pa.block(() => {
403
- const p_type = _pa.cc($['type'], ($) => _pa.cc($['state group'], ($) => {
404
- switch ($[0]) {
405
- case 'dictionary': return _pa.ss($, ($) => ['dictionary', _pa.block(() => {
406
- return _pa.block(() => {
407
- const p_selection = _pa.cc($['selection'], ($) => (0, exports.r_Guaranteed_Value_Selection)($, {
408
- 'location 2 string': l2s,
409
- 'parameters': ({
410
- 'lookups': params['lookups'],
411
- 'values': params['values'],
412
- }),
413
- }));
414
- const p_selected_dictionary = _pa.cc($['selected dictionary'], ($) => _pd.implement_me());
415
- return ({
416
- 'selected dictionary': p_selected_dictionary,
417
- 'selection': p_selection,
418
- });
419
- });
420
- })]);
421
- case 'not circular dependent siblings': return _pa.ss($, ($) => ['not circular dependent siblings', _pa.block(() => {
422
- const c_cd = params['values']['current ordered dictionary'].transform(($) => $, () => _pa.panic('ABORT SELECTION'));
423
- return c_cd;
424
- })]);
425
- case 'parameter': return _pa.ss($, ($) => ['parameter', _pa.block(() => {
426
- return _i_generic.get_entry(_i_generic.dictionary_to_lookup(params['values']['signature']['resolved parameters']['lookups'], null), {
427
- 'location 2 string': l2s,
428
- 'reference': $,
429
- });
430
- })]);
431
- case 'possibly circular dependent siblings': return _pa.ss($, ($) => ['possibly circular dependent siblings', _pa.block(() => {
432
- const c_cd = params['values']['current dictionary'].transform(($) => $, () => _pa.panic('ABORT SELECTION'));
433
- return c_cd;
434
- })]);
435
- default: return _pa.au($[0]);
436
- }
437
- }));
438
- const p_resulting_dictionary = _pa.cc($['resulting dictionary'], ($) => _pd.implement_me());
439
- return ({
440
- 'resulting dictionary': p_resulting_dictionary,
441
- 'type': p_type,
442
- });
443
- });
444
- });
445
- exports.r_Lookup_Selection = r_Lookup_Selection;
446
- const r_Node_Resolver = ($, $p) => _pa.block(() => {
447
- const l2s = $p['location 2 string'];
448
- const params = $p['parameters'];
449
- return _pa.cc($['state group'], ($) => {
450
- switch ($[0]) {
451
- case 'boolean': return _pa.ss($, ($) => ['boolean', _pa.block(() => {
452
- const c_definition = _pd.implement_me();
453
- return null;
454
- })]);
455
- case 'component': return _pa.ss($, ($) => ['component', _pa.block(() => {
456
- const c_definition = _pd.implement_me();
457
- return _pa.block(() => {
458
- const p_location = _pa.cc($['location'], ($) => _pa.cc($['state group'], ($) => {
459
- switch ($[0]) {
460
- case 'external': return _pa.ss($, ($) => ['external', _pa.block(() => {
461
- const c_import = params['values']['imports'].transform(($) => $, () => _pa.panic('ABORT SELECTION'));
462
- return _pa.block(() => {
463
- const p_import = _pa.cc($['import'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(c_import, null), {
464
- 'location 2 string': l2s,
465
- 'reference': $,
466
- }));
467
- const p_type = _pa.cc($['type'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(_pd.implement_me(), null), {
468
- 'location 2 string': l2s,
469
- 'reference': $,
470
- }));
471
- return ({
472
- 'import': p_import,
473
- 'type': p_type,
474
- });
475
- });
476
- })]);
477
- case 'internal': return _pa.ss($, ($) => ['internal', _pa.block(() => {
478
- return _i_generic.get_entry(_i_generic.dictionary_to_lookup(params['values']['signatures']['dictionary'], null), {
479
- 'location 2 string': l2s,
480
- 'reference': $,
481
- });
482
- })]);
483
- default: return _pa.au($[0]);
484
- }
485
- }));
486
- const p_signature = _pa.cc($['signature'], ($) => _pd.implement_me());
487
- const p_arguments = _pa.cc($['arguments'], ($) => $.map(($) => _pa.block(() => {
488
- return _pa.block(() => {
489
- const p_values = _pa.cc($['values'], ($) => $.map(($) => _pa.block(() => {
490
- return _pa.block(() => {
491
- const benchmark = p_signature['resolved parameters']['values'];
492
- return _i_generic.resolve_dictionary($, {
493
- 'location 2 string': l2s,
494
- 'map': ($, $p) => _pa.block(() => {
495
- const linked_entry = _pd.implement_me();
496
- return _pa.cc($['value'], ($) => _pa.cc($['state group'], ($) => {
497
- switch ($[0]) {
498
- case 'optional': return _pa.ss($, ($) => ['optional', _pa.block(() => {
499
- return (0, exports.r_Optional_Value_Initialization)($, {
500
- 'location 2 string': l2s,
501
- 'parameters': ({
502
- 'lookups': params['lookups'],
503
- 'values': params['values'],
504
- }),
505
- });
506
- })]);
507
- case 'parameter': return _pa.ss($, ($) => ['parameter', _pa.block(() => {
508
- return _i_generic.get_entry(_i_generic.dictionary_to_lookup(params['values']['signature']['resolved parameters']['values'], null), {
509
- 'location 2 string': l2s,
510
- 'reference': $,
511
- });
512
- })]);
513
- case 'required': return _pa.ss($, ($) => ['required', _pa.block(() => {
514
- return (0, exports.r_Guaranteed_Value_Selection)($, {
515
- 'location 2 string': l2s,
516
- 'parameters': ({
517
- 'lookups': params['lookups'],
518
- 'values': params['values'],
519
- }),
520
- });
521
- })]);
522
- default: return _pa.au($[0]);
523
- }
524
- }));
525
- }),
526
- });
527
- });
528
- })));
529
- const p_lookups = _pa.cc($['lookups'], ($) => $.map(($) => _pa.block(() => {
530
- return _pa.block(() => {
531
- const benchmark = p_signature['resolved parameters']['lookups'];
532
- return _i_generic.resolve_dictionary($, {
533
- 'location 2 string': l2s,
534
- 'map': ($, $p) => _pa.block(() => {
535
- const linked_entry = _pd.implement_me();
536
- return _pa.cc($['value'], ($) => _pa.cc($['state group'], ($) => {
537
- switch ($[0]) {
538
- case 'empty stack': return _pa.ss($, ($) => ['empty stack', _pa.block(() => {
539
- return null;
540
- })]);
541
- case 'not set': return _pa.ss($, ($) => ['not set', _pa.block(() => {
542
- return null;
543
- })]);
544
- case 'selection': return _pa.ss($, ($) => ['selection', _pa.block(() => {
545
- return (0, exports.r_Lookup_Selection)($, {
546
- 'location 2 string': l2s,
547
- 'parameters': ({
548
- 'lookups': params['lookups'],
549
- 'values': params['values'],
550
- }),
551
- });
552
- })]);
553
- case 'stack': return _pa.ss($, ($) => ['stack', _pa.block(() => {
554
- return _pa.block(() => {
555
- const p_stack = _pa.cc($['stack'], ($) => (0, exports.r_Lookup_Selection)($, {
556
- 'location 2 string': l2s,
557
- 'parameters': ({
558
- 'lookups': params['lookups'],
559
- 'values': params['values'],
560
- }),
561
- }));
562
- const p_element = _pa.cc($['element'], ($) => (0, exports.r_Lookup_Selection)($, {
563
- 'location 2 string': l2s,
564
- 'parameters': ({
565
- 'lookups': params['lookups'],
566
- 'values': params['values'],
567
- }),
568
- }));
569
- return ({
570
- 'element': p_element,
571
- 'stack': p_stack,
572
- });
573
- });
574
- })]);
575
- default: return _pa.au($[0]);
576
- }
577
- }));
578
- }),
579
- });
580
- });
581
- })));
582
- return ({
583
- 'lookups': p_lookups,
584
- 'values': p_values,
585
- });
586
- });
587
- })));
588
- const p_constraints = _pa.cc($['constraints'], ($) => (0, exports.r_Property_Constraints)($, {
589
- 'location 2 string': l2s,
590
- 'parameters': ({
591
- 'lookups': null,
592
- 'values': ({
593
- 'node': p_signature['type']['node'],
594
- }),
595
- }),
596
- }));
597
- return ({
598
- 'arguments': p_arguments,
599
- 'constraints': p_constraints,
600
- 'location': p_location,
601
- 'signature': p_signature,
602
- });
603
- });
604
- })]);
605
- case 'dictionary': return _pa.ss($, ($) => ['dictionary', _pa.block(() => {
606
- const c_definition = _pd.implement_me();
607
- return _pa.block(() => {
608
- const p_definition = _pa.cc($['definition'], ($) => c_definition);
609
- const p_benchmark = _pa.cc($['benchmark'], ($) => $.map(($) => _pa.block(() => {
610
- return (0, exports.r_Benchmark)($, {
611
- 'location 2 string': l2s,
612
- 'parameters': ({
613
- 'lookups': params['lookups'],
614
- 'values': params['values'],
615
- }),
616
- });
617
- })));
618
- const p_resolver = _pa.cc($['resolver'], ($) => (0, exports.r_Node_Resolver)($, {
619
- 'location 2 string': l2s,
620
- 'parameters': ({
621
- 'lookups': params['lookups'],
622
- 'values': ({
623
- 'current dictionary': _pa.set(p_definition),
624
- 'current ordered dictionary': _pa.set(p_definition),
625
- 'definition': p_definition['node'],
626
- 'imports': params['values']['imports'],
627
- 'linked entry': _pd.implement_me(),
628
- 'list cursor': params['values']['list cursor'],
629
- 'option constraints': params['values']['option constraints'],
630
- 'signature': params['values']['signature'],
631
- 'signatures': params['values']['signatures'],
632
- 'types': params['values']['types'],
633
- }),
634
- }),
635
- }));
636
- return ({
637
- 'benchmark': p_benchmark,
638
- 'definition': p_definition,
639
- 'resolver': p_resolver,
640
- });
641
- });
642
- })]);
643
- case 'group': return _pa.ss($, ($) => ['group', _pa.block(() => {
644
- const c_definition = _pd.implement_me();
645
- return (0, exports.r_Node_Resolver_Group)($, {
646
- 'location 2 string': l2s,
647
- 'parameters': ({
648
- 'lookups': ({
649
- 'parent sibling property resolvers': params['lookups']['sibling property resolvers'],
650
- 'sibling property resolvers': params['lookups']['sibling property resolvers'],
651
- }),
652
- 'values': ({
653
- 'current dictionary': params['values']['current dictionary'],
654
- 'current ordered dictionary': params['values']['current ordered dictionary'],
655
- 'definition': c_definition,
656
- 'imports': params['values']['imports'],
657
- 'linked entry': params['values']['linked entry'],
658
- 'list cursor': params['values']['list cursor'],
659
- 'option constraints': params['values']['option constraints'],
660
- 'signature': params['values']['signature'],
661
- 'signatures': params['values']['signatures'],
662
- 'types': params['values']['types'],
663
- }),
664
- }),
665
- });
666
- })]);
667
- case 'list': return _pa.ss($, ($) => ['list', _pa.block(() => {
668
- const c_definition = _pd.implement_me();
669
- return _pa.block(() => {
670
- const p_definition = _pa.cc($['definition'], ($) => c_definition);
671
- const p_result = _pa.cc($['result'], ($) => $.map(($) => _pa.block(() => {
672
- return (0, exports.r_Node_Resolver_List_Result)($, {
673
- 'location 2 string': l2s,
674
- 'parameters': ({
675
- 'lookups': ({
676
- 'types': _i_generic.dictionary_to_lookup(params['values']['types']['dictionary'], null),
677
- }),
678
- 'values': ({
679
- 'imports': params['values']['imports'],
680
- }),
681
- }),
682
- });
683
- })));
684
- const p_resolver = _pa.cc($['resolver'], ($) => (0, exports.r_Node_Resolver)($, {
685
- 'location 2 string': l2s,
686
- 'parameters': ({
687
- 'lookups': params['lookups'],
688
- 'values': ({
689
- 'current dictionary': params['values']['current dictionary'],
690
- 'current ordered dictionary': params['values']['current ordered dictionary'],
691
- 'definition': c_definition['node'],
692
- 'imports': params['values']['imports'],
693
- 'linked entry': params['values']['linked entry'],
694
- 'list cursor': _pa.set(_pd.implement_me()),
695
- 'option constraints': params['values']['option constraints'],
696
- 'signature': params['values']['signature'],
697
- 'signatures': params['values']['signatures'],
698
- 'types': params['values']['types'],
699
- }),
700
- }),
701
- }));
702
- return ({
703
- 'definition': p_definition,
704
- 'resolver': p_resolver,
705
- 'result': p_result,
706
- });
707
- });
708
- })]);
709
- case 'nothing': return _pa.ss($, ($) => ['nothing', _pa.block(() => {
710
- const c_definition = _pd.implement_me();
711
- return null;
712
- })]);
713
- case 'number': return _pa.ss($, ($) => ['number', _pa.block(() => {
714
- const c_definition = _pd.implement_me();
715
- return null;
716
- })]);
717
- case 'optional': return _pa.ss($, ($) => ['optional', _pa.block(() => {
718
- const c_definition = _pd.implement_me();
719
- return _pa.block(() => {
720
- const p_constraints = _pa.cc($['constraints'], ($) => (0, exports.r_Option_Constraints)($, {
721
- 'location 2 string': l2s,
722
- 'parameters': ({
723
- 'lookups': params['lookups'],
724
- 'values': params['values'],
725
- }),
726
- }));
727
- const p_resolver = _pa.cc($['resolver'], ($) => (0, exports.r_Node_Resolver)($, {
728
- 'location 2 string': l2s,
729
- 'parameters': ({
730
- 'lookups': params['lookups'],
731
- 'values': ({
732
- 'current dictionary': params['values']['current dictionary'],
733
- 'current ordered dictionary': params['values']['current ordered dictionary'],
734
- 'definition': c_definition,
735
- 'imports': params['values']['imports'],
736
- 'linked entry': params['values']['linked entry'],
737
- 'list cursor': params['values']['list cursor'],
738
- 'option constraints': params['values']['option constraints'],
739
- 'signature': params['values']['signature'],
740
- 'signatures': params['values']['signatures'],
741
- 'types': params['values']['types'],
742
- }),
743
- }),
744
- }));
745
- return ({
746
- 'constraints': p_constraints,
747
- 'resolver': p_resolver,
748
- });
749
- });
750
- })]);
751
- case 'reference': return _pa.ss($, ($) => ['reference', _pa.block(() => {
752
- const c_definition = _pd.implement_me();
753
- return _pa.block(() => {
754
- const p_definition = _pa.cc($['definition'], ($) => c_definition);
755
- const p_type = _pa.cc($['type'], ($) => _pa.cc($['state group'], ($) => {
756
- switch ($[0]) {
757
- case 'derived': return _pa.ss($, ($) => ['derived', _pa.block(() => {
758
- const c_definition = _pd.implement_me();
759
- return _pa.block(() => {
760
- const p_value = _pa.cc($['value'], ($) => (0, exports.r_Guaranteed_Value_Selection)($, {
761
- 'location 2 string': l2s,
762
- 'parameters': ({
763
- 'lookups': params['lookups'],
764
- 'values': params['values'],
765
- }),
766
- }));
767
- return ({
768
- 'value': p_value,
769
- });
770
- });
771
- })]);
772
- case 'selected': return _pa.ss($, ($) => ['selected', _pa.block(() => {
773
- const c_definition = _pd.implement_me();
774
- return _pa.block(() => {
775
- const p_definition = _pa.cc($['definition'], ($) => c_definition);
776
- const p_lookup = _pa.cc($['lookup'], ($) => (0, exports.r_Lookup_Selection)($, {
777
- 'location 2 string': l2s,
778
- 'parameters': ({
779
- 'lookups': params['lookups'],
780
- 'values': params['values'],
781
- }),
782
- }));
783
- const p_constraints = _pa.cc($['constraints'], ($) => (0, exports.r_Property_Constraints)($, {
784
- 'location 2 string': l2s,
785
- 'parameters': ({
786
- 'lookups': null,
787
- 'values': ({
788
- 'node': p_lookup['resulting dictionary']['node'],
789
- }),
790
- }),
791
- }));
792
- return ({
793
- 'constraints': p_constraints,
794
- 'definition': p_definition,
795
- 'lookup': p_lookup,
796
- });
797
- });
798
- })]);
799
- default: return _pa.au($[0]);
800
- }
801
- }));
802
- return ({
803
- 'definition': p_definition,
804
- 'type': p_type,
805
- });
806
- });
807
- })]);
808
- case 'state group': return _pa.ss($, ($) => ['state group', _pa.block(() => {
809
- const c_definition = _pd.implement_me();
810
- return _pa.block(() => {
811
- const p_definition = _pa.cc($['definition'], ($) => c_definition);
812
- const p_states = _pa.cc($['states'], ($) => _pa.block(() => {
813
- const benchmark = c_definition;
814
- return _i_generic.resolve_dictionary($, {
815
- 'location 2 string': l2s,
816
- 'map': ($, $p) => _pa.block(() => {
817
- const linked_entry = _pd.implement_me();
818
- return _pa.cc($['value'], ($) => _pa.block(() => {
819
- const p_constraints = _pa.cc($['constraints'], ($) => (0, exports.r_Option_Constraints)($, {
820
- 'location 2 string': l2s,
821
- 'parameters': ({
822
- 'lookups': params['lookups'],
823
- 'values': params['values'],
824
- }),
825
- }));
826
- const p_resolver = _pa.cc($['resolver'], ($) => (0, exports.r_Node_Resolver)($, {
827
- 'location 2 string': l2s,
828
- 'parameters': ({
829
- 'lookups': params['lookups'],
830
- 'values': ({
831
- 'current dictionary': params['values']['current dictionary'],
832
- 'current ordered dictionary': params['values']['current ordered dictionary'],
833
- 'definition': linked_entry['node'],
834
- 'imports': params['values']['imports'],
835
- 'linked entry': params['values']['linked entry'],
836
- 'list cursor': params['values']['list cursor'],
837
- 'option constraints': params['values']['option constraints'],
838
- 'signature': params['values']['signature'],
839
- 'signatures': params['values']['signatures'],
840
- 'types': params['values']['types'],
841
- }),
842
- }),
843
- }));
844
- return ({
845
- 'constraints': p_constraints,
846
- 'resolver': p_resolver,
847
- });
848
- }));
849
- }),
850
- });
851
- }));
852
- return ({
853
- 'definition': p_definition,
854
- 'states': p_states,
855
- });
856
- });
857
- })]);
858
- case 'text': return _pa.ss($, ($) => ['text', _pa.block(() => {
859
- const c_definition = _pd.implement_me();
860
- return null;
861
- })]);
862
- default: return _pa.au($[0]);
863
- }
864
- });
865
- });
866
- exports.r_Node_Resolver = r_Node_Resolver;
867
- const r_Node_Resolver_Group = ($, $p) => _pa.block(() => {
868
- const l2s = $p['location 2 string'];
869
- const params = $p['parameters'];
870
- return _pa.block(() => {
871
- const benchmark = params['values']['definition'];
872
- return _i_generic.resolve_ordered_dictionary($, {
873
- 'location 2 string': l2s,
874
- 'map': ($, $p) => _pa.block(() => {
875
- const linked_entry = _pd.implement_me();
876
- return _pa.cc($['value'], ($) => _pa.block(() => {
877
- const p_definition = _pa.cc($['definition'], ($) => linked_entry);
878
- const p_resolver = _pa.cc($['resolver'], ($) => (0, exports.r_Node_Resolver)($, {
879
- 'location 2 string': l2s,
880
- 'parameters': ({
881
- 'lookups': ({
882
- 'parent sibling property resolvers': params['lookups']['sibling property resolvers'],
883
- 'sibling property resolvers': $p['not circular dependent siblings'],
884
- }),
885
- 'values': ({
886
- 'current dictionary': params['values']['current dictionary'],
887
- 'current ordered dictionary': params['values']['current ordered dictionary'],
888
- 'definition': linked_entry['node'],
889
- 'imports': params['values']['imports'],
890
- 'linked entry': params['values']['linked entry'],
891
- 'list cursor': params['values']['list cursor'],
892
- 'option constraints': params['values']['option constraints'],
893
- 'signature': params['values']['signature'],
894
- 'signatures': params['values']['signatures'],
895
- 'types': params['values']['types'],
896
- }),
897
- }),
898
- }));
899
- return ({
900
- 'definition': p_definition,
901
- 'resolver': p_resolver,
902
- });
903
- }));
904
- }),
905
- });
906
- });
907
- });
908
- exports.r_Node_Resolver_Group = r_Node_Resolver_Group;
909
- const r_Node_Resolver_List_Result = ($, $p) => _pa.block(() => {
910
- const l2s = $p['location 2 string'];
911
- const params = $p['parameters'];
912
- return (0, exports.r_Type_Reference)($, {
913
- 'location 2 string': l2s,
914
- 'parameters': ({
915
- 'lookups': ({
916
- 'types': params['lookups']['types'],
917
- }),
918
- 'values': ({
919
- 'imports': params['values']['imports'],
920
- }),
921
- }),
922
- });
923
- });
924
- exports.r_Node_Resolver_List_Result = r_Node_Resolver_List_Result;
925
- const r_Number_Type = ($, $p) => _pa.block(() => {
926
- const l2s = $p['location 2 string'];
927
- const params = $p['parameters'];
928
- return _pa.block(() => {
929
- const p_precision = _pa.cc($['precision'], ($) => _pa.cc($['state group'], ($) => {
930
- switch ($[0]) {
931
- case 'approximation': return _pa.ss($, ($) => ['approximation', _pa.block(() => {
932
- return _pa.block(() => {
933
- const p_significant_digits = _pa.cc($['significant digits'], ($) => $);
934
- return ({
935
- 'significant digits': p_significant_digits,
936
- });
937
- });
938
- })]);
939
- case 'exact': return _pa.ss($, ($) => ['exact', _pa.block(() => {
940
- return _pa.block(() => {
941
- const p_decimal_separator_offset = _pa.cc($['decimal separator offset'], ($) => $.map(($) => _pa.block(() => {
942
- return $;
943
- })));
944
- const p_type = _pa.cc($['type'], ($) => _pa.cc($['state group'], ($) => {
945
- switch ($[0]) {
946
- case 'integer': return _pa.ss($, ($) => ['integer', _pa.block(() => {
947
- return null;
948
- })]);
949
- case 'natural': return _pa.ss($, ($) => ['natural', _pa.block(() => {
950
- return null;
951
- })]);
952
- case 'positive natural': return _pa.ss($, ($) => ['positive natural', _pa.block(() => {
953
- return null;
954
- })]);
955
- default: return _pa.au($[0]);
956
- }
957
- }));
958
- return ({
959
- 'decimal separator offset': p_decimal_separator_offset,
960
- 'type': p_type,
961
- });
962
- });
963
- })]);
964
- default: return _pa.au($[0]);
965
- }
966
- }));
967
- return ({
968
- 'precision': p_precision,
969
- });
970
- });
971
- });
972
- exports.r_Number_Type = r_Number_Type;
973
- const r_Option_Constraints = ($, $p) => _pa.block(() => {
974
- const l2s = $p['location 2 string'];
975
- const params = $p['parameters'];
976
- return _pa.block(() => {
977
- return _i_generic.resolve_dictionary($, {
978
- 'location 2 string': l2s,
979
- 'map': ($, $p) => _pa.block(() => {
980
- return _pa.cc($['value'], ($) => _pa.cc($['state group'], ($) => {
981
- switch ($[0]) {
982
- case 'assert is set': return _pa.ss($, ($) => ['assert is set', _pa.block(() => {
983
- return (0, exports.r_Possible_Value_Selection)($, {
984
- 'location 2 string': l2s,
985
- 'parameters': ({
986
- 'lookups': params['lookups'],
987
- 'values': params['values'],
988
- }),
989
- });
990
- })]);
991
- case 'state': return _pa.ss($, ($) => ['state', _pa.block(() => {
992
- return _pa.block(() => {
993
- const p_selection = _pa.cc($['selection'], ($) => (0, exports.r_Guaranteed_Value_Selection)($, {
994
- 'location 2 string': l2s,
995
- 'parameters': ({
996
- 'lookups': params['lookups'],
997
- 'values': params['values'],
998
- }),
999
- }));
1000
- const p_selected_state_group = _pa.cc($['selected state group'], ($) => _pd.implement_me());
1001
- const p_state = _pa.cc($['state'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(p_selected_state_group, null), {
1002
- 'location 2 string': l2s,
1003
- 'reference': $,
1004
- }));
1005
- return ({
1006
- 'selected state group': p_selected_state_group,
1007
- 'selection': p_selection,
1008
- 'state': p_state,
1009
- });
1010
- });
1011
- })]);
1012
- default: return _pa.au($[0]);
1013
- }
1014
- }));
1015
- }),
1016
- });
1017
- });
1018
- });
1019
- exports.r_Option_Constraints = r_Option_Constraints;
1020
- const r_Optional_Value_Initialization = ($, $p) => _pa.block(() => {
1021
- const l2s = $p['location 2 string'];
1022
- const params = $p['parameters'];
1023
- return _pa.cc($['state group'], ($) => {
1024
- switch ($[0]) {
1025
- case 'not set': return _pa.ss($, ($) => ['not set', _pa.block(() => {
1026
- return null;
1027
- })]);
1028
- case 'selection': return _pa.ss($, ($) => ['selection', _pa.block(() => {
1029
- return (0, exports.r_Possible_Value_Selection)($, {
1030
- 'location 2 string': l2s,
1031
- 'parameters': ({
1032
- 'lookups': params['lookups'],
1033
- 'values': params['values'],
1034
- }),
1035
- });
1036
- })]);
1037
- case 'set': return _pa.ss($, ($) => ['set', _pa.block(() => {
1038
- return (0, exports.r_Guaranteed_Value_Selection)($, {
1039
- 'location 2 string': l2s,
1040
- 'parameters': ({
1041
- 'lookups': params['lookups'],
1042
- 'values': params['values'],
1043
- }),
1044
- });
1045
- })]);
1046
- default: return _pa.au($[0]);
1047
- }
1048
- });
1049
- });
1050
- exports.r_Optional_Value_Initialization = r_Optional_Value_Initialization;
1051
- const r_Possible_Value_Selection = ($, $p) => _pa.block(() => {
1052
- const l2s = $p['location 2 string'];
1053
- const params = $p['parameters'];
1054
- return _pa.cc($['state group'], ($) => {
1055
- switch ($[0]) {
1056
- case 'parameter': return _pa.ss($, ($) => ['parameter', _pa.block(() => {
1057
- return _i_generic.get_entry(_i_generic.dictionary_to_lookup(params['values']['signature']['resolved parameters']['values'], null), {
1058
- 'location 2 string': l2s,
1059
- 'reference': $,
1060
- });
1061
- })]);
1062
- case 'result': return _pa.ss($, ($) => ['result', _pa.block(() => {
1063
- return _pa.cc($['state group'], ($) => {
1064
- switch ($[0]) {
1065
- case 'optional value': return _pa.ss($, ($) => ['optional value', _pa.block(() => {
1066
- return _pa.block(() => {
1067
- const p_property = _pa.cc($['property'], ($) => _i_generic.get_entry(params['lookups']['sibling property resolvers'], {
1068
- 'location 2 string': l2s,
1069
- 'reference': $,
1070
- }));
1071
- const p_optional_value = _pa.cc($['optional value'], ($) => _pd.implement_me());
1072
- const p_result = _pa.cc($['result'], ($) => (0, exports.r_Type_Reference)($, {
1073
- 'location 2 string': l2s,
1074
- 'parameters': ({
1075
- 'lookups': ({
1076
- 'types': _i_generic.dictionary_to_lookup(params['values']['types']['dictionary'], null),
1077
- }),
1078
- 'values': ({
1079
- 'imports': params['values']['imports'],
1080
- }),
1081
- }),
1082
- }));
1083
- return ({
1084
- 'optional value': p_optional_value,
1085
- 'property': p_property,
1086
- 'result': p_result,
1087
- });
1088
- });
1089
- })]);
1090
- case 'state group': return _pa.ss($, ($) => ['state group', _pa.block(() => {
1091
- return _pa.block(() => {
1092
- const p_property = _pa.cc($['property'], ($) => _i_generic.get_entry(params['lookups']['sibling property resolvers'], {
1093
- 'location 2 string': l2s,
1094
- 'reference': $,
1095
- }));
1096
- const p_state_group = _pa.cc($['state group'], ($) => _pd.implement_me());
1097
- const p_result = _pa.cc($['result'], ($) => (0, exports.r_Type_Reference)($, {
1098
- 'location 2 string': l2s,
1099
- 'parameters': ({
1100
- 'lookups': ({
1101
- 'types': _i_generic.dictionary_to_lookup(params['values']['types']['dictionary'], null),
1102
- }),
1103
- 'values': ({
1104
- 'imports': params['values']['imports'],
1105
- }),
1106
- }),
1107
- }));
1108
- return ({
1109
- 'property': p_property,
1110
- 'result': p_result,
1111
- 'state group': p_state_group,
1112
- });
1113
- });
1114
- })]);
1115
- default: return _pa.au($[0]);
1116
- }
1117
- });
1118
- })]);
1119
- default: return _pa.au($[0]);
1120
- }
1121
- });
1122
- });
1123
- exports.r_Possible_Value_Selection = r_Possible_Value_Selection;
1124
- const r_Presence = ($, $p) => _pa.block(() => {
1125
- const l2s = $p['location 2 string'];
1126
- const params = $p['parameters'];
1127
- return _pa.cc($['state group'], ($) => {
1128
- switch ($[0]) {
1129
- case 'optional': return _pa.ss($, ($) => ['optional', _pa.block(() => {
1130
- return null;
1131
- })]);
1132
- case 'required': return _pa.ss($, ($) => ['required', _pa.block(() => {
1133
- return null;
1134
- })]);
1135
- default: return _pa.au($[0]);
1136
- }
1137
- });
1138
- });
1139
- exports.r_Presence = r_Presence;
1140
- const r_Property_Constraint = ($, $p) => _pa.block(() => {
1141
- const l2s = $p['location 2 string'];
1142
- const params = $p['parameters'];
1143
- return _pa.block(() => {
1144
- const p_start = _pa.cc($['start'], ($) => _pa.cc($['state group'], ($) => {
1145
- switch ($[0]) {
1146
- case 'property': return _pa.ss($, ($) => ['property', _pa.block(() => {
1147
- return null;
1148
- })]);
1149
- case 'sibling': return _pa.ss($, ($) => ['sibling', _pa.block(() => {
1150
- return (0, exports.r_Reference_To_Property_Constraint)($, {
1151
- 'location 2 string': l2s,
1152
- 'parameters': ({
1153
- 'lookups': ({
1154
- 'property constraints': params['lookups']['property constraints'],
1155
- }),
1156
- 'values': null,
1157
- }),
1158
- });
1159
- })]);
1160
- default: return _pa.au($[0]);
1161
- }
1162
- }));
1163
- const p_constraint = _pa.cc($['constraint'], ($) => (0, exports.r_Constraint)($, {
1164
- 'location 2 string': l2s,
1165
- 'parameters': ({
1166
- 'lookups': null,
1167
- 'values': ({
1168
- 'node': _pd.implement_me(),
1169
- }),
1170
- }),
1171
- }));
1172
- return ({
1173
- 'constraint': p_constraint,
1174
- 'start': p_start,
1175
- });
1176
- });
1177
- });
1178
- exports.r_Property_Constraint = r_Property_Constraint;
1179
- const r_Property_Constraints = ($, $p) => _pa.block(() => {
1180
- const l2s = $p['location 2 string'];
1181
- const params = $p['parameters'];
1182
- return _pa.block(() => {
1183
- return _i_generic.resolve_ordered_dictionary($, {
1184
- 'location 2 string': l2s,
1185
- 'map': ($, $p) => _pa.block(() => {
1186
- return _pa.cc($['value'], ($) => (0, exports.r_Property_Constraint)($, {
1187
- 'location 2 string': l2s,
1188
- 'parameters': ({
1189
- 'lookups': ({
1190
- 'property constraints': $p['not circular dependent siblings'],
1191
- }),
1192
- 'values': null,
1193
- }),
1194
- }));
1195
- }),
1196
- });
1197
- });
1198
- });
1199
- exports.r_Property_Constraints = r_Property_Constraints;
1200
- const r_Reference_To_Property_Constraint = ($, $p) => _pa.block(() => {
1201
- const l2s = $p['location 2 string'];
1202
- const params = $p['parameters'];
1203
- return _i_generic.get_entry(params['lookups']['property constraints'], {
1204
- 'location 2 string': l2s,
1205
- 'reference': $,
1206
- });
1207
- });
1208
- exports.r_Reference_To_Property_Constraint = r_Reference_To_Property_Constraint;
1209
- const r_Relative_Value_Selection = ($, $p) => _pa.block(() => {
1210
- const l2s = $p['location 2 string'];
1211
- const params = $p['parameters'];
1212
- return _pa.block(() => {
1213
- const p_path = _pa.cc($['path'], ($) => $['list'].map(($) => _pa.cc($['element'], ($) => _pa.cc($['state group'], ($) => {
1214
- switch ($[0]) {
1215
- case 'component': return _pa.ss($, ($) => ['component', _pa.block(() => {
1216
- const c_definition = _pd.implement_me();
1217
- return null;
1218
- })]);
1219
- case 'group': return _pa.ss($, ($) => ['group', _pa.block(() => {
1220
- const c_definition = _pd.implement_me();
1221
- return _i_generic.get_entry(_i_generic.dictionary_to_lookup(c_definition['dictionary'], null), {
1222
- 'location 2 string': l2s,
1223
- 'reference': $,
1224
- });
1225
- })]);
1226
- case 'reference': return _pa.ss($, ($) => ['reference', _pa.block(() => {
1227
- const c_definition = _pd.implement_me();
1228
- return _pa.block(() => {
1229
- const p_definition = _pa.cc($['definition'], ($) => c_definition);
1230
- return ({
1231
- 'definition': p_definition,
1232
- });
1233
- });
1234
- })]);
1235
- default: return _pa.au($[0]);
1236
- }
1237
- }))));
1238
- const p_resulting_node = _pa.cc($['resulting node'], ($) => _pd.implement_me());
1239
- return ({
1240
- 'path': p_path,
1241
- 'resulting node': p_resulting_node,
1242
- });
1243
- });
1244
- });
1245
- exports.r_Relative_Value_Selection = r_Relative_Value_Selection;
1246
- const r_Resolve_Logic = ($, $p) => _pa.block(() => {
1247
- const l2s = $p['location 2 string'];
1248
- const params = $p['parameters'];
1249
- return _pa.block(() => {
1250
- const p_signatures = _pa.cc($['signatures'], ($) => _pa.block(() => {
1251
- const p_types = _pa.cc($['types'], ($) => (0, exports.r_Signatures)($, {
1252
- 'location 2 string': l2s,
1253
- 'parameters': ({
1254
- 'lookups': null,
1255
- 'values': ({
1256
- 'imports': params['values']['imports'],
1257
- 'types': params['values']['types'],
1258
- }),
1259
- }),
1260
- }));
1261
- return ({
1262
- 'types': p_types,
1263
- });
1264
- }));
1265
- const p_resolvers = _pa.cc($['resolvers'], ($) => (0, exports.r_Resolvers)($, {
1266
- 'location 2 string': l2s,
1267
- 'parameters': ({
1268
- 'lookups': null,
1269
- 'values': ({
1270
- 'imports': params['values']['imports'],
1271
- 'signatures': p_signatures['types'],
1272
- 'types': params['values']['types'],
1273
- }),
1274
- }),
1275
- }));
1276
- return ({
1277
- 'resolvers': p_resolvers,
1278
- 'signatures': p_signatures,
1279
- });
1280
- });
1281
- });
1282
- exports.r_Resolve_Logic = r_Resolve_Logic;
1283
- const r_Resolvers = ($, $p) => _pa.block(() => {
1284
- const l2s = $p['location 2 string'];
1285
- const params = $p['parameters'];
1286
- return _pa.block(() => {
1287
- const benchmark = params['values']['signatures'];
1288
- return _i_generic.resolve_ordered_dictionary($, {
1289
- 'location 2 string': l2s,
1290
- 'map': ($, $p) => _pa.block(() => {
1291
- const linked_entry = _pd.implement_me();
1292
- return _pa.cc($['value'], ($) => _pa.block(() => {
1293
- const p_signature = _pa.cc($['signature'], ($) => linked_entry);
1294
- const p_type_resolver = _pa.cc($['type resolver'], ($) => (0, exports.r_Node_Resolver)($, {
1295
- 'location 2 string': l2s,
1296
- 'parameters': ({
1297
- 'lookups': ({
1298
- 'parent sibling property resolvers': _pa.not_set(),
1299
- 'sibling property resolvers': _pa.not_set(),
1300
- }),
1301
- 'values': ({
1302
- 'current dictionary': _pa.not_set(),
1303
- 'current ordered dictionary': _pa.not_set(),
1304
- 'definition': linked_entry['type']['node'],
1305
- 'imports': _pa.set(params['values']['imports']),
1306
- 'linked entry': _pa.not_set(),
1307
- 'list cursor': _pa.not_set(),
1308
- 'option constraints': _pa.not_set(),
1309
- 'signature': p_signature,
1310
- 'signatures': params['values']['signatures'],
1311
- 'types': params['values']['types'],
1312
- }),
1313
- }),
1314
- }));
1315
- return ({
1316
- 'signature': p_signature,
1317
- 'type resolver': p_type_resolver,
1318
- });
1319
- }));
1320
- }),
1321
- });
1322
- });
1323
- });
1324
- exports.r_Resolvers = r_Resolvers;
1325
- const r_Schema = ($, $p) => _pa.block(() => {
1326
- const l2s = $p['location 2 string'];
1327
- const params = $p['parameters'];
1328
- return _pa.block(() => {
1329
- const p_imports = _pa.cc($['imports'], ($) => (0, exports.r_Imports)($, {
1330
- 'location 2 string': l2s,
1331
- 'parameters': ({
1332
- 'lookups': ({
1333
- 'sibling schemas': params['lookups']['sibling schemas'],
1334
- }),
1335
- 'values': null,
1336
- }),
1337
- }));
1338
- const p_globals = _pa.cc($['globals'], ($) => (0, exports.r_Globals)($, {
1339
- 'location 2 string': l2s,
1340
- 'parameters': ({
1341
- 'lookups': null,
1342
- 'values': null,
1343
- }),
1344
- }));
1345
- const p_types = _pa.cc($['types'], ($) => (0, exports.r_Types)($, {
1346
- 'location 2 string': l2s,
1347
- 'parameters': ({
1348
- 'lookups': null,
1349
- 'values': ({
1350
- 'globals': _pa.set(p_globals),
1351
- 'imports': _pa.set(p_imports),
1352
- }),
1353
- }),
1354
- }));
1355
- const p_complexity = _pa.cc($['complexity'], ($) => _pa.cc($['state group'], ($) => {
1356
- switch ($[0]) {
1357
- case 'constrained': return _pa.ss($, ($) => ['constrained', _pa.block(() => {
1358
- return (0, exports.r_Resolve_Logic)($, {
1359
- 'location 2 string': l2s,
1360
- 'parameters': ({
1361
- 'lookups': null,
1362
- 'values': ({
1363
- 'imports': p_imports,
1364
- 'types': p_types,
1365
- }),
1366
- }),
1367
- });
1368
- })]);
1369
- case 'unconstrained': return _pa.ss($, ($) => ['unconstrained', _pa.block(() => {
1370
- return null;
1371
- })]);
1372
- default: return _pa.au($[0]);
1373
- }
1374
- }));
1375
- return ({
1376
- 'complexity': p_complexity,
1377
- 'globals': p_globals,
1378
- 'imports': p_imports,
1379
- 'types': p_types,
1380
- });
1381
- });
1382
- });
1383
- exports.r_Schema = r_Schema;
1384
- const r_Schema_Tree = ($, $p) => _pa.block(() => {
1385
- const l2s = $p['location 2 string'];
1386
- const params = $p['parameters'];
1387
- return _pa.cc($['state group'], ($) => {
1388
- switch ($[0]) {
1389
- case 'schema': return _pa.ss($, ($) => ['schema', _pa.block(() => {
1390
- return (0, exports.r_Schema)($, {
1391
- 'location 2 string': l2s,
1392
- 'parameters': ({
1393
- 'lookups': ({
1394
- 'sibling schemas': params['lookups']['sibling schemas'],
1395
- }),
1396
- 'values': null,
1397
- }),
1398
- });
1399
- })]);
1400
- case 'set': return _pa.ss($, ($) => ['set', _pa.block(() => {
1401
- return (0, exports.r_Schemas)($, {
1402
- 'location 2 string': l2s,
1403
- 'parameters': ({
1404
- 'lookups': ({
1405
- 'sibling schemas': params['lookups']['sibling schemas'],
1406
- }),
1407
- 'values': null,
1408
- }),
1409
- });
1410
- })]);
1411
- default: return _pa.au($[0]);
1412
- }
1413
- });
1414
- });
1415
- exports.r_Schema_Tree = r_Schema_Tree;
1416
- const r_Schemas = ($, $p) => _pa.block(() => {
1417
- const l2s = $p['location 2 string'];
1418
- const params = $p['parameters'];
1419
- return _pa.block(() => {
1420
- return _i_generic.resolve_ordered_dictionary($, {
1421
- 'location 2 string': l2s,
1422
- 'map': ($, $p) => _pa.block(() => {
1423
- return _pa.cc($['value'], ($) => (0, exports.r_Schema_Tree)($, {
1424
- 'location 2 string': l2s,
1425
- 'parameters': ({
1426
- 'lookups': ({
1427
- 'sibling schemas': _pd.implement_me(),
1428
- }),
1429
- 'values': null,
1430
- }),
1431
- }));
1432
- }),
1433
- });
1434
- });
1435
- });
1436
- exports.r_Schemas = r_Schemas;
1437
- const r_Signature = ($, $p) => _pa.block(() => {
1438
- const l2s = $p['location 2 string'];
1439
- const params = $p['parameters'];
1440
- return _pa.block(() => {
1441
- const p_type = _pa.cc($['type'], ($) => params['values']['type']);
1442
- const p_parameters = _pa.cc($['parameters'], ($) => _pa.cc($['state group'], ($) => {
1443
- switch ($[0]) {
1444
- case 'local': return _pa.ss($, ($) => ['local', _pa.block(() => {
1445
- return (0, exports.r_Signature_Parameters)($, {
1446
- 'location 2 string': l2s,
1447
- 'parameters': ({
1448
- 'lookups': null,
1449
- 'values': ({
1450
- 'imports': params['values']['imports'],
1451
- 'types': params['values']['types'],
1452
- }),
1453
- }),
1454
- });
1455
- })]);
1456
- case 'same as': return _pa.ss($, ($) => ['same as', _pa.block(() => {
1457
- return _i_generic.get_entry(params['lookups']['sibling signatures'], {
1458
- 'location 2 string': l2s,
1459
- 'reference': $,
1460
- });
1461
- })]);
1462
- default: return _pa.au($[0]);
1463
- }
1464
- }));
1465
- const p_resolved_parameters = _pa.cc($['resolved parameters'], ($) => _pd.implement_me());
1466
- return ({
1467
- 'parameters': p_parameters,
1468
- 'resolved parameters': p_resolved_parameters,
1469
- 'type': p_type,
1470
- });
1471
- });
1472
- });
1473
- exports.r_Signature = r_Signature;
1474
- const r_Signature_Parameters = ($, $p) => _pa.block(() => {
1475
- const l2s = $p['location 2 string'];
1476
- const params = $p['parameters'];
1477
- return _pa.block(() => {
1478
- const p_values = _pa.cc($['values'], ($) => _pa.block(() => {
1479
- return _i_generic.resolve_dictionary($, {
1480
- 'location 2 string': l2s,
1481
- 'map': ($, $p) => _pa.block(() => {
1482
- return _pa.cc($['value'], ($) => _pa.block(() => {
1483
- const p_data_type = _pa.cc($['data type'], ($) => (0, exports.r_Type_Reference)($, {
1484
- 'location 2 string': l2s,
1485
- 'parameters': ({
1486
- 'lookups': ({
1487
- 'types': _i_generic.dictionary_to_lookup(params['values']['types']['dictionary'], null),
1488
- }),
1489
- 'values': ({
1490
- 'imports': _pa.set(params['values']['imports']),
1491
- }),
1492
- }),
1493
- }));
1494
- const p_presence = _pa.cc($['presence'], ($) => (0, exports.r_Presence)($, {
1495
- 'location 2 string': l2s,
1496
- 'parameters': ({
1497
- 'lookups': null,
1498
- 'values': null,
1499
- }),
1500
- }));
1501
- return ({
1502
- 'data type': p_data_type,
1503
- 'presence': p_presence,
1504
- });
1505
- }));
1506
- }),
1507
- });
1508
- }));
1509
- const p_lookups = _pa.cc($['lookups'], ($) => _pa.block(() => {
1510
- return _i_generic.resolve_dictionary($, {
1511
- 'location 2 string': l2s,
1512
- 'map': ($, $p) => _pa.block(() => {
1513
- return _pa.cc($['value'], ($) => _pa.block(() => {
1514
- const p_referent = _pa.cc($['referent'], ($) => (0, exports.r_Type_Reference)($, {
1515
- 'location 2 string': l2s,
1516
- 'parameters': ({
1517
- 'lookups': ({
1518
- 'types': _i_generic.dictionary_to_lookup(params['values']['types']['dictionary'], null),
1519
- }),
1520
- 'values': ({
1521
- 'imports': _pa.set(params['values']['imports']),
1522
- }),
1523
- }),
1524
- }));
1525
- const p_dictionary = _pa.cc($['dictionary'], ($) => _pd.implement_me());
1526
- const p_type = _pa.cc($['type'], ($) => _pa.cc($['state group'], ($) => {
1527
- switch ($[0]) {
1528
- case 'acyclic': return _pa.ss($, ($) => ['acyclic', _pa.block(() => {
1529
- return null;
1530
- })]);
1531
- case 'cyclic': return _pa.ss($, ($) => ['cyclic', _pa.block(() => {
1532
- return null;
1533
- })]);
1534
- case 'stack': return _pa.ss($, ($) => ['stack', _pa.block(() => {
1535
- return null;
1536
- })]);
1537
- default: return _pa.au($[0]);
1538
- }
1539
- }));
1540
- const p_presence = _pa.cc($['presence'], ($) => (0, exports.r_Presence)($, {
1541
- 'location 2 string': l2s,
1542
- 'parameters': ({
1543
- 'lookups': null,
1544
- 'values': null,
1545
- }),
1546
- }));
1547
- return ({
1548
- 'dictionary': p_dictionary,
1549
- 'presence': p_presence,
1550
- 'referent': p_referent,
1551
- 'type': p_type,
1552
- });
1553
- }));
1554
- }),
1555
- });
1556
- }));
1557
- return ({
1558
- 'lookups': p_lookups,
1559
- 'values': p_values,
1560
- });
1561
- });
1562
- });
1563
- exports.r_Signature_Parameters = r_Signature_Parameters;
1564
- const r_Signatures = ($, $p) => _pa.block(() => {
1565
- const l2s = $p['location 2 string'];
1566
- const params = $p['parameters'];
1567
- return _pa.block(() => {
1568
- const benchmark = params['values']['types'];
1569
- return _i_generic.resolve_ordered_dictionary($, {
1570
- 'location 2 string': l2s,
1571
- 'map': ($, $p) => _pa.block(() => {
1572
- const linked_entry = _pd.implement_me();
1573
- return _pa.cc($['value'], ($) => (0, exports.r_Signature)($, {
1574
- 'location 2 string': l2s,
1575
- 'parameters': ({
1576
- 'lookups': ({
1577
- 'sibling signatures': $p['not circular dependent siblings'],
1578
- }),
1579
- 'values': ({
1580
- 'imports': params['values']['imports'],
1581
- 'type': linked_entry,
1582
- 'types': params['values']['types'],
1583
- }),
1584
- }),
1585
- }));
1586
- }),
1587
- });
1588
- });
1589
- });
1590
- exports.r_Signatures = r_Signatures;
1591
- const r_Text_Type = ($, $p) => _pa.block(() => {
1592
- const l2s = $p['location 2 string'];
1593
- const params = $p['parameters'];
1594
- return _pa.block(() => {
1595
- const p_type = _pa.cc($['type'], ($) => _pa.cc($['state group'], ($) => {
1596
- switch ($[0]) {
1597
- case 'multi line': return _pa.ss($, ($) => ['multi line', _pa.block(() => {
1598
- return null;
1599
- })]);
1600
- case 'single line': return _pa.ss($, ($) => ['single line', _pa.block(() => {
1601
- return null;
1602
- })]);
1603
- default: return _pa.au($[0]);
1604
- }
1605
- }));
1606
- return ({
1607
- 'type': p_type,
1608
- });
1609
- });
1610
- });
1611
- exports.r_Text_Type = r_Text_Type;
1612
- const r_Type = ($, $p) => _pa.block(() => {
1613
- const l2s = $p['location 2 string'];
1614
- const params = $p['parameters'];
1615
- return _pa.block(() => {
1616
- const p_type_parameters = _pa.cc($['type parameters'], ($) => (0, exports.r_Type_Parameters)($, {
1617
- 'location 2 string': l2s,
1618
- 'parameters': ({
1619
- 'lookups': null,
1620
- 'values': null,
1621
- }),
1622
- }));
1623
- const p_node = _pa.cc($['node'], ($) => (0, exports.r_Type_Node)($, {
1624
- 'location 2 string': l2s,
1625
- 'parameters': ({
1626
- 'lookups': ({
1627
- 'noncircular sibling types': params['lookups']['noncircular sibling types'],
1628
- 'possibly circular dependent sibling types': params['lookups']['possibly circular dependent sibling types'],
1629
- }),
1630
- 'values': ({
1631
- 'globals': params['values']['globals'],
1632
- 'imports': params['values']['imports'],
1633
- 'type parameters': p_type_parameters,
1634
- }),
1635
- }),
1636
- }));
1637
- return ({
1638
- 'node': p_node,
1639
- 'type parameters': p_type_parameters,
1640
- });
1641
- });
1642
- });
1643
- exports.r_Type = r_Type;
1644
- const r_Type_Node = ($, $p) => _pa.block(() => {
1645
- const l2s = $p['location 2 string'];
1646
- const params = $p['parameters'];
1647
- return _pa.cc($['state group'], ($) => {
1648
- switch ($[0]) {
1649
- case 'boolean': return _pa.ss($, ($) => ['boolean', _pa.block(() => {
1650
- return null;
1651
- })]);
1652
- case 'component': return _pa.ss($, ($) => ['component', _pa.block(() => {
1653
- return _pa.cc($['state group'], ($) => {
1654
- switch ($[0]) {
1655
- case 'external': return _pa.ss($, ($) => ['external', _pa.block(() => {
1656
- const c_import = params['values']['imports'].transform(($) => $, () => _pa.panic('ABORT SELECTION'));
1657
- return _pa.block(() => {
1658
- const p_import = _pa.cc($['import'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(c_import, null), {
1659
- 'location 2 string': l2s,
1660
- 'reference': $,
1661
- }));
1662
- const p_type = _pa.cc($['type'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(p_import['entry']['schema']['types']['dictionary'], null), {
1663
- 'location 2 string': l2s,
1664
- 'reference': $,
1665
- }));
1666
- return ({
1667
- 'import': p_import,
1668
- 'type': p_type,
1669
- });
1670
- });
1671
- })]);
1672
- case 'internal': return _pa.ss($, ($) => ['internal', _pa.block(() => {
1673
- return _i_generic.get_entry(params['lookups']['noncircular sibling types'], {
1674
- 'location 2 string': l2s,
1675
- 'reference': $,
1676
- });
1677
- })]);
1678
- case 'internal cyclic': return _pa.ss($, ($) => ['internal cyclic', _pa.block(() => {
1679
- return _i_generic.get_possibly_circular_dependent_sibling_entry(params['lookups']['possibly circular dependent sibling types'], {
1680
- 'location 2 string': l2s,
1681
- 'reference': $,
1682
- });
1683
- })]);
1684
- default: return _pa.au($[0]);
1685
- }
1686
- });
1687
- })]);
1688
- case 'dictionary': return _pa.ss($, ($) => ['dictionary', _pa.block(() => {
1689
- return (0, exports.r_Dictionary)($, {
1690
- 'location 2 string': l2s,
1691
- 'parameters': ({
1692
- 'lookups': ({
1693
- 'noncircular sibling types': params['lookups']['noncircular sibling types'],
1694
- 'possibly circular dependent sibling types': params['lookups']['possibly circular dependent sibling types'],
1695
- }),
1696
- 'values': ({
1697
- 'globals': params['values']['globals'],
1698
- 'imports': params['values']['imports'],
1699
- 'type parameters': params['values']['type parameters'],
1700
- }),
1701
- }),
1702
- });
1703
- })]);
1704
- case 'group': return _pa.ss($, ($) => ['group', _pa.block(() => {
1705
- return (0, exports.r_Group)($, {
1706
- 'location 2 string': l2s,
1707
- 'parameters': ({
1708
- 'lookups': ({
1709
- 'noncircular sibling types': params['lookups']['noncircular sibling types'],
1710
- 'possibly circular dependent sibling types': params['lookups']['possibly circular dependent sibling types'],
1711
- }),
1712
- 'values': ({
1713
- 'globals': params['values']['globals'],
1714
- 'imports': params['values']['imports'],
1715
- 'type parameters': params['values']['type parameters'],
1716
- }),
1717
- }),
1718
- });
1719
- })]);
1720
- case 'list': return _pa.ss($, ($) => ['list', _pa.block(() => {
1721
- return _pa.block(() => {
1722
- const p_node = _pa.cc($['node'], ($) => (0, exports.r_Type_Node)($, {
1723
- 'location 2 string': l2s,
1724
- 'parameters': ({
1725
- 'lookups': params['lookups'],
1726
- 'values': params['values'],
1727
- }),
1728
- }));
1729
- return ({
1730
- 'node': p_node,
1731
- });
1732
- });
1733
- })]);
1734
- case 'nothing': return _pa.ss($, ($) => ['nothing', _pa.block(() => {
1735
- return null;
1736
- })]);
1737
- case 'number': return _pa.ss($, ($) => ['number', _pa.block(() => {
1738
- return _pa.cc($['state group'], ($) => {
1739
- switch ($[0]) {
1740
- case 'global': return _pa.ss($, ($) => ['global', _pa.block(() => {
1741
- const c_globals = params['values']['globals'].transform(($) => $, () => _pa.panic('ABORT SELECTION'));
1742
- return _i_generic.get_entry(_i_generic.dictionary_to_lookup(c_globals['number types'], null), {
1743
- 'location 2 string': l2s,
1744
- 'reference': $,
1745
- });
1746
- })]);
1747
- case 'local': return _pa.ss($, ($) => ['local', _pa.block(() => {
1748
- return (0, exports.r_Number_Type)($, {
1749
- 'location 2 string': l2s,
1750
- 'parameters': ({
1751
- 'lookups': null,
1752
- 'values': null,
1753
- }),
1754
- });
1755
- })]);
1756
- default: return _pa.au($[0]);
1757
- }
1758
- });
1759
- })]);
1760
- case 'optional': return _pa.ss($, ($) => ['optional', _pa.block(() => {
1761
- return (0, exports.r_Type_Node)($, {
1762
- 'location 2 string': l2s,
1763
- 'parameters': ({
1764
- 'lookups': params['lookups'],
1765
- 'values': params['values'],
1766
- }),
1767
- });
1768
- })]);
1769
- case 'reference': return _pa.ss($, ($) => ['reference', _pa.block(() => {
1770
- return _pa.block(() => {
1771
- const p_referent = _pa.cc($['referent'], ($) => (0, exports.r_Type_Node_Reference)($, {
1772
- 'location 2 string': l2s,
1773
- 'parameters': ({
1774
- 'lookups': ({
1775
- 'types': params['lookups']['noncircular sibling types'],
1776
- }),
1777
- 'values': ({
1778
- 'imports': params['values']['imports'],
1779
- }),
1780
- }),
1781
- }));
1782
- const p_type = _pa.cc($['type'], ($) => _pa.cc($['state group'], ($) => {
1783
- switch ($[0]) {
1784
- case 'derived': return _pa.ss($, ($) => ['derived', _pa.block(() => {
1785
- return null;
1786
- })]);
1787
- case 'selected': return _pa.ss($, ($) => ['selected', _pa.block(() => {
1788
- const c_dictionary = _pd.implement_me();
1789
- return _pa.block(() => {
1790
- const p_dictionary = _pa.cc($['dictionary'], ($) => c_dictionary);
1791
- const p_dependency = _pa.cc($['dependency'], ($) => _pa.cc($['state group'], ($) => {
1792
- switch ($[0]) {
1793
- case 'acyclic': return _pa.ss($, ($) => ['acyclic', _pa.block(() => {
1794
- return null;
1795
- })]);
1796
- case 'cyclic': return _pa.ss($, ($) => ['cyclic', _pa.block(() => {
1797
- return null;
1798
- })]);
1799
- case 'stack': return _pa.ss($, ($) => ['stack', _pa.block(() => {
1800
- return null;
1801
- })]);
1802
- default: return _pa.au($[0]);
1803
- }
1804
- }));
1805
- return ({
1806
- 'dependency': p_dependency,
1807
- 'dictionary': p_dictionary,
1808
- });
1809
- });
1810
- })]);
1811
- default: return _pa.au($[0]);
1812
- }
1813
- }));
1814
- return ({
1815
- 'referent': p_referent,
1816
- 'type': p_type,
1817
- });
1818
- });
1819
- })]);
1820
- case 'state group': return _pa.ss($, ($) => ['state group', _pa.block(() => {
1821
- return _pa.block(() => {
1822
- return _i_generic.resolve_dictionary($, {
1823
- 'location 2 string': l2s,
1824
- 'map': ($, $p) => _pa.block(() => {
1825
- return _pa.cc($['value'], ($) => _pa.block(() => {
1826
- const p_node = _pa.cc($['node'], ($) => (0, exports.r_Type_Node)($, {
1827
- 'location 2 string': l2s,
1828
- 'parameters': ({
1829
- 'lookups': params['lookups'],
1830
- 'values': params['values'],
1831
- }),
1832
- }));
1833
- const p_description = _pa.cc($['description'], ($) => $.map(($) => _pa.block(() => {
1834
- return $;
1835
- })));
1836
- return ({
1837
- 'description': p_description,
1838
- 'node': p_node,
1839
- });
1840
- }));
1841
- }),
1842
- });
1843
- });
1844
- })]);
1845
- case 'text': return _pa.ss($, ($) => ['text', _pa.block(() => {
1846
- return _pa.cc($['state group'], ($) => {
1847
- switch ($[0]) {
1848
- case 'global': return _pa.ss($, ($) => ['global', _pa.block(() => {
1849
- const c_globals = params['values']['globals'].transform(($) => $, () => _pa.panic('ABORT SELECTION'));
1850
- return _i_generic.get_entry(_i_generic.dictionary_to_lookup(c_globals['text types'], null), {
1851
- 'location 2 string': l2s,
1852
- 'reference': $,
1853
- });
1854
- })]);
1855
- case 'local': return _pa.ss($, ($) => ['local', _pa.block(() => {
1856
- return (0, exports.r_Text_Type)($, {
1857
- 'location 2 string': l2s,
1858
- 'parameters': ({
1859
- 'lookups': null,
1860
- 'values': null,
1861
- }),
1862
- });
1863
- })]);
1864
- default: return _pa.au($[0]);
1865
- }
1866
- });
1867
- })]);
1868
- default: return _pa.au($[0]);
1869
- }
1870
- });
1871
- });
1872
- exports.r_Type_Node = r_Type_Node;
1873
- const r_Type_Node_Reference = ($, $p) => _pa.block(() => {
1874
- const l2s = $p['location 2 string'];
1875
- const params = $p['parameters'];
1876
- return _pa.block(() => {
1877
- const p_type_location = _pa.cc($['type location'], ($) => (0, exports.r_Type_Reference)($, {
1878
- 'location 2 string': l2s,
1879
- 'parameters': ({
1880
- 'lookups': params['lookups'],
1881
- 'values': params['values'],
1882
- }),
1883
- }));
1884
- const p_tail = _pa.cc($['tail'], ($) => $['list'].map(($) => _pa.cc($['element'], ($) => _pa.cc($['state group'], ($) => {
1885
- switch ($[0]) {
1886
- case 'dictionary': return _pa.ss($, ($) => ['dictionary', _pa.block(() => {
1887
- const c_definition = _pd.implement_me();
1888
- return null;
1889
- })]);
1890
- case 'group': return _pa.ss($, ($) => ['group', _pa.block(() => {
1891
- const c_definition = _pd.implement_me();
1892
- return _i_generic.get_entry(_i_generic.dictionary_to_lookup(c_definition['dictionary'], null), {
1893
- 'location 2 string': l2s,
1894
- 'reference': $,
1895
- });
1896
- })]);
1897
- case 'list': return _pa.ss($, ($) => ['list', _pa.block(() => {
1898
- const c_definition = _pd.implement_me();
1899
- return null;
1900
- })]);
1901
- case 'optional': return _pa.ss($, ($) => ['optional', _pa.block(() => {
1902
- const c_definition = _pd.implement_me();
1903
- return null;
1904
- })]);
1905
- case 'state group': return _pa.ss($, ($) => ['state group', _pa.block(() => {
1906
- const c_definition = _pd.implement_me();
1907
- return _i_generic.get_entry(_i_generic.dictionary_to_lookup(c_definition, null), {
1908
- 'location 2 string': l2s,
1909
- 'reference': $,
1910
- });
1911
- })]);
1912
- default: return _pa.au($[0]);
1913
- }
1914
- }))));
1915
- const p_resulting_node = _pa.cc($['resulting node'], ($) => _pd.implement_me());
1916
- return ({
1917
- 'resulting node': p_resulting_node,
1918
- 'tail': p_tail,
1919
- 'type location': p_type_location,
1920
- });
1921
- });
1922
- });
1923
- exports.r_Type_Node_Reference = r_Type_Node_Reference;
1924
- const r_Type_Parameters = ($, $p) => _pa.block(() => {
1925
- const l2s = $p['location 2 string'];
1926
- const params = $p['parameters'];
1927
- return _pa.block(() => {
1928
- return _i_generic.resolve_dictionary($, {
1929
- 'location 2 string': l2s,
1930
- 'map': ($, $p) => _pa.block(() => {
1931
- return _pa.cc($['value'], ($) => null);
1932
- }),
1933
- });
1934
- });
1935
- });
1936
- exports.r_Type_Parameters = r_Type_Parameters;
1937
- const r_Type_Reference = ($, $p) => _pa.block(() => {
1938
- const l2s = $p['location 2 string'];
1939
- const params = $p['parameters'];
1940
- return _pa.block(() => {
1941
- const p_location = _pa.cc($['location'], ($) => _pa.cc($['state group'], ($) => {
1942
- switch ($[0]) {
1943
- case 'external': return _pa.ss($, ($) => ['external', _pa.block(() => {
1944
- const c_import = params['values']['imports'].transform(($) => $, () => _pa.panic('ABORT SELECTION'));
1945
- return _pa.block(() => {
1946
- const p_import = _pa.cc($['import'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(c_import, null), {
1947
- 'location 2 string': l2s,
1948
- 'reference': $,
1949
- }));
1950
- const p_type = _pa.cc($['type'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(p_import['entry']['schema']['types']['dictionary'], null), {
1951
- 'location 2 string': l2s,
1952
- 'reference': $,
1953
- }));
1954
- return ({
1955
- 'import': p_import,
1956
- 'type': p_type,
1957
- });
1958
- });
1959
- })]);
1960
- case 'internal': return _pa.ss($, ($) => ['internal', _pa.block(() => {
1961
- return _i_generic.get_entry(params['lookups']['types'], {
1962
- 'location 2 string': l2s,
1963
- 'reference': $,
1964
- });
1965
- })]);
1966
- default: return _pa.au($[0]);
1967
- }
1968
- }));
1969
- const p_resulting_node = _pa.cc($['resulting node'], ($) => _pd.implement_me());
1970
- return ({
1971
- 'location': p_location,
1972
- 'resulting node': p_resulting_node,
1973
- });
1974
- });
1975
- });
1976
- exports.r_Type_Reference = r_Type_Reference;
1977
- const r_Type_Specification = ($, $p) => _pa.block(() => {
1978
- const l2s = $p['location 2 string'];
1979
- const params = $p['parameters'];
1980
- return _pa.block(() => {
1981
- const p_schema = _pa.cc($['schema'], ($) => (0, exports.r_Schema_Tree)($, {
1982
- 'location 2 string': l2s,
1983
- 'parameters': ({
1984
- 'lookups': ({
1985
- 'sibling schemas': _pa.array_literal([]),
1986
- }),
1987
- 'values': null,
1988
- }),
1989
- }));
1990
- const p_schema_path = _pa.cc($['schema path'], ($) => $['list'].map(($) => _pa.cc($['element'], ($) => $)));
1991
- const p_type = _pa.cc($['type'], ($) => $);
1992
- return ({
1993
- 'schema': p_schema,
1994
- 'schema path': p_schema_path,
1995
- 'type': p_type,
1996
- });
1997
- });
1998
- });
1999
- exports.r_Type_Specification = r_Type_Specification;
2000
- const r_Types = ($, $p) => _pa.block(() => {
2001
- const l2s = $p['location 2 string'];
2002
- const params = $p['parameters'];
2003
- return _pa.block(() => {
2004
- return _i_generic.resolve_ordered_dictionary($, {
2005
- 'location 2 string': l2s,
2006
- 'map': ($, $p) => _pa.block(() => {
2007
- return _pa.cc($['value'], ($) => (0, exports.r_Type)($, {
2008
- 'location 2 string': l2s,
2009
- 'parameters': ({
2010
- 'lookups': ({
2011
- 'noncircular sibling types': $p['not circular dependent siblings'],
2012
- 'possibly circular dependent sibling types': $p['possibly circular dependent siblings'],
2013
- }),
2014
- 'values': ({
2015
- 'globals': params['values']['globals'],
2016
- 'imports': params['values']['imports'],
2017
- }),
2018
- }),
2019
- }));
2020
- }),
2021
- });
2022
- });
2023
- });
2024
- exports.r_Types = r_Types;
2025
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvaW1wbGVtZW50YXRpb24vc2NoZW1hcy9zY2hlbWEvcmVzb2x2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUF1QztBQUN2QyxzREFBdUM7QUFFdkMsa0VBQW1EO0FBSzVDLE1BQU0sV0FBVyxHQUErQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO0lBQzdFLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQ25DLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUMvQixPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1FBQ2xCLE1BQU0sV0FBVyxHQUFrQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSxvQ0FBNEIsRUFDekcsQ0FBQyxFQUNEO1lBQ0ksbUJBQW1CLEVBQUUsR0FBRztZQUN4QixZQUFZLEVBQUUsQ0FBQztnQkFDWCxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQztnQkFDNUIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUM7YUFDN0IsQ0FBQztTQUNMLENBQ0osQ0FBQyxDQUFBO1FBQ0YsTUFBTSxzQkFBc0IsR0FBNkMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUE7UUFDckksTUFBTSxPQUFPLEdBQThCLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFF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