pareto 0.76.28 → 0.76.29

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 (520) hide show
  1. package/dist/bin/compile.js +34 -0
  2. package/dist/bin/test.js +28 -0
  3. package/dist/generated/implementation/generic/resolve.d.ts +41 -10
  4. package/dist/generated/implementation/generic/resolve.js +75 -50
  5. package/dist/generated/implementation/generic/unmarshall.d.ts +42 -0
  6. package/dist/generated/implementation/generic/unmarshall.js +237 -0
  7. package/dist/generated/implementation/schemas/module/marshall.d.ts +3 -0
  8. package/dist/generated/implementation/schemas/module/{serializer.js → marshall.js} +3 -3
  9. package/dist/generated/implementation/schemas/module/resolve.d.ts +3 -4
  10. package/dist/generated/implementation/schemas/module/resolve.js +3 -3
  11. package/dist/generated/implementation/schemas/module/unmarshall.d.ts +3 -0
  12. package/dist/generated/implementation/schemas/module/unmarshall.js +81 -0
  13. package/dist/generated/implementation/schemas/schema/marshall.d.ts +37 -0
  14. package/dist/generated/implementation/schemas/schema/marshall.js +1118 -0
  15. package/dist/generated/implementation/schemas/schema/resolve.d.ts +37 -36
  16. package/dist/generated/implementation/schemas/schema/resolve.js +65 -26
  17. package/dist/generated/implementation/schemas/schema/unmarshall.d.ts +37 -0
  18. package/dist/generated/implementation/schemas/schema/unmarshall.js +1043 -0
  19. package/dist/generated/implementation/schemas/unmarshall_errors/marshall.d.ts +6 -0
  20. package/dist/generated/implementation/schemas/unmarshall_errors/marshall.js +197 -0
  21. package/dist/generated/implementation/schemas/unmarshall_errors/unmarshall.d.ts +6 -0
  22. package/dist/generated/implementation/schemas/unmarshall_errors/unmarshall.js +167 -0
  23. package/dist/generated/implementation/schemas/unmarshall_result/marshall.js +3 -0
  24. package/dist/generated/implementation/schemas/unmarshall_result/unmarshall.d.ts +1 -0
  25. package/dist/generated/implementation/schemas/unmarshall_result/{serializer.js → unmarshall.js} +1 -1
  26. package/dist/generated/interface/core/astn_source.d.ts +14 -16
  27. package/dist/generated/interface/core/astn_target.d.ts +15 -15
  28. package/dist/generated/interface/core/resolve.d.ts +6 -6
  29. package/dist/generated/interface/core/resolved.d.ts +46 -46
  30. package/dist/generated/interface/core/unconstrained.d.ts +10 -10
  31. package/dist/generated/interface/core/unresolved.d.ts +84 -87
  32. package/dist/generated/interface/schemas/module/{resolve.d.ts → data_types/resolve.d.ts} +39 -39
  33. package/dist/generated/interface/schemas/{schema → module/data_types}/resolve.js +1 -1
  34. package/dist/generated/interface/schemas/module/{resolved.d.ts → data_types/resolved.d.ts} +7 -7
  35. package/dist/generated/interface/schemas/module/data_types/resolved.js +3 -0
  36. package/dist/generated/interface/schemas/module/data_types/unresolved.d.ts +133 -0
  37. package/dist/generated/interface/schemas/{schema → module/data_types}/unresolved.js +1 -1
  38. package/dist/generated/interface/schemas/module/marshall.d.ts +63 -0
  39. package/dist/generated/interface/schemas/{schema/resolved.js → module/marshall.js} +1 -1
  40. package/dist/generated/interface/schemas/module/{migration_boilerplate.d.ts → migrate_boilerplate.d.ts} +2 -2
  41. package/dist/generated/interface/schemas/module/migrate_boilerplate.js +3 -0
  42. package/dist/generated/interface/schemas/module/unmarshall.d.ts +75 -0
  43. package/dist/generated/interface/schemas/module/{serializer.js → unmarshall.js} +1 -1
  44. package/dist/generated/interface/schemas/module/value_deserializers.d.ts +44 -0
  45. package/dist/generated/interface/schemas/module/value_deserializers.js +3 -0
  46. package/dist/generated/interface/schemas/module/value_serializers.js +3 -0
  47. package/dist/generated/interface/schemas/schema/{resolve.d.ts → data_types/resolve.d.ts} +1269 -1123
  48. package/dist/generated/interface/schemas/{module → schema/data_types}/resolve.js +1 -1
  49. package/dist/generated/interface/schemas/schema/{resolved.d.ts → data_types/resolved.d.ts} +61 -29
  50. package/dist/generated/interface/schemas/schema/data_types/resolved.js +3 -0
  51. package/dist/generated/interface/schemas/schema/data_types/unresolved.d.ts +3786 -0
  52. package/dist/generated/interface/schemas/schema/data_types/unresolved.js +3 -0
  53. package/dist/generated/interface/schemas/schema/{serializer.d.ts → marshall.d.ts} +297 -280
  54. package/dist/generated/interface/schemas/{module/resolved.js → schema/marshall.js} +1 -1
  55. package/dist/generated/interface/schemas/schema/{migration_boilerplate.d.ts → migrate_boilerplate.d.ts} +50 -2
  56. package/dist/generated/interface/schemas/schema/migrate_boilerplate.js +3 -0
  57. package/dist/generated/interface/schemas/schema/unmarshall.d.ts +1299 -0
  58. package/dist/generated/interface/schemas/{module/unresolved.js → schema/unmarshall.js} +1 -1
  59. package/dist/generated/interface/schemas/schema/value_deserializers.d.ts +44 -0
  60. package/dist/generated/interface/schemas/schema/value_deserializers.js +3 -0
  61. package/dist/generated/interface/schemas/schema/value_serializers.d.ts +44 -0
  62. package/dist/generated/interface/schemas/schema/value_serializers.js +3 -0
  63. package/dist/generated/interface/schemas/unmarshall_errors/{unconstrained.d.ts → data_types/unconstrained.d.ts} +46 -23
  64. package/dist/generated/interface/schemas/unmarshall_errors/{unconstrained.js → data_types/unconstrained.js} +1 -1
  65. package/dist/generated/interface/schemas/unmarshall_errors/marshall.d.ts +153 -0
  66. package/dist/generated/interface/schemas/unmarshall_errors/marshall.js +3 -0
  67. package/dist/generated/interface/schemas/unmarshall_errors/{migration_boilerplate.d.ts → migrate_boilerplate.d.ts} +24 -2
  68. package/dist/generated/interface/schemas/unmarshall_errors/migrate_boilerplate.js +3 -0
  69. package/dist/generated/interface/schemas/unmarshall_errors/unmarshall.d.ts +153 -0
  70. package/dist/generated/interface/schemas/{schema/serializer.js → unmarshall_errors/unmarshall.js} +1 -1
  71. package/dist/generated/interface/schemas/unmarshall_errors/value_deserializers.d.ts +44 -0
  72. package/dist/generated/interface/schemas/unmarshall_errors/value_deserializers.js +3 -0
  73. package/dist/generated/interface/schemas/unmarshall_errors/value_serializers.d.ts +44 -0
  74. package/dist/generated/interface/schemas/unmarshall_errors/value_serializers.js +3 -0
  75. package/dist/generated/interface/schemas/unmarshall_result/data_types/unconstrained.d.ts +1 -0
  76. package/dist/generated/interface/schemas/unmarshall_result/{unconstrained.js → data_types/unconstrained.js} +1 -1
  77. package/dist/generated/interface/schemas/unmarshall_result/marshall.d.ts +1 -0
  78. package/dist/generated/interface/schemas/unmarshall_result/marshall.js +7 -0
  79. package/dist/generated/interface/schemas/unmarshall_result/migrate_boilerplate.d.ts +1 -0
  80. package/dist/generated/interface/schemas/unmarshall_result/migrate_boilerplate.js +7 -0
  81. package/dist/generated/interface/schemas/unmarshall_result/unmarshall.d.ts +1 -0
  82. package/dist/generated/interface/schemas/unmarshall_result/unmarshall.js +7 -0
  83. package/dist/generated/interface/schemas/unmarshall_result/value_deserializers.d.ts +44 -0
  84. package/dist/generated/interface/schemas/unmarshall_result/value_deserializers.js +3 -0
  85. package/dist/generated/interface/schemas/unmarshall_result/value_serializers.d.ts +44 -0
  86. package/dist/generated/interface/schemas/unmarshall_result/value_serializers.js +3 -0
  87. package/dist/other/compile_astn.d.ts +3 -0
  88. package/dist/other/compile_astn.js +67 -0
  89. package/dist/other/fp_write_to_console.d.ts +5 -0
  90. package/dist/other/fp_write_to_console.js +38 -0
  91. package/dist/other/path.d.ts +3 -0
  92. package/dist/other/path.js +39 -0
  93. package/dist/other/serialize_schemas.d.ts +3 -0
  94. package/dist/other/serialize_schemas.js +67 -0
  95. package/dist/other/test.d.ts +1 -0
  96. package/dist/other/test.js +81 -0
  97. package/dist/other/unmarshall_astn_ast.d.ts +12 -0
  98. package/dist/other/unmarshall_astn_ast.js +422 -0
  99. package/dist/other/validate_instance_against_directory_schema.d.ts +6 -0
  100. package/dist/other/validate_instance_against_directory_schema.js +142 -0
  101. package/dist/resolvers/module.d.ts +3 -4
  102. package/dist/resolvers/module.js +14 -14
  103. package/dist/resolvers/schema.d.ts +24 -23
  104. package/dist/resolvers/schema.js +618 -586
  105. package/dist/shorthands/module.d.ts +3 -3
  106. package/dist/shorthands/module.js +8 -8
  107. package/dist/shorthands/schema.d.ts +53 -10
  108. package/dist/shorthands/schema.js +288 -244
  109. package/dist/temp_unmashall_result_types.d.ts +41 -23
  110. package/dist/temporary_schemas/accounting_ruwe_data/module.astn.d.ts +3 -0
  111. package/dist/temporary_schemas/accounting_ruwe_data/module.astn.js +8 -0
  112. package/dist/temporary_schemas/accounting_ruwe_data/operations.astn.d.ts +3 -0
  113. package/dist/temporary_schemas/accounting_ruwe_data/operations.astn.js +78 -0
  114. package/dist/temporary_schemas/accounting_ruwe_data/schema_tree.astn.d.ts +3 -0
  115. package/dist/temporary_schemas/accounting_ruwe_data/schema_tree.astn.js +36 -0
  116. package/dist/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.globals.astn.d.ts +3 -0
  117. package/dist/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.globals.astn.js +8 -0
  118. package/dist/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.module.astn.d.ts +3 -0
  119. package/dist/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.module.astn.js +8 -0
  120. package/dist/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.types.astn.d.ts +8 -0
  121. package/dist/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.types.astn.js +63 -0
  122. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding/$.globals.astn.d.ts +3 -0
  123. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding/$.globals.astn.js +16 -0
  124. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding/$.module.astn.d.ts +3 -0
  125. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding/$.module.astn.js +10 -0
  126. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding/$.resolvers.astn.d.ts +3 -0
  127. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding/$.resolvers.astn.js +398 -0
  128. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding/$.signatures.astn.d.ts +3 -0
  129. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding/$.signatures.astn.js +49 -0
  130. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding/$.types.astn.d.ts +3 -0
  131. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding/$.types.astn.js +364 -0
  132. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding_oude_model/$.globals.astn.d.ts +3 -0
  133. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding_oude_model/$.globals.astn.js +17 -0
  134. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding_oude_model/$.module.astn.d.ts +3 -0
  135. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding_oude_model/$.module.astn.js +8 -0
  136. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding_oude_model/$.types.astn.d.ts +3 -0
  137. package/dist/temporary_schemas/accounting_ruwe_data/schemas/boekhouding_oude_model/$.types.astn.js +365 -0
  138. package/dist/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.globals.astn.d.ts +3 -0
  139. package/dist/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.globals.astn.js +6 -0
  140. package/dist/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.module.astn.d.ts +3 -0
  141. package/dist/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.module.astn.js +8 -0
  142. package/dist/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.types.astn.d.ts +3 -0
  143. package/dist/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.types.astn.js +48 -0
  144. package/dist/temporary_schemas/accounting_ruwe_data/schemas/csv/$.globals.astn.d.ts +3 -0
  145. package/dist/temporary_schemas/accounting_ruwe_data/schemas/csv/$.globals.astn.js +6 -0
  146. package/dist/temporary_schemas/accounting_ruwe_data/schemas/csv/$.module.astn.d.ts +3 -0
  147. package/dist/temporary_schemas/accounting_ruwe_data/schemas/csv/$.module.astn.js +8 -0
  148. package/dist/temporary_schemas/accounting_ruwe_data/schemas/csv/$.types.astn.d.ts +3 -0
  149. package/dist/temporary_schemas/accounting_ruwe_data/schemas/csv/$.types.astn.js +21 -0
  150. package/dist/temporary_schemas/accounting_ruwe_data/schemas/html/$.globals.astn.d.ts +3 -0
  151. package/dist/temporary_schemas/accounting_ruwe_data/schemas/html/$.globals.astn.js +8 -0
  152. package/dist/temporary_schemas/accounting_ruwe_data/schemas/html/$.module.astn.d.ts +3 -0
  153. package/dist/temporary_schemas/accounting_ruwe_data/schemas/html/$.module.astn.js +8 -0
  154. package/dist/temporary_schemas/accounting_ruwe_data/schemas/html/$.types.astn.d.ts +3 -0
  155. package/dist/temporary_schemas/accounting_ruwe_data/schemas/html/$.types.astn.js +631 -0
  156. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json/annotated/$.globals.astn.d.ts +3 -0
  157. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json/annotated/$.globals.astn.js +10 -0
  158. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json/annotated/$.module.astn.d.ts +3 -0
  159. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json/annotated/$.module.astn.js +8 -0
  160. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json/annotated/$.types.astn.d.ts +3 -0
  161. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json/annotated/$.types.astn.js +53 -0
  162. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json/simple/$.globals.astn.d.ts +3 -0
  163. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json/simple/$.globals.astn.js +10 -0
  164. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json/simple/$.module.astn.d.ts +3 -0
  165. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json/simple/$.module.astn.js +8 -0
  166. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json/simple/$.types.astn.d.ts +3 -0
  167. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json/simple/$.types.astn.js +17 -0
  168. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.globals.astn.d.ts +3 -0
  169. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.globals.astn.js +13 -0
  170. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.module.astn.d.ts +3 -0
  171. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.module.astn.js +8 -0
  172. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.types.astn.d.ts +3 -0
  173. package/dist/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.types.astn.js +51 -0
  174. package/dist/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.globals.astn.d.ts +3 -0
  175. package/dist/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.globals.astn.js +6 -0
  176. package/dist/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.module.astn.d.ts +3 -0
  177. package/dist/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.module.astn.js +8 -0
  178. package/dist/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.types.astn.d.ts +3 -0
  179. package/dist/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.types.astn.js +74 -0
  180. package/dist/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.globals.astn.d.ts +3 -0
  181. package/dist/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.globals.astn.js +8 -0
  182. package/dist/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.module.astn.d.ts +3 -0
  183. package/dist/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.module.astn.js +8 -0
  184. package/dist/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.types.astn.d.ts +3 -0
  185. package/dist/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.types.astn.js +50 -0
  186. package/dist/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.globals.astn.d.ts +3 -0
  187. package/dist/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.globals.astn.js +10 -0
  188. package/dist/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.module.astn.d.ts +3 -0
  189. package/dist/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.module.astn.js +8 -0
  190. package/dist/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.types.astn.d.ts +3 -0
  191. package/dist/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.types.astn.js +40 -0
  192. package/dist/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.globals.astn.d.ts +3 -0
  193. package/dist/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.globals.astn.js +8 -0
  194. package/dist/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.module.astn.d.ts +3 -0
  195. package/dist/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.module.astn.js +8 -0
  196. package/dist/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.types.astn.d.ts +3 -0
  197. package/dist/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.types.astn.js +18 -0
  198. package/dist/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.globals.astn.d.ts +3 -0
  199. package/dist/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.globals.astn.js +10 -0
  200. package/dist/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.module.astn.d.ts +3 -0
  201. package/dist/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.module.astn.js +8 -0
  202. package/dist/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.types.astn.d.ts +3 -0
  203. package/dist/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.types.astn.js +63 -0
  204. package/dist/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.globals.astn.d.ts +3 -0
  205. package/dist/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.globals.astn.js +10 -0
  206. package/dist/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.module.astn.d.ts +3 -0
  207. package/dist/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.module.astn.js +8 -0
  208. package/dist/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.types.astn.d.ts +3 -0
  209. package/dist/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.types.astn.js +31 -0
  210. package/dist/temporary_schemas/accounting_ruwe_data/schemas.astn.d.ts +3 -0
  211. package/dist/temporary_schemas/accounting_ruwe_data/schemas.astn.js +36 -0
  212. package/dist/temporary_schemas/all.d.ts +3 -0
  213. package/dist/temporary_schemas/all.js +44 -0
  214. package/dist/temporary_schemas/astn/module.astn.d.ts +3 -0
  215. package/dist/temporary_schemas/astn/module.astn.js +8 -0
  216. package/dist/temporary_schemas/astn/operations.astn.d.ts +3 -0
  217. package/dist/temporary_schemas/astn/operations.astn.js +6 -0
  218. package/dist/temporary_schemas/astn/schema_tree.astn.d.ts +3 -0
  219. package/dist/temporary_schemas/astn/schema_tree.astn.js +17 -0
  220. package/dist/temporary_schemas/astn/schemas/ast/$.globals.astn.d.ts +3 -0
  221. package/dist/temporary_schemas/astn/schemas/ast/$.globals.astn.js +6 -0
  222. package/dist/temporary_schemas/astn/schemas/ast/$.module.astn.d.ts +3 -0
  223. package/dist/temporary_schemas/astn/schemas/ast/$.module.astn.js +10 -0
  224. package/dist/temporary_schemas/astn/schemas/ast/$.types.astn.d.ts +3 -0
  225. package/dist/temporary_schemas/astn/schemas/ast/$.types.astn.js +85 -0
  226. package/dist/temporary_schemas/astn/schemas/ide/$.globals.astn.d.ts +3 -0
  227. package/dist/temporary_schemas/astn/schemas/ide/$.globals.astn.js +6 -0
  228. package/dist/temporary_schemas/astn/schemas/ide/$.module.astn.d.ts +3 -0
  229. package/dist/temporary_schemas/astn/schemas/ide/$.module.astn.js +10 -0
  230. package/dist/temporary_schemas/astn/schemas/ide/$.types.astn.d.ts +3 -0
  231. package/dist/temporary_schemas/astn/schemas/ide/$.types.astn.js +25 -0
  232. package/dist/temporary_schemas/astn/schemas/parse_result/$.globals.astn.d.ts +3 -0
  233. package/dist/temporary_schemas/astn/schemas/parse_result/$.globals.astn.js +6 -0
  234. package/dist/temporary_schemas/astn/schemas/parse_result/$.module.astn.d.ts +3 -0
  235. package/dist/temporary_schemas/astn/schemas/parse_result/$.module.astn.js +11 -0
  236. package/dist/temporary_schemas/astn/schemas/parse_result/$.types.astn.d.ts +3 -0
  237. package/dist/temporary_schemas/astn/schemas/parse_result/$.types.astn.js +49 -0
  238. package/dist/temporary_schemas/astn/schemas/target/$.globals.astn.d.ts +3 -0
  239. package/dist/temporary_schemas/astn/schemas/target/$.globals.astn.js +10 -0
  240. package/dist/temporary_schemas/astn/schemas/target/$.module.astn.d.ts +3 -0
  241. package/dist/temporary_schemas/astn/schemas/target/$.module.astn.js +8 -0
  242. package/dist/temporary_schemas/astn/schemas/target/$.types.astn.d.ts +3 -0
  243. package/dist/temporary_schemas/astn/schemas/target/$.types.astn.js +31 -0
  244. package/dist/temporary_schemas/astn/schemas/token/$.globals.astn.d.ts +3 -0
  245. package/dist/temporary_schemas/astn/schemas/token/$.globals.astn.js +6 -0
  246. package/dist/temporary_schemas/astn/schemas/token/$.module.astn.d.ts +3 -0
  247. package/dist/temporary_schemas/astn/schemas/token/$.module.astn.js +8 -0
  248. package/dist/temporary_schemas/astn/schemas/token/$.types.astn.d.ts +3 -0
  249. package/dist/temporary_schemas/astn/schemas/token/$.types.astn.js +75 -0
  250. package/dist/temporary_schemas/astn/schemas.astn.d.ts +3 -0
  251. package/dist/temporary_schemas/astn/schemas.astn.js +17 -0
  252. package/dist/temporary_schemas/exupery/module.astn.d.ts +3 -0
  253. package/dist/temporary_schemas/exupery/module.astn.js +8 -0
  254. package/dist/temporary_schemas/exupery/operations.astn.d.ts +3 -0
  255. package/dist/temporary_schemas/exupery/operations.astn.js +78 -0
  256. package/dist/temporary_schemas/exupery/schema_tree.astn.d.ts +3 -0
  257. package/dist/temporary_schemas/exupery/schema_tree.astn.js +13 -0
  258. package/dist/temporary_schemas/exupery/schemas/implementation/$.globals.astn.d.ts +3 -0
  259. package/dist/temporary_schemas/exupery/schemas/implementation/$.globals.astn.js +10 -0
  260. package/dist/temporary_schemas/exupery/schemas/implementation/$.module.astn.d.ts +3 -0
  261. package/dist/temporary_schemas/exupery/schemas/implementation/$.module.astn.js +12 -0
  262. package/dist/temporary_schemas/exupery/schemas/implementation/$.resolvers.astn.d.ts +3 -0
  263. package/dist/temporary_schemas/exupery/schemas/implementation/$.resolvers.astn.js +156 -0
  264. package/dist/temporary_schemas/exupery/schemas/implementation/$.signatures.astn.d.ts +3 -0
  265. package/dist/temporary_schemas/exupery/schemas/implementation/$.signatures.astn.js +14 -0
  266. package/dist/temporary_schemas/exupery/schemas/implementation/$.types.astn.d.ts +3 -0
  267. package/dist/temporary_schemas/exupery/schemas/implementation/$.types.astn.js +166 -0
  268. package/dist/temporary_schemas/exupery/schemas/interface/$.globals.astn.d.ts +3 -0
  269. package/dist/temporary_schemas/exupery/schemas/interface/$.globals.astn.js +9 -0
  270. package/dist/temporary_schemas/exupery/schemas/interface/$.module.astn.d.ts +3 -0
  271. package/dist/temporary_schemas/exupery/schemas/interface/$.module.astn.js +10 -0
  272. package/dist/temporary_schemas/exupery/schemas/interface/$.resolvers.astn.d.ts +3 -0
  273. package/dist/temporary_schemas/exupery/schemas/interface/$.resolvers.astn.js +83 -0
  274. package/dist/temporary_schemas/exupery/schemas/interface/$.signatures.astn.d.ts +3 -0
  275. package/dist/temporary_schemas/exupery/schemas/interface/$.signatures.astn.js +14 -0
  276. package/dist/temporary_schemas/exupery/schemas/interface/$.types.astn.d.ts +3 -0
  277. package/dist/temporary_schemas/exupery/schemas/interface/$.types.astn.js +83 -0
  278. package/dist/temporary_schemas/exupery/schemas/typescript_light/$.globals.astn.d.ts +3 -0
  279. package/dist/temporary_schemas/exupery/schemas/typescript_light/$.globals.astn.js +9 -0
  280. package/dist/temporary_schemas/exupery/schemas/typescript_light/$.module.astn.d.ts +3 -0
  281. package/dist/temporary_schemas/exupery/schemas/typescript_light/$.module.astn.js +8 -0
  282. package/dist/temporary_schemas/exupery/schemas/typescript_light/$.types.astn.d.ts +3 -0
  283. package/dist/temporary_schemas/exupery/schemas/typescript_light/$.types.astn.js +130 -0
  284. package/dist/temporary_schemas/exupery/schemas.astn.d.ts +3 -0
  285. package/dist/temporary_schemas/exupery/schemas.astn.js +13 -0
  286. package/dist/temporary_schemas/pareto/module.astn.d.ts +3 -0
  287. package/dist/temporary_schemas/pareto/module.astn.js +8 -0
  288. package/dist/temporary_schemas/pareto/operations.astn.d.ts +3 -0
  289. package/dist/temporary_schemas/pareto/operations.astn.js +78 -0
  290. package/dist/temporary_schemas/pareto/schema_tree.astn.d.ts +3 -0
  291. package/dist/temporary_schemas/pareto/schema_tree.astn.js +15 -0
  292. package/dist/temporary_schemas/pareto/schemas/module/$.globals.astn.d.ts +3 -0
  293. package/dist/temporary_schemas/pareto/schemas/module/$.globals.astn.js +6 -0
  294. package/dist/temporary_schemas/pareto/schemas/module/$.module.astn.d.ts +3 -0
  295. package/dist/temporary_schemas/pareto/schemas/module/$.module.astn.js +12 -0
  296. package/dist/temporary_schemas/pareto/schemas/module/$.resolvers.astn.d.ts +3 -0
  297. package/dist/temporary_schemas/pareto/schemas/module/$.resolvers.astn.js +45 -0
  298. package/dist/temporary_schemas/pareto/schemas/module/$.signatures.astn.d.ts +3 -0
  299. package/dist/temporary_schemas/pareto/schemas/module/$.signatures.astn.js +11 -0
  300. package/dist/temporary_schemas/pareto/schemas/module/$.types.astn.d.ts +3 -0
  301. package/dist/temporary_schemas/pareto/schemas/module/$.types.astn.js +20 -0
  302. package/dist/temporary_schemas/pareto/schemas/schema/$.globals.astn.d.ts +3 -0
  303. package/dist/temporary_schemas/pareto/schemas/schema/$.globals.astn.js +6 -0
  304. package/dist/temporary_schemas/pareto/schemas/schema/$.module.astn.d.ts +3 -0
  305. package/dist/temporary_schemas/pareto/schemas/schema/$.module.astn.js +10 -0
  306. package/dist/temporary_schemas/pareto/schemas/schema/$.resolvers.astn.d.ts +3 -0
  307. package/dist/temporary_schemas/pareto/schemas/schema/$.resolvers.astn.js +615 -0
  308. package/dist/temporary_schemas/pareto/schemas/schema/$.signatures.astn.d.ts +3 -0
  309. package/dist/temporary_schemas/pareto/schemas/schema/$.signatures.astn.js +133 -0
  310. package/dist/temporary_schemas/pareto/schemas/schema/$.types.astn.d.ts +3 -0
  311. package/dist/temporary_schemas/pareto/schemas/schema/$.types.astn.js +391 -0
  312. package/dist/temporary_schemas/pareto/schemas/unmarshall_errors/$.globals.astn.d.ts +3 -0
  313. package/dist/temporary_schemas/pareto/schemas/unmarshall_errors/$.globals.astn.js +6 -0
  314. package/dist/temporary_schemas/pareto/schemas/unmarshall_errors/$.module.astn.d.ts +3 -0
  315. package/dist/temporary_schemas/pareto/schemas/unmarshall_errors/$.module.astn.js +8 -0
  316. package/dist/temporary_schemas/pareto/schemas/unmarshall_errors/$.types.astn.d.ts +3 -0
  317. package/dist/temporary_schemas/pareto/schemas/unmarshall_errors/$.types.astn.js +62 -0
  318. package/dist/temporary_schemas/pareto/schemas/unmarshall_result/$.globals.astn.d.ts +3 -0
  319. package/dist/temporary_schemas/pareto/schemas/unmarshall_result/$.globals.astn.js +6 -0
  320. package/dist/temporary_schemas/pareto/schemas/unmarshall_result/$.module.astn.d.ts +3 -0
  321. package/dist/temporary_schemas/pareto/schemas/unmarshall_result/$.module.astn.js +10 -0
  322. package/dist/temporary_schemas/pareto/schemas/unmarshall_result/$.types.astn.d.ts +3 -0
  323. package/dist/temporary_schemas/pareto/schemas/unmarshall_result/$.types.astn.js +136 -0
  324. package/dist/temporary_schemas/pareto/schemas.astn.d.ts +3 -0
  325. package/dist/temporary_schemas/pareto/schemas.astn.js +15 -0
  326. package/dist/temporary_schemas/pareto-fountain-pen/module.astn.d.ts +3 -0
  327. package/dist/temporary_schemas/pareto-fountain-pen/module.astn.js +8 -0
  328. package/dist/temporary_schemas/pareto-fountain-pen/operations.astn.d.ts +3 -0
  329. package/dist/temporary_schemas/pareto-fountain-pen/operations.astn.js +6 -0
  330. package/dist/temporary_schemas/pareto-fountain-pen/schema_tree.astn.d.ts +3 -0
  331. package/dist/temporary_schemas/pareto-fountain-pen/schema_tree.astn.js +15 -0
  332. package/dist/temporary_schemas/pareto-fountain-pen/schemas/block/$.globals.astn.d.ts +3 -0
  333. package/dist/temporary_schemas/pareto-fountain-pen/schemas/block/$.globals.astn.js +8 -0
  334. package/dist/temporary_schemas/pareto-fountain-pen/schemas/block/$.module.astn.d.ts +3 -0
  335. package/dist/temporary_schemas/pareto-fountain-pen/schemas/block/$.module.astn.js +8 -0
  336. package/dist/temporary_schemas/pareto-fountain-pen/schemas/block/$.types.astn.d.ts +3 -0
  337. package/dist/temporary_schemas/pareto-fountain-pen/schemas/block/$.types.astn.js +25 -0
  338. package/dist/temporary_schemas/pareto-fountain-pen/schemas/lines/$.globals.astn.d.ts +3 -0
  339. package/dist/temporary_schemas/pareto-fountain-pen/schemas/lines/$.globals.astn.js +8 -0
  340. package/dist/temporary_schemas/pareto-fountain-pen/schemas/lines/$.module.astn.d.ts +3 -0
  341. package/dist/temporary_schemas/pareto-fountain-pen/schemas/lines/$.module.astn.js +8 -0
  342. package/dist/temporary_schemas/pareto-fountain-pen/schemas/lines/$.types.astn.d.ts +3 -0
  343. package/dist/temporary_schemas/pareto-fountain-pen/schemas/lines/$.types.astn.js +12 -0
  344. package/dist/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.globals.astn.d.ts +3 -0
  345. package/dist/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.globals.astn.js +8 -0
  346. package/dist/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.module.astn.d.ts +3 -0
  347. package/dist/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.module.astn.js +8 -0
  348. package/dist/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.types.astn.d.ts +3 -0
  349. package/dist/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.types.astn.js +15 -0
  350. package/dist/temporary_schemas/pareto-fountain-pen/schemas/text/$.globals.astn.d.ts +3 -0
  351. package/dist/temporary_schemas/pareto-fountain-pen/schemas/text/$.globals.astn.js +8 -0
  352. package/dist/temporary_schemas/pareto-fountain-pen/schemas/text/$.module.astn.d.ts +3 -0
  353. package/dist/temporary_schemas/pareto-fountain-pen/schemas/text/$.module.astn.js +8 -0
  354. package/dist/temporary_schemas/pareto-fountain-pen/schemas/text/$.types.astn.d.ts +3 -0
  355. package/dist/temporary_schemas/pareto-fountain-pen/schemas/text/$.types.astn.js +12 -0
  356. package/dist/temporary_schemas/pareto-fountain-pen/schemas.astn.d.ts +3 -0
  357. package/dist/temporary_schemas/pareto-fountain-pen/schemas.astn.js +15 -0
  358. package/dist/temporary_schemas/pareto-json/module.astn.d.ts +3 -0
  359. package/dist/temporary_schemas/pareto-json/module.astn.js +8 -0
  360. package/dist/temporary_schemas/pareto-json/operations.astn.d.ts +3 -0
  361. package/dist/temporary_schemas/pareto-json/operations.astn.js +6 -0
  362. package/dist/temporary_schemas/pareto-json/schema_tree.astn.d.ts +3 -0
  363. package/dist/temporary_schemas/pareto-json/schema_tree.astn.js +9 -0
  364. package/dist/temporary_schemas/pareto-json/schemas/json/$.globals.astn.d.ts +3 -0
  365. package/dist/temporary_schemas/pareto-json/schemas/json/$.globals.astn.js +10 -0
  366. package/dist/temporary_schemas/pareto-json/schemas/json/$.module.astn.d.ts +3 -0
  367. package/dist/temporary_schemas/pareto-json/schemas/json/$.module.astn.js +8 -0
  368. package/dist/temporary_schemas/pareto-json/schemas/json/$.types.astn.d.ts +3 -0
  369. package/dist/temporary_schemas/pareto-json/schemas/json/$.types.astn.js +25 -0
  370. package/dist/temporary_schemas/pareto-json/schemas.astn.d.ts +3 -0
  371. package/dist/temporary_schemas/pareto-json/schemas.astn.js +9 -0
  372. package/dist/temporary_schemas/pareto-targets/module.astn.d.ts +3 -0
  373. package/dist/temporary_schemas/pareto-targets/module.astn.js +8 -0
  374. package/dist/temporary_schemas/pareto-targets/operations.astn.d.ts +3 -0
  375. package/dist/temporary_schemas/pareto-targets/operations.astn.js +6 -0
  376. package/dist/temporary_schemas/pareto-targets/schema_tree.astn.d.ts +3 -0
  377. package/dist/temporary_schemas/pareto-targets/schema_tree.astn.js +17 -0
  378. package/dist/temporary_schemas/pareto-targets/schemas/alan_light/$.globals.astn.d.ts +3 -0
  379. package/dist/temporary_schemas/pareto-targets/schemas/alan_light/$.globals.astn.js +8 -0
  380. package/dist/temporary_schemas/pareto-targets/schemas/alan_light/$.module.astn.d.ts +3 -0
  381. package/dist/temporary_schemas/pareto-targets/schemas/alan_light/$.module.astn.js +8 -0
  382. package/dist/temporary_schemas/pareto-targets/schemas/alan_light/$.types.astn.d.ts +3 -0
  383. package/dist/temporary_schemas/pareto-targets/schemas/alan_light/$.types.astn.js +59 -0
  384. package/dist/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.globals.astn.d.ts +3 -0
  385. package/dist/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.globals.astn.js +8 -0
  386. package/dist/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.module.astn.d.ts +3 -0
  387. package/dist/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.module.astn.js +8 -0
  388. package/dist/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.types.astn.d.ts +3 -0
  389. package/dist/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.types.astn.js +255 -0
  390. package/dist/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.globals.astn.d.ts +3 -0
  391. package/dist/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.globals.astn.js +10 -0
  392. package/dist/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.module.astn.d.ts +3 -0
  393. package/dist/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.module.astn.js +8 -0
  394. package/dist/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.types.astn.d.ts +3 -0
  395. package/dist/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.types.astn.js +68 -0
  396. package/dist/temporary_schemas/pareto-targets/schemas/lionweb/$.globals.astn.d.ts +3 -0
  397. package/dist/temporary_schemas/pareto-targets/schemas/lionweb/$.globals.astn.js +9 -0
  398. package/dist/temporary_schemas/pareto-targets/schemas/lionweb/$.module.astn.d.ts +3 -0
  399. package/dist/temporary_schemas/pareto-targets/schemas/lionweb/$.module.astn.js +8 -0
  400. package/dist/temporary_schemas/pareto-targets/schemas/lionweb/$.types.astn.d.ts +3 -0
  401. package/dist/temporary_schemas/pareto-targets/schemas/lionweb/$.types.astn.js +41 -0
  402. package/dist/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.globals.astn.d.ts +3 -0
  403. package/dist/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.globals.astn.js +8 -0
  404. package/dist/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.module.astn.d.ts +3 -0
  405. package/dist/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.module.astn.js +11 -0
  406. package/dist/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.types.astn.d.ts +3 -0
  407. package/dist/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.types.astn.js +17 -0
  408. package/dist/temporary_schemas/pareto-targets/schemas.astn.d.ts +3 -0
  409. package/dist/temporary_schemas/pareto-targets/schemas.astn.js +17 -0
  410. package/dist/transformations/module/exupery_implementation.d.ts +4 -4
  411. package/dist/transformations/module/exupery_implementation.js +10 -8
  412. package/dist/transformations/module/exupery_interface.d.ts +2 -2
  413. package/dist/transformations/module/exupery_interface.js +36 -37
  414. package/dist/transformations/module/temp_typescript.d.ts +3 -0
  415. package/dist/transformations/module/temp_typescript.js +56 -0
  416. package/dist/transformations/schema/exupery_implementation/main.d.ts +10 -4
  417. package/dist/transformations/schema/exupery_implementation/main.js +33 -18
  418. package/dist/transformations/schema/exupery_implementation/marshall.d.ts +9 -9
  419. package/dist/transformations/schema/exupery_implementation/marshall.js +43 -39
  420. package/dist/transformations/schema/exupery_implementation/migrate_boilerplate.d.ts +3 -3
  421. package/dist/transformations/schema/exupery_implementation/resolve.d.ts +20 -20
  422. package/dist/transformations/schema/exupery_implementation/resolve.js +141 -133
  423. package/dist/transformations/schema/exupery_implementation/unmarshall.d.ts +15 -0
  424. package/dist/transformations/schema/exupery_implementation/unmarshall.js +159 -0
  425. package/dist/transformations/schema/exupery_interface/main.d.ts +4 -2
  426. package/dist/transformations/schema/exupery_interface/main.js +73 -54
  427. package/dist/transformations/schema/exupery_interface/marshall.d.ts +2 -2
  428. package/dist/transformations/schema/exupery_interface/marshall.js +8 -23
  429. package/dist/transformations/schema/exupery_interface/migrate_boilerplate.d.ts +2 -2
  430. package/dist/transformations/schema/exupery_interface/migrate_boilerplate.js +7 -3
  431. package/dist/transformations/schema/exupery_interface/resolve.d.ts +3 -3
  432. package/dist/transformations/schema/exupery_interface/resolve.js +17 -17
  433. package/dist/transformations/schema/exupery_interface/types.d.ts +6 -6
  434. package/dist/transformations/schema/exupery_interface/types.js +61 -60
  435. package/dist/transformations/schema/exupery_interface/unmarshall.d.ts +2 -2
  436. package/dist/transformations/schema/exupery_interface/unmarshall.js +12 -5
  437. package/dist/transformations/schema/exupery_interface/{serializer.d.ts → value_deserializers.d.ts} +2 -2
  438. package/dist/transformations/schema/exupery_interface/value_deserializers.js +57 -0
  439. package/dist/transformations/schema/exupery_interface/{migration_boilerplate.d.ts → value_serializers.d.ts} +3 -3
  440. package/dist/transformations/schema/exupery_interface/value_serializers.js +57 -0
  441. package/dist/transformations/unmarshall_errors/fountain_pen.d.ts +6 -0
  442. package/dist/transformations/unmarshall_errors/fountain_pen.js +82 -0
  443. package/dist/transformations/unmarshall_result/unmarshall_errors.d.ts +1 -2
  444. package/dist/transformations/unmarshall_result/unmarshall_errors.js +116 -55
  445. package/dist/uptransformers/unmarshall_result/astn_ast.d.ts +7 -6
  446. package/dist/uptransformers/unmarshall_result/astn_ast.js +2 -2
  447. package/package.json +5 -5
  448. package/dist/generated/generic/resolve.d.ts +0 -90
  449. package/dist/generated/generic/resolve.js +0 -251
  450. package/dist/generated/implementation/schemas/module/serializer.d.ts +0 -3
  451. package/dist/generated/implementation/schemas/schema/serializer.d.ts +0 -35
  452. package/dist/generated/implementation/schemas/schema/serializer.js +0 -1100
  453. package/dist/generated/implementation/schemas/unmarshall_errors/serializer.d.ts +0 -5
  454. package/dist/generated/implementation/schemas/unmarshall_errors/serializer.js +0 -175
  455. package/dist/generated/interface/generic/resolve.d.ts +0 -11
  456. package/dist/generated/interface/generic/resolve.js +0 -3
  457. package/dist/generated/interface/schemas/module/migration_boilerplate.js +0 -3
  458. package/dist/generated/interface/schemas/module/serializer.d.ts +0 -106
  459. package/dist/generated/interface/schemas/module/unresolved.d.ts +0 -133
  460. package/dist/generated/interface/schemas/schema/migration_boilerplate.js +0 -3
  461. package/dist/generated/interface/schemas/schema/unresolved.d.ts +0 -3754
  462. package/dist/generated/interface/schemas/unmarshall_errors/migration_boilerplate.js +0 -3
  463. package/dist/generated/interface/schemas/unmarshall_errors/serializer.d.ts +0 -166
  464. package/dist/generated/interface/schemas/unmarshall_errors/serializer.js +0 -3
  465. package/dist/generated/interface/schemas/unmarshall_result/migration_boilerplate.js +0 -7
  466. package/dist/generated/interface/schemas/unmarshall_result/serializer.js +0 -3
  467. package/dist/index.d.ts +0 -1
  468. package/dist/index.js +0 -5
  469. package/dist/transformations/module/pareto_implementation.d.ts +0 -4
  470. package/dist/transformations/module/pareto_implementation.js +0 -42
  471. package/dist/transformations/module/pareto_interface.d.ts +0 -5
  472. package/dist/transformations/module/pareto_interface.js +0 -150
  473. package/dist/transformations/schema/documentation.d.ts +0 -5
  474. package/dist/transformations/schema/documentation.js +0 -72
  475. package/dist/transformations/schema/exupery_implementation/migration_boilerplate.d.ts +0 -14
  476. package/dist/transformations/schema/exupery_implementation/migration_boilerplate.js +0 -113
  477. package/dist/transformations/schema/exupery_implementation/resolver.d.ts +0 -24
  478. package/dist/transformations/schema/exupery_implementation/resolver.js +0 -299
  479. package/dist/transformations/schema/exupery_implementation/serializer.d.ts +0 -14
  480. package/dist/transformations/schema/exupery_implementation/serializer.js +0 -145
  481. package/dist/transformations/schema/exupery_interface/migration_boilerplate.js +0 -43
  482. package/dist/transformations/schema/exupery_interface/resolver.d.ts +0 -12
  483. package/dist/transformations/schema/exupery_interface/resolver.js +0 -115
  484. package/dist/transformations/schema/exupery_interface/serializer.js +0 -62
  485. package/dist/transformations/schema/graphviz.d.ts +0 -8
  486. package/dist/transformations/schema/graphviz.js +0 -103
  487. package/dist/transformations/schema/lionweb.d.ts +0 -14
  488. package/dist/transformations/schema/lionweb.js +0 -226
  489. package/dist/transformations/schema/pareto_implementation/main.d.ts +0 -4
  490. package/dist/transformations/schema/pareto_implementation/main.js +0 -63
  491. package/dist/transformations/schema/pareto_implementation/migration_boilerplate.d.ts +0 -14
  492. package/dist/transformations/schema/pareto_implementation/migration_boilerplate.js +0 -113
  493. package/dist/transformations/schema/pareto_implementation/resolver.d.ts +0 -24
  494. package/dist/transformations/schema/pareto_implementation/resolver.js +0 -299
  495. package/dist/transformations/schema/pareto_interface/main.d.ts +0 -4
  496. package/dist/transformations/schema/pareto_interface/main.js +0 -79
  497. package/dist/transformations/schema/pareto_interface/migration_boilerplate.d.ts +0 -7
  498. package/dist/transformations/schema/pareto_interface/migration_boilerplate.js +0 -51
  499. package/dist/transformations/schema/pareto_interface/resolver.d.ts +0 -12
  500. package/dist/transformations/schema/pareto_interface/resolver.js +0 -115
  501. package/dist/transformations/schema/pareto_interface/types.d.ts +0 -12
  502. package/dist/transformations/schema/pareto_interface/types.js +0 -211
  503. package/dist/transformations/schema/railroad_diagram.d.ts +0 -7
  504. package/dist/transformations/schema/railroad_diagram.js +0 -79
  505. package/dist/transformations/unmarshall/collect_errors.d.ts +0 -4
  506. package/dist/transformations/unmarshall/collect_errors.js +0 -185
  507. package/dist/transformations/unmarshall/dynamic_post_parse.d.ts +0 -7
  508. package/dist/transformations/unmarshall/dynamic_post_parse.js +0 -267
  509. package/dist/transformations/unmarshall/post_parse_types.d.ts +0 -77
  510. package/dist/transformations/unmarshall/post_parse_types.js +0 -3
  511. package/dist/unmarshall/collect_errors.d.ts +0 -38
  512. package/dist/unmarshall/collect_errors.js +0 -185
  513. package/dist/unmarshall/dynamic_post_parse.d.ts +0 -7
  514. package/dist/unmarshall/dynamic_post_parse.js +0 -267
  515. package/dist/unmarshall/post_parse_types.d.ts +0 -77
  516. package/dist/unmarshall/post_parse_types.js +0 -3
  517. /package/dist/{generated/implementation/schemas/unmarshall_result/serializer.d.ts → bin/compile.d.ts} +0 -0
  518. /package/dist/{generated/interface/schemas/unmarshall_result/migration_boilerplate.d.ts → bin/test.d.ts} +0 -0
  519. /package/dist/generated/{interface/schemas/unmarshall_result/unconstrained.d.ts → implementation/schemas/unmarshall_result/marshall.d.ts} +0 -0
  520. /package/dist/generated/interface/schemas/{unmarshall_result/serializer.d.ts → module/value_serializers.d.ts} +0 -0
@@ -23,73 +23,88 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.schema_ = exports.unconstrained = exports.constrained = exports.import_ = exports.schemas = exports.resolvers = exports.signatures = exports.resolver = exports.r = exports.pc = exports.oc = exports.state_constrained = exports.state = exports.av = exports.gvs = exports.pvs = exports.ovi = exports.vst = exports.al = exports.rls = exports.lookup_parameter = exports.value_parameter_external = exports.value_parameter = exports.sig = exports.sig_params = exports.tr = exports.t = exports.part_reference = exports.reference = exports.n = exports.text = exports.type = exports.globals = exports.types = void 0;
26
+ exports.schema_ = exports.unconstrained = exports.constrained = exports.import_ = exports.resolvers = exports.signatures = exports.resolver = exports.r = exports.pc = exports.oc = exports.state_constrained = exports.state = exports.av = exports.gvs = exports.pvs = exports.ovi = exports.vst = exports.al = exports.ls = exports.lookup_parameter = exports.value_parameter_external = exports.value_parameter = exports.sig = exports.sig_params = exports.tr = exports.t = exports.part_reference = exports.reference = exports.n = exports.text = exports.type = exports.globals = exports.types = exports.st = void 0;
27
27
  const pd = __importStar(require("exupery-core-data"));
28
28
  const unresolved_1 = require("exupery-core-data/dist/shorthands/unresolved");
29
+ /**
30
+ * schema tree
31
+ */
32
+ var st;
33
+ (function (st) {
34
+ st.set = (schemas) => {
35
+ return (0, unresolved_1.wrap_state_group)(1, ['set', (0, unresolved_1.wrap_dictionary)(1, schemas)]);
36
+ };
37
+ st.schema = (schema) => {
38
+ return (0, unresolved_1.wrap_state_group)(1, ['schema', schema]);
39
+ };
40
+ })(st || (exports.st = st = {}));
29
41
  const types = (types) => {
30
- return (0, unresolved_1.wrap_dictionary)(types);
42
+ return (0, unresolved_1.wrap_dictionary)(1, types);
31
43
  };
32
44
  exports.types = types;
33
45
  const globals = (complexity, text_types, number_types) => {
34
46
  return {
35
47
  'complexity': complexity === 'unconstrained'
36
- ? (0, unresolved_1.wrap_state_group)(['unconstrained', null])
37
- : (0, unresolved_1.wrap_state_group)(['constrained', null]),
38
- 'text types': (0, unresolved_1.wrap_dictionary)(text_types),
39
- 'number types': (0, unresolved_1.wrap_dictionary)(number_types),
48
+ ? (0, unresolved_1.wrap_state_group)(1, ['unconstrained', null])
49
+ : (0, unresolved_1.wrap_state_group)(1, ['constrained', null]),
50
+ 'text types': (0, unresolved_1.wrap_dictionary)(1, text_types),
51
+ 'number types': (0, unresolved_1.wrap_dictionary)(1, number_types),
40
52
  };
41
53
  };
42
54
  exports.globals = globals;
43
55
  const type = (type) => {
44
56
  return {
45
- 'type parameters': (0, unresolved_1.wrap_dictionary)({}),
57
+ 'type parameters': (0, unresolved_1.wrap_dictionary)(1, {}),
46
58
  'node': type,
47
59
  };
48
60
  };
49
61
  exports.type = type;
50
62
  const text = (type) => {
51
63
  return {
52
- 'type': type === 'single line' ? (0, unresolved_1.wrap_state_group)(['single line', null]) : (0, unresolved_1.wrap_state_group)(['multi line', null]),
64
+ 'type': type === 'single line' ? (0, unresolved_1.wrap_state_group)(1, ['single line', null]) : (0, unresolved_1.wrap_state_group)(1, ['multi line', null]),
53
65
  };
54
66
  };
55
67
  exports.text = text;
68
+ /**
69
+ * number type
70
+ */
56
71
  var n;
57
72
  (function (n) {
58
73
  n.integer = (decimal_separator_offset) => {
59
74
  return {
60
- 'precision': (0, unresolved_1.wrap_state_group)(['exact', {
75
+ 'precision': (0, unresolved_1.wrap_state_group)(1, ['exact', {
61
76
  'decimal separator offset': decimal_separator_offset === undefined ? pd.not_set() : pd.set(decimal_separator_offset),
62
- 'type': (0, unresolved_1.wrap_state_group)(['integer', null]),
77
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['integer', null]),
63
78
  }])
64
79
  };
65
80
  };
66
81
  n.approximation = (significant_digits) => {
67
82
  return {
68
- 'precision': (0, unresolved_1.wrap_state_group)(['approximation', {
83
+ 'precision': (0, unresolved_1.wrap_state_group)(1, ['approximation', {
69
84
  'significant digits': significant_digits,
70
85
  }])
71
86
  };
72
87
  };
73
88
  n.natural = (decimal_separator_offset) => {
74
89
  return {
75
- 'precision': (0, unresolved_1.wrap_state_group)(['exact', {
90
+ 'precision': (0, unresolved_1.wrap_state_group)(1, ['exact', {
76
91
  'decimal separator offset': decimal_separator_offset === undefined ? pd.not_set() : pd.set(decimal_separator_offset),
77
- 'type': (0, unresolved_1.wrap_state_group)(['natural', null]),
92
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['natural', null]),
78
93
  }])
79
94
  };
80
95
  };
81
96
  n.positive_natural = (decimal_separator_offset) => {
82
97
  return {
83
- 'precision': (0, unresolved_1.wrap_state_group)(['exact', {
98
+ 'precision': (0, unresolved_1.wrap_state_group)(1, ['exact', {
84
99
  'decimal separator offset': decimal_separator_offset === undefined ? pd.not_set() : pd.set(decimal_separator_offset),
85
- 'type': (0, unresolved_1.wrap_state_group)(['positive natural', null]),
100
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['positive natural', null]),
86
101
  }])
87
102
  };
88
103
  };
89
104
  })(n || (exports.n = n = {}));
90
105
  const reference = (type) => {
91
106
  return {
92
- 'location': (0, unresolved_1.wrap_state_group)(['internal', (0, unresolved_1.wrap_reference)(type)]),
107
+ 'location': (0, unresolved_1.wrap_state_group)(1, ['internal', (0, unresolved_1.wrap_reference)(1, type)]),
93
108
  'resulting node': null,
94
109
  };
95
110
  };
@@ -97,198 +112,207 @@ exports.reference = reference;
97
112
  const part_reference = (type, tail) => {
98
113
  return {
99
114
  'type location': {
100
- 'location': (0, unresolved_1.wrap_state_group)(['internal', (0, unresolved_1.wrap_reference)(type)]),
115
+ 'location': (0, unresolved_1.wrap_state_group)(1, ['internal', (0, unresolved_1.wrap_reference)(1, type)]),
101
116
  'resulting node': null,
102
117
  },
103
- 'tail': (0, unresolved_1.wrap_list)(tail),
118
+ 'tail': (0, unresolved_1.wrap_list)(1, tail),
104
119
  'resulting node': null,
105
120
  };
106
121
  };
107
122
  exports.part_reference = part_reference;
123
+ /**
124
+ * type node
125
+ */
108
126
  var t;
109
127
  (function (t) {
110
128
  t.boolean = () => {
111
- return (0, unresolved_1.wrap_state_group)(['boolean', null]);
129
+ return (0, unresolved_1.wrap_state_group)(1, ['boolean', null]);
112
130
  };
113
131
  t.component = (type) => {
114
- return (0, unresolved_1.wrap_state_group)(['component', (0, unresolved_1.wrap_state_group)(['internal', (0, unresolved_1.wrap_reference)(type)])]);
132
+ return (0, unresolved_1.wrap_state_group)(1, ['component', (0, unresolved_1.wrap_state_group)(1, ['internal', (0, unresolved_1.wrap_reference)(1, type)])]);
115
133
  };
116
134
  t.component_cyclic = (type) => {
117
- return (0, unresolved_1.wrap_state_group)(['component', (0, unresolved_1.wrap_state_group)(['internal cyclic', (0, unresolved_1.wrap_reference)(type)])]);
135
+ return (0, unresolved_1.wrap_state_group)(1, ['component', (0, unresolved_1.wrap_state_group)(1, ['internal cyclic', (0, unresolved_1.wrap_reference)(1, type)])]);
118
136
  };
119
137
  t.component_external = (imp, type) => {
120
- return (0, unresolved_1.wrap_state_group)(['component', (0, unresolved_1.wrap_state_group)(['external', {
121
- 'import': (0, unresolved_1.wrap_reference)(imp),
122
- 'type': (0, unresolved_1.wrap_reference)(type),
138
+ return (0, unresolved_1.wrap_state_group)(1, ['component', (0, unresolved_1.wrap_state_group)(1, ['external', {
139
+ 'import': (0, unresolved_1.wrap_reference)(1, imp),
140
+ 'type': (0, unresolved_1.wrap_reference)(1, type),
123
141
  }])]);
124
142
  };
125
143
  t.dictionary = (type, ordered) => {
126
- return (0, unresolved_1.wrap_state_group)(['dictionary', {
144
+ return (0, unresolved_1.wrap_state_group)(1, ['dictionary', {
127
145
  'node': type,
128
146
  'ordered': ordered === 'ordered',
129
147
  'benchmark': pd.not_set(),
130
148
  }]);
131
149
  };
132
150
  t.group = (properties) => {
133
- return (0, unresolved_1.wrap_state_group)(['group', (0, unresolved_1.wrap_dictionary)(properties)]);
151
+ return (0, unresolved_1.wrap_state_group)(1, ['group', (0, unresolved_1.wrap_dictionary)(1, properties)]);
134
152
  };
135
153
  t.identifier_value_pair = (type) => {
136
- return (0, unresolved_1.wrap_state_group)(['identifier value pair', type]);
154
+ return (0, unresolved_1.wrap_state_group)(1, ['identifier value pair', type]);
137
155
  };
138
156
  t.list = (type) => {
139
- return (0, unresolved_1.wrap_state_group)(['list', {
157
+ return (0, unresolved_1.wrap_state_group)(1, ['list', {
140
158
  'node': type,
141
159
  'result': pd.not_set(),
142
160
  }]);
143
161
  };
144
162
  t.nothing = () => {
145
- return (0, unresolved_1.wrap_state_group)(['nothing', null]);
163
+ return (0, unresolved_1.wrap_state_group)(1, ['nothing', null]);
146
164
  };
147
165
  t.number_global = (name) => {
148
- return (0, unresolved_1.wrap_state_group)(['number', (0, unresolved_1.wrap_state_group)(['global', (0, unresolved_1.wrap_reference)(name)])]);
166
+ return (0, unresolved_1.wrap_state_group)(1, ['number', (0, unresolved_1.wrap_state_group)(1, ['global', (0, unresolved_1.wrap_reference)(1, name)])]);
149
167
  };
150
168
  t.number_local = (bt) => {
151
- return (0, unresolved_1.wrap_state_group)(['number', (0, unresolved_1.wrap_state_group)(['local', bt])]);
169
+ return (0, unresolved_1.wrap_state_group)(1, ['number', (0, unresolved_1.wrap_state_group)(1, ['local', bt])]);
152
170
  };
153
171
  t.optional = (type) => {
154
- return (0, unresolved_1.wrap_state_group)(['optional', type]);
172
+ return (0, unresolved_1.wrap_state_group)(1, ['optional', type]);
155
173
  };
156
174
  t.reference_derived = (type, tail) => {
157
175
  const x = {
158
176
  'type location': {
159
- 'location': (0, unresolved_1.wrap_state_group)(['internal', (0, unresolved_1.wrap_reference)(type)]),
177
+ 'location': (0, unresolved_1.wrap_state_group)(1, ['internal', (0, unresolved_1.wrap_reference)(1, type)]),
160
178
  'resulting node': null,
161
179
  },
162
- 'tail': (0, unresolved_1.wrap_list)(tail),
180
+ 'tail': (0, unresolved_1.wrap_list)(1, tail),
163
181
  'resulting node': null
164
182
  };
165
- return (0, unresolved_1.wrap_state_group)(['reference', {
183
+ return (0, unresolved_1.wrap_state_group)(1, ['reference', {
166
184
  'referent': x,
167
- 'type': (0, unresolved_1.wrap_state_group)(['derived', null]),
185
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['derived', null]),
168
186
  }]);
169
187
  };
170
188
  t.reference_derived_external = (imp, type, tail) => {
171
189
  const x = {
172
190
  'type location': {
173
- 'location': (0, unresolved_1.wrap_state_group)(['external', {
174
- 'import': (0, unresolved_1.wrap_reference)(imp),
175
- 'type': (0, unresolved_1.wrap_reference)(type),
191
+ 'location': (0, unresolved_1.wrap_state_group)(1, ['external', {
192
+ 'import': (0, unresolved_1.wrap_reference)(1, imp),
193
+ 'type': (0, unresolved_1.wrap_reference)(1, type),
176
194
  }]),
177
195
  'resulting node': null
178
196
  },
179
- 'tail': (0, unresolved_1.wrap_list)(tail),
197
+ 'tail': (0, unresolved_1.wrap_list)(1, tail),
180
198
  'resulting node': null
181
199
  };
182
- return (0, unresolved_1.wrap_state_group)(['reference', {
200
+ return (0, unresolved_1.wrap_state_group)(1, ['reference', {
183
201
  'referent': x,
184
- 'type': (0, unresolved_1.wrap_state_group)(['derived', null]),
202
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['derived', null]),
185
203
  }]);
186
204
  };
187
205
  t.reference = (type, tail, dependency) => {
188
- const p_type = (0, unresolved_1.wrap_state_group)(['selected', {
206
+ const p_type = (0, unresolved_1.wrap_state_group)(1, ['selected', {
189
207
  'referent': {
190
208
  'type location': {
191
- 'location': (0, unresolved_1.wrap_state_group)(['internal', (0, unresolved_1.wrap_reference)(type)]),
209
+ 'location': (0, unresolved_1.wrap_state_group)(1, ['internal', (0, unresolved_1.wrap_reference)(1, type)]),
192
210
  'resulting node': null
193
211
  },
194
- 'tail': (0, unresolved_1.wrap_list)(tail),
212
+ 'tail': (0, unresolved_1.wrap_list)(1, tail),
195
213
  'resulting node': null
196
214
  },
197
215
  'dictionary': null,
198
- 'dependency': dependency === "cyclic" ? (0, unresolved_1.wrap_state_group)(['cyclic', null]) : (0, unresolved_1.wrap_state_group)(['acyclic', null])
216
+ 'dependency': dependency === "cyclic" ? (0, unresolved_1.wrap_state_group)(1, ['cyclic', null]) : (0, unresolved_1.wrap_state_group)(1, ['acyclic', null])
199
217
  }]);
200
- return (0, unresolved_1.wrap_state_group)(['reference', {
218
+ return (0, unresolved_1.wrap_state_group)(1, ['reference', {
201
219
  'referent': {
202
220
  'type location': {
203
- 'location': (0, unresolved_1.wrap_state_group)(['internal', (0, unresolved_1.wrap_reference)(type)]),
221
+ 'location': (0, unresolved_1.wrap_state_group)(1, ['internal', (0, unresolved_1.wrap_reference)(1, type)]),
204
222
  'resulting node': null
205
223
  },
206
- 'tail': (0, unresolved_1.wrap_list)(tail),
224
+ 'tail': (0, unresolved_1.wrap_list)(1, tail),
207
225
  'resulting node': null
208
226
  },
209
227
  'type': p_type,
210
228
  }]);
211
229
  };
212
230
  t.reference_stack = (type, tail) => {
213
- const p_type = (0, unresolved_1.wrap_state_group)(['selected', {
231
+ const p_type = (0, unresolved_1.wrap_state_group)(1, ['selected', {
214
232
  'dictionary': null,
215
- 'dependency': (0, unresolved_1.wrap_state_group)(['stack', null])
233
+ 'dependency': (0, unresolved_1.wrap_state_group)(1, ['stack', null])
216
234
  }]);
217
- return (0, unresolved_1.wrap_state_group)(['reference', {
235
+ return (0, unresolved_1.wrap_state_group)(1, ['reference', {
218
236
  'referent': {
219
237
  'type location': {
220
- 'location': (0, unresolved_1.wrap_state_group)(['internal', (0, unresolved_1.wrap_reference)(type)]),
238
+ 'location': (0, unresolved_1.wrap_state_group)(1, ['internal', (0, unresolved_1.wrap_reference)(1, type)]),
221
239
  'resulting node': null
222
240
  },
223
- 'tail': (0, unresolved_1.wrap_list)(tail),
241
+ 'tail': (0, unresolved_1.wrap_list)(1, tail),
224
242
  'resulting node': null
225
243
  },
226
244
  'type': p_type,
227
245
  }]);
228
246
  };
229
247
  t.reference_external = (imp, type, tail, dependency) => {
230
- const p_type = (0, unresolved_1.wrap_state_group)(['selected', {
248
+ const p_type = (0, unresolved_1.wrap_state_group)(1, ['selected', {
231
249
  'dictionary': null,
232
- 'dependency': dependency === "cyclic" ? (0, unresolved_1.wrap_state_group)(['cyclic', null]) : (0, unresolved_1.wrap_state_group)(['acyclic', null])
250
+ 'dependency': dependency === "cyclic" ? (0, unresolved_1.wrap_state_group)(1, ['cyclic', null]) : (0, unresolved_1.wrap_state_group)(1, ['acyclic', null])
233
251
  }]);
234
- return (0, unresolved_1.wrap_state_group)(['reference', {
252
+ return (0, unresolved_1.wrap_state_group)(1, ['reference', {
235
253
  'referent': {
236
254
  'type location': {
237
- 'location': (0, unresolved_1.wrap_state_group)(['external', {
238
- 'import': (0, unresolved_1.wrap_reference)(imp),
239
- 'type': (0, unresolved_1.wrap_reference)(type),
255
+ 'location': (0, unresolved_1.wrap_state_group)(1, ['external', {
256
+ 'import': (0, unresolved_1.wrap_reference)(1, imp),
257
+ 'type': (0, unresolved_1.wrap_reference)(1, type),
240
258
  }]),
241
259
  'resulting node': null
242
260
  },
243
- 'tail': (0, unresolved_1.wrap_list)(tail),
261
+ 'tail': (0, unresolved_1.wrap_list)(1, tail),
244
262
  'resulting node': null
245
263
  },
246
264
  'type': p_type,
247
265
  }]);
248
266
  };
249
267
  t.state_group = (states) => {
250
- return (0, unresolved_1.wrap_state_group)(['state group', (0, unresolved_1.wrap_dictionary)(states)]);
268
+ return (0, unresolved_1.wrap_state_group)(1, ['state group', (0, unresolved_1.wrap_dictionary)(1, states)]);
251
269
  };
252
270
  t.text_global = (name) => {
253
- return (0, unresolved_1.wrap_state_group)(['text', (0, unresolved_1.wrap_state_group)(['global', (0, unresolved_1.wrap_reference)(name)])]);
271
+ return (0, unresolved_1.wrap_state_group)(1, ['text', (0, unresolved_1.wrap_state_group)(1, ['global', (0, unresolved_1.wrap_reference)(1, name)])]);
254
272
  };
255
273
  t.text_local = (bt) => {
256
- return (0, unresolved_1.wrap_state_group)(['text', (0, unresolved_1.wrap_state_group)(['local', bt])]);
274
+ return (0, unresolved_1.wrap_state_group)(1, ['text', (0, unresolved_1.wrap_state_group)(1, ['local', bt])]);
257
275
  };
258
276
  t.type_parameter = (name) => {
259
- return (0, unresolved_1.wrap_state_group)(['type parameter', (0, unresolved_1.wrap_reference)(name)]);
277
+ return (0, unresolved_1.wrap_state_group)(1, ['type parameter', (0, unresolved_1.wrap_reference)(1, name)]);
260
278
  };
261
279
  })(t || (exports.t = t = {}));
280
+ /**
281
+ * type node reference tail step
282
+ */
262
283
  var tr;
263
284
  (function (tr) {
264
285
  tr.d = () => {
265
- return (0, unresolved_1.wrap_state_group)(['dictionary', null]);
286
+ return (0, unresolved_1.wrap_state_group)(1, ['dictionary', null]);
266
287
  };
267
288
  tr.g = (grp) => {
268
- return (0, unresolved_1.wrap_state_group)(['group', (0, unresolved_1.wrap_reference)(grp)]);
289
+ return (0, unresolved_1.wrap_state_group)(1, ['group', (0, unresolved_1.wrap_reference)(1, grp)]);
269
290
  };
270
291
  tr.s = (state) => {
271
- return (0, unresolved_1.wrap_state_group)(['state group', (0, unresolved_1.wrap_reference)(state)]);
292
+ return (0, unresolved_1.wrap_state_group)(1, ['state group', (0, unresolved_1.wrap_reference)(1, state)]);
272
293
  };
273
294
  tr.o = () => {
274
- return (0, unresolved_1.wrap_state_group)(['optional', null]);
295
+ return (0, unresolved_1.wrap_state_group)(1, ['optional', null]);
275
296
  };
276
297
  })(tr || (exports.tr = tr = {}));
277
298
  const sig_params = (values, lookups) => {
278
299
  return {
279
- 'values': (0, unresolved_1.wrap_dictionary)(values),
280
- 'lookups': (0, unresolved_1.wrap_dictionary)(lookups),
300
+ 'values': (0, unresolved_1.wrap_dictionary)(1, values),
301
+ 'lookups': (0, unresolved_1.wrap_dictionary)(1, lookups),
281
302
  };
282
303
  };
283
304
  exports.sig_params = sig_params;
305
+ /**
306
+ * signature
307
+ */
284
308
  var sig;
285
309
  (function (sig) {
286
310
  sig.local = (values, lookups) => {
287
311
  return {
288
312
  'type': null,
289
- 'parameters': (0, unresolved_1.wrap_state_group)(['local', {
290
- 'values': (0, unresolved_1.wrap_dictionary)(values),
291
- 'lookups': (0, unresolved_1.wrap_dictionary)(lookups),
313
+ 'parameters': (0, unresolved_1.wrap_state_group)(1, ['local', {
314
+ 'values': (0, unresolved_1.wrap_dictionary)(1, values),
315
+ 'lookups': (0, unresolved_1.wrap_dictionary)(1, lookups),
292
316
  }]),
293
317
  'resolved parameters': null,
294
318
  };
@@ -296,7 +320,7 @@ var sig;
296
320
  sig.same_as = (name) => {
297
321
  return {
298
322
  'type': null,
299
- 'parameters': (0, unresolved_1.wrap_state_group)(['same as', (0, unresolved_1.wrap_reference)(name)]),
323
+ 'parameters': (0, unresolved_1.wrap_state_group)(1, ['same as', (0, unresolved_1.wrap_reference)(1, name)]),
300
324
  'resolved parameters': null,
301
325
  };
302
326
  };
@@ -304,94 +328,88 @@ var sig;
304
328
  const value_parameter = (name, presence) => {
305
329
  return {
306
330
  'data type': {
307
- 'location': (0, unresolved_1.wrap_state_group)(['internal', (0, unresolved_1.wrap_reference)(name)]),
331
+ 'location': (0, unresolved_1.wrap_state_group)(1, ['internal', (0, unresolved_1.wrap_reference)(1, name)]),
308
332
  'resulting node': null,
309
333
  },
310
334
  'presence': presence === 'optional'
311
- ? (0, unresolved_1.wrap_state_group)(['optional', null])
312
- : (0, unresolved_1.wrap_state_group)(['required', null]),
335
+ ? (0, unresolved_1.wrap_state_group)(1, ['optional', null])
336
+ : (0, unresolved_1.wrap_state_group)(1, ['required', null]),
313
337
  };
314
338
  };
315
339
  exports.value_parameter = value_parameter;
316
340
  const value_parameter_external = (imp, type, presence) => {
317
341
  return {
318
342
  'data type': {
319
- 'location': (0, unresolved_1.wrap_state_group)(['external', {
320
- 'import': (0, unresolved_1.wrap_reference)(imp),
321
- 'type': (0, unresolved_1.wrap_reference)(type),
343
+ 'location': (0, unresolved_1.wrap_state_group)(1, ['external', {
344
+ 'import': (0, unresolved_1.wrap_reference)(1, imp),
345
+ 'type': (0, unresolved_1.wrap_reference)(1, type),
322
346
  }]),
323
347
  'resulting node': null,
324
348
  },
325
349
  'presence': presence === 'optional'
326
- ? (0, unresolved_1.wrap_state_group)(['optional', null])
327
- : (0, unresolved_1.wrap_state_group)(['required', null]),
350
+ ? (0, unresolved_1.wrap_state_group)(1, ['optional', null])
351
+ : (0, unresolved_1.wrap_state_group)(1, ['required', null]),
328
352
  };
329
353
  };
330
354
  exports.value_parameter_external = value_parameter_external;
331
355
  const lookup_parameter = (name, type, presence) => {
332
356
  return {
333
357
  'referent': {
334
- 'location': (0, unresolved_1.wrap_state_group)(['internal', (0, unresolved_1.wrap_reference)(name)]),
358
+ 'location': (0, unresolved_1.wrap_state_group)(1, ['internal', (0, unresolved_1.wrap_reference)(1, name)]),
335
359
  'resulting node': null,
336
360
  },
337
361
  'dictionary': null,
338
362
  'type': type === 'cyclic'
339
- ? (0, unresolved_1.wrap_state_group)(['cyclic', null])
363
+ ? (0, unresolved_1.wrap_state_group)(1, ['cyclic', null])
340
364
  : type === 'stack'
341
- ? (0, unresolved_1.wrap_state_group)(['stack', null])
342
- : (0, unresolved_1.wrap_state_group)(['acyclic', null]),
365
+ ? (0, unresolved_1.wrap_state_group)(1, ['stack', null])
366
+ : (0, unresolved_1.wrap_state_group)(1, ['acyclic', null]),
343
367
  'presence': presence === 'optional'
344
- ? (0, unresolved_1.wrap_state_group)(['optional', null])
345
- : (0, unresolved_1.wrap_state_group)(['required', null]),
368
+ ? (0, unresolved_1.wrap_state_group)(1, ['optional', null])
369
+ : (0, unresolved_1.wrap_state_group)(1, ['required', null]),
346
370
  };
347
371
  };
348
372
  exports.lookup_parameter = lookup_parameter;
349
- var rls;
350
- (function (rls) {
351
- rls.dictionary = (value_selection) => {
352
- return {
353
- 'type': (0, unresolved_1.wrap_state_group)(['dictionary', {
354
- 'selection': value_selection,
355
- 'selected dictionary': null,
356
- }]),
357
- 'resulting dictionary': null,
358
- };
359
- };
360
- rls.parameter = (parameter) => {
373
+ /**
374
+ * lookup selection
375
+ */
376
+ var ls;
377
+ (function (ls) {
378
+ ls.parameter = (parameter) => {
361
379
  return {
362
- 'type': (0, unresolved_1.wrap_state_group)(['parameter', (0, unresolved_1.wrap_reference)(parameter)]),
380
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['parameter', (0, unresolved_1.wrap_reference)(1, parameter)]),
363
381
  'resulting dictionary': null
364
382
  };
365
383
  };
366
- rls.not_circular_dependent_siblings = () => {
384
+ ls.not_circular_dependent_siblings = () => {
367
385
  return {
368
- 'type': (0, unresolved_1.wrap_state_group)(['not circular dependent siblings', null]),
386
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['not circular dependent siblings', null]),
369
387
  'resulting dictionary': null
370
388
  };
371
389
  };
372
- rls.possibly_circular_dependent_siblings = () => {
390
+ ls.possibly_circular_dependent_siblings = () => {
373
391
  return {
374
- 'type': (0, unresolved_1.wrap_state_group)(['possibly circular dependent siblings', null]),
392
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['possibly circular dependent siblings', null]),
375
393
  'resulting dictionary': null
376
394
  };
377
395
  };
378
- })(rls || (exports.rls = rls = {}));
396
+ })(ls || (exports.ls = ls = {}));
379
397
  /**
380
- * the context for creating lookup arguments
398
+ * node resolver lookup arguments
381
399
  */
382
400
  var al;
383
401
  (function (al) {
384
402
  al.not_set = () => {
385
- return (0, unresolved_1.wrap_state_group)(['not set', null]);
403
+ return (0, unresolved_1.wrap_state_group)(1, ['not set', null]);
386
404
  };
387
405
  al.empty_stack = () => {
388
- return (0, unresolved_1.wrap_state_group)(['empty stack', null]);
406
+ return (0, unresolved_1.wrap_state_group)(1, ['empty stack', null]);
389
407
  };
390
408
  /**
391
409
  * creates a new stack of lookup selections from an existing stack and a new element
392
410
  */
393
411
  al.stack = (stack, element) => {
394
- return (0, unresolved_1.wrap_state_group)(['stack', {
412
+ return (0, unresolved_1.wrap_state_group)(1, ['stack', {
395
413
  'stack': stack,
396
414
  'element': element,
397
415
  }]);
@@ -400,8 +418,8 @@ var al;
400
418
  * provides a dictionary by selecting a value (that is guaranteed to be a dictionary)
401
419
  */
402
420
  al.dictionary = (value_selection) => {
403
- return (0, unresolved_1.wrap_state_group)(['selection', {
404
- 'type': (0, unresolved_1.wrap_state_group)(['dictionary', {
421
+ return (0, unresolved_1.wrap_state_group)(1, ['selection', {
422
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['dictionary', {
405
423
  'selection': value_selection,
406
424
  'selected dictionary': null,
407
425
  }]),
@@ -412,8 +430,8 @@ var al;
412
430
  * selects a lookup parameter of this resolver and passes it to the next resolver
413
431
  */
414
432
  al.parameter = (parameter) => {
415
- return (0, unresolved_1.wrap_state_group)(['selection', {
416
- 'type': (0, unresolved_1.wrap_state_group)(['parameter', (0, unresolved_1.wrap_reference)(parameter)]),
433
+ return (0, unresolved_1.wrap_state_group)(1, ['selection', {
434
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['parameter', (0, unresolved_1.wrap_reference)(1, parameter)]),
417
435
  'resulting dictionary': null,
418
436
  }]);
419
437
  };
@@ -421,8 +439,8 @@ var al;
421
439
  * this one is only usable in the context of an ordered dictionary
422
440
  */
423
441
  al.not_circular_dependent_siblings = () => {
424
- return (0, unresolved_1.wrap_state_group)(['selection', {
425
- 'type': (0, unresolved_1.wrap_state_group)(['not circular dependent siblings', null]),
442
+ return (0, unresolved_1.wrap_state_group)(1, ['selection', {
443
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['not circular dependent siblings', null]),
426
444
  'resulting dictionary': null,
427
445
  }]);
428
446
  };
@@ -430,22 +448,25 @@ var al;
430
448
  * this one is only usable in the context of a dictionary (ordered or not)
431
449
  */
432
450
  al.possibly_circular_dependent_siblings = () => {
433
- return (0, unresolved_1.wrap_state_group)(['selection', {
434
- 'type': (0, unresolved_1.wrap_state_group)(['possibly circular dependent siblings', null]),
451
+ return (0, unresolved_1.wrap_state_group)(1, ['selection', {
452
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['possibly circular dependent siblings', null]),
435
453
  'resulting dictionary': null,
436
454
  }]);
437
455
  };
438
456
  })(al || (exports.al = al = {}));
457
+ /**
458
+ * value selection path step
459
+ */
439
460
  var vst;
440
461
  (function (vst) {
441
462
  vst.component = () => {
442
- return (0, unresolved_1.wrap_state_group)(['component', null]);
463
+ return (0, unresolved_1.wrap_state_group)(1, ['component', null]);
443
464
  };
444
465
  vst.group = (property) => {
445
- return (0, unresolved_1.wrap_state_group)(['group', (0, unresolved_1.wrap_reference)(property)]);
466
+ return (0, unresolved_1.wrap_state_group)(1, ['group', (0, unresolved_1.wrap_reference)(1, property)]);
446
467
  };
447
468
  vst.reference = () => {
448
- return (0, unresolved_1.wrap_state_group)(['reference', {
469
+ return (0, unresolved_1.wrap_state_group)(1, ['reference', {
449
470
  'definition': null,
450
471
  }]);
451
472
  };
@@ -453,84 +474,99 @@ var vst;
453
474
  // type: unresolved.Type_Node_Reference<pd.Source_Location>,
454
475
  // states: Raw_Or_Normal_Dictionary<unresolved.Relative_Value_Selection.path.L.SG.state_group.states.D<pd.Source_Location>>,
455
476
  // ): unresolved.Relative_Value_Selection.path.L<pd.Source_Location> => {
456
- // return wrap_state_group(['state group', {
477
+ // return wrap_state_group(1, ['state group', {
457
478
  // 'definition': null,
458
479
  // 'type': type,
459
- // 'states': wrap_dictionary(states),
480
+ // 'states': wrap_dictionary(1, states),
460
481
  // }])
461
482
  // }
462
483
  })(vst || (exports.vst = vst = {}));
484
+ /**
485
+ * optional value initialization
486
+ */
463
487
  var ovi;
464
488
  (function (ovi) {
465
489
  ovi.not_set = () => {
466
- return (0, unresolved_1.wrap_state_group)(['not set', null]);
490
+ return (0, unresolved_1.wrap_state_group)(1, ['not set', null]);
467
491
  };
468
492
  ovi.set = (value) => {
469
- return (0, unresolved_1.wrap_state_group)(['set', value]);
493
+ return (0, unresolved_1.wrap_state_group)(1, ['set', value]);
470
494
  };
471
495
  ovi.selection = (selection) => {
472
- return (0, unresolved_1.wrap_state_group)(['selection', selection]);
496
+ return (0, unresolved_1.wrap_state_group)(1, ['selection', selection]);
473
497
  };
474
498
  })(ovi || (exports.ovi = ovi = {}));
499
+ /**
500
+ * possible value selection
501
+ */
475
502
  var pvs;
476
503
  (function (pvs) {
477
504
  pvs.state_group = (state_group, result) => {
478
- return (0, unresolved_1.wrap_state_group)(['result', (0, unresolved_1.wrap_state_group)(['state group', {
479
- 'property': (0, unresolved_1.wrap_reference)(state_group),
505
+ return (0, unresolved_1.wrap_state_group)(1, ['result', (0, unresolved_1.wrap_state_group)(1, ['state group', {
506
+ 'property': (0, unresolved_1.wrap_reference)(1, state_group),
480
507
  'state group': null,
481
508
  'result': result,
482
509
  }])]);
483
510
  };
484
511
  pvs.optional_value = (optional_value, result) => {
485
- return (0, unresolved_1.wrap_state_group)(['result', (0, unresolved_1.wrap_state_group)(['optional value', {
486
- 'property': (0, unresolved_1.wrap_reference)(optional_value),
512
+ return (0, unresolved_1.wrap_state_group)(1, ['result', (0, unresolved_1.wrap_state_group)(1, ['optional value', {
513
+ 'property': (0, unresolved_1.wrap_reference)(1, optional_value),
487
514
  'optional value': null,
488
515
  'result': result,
489
516
  }])]);
490
517
  };
491
518
  pvs.parameter = (parameter) => {
492
- return (0, unresolved_1.wrap_state_group)(['parameter', (0, unresolved_1.wrap_reference)(parameter)]);
519
+ return (0, unresolved_1.wrap_state_group)(1, ['parameter', (0, unresolved_1.wrap_reference)(1, parameter)]);
493
520
  };
494
521
  })(pvs || (exports.pvs = pvs = {}));
522
+ /**
523
+ * guaranteed value selection
524
+ */
495
525
  var gvs;
496
526
  (function (gvs) {
497
- let constraint;
498
- (function (constraint_1) {
499
- constraint_1.component = (component, constraint, tail) => {
500
- return {
501
- 'start': (0, unresolved_1.wrap_state_group)(['constraint', (0, unresolved_1.wrap_state_group)(['component', {
502
- 'property': (0, unresolved_1.wrap_reference)(component),
503
- 'constraint': (0, unresolved_1.wrap_reference)(constraint),
504
- }])]),
505
- 'tail': {
506
- 'path': (0, unresolved_1.wrap_list)(tail),
507
- 'resulting node': null,
508
- },
527
+ gvs.dictionary = (value_selection) => {
528
+ return {
529
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['dictionary', {
530
+ 'selection': value_selection,
531
+ 'selected dictionary': null,
532
+ }]),
533
+ 'resulting dictionary': null,
534
+ };
535
+ };
536
+ gvs.component = (component, constraint, tail) => {
537
+ return {
538
+ 'start': (0, unresolved_1.wrap_state_group)(1, ['constraint', (0, unresolved_1.wrap_state_group)(1, ['component', {
539
+ 'property': (0, unresolved_1.wrap_reference)(1, component),
540
+ 'constraint': (0, unresolved_1.wrap_reference)(1, constraint),
541
+ }])]),
542
+ 'tail': {
543
+ 'path': (0, unresolved_1.wrap_list)(1, tail),
509
544
  'resulting node': null,
510
- };
545
+ },
546
+ 'resulting node': null,
511
547
  };
512
- constraint_1.reference = (reference, constraint, tail) => {
513
- return {
514
- 'start': (0, unresolved_1.wrap_state_group)(['constraint', (0, unresolved_1.wrap_state_group)(['reference', {
515
- 'property': (0, unresolved_1.wrap_reference)(reference),
516
- 'constraint': (0, unresolved_1.wrap_reference)(constraint),
517
- }])]),
518
- 'tail': {
519
- 'path': (0, unresolved_1.wrap_list)(tail),
520
- 'resulting node': null,
521
- },
548
+ };
549
+ gvs.reference = (reference, constraint, tail) => {
550
+ return {
551
+ 'start': (0, unresolved_1.wrap_state_group)(1, ['constraint', (0, unresolved_1.wrap_state_group)(1, ['reference', {
552
+ 'property': (0, unresolved_1.wrap_reference)(1, reference),
553
+ 'constraint': (0, unresolved_1.wrap_reference)(1, constraint),
554
+ }])]),
555
+ 'tail': {
556
+ 'path': (0, unresolved_1.wrap_list)(1, tail),
522
557
  'resulting node': null,
523
- };
558
+ },
559
+ 'resulting node': null,
524
560
  };
525
- })(constraint = gvs.constraint || (gvs.constraint = {}));
561
+ };
526
562
  gvs.list = (list, tail) => {
527
563
  return {
528
- 'start': (0, unresolved_1.wrap_state_group)(['result', (0, unresolved_1.wrap_state_group)(['list', {
529
- 'property': (0, unresolved_1.wrap_reference)(list),
564
+ 'start': (0, unresolved_1.wrap_state_group)(1, ['result', (0, unresolved_1.wrap_state_group)(1, ['list', {
565
+ 'property': (0, unresolved_1.wrap_reference)(1, list),
530
566
  'list result': null,
531
567
  }])]),
532
568
  'tail': {
533
- 'path': (0, unresolved_1.wrap_list)(tail),
569
+ 'path': (0, unresolved_1.wrap_list)(1, tail),
534
570
  'resulting node': null,
535
571
  },
536
572
  'resulting node': null,
@@ -538,13 +574,13 @@ var gvs;
538
574
  };
539
575
  gvs.state_group = (state_group, result, tail) => {
540
576
  return {
541
- 'start': (0, unresolved_1.wrap_state_group)(['result', (0, unresolved_1.wrap_state_group)(['state group', {
542
- 'property': (0, unresolved_1.wrap_reference)(state_group),
577
+ 'start': (0, unresolved_1.wrap_state_group)(1, ['result', (0, unresolved_1.wrap_state_group)(1, ['state group', {
578
+ 'property': (0, unresolved_1.wrap_reference)(1, state_group),
543
579
  'state group': null,
544
580
  'result': result,
545
581
  }])]),
546
582
  'tail': {
547
- 'path': (0, unresolved_1.wrap_list)(tail),
583
+ 'path': (0, unresolved_1.wrap_list)(1, tail),
548
584
  'resulting node': null,
549
585
  },
550
586
  'resulting node': null,
@@ -552,13 +588,13 @@ var gvs;
552
588
  };
553
589
  gvs.optional_value = (optional_value, result, tail) => {
554
590
  return {
555
- 'start': (0, unresolved_1.wrap_state_group)(['result', (0, unresolved_1.wrap_state_group)(['optional value', {
556
- 'property': (0, unresolved_1.wrap_reference)(optional_value),
591
+ 'start': (0, unresolved_1.wrap_state_group)(1, ['result', (0, unresolved_1.wrap_state_group)(1, ['optional value', {
592
+ 'property': (0, unresolved_1.wrap_reference)(1, optional_value),
557
593
  'optional value': null,
558
594
  'result': result,
559
595
  }])]),
560
596
  'tail': {
561
- 'path': (0, unresolved_1.wrap_list)(tail),
597
+ 'path': (0, unresolved_1.wrap_list)(1, tail),
562
598
  'resulting node': null,
563
599
  },
564
600
  'resulting node': null,
@@ -566,9 +602,9 @@ var gvs;
566
602
  };
567
603
  gvs.parameter = (parameter, tail) => {
568
604
  return {
569
- 'start': (0, unresolved_1.wrap_state_group)(['parameter', (0, unresolved_1.wrap_reference)(parameter)]),
605
+ 'start': (0, unresolved_1.wrap_state_group)(1, ['parameter', (0, unresolved_1.wrap_reference)(1, parameter)]),
570
606
  'tail': {
571
- 'path': (0, unresolved_1.wrap_list)(tail),
607
+ 'path': (0, unresolved_1.wrap_list)(1, tail),
572
608
  'resulting node': null,
573
609
  },
574
610
  'resulting node': null,
@@ -576,9 +612,9 @@ var gvs;
576
612
  };
577
613
  gvs.list_cursor = (tail) => {
578
614
  return {
579
- 'start': (0, unresolved_1.wrap_state_group)(['list cursor', null]),
615
+ 'start': (0, unresolved_1.wrap_state_group)(1, ['list cursor', null]),
580
616
  'tail': {
581
- 'path': (0, unresolved_1.wrap_list)(tail),
617
+ 'path': (0, unresolved_1.wrap_list)(1, tail),
582
618
  'resulting node': null,
583
619
  },
584
620
  'resulting node': null,
@@ -586,9 +622,9 @@ var gvs;
586
622
  };
587
623
  gvs.linked_entry = (tail) => {
588
624
  return {
589
- 'start': (0, unresolved_1.wrap_state_group)(['linked entry', null]),
625
+ 'start': (0, unresolved_1.wrap_state_group)(1, ['linked entry', null]),
590
626
  'tail': {
591
- 'path': (0, unresolved_1.wrap_list)(tail),
627
+ 'path': (0, unresolved_1.wrap_list)(1, tail),
592
628
  'resulting node': null,
593
629
  },
594
630
  'resulting node': null,
@@ -596,9 +632,9 @@ var gvs;
596
632
  };
597
633
  gvs.sibling = (sibling, tail) => {
598
634
  return {
599
- 'start': (0, unresolved_1.wrap_state_group)(['sibling', (0, unresolved_1.wrap_reference)(sibling)]),
635
+ 'start': (0, unresolved_1.wrap_state_group)(1, ['sibling', (0, unresolved_1.wrap_reference)(1, sibling)]),
600
636
  'tail': {
601
- 'path': (0, unresolved_1.wrap_list)(tail),
637
+ 'path': (0, unresolved_1.wrap_list)(1, tail),
602
638
  'resulting node': null,
603
639
  },
604
640
  'resulting node': null,
@@ -606,9 +642,9 @@ var gvs;
606
642
  };
607
643
  gvs.parent_sibling = (parent_sibling, tail) => {
608
644
  return {
609
- 'start': (0, unresolved_1.wrap_state_group)(['parent sibling', (0, unresolved_1.wrap_reference)(parent_sibling)]),
645
+ 'start': (0, unresolved_1.wrap_state_group)(1, ['parent sibling', (0, unresolved_1.wrap_reference)(1, parent_sibling)]),
610
646
  'tail': {
611
- 'path': (0, unresolved_1.wrap_list)(tail),
647
+ 'path': (0, unresolved_1.wrap_list)(1, tail),
612
648
  'resulting node': null,
613
649
  },
614
650
  'resulting node': null,
@@ -616,136 +652,148 @@ var gvs;
616
652
  };
617
653
  gvs.option_constraint = (constraint, tail) => {
618
654
  return {
619
- 'start': (0, unresolved_1.wrap_state_group)(['option constraint', (0, unresolved_1.wrap_reference)(constraint)]),
655
+ 'start': (0, unresolved_1.wrap_state_group)(1, ['option constraint', (0, unresolved_1.wrap_reference)(1, constraint)]),
620
656
  'tail': {
621
- 'path': (0, unresolved_1.wrap_list)(tail),
657
+ 'path': (0, unresolved_1.wrap_list)(1, tail),
622
658
  'resulting node': null,
623
659
  },
624
660
  'resulting node': null,
625
661
  };
626
662
  };
627
663
  })(gvs || (exports.gvs = gvs = {}));
664
+ /**
665
+ * node resolver value argument
666
+ */
628
667
  var av;
629
668
  (function (av) {
630
669
  av.parameter = (parameter) => {
631
- return (0, unresolved_1.wrap_state_group)(['parameter', (0, unresolved_1.wrap_reference)(parameter)]);
670
+ return (0, unresolved_1.wrap_state_group)(1, ['parameter', (0, unresolved_1.wrap_reference)(1, parameter)]);
632
671
  };
633
672
  av.required = (value) => {
634
- return (0, unresolved_1.wrap_state_group)(['required', value]);
673
+ return (0, unresolved_1.wrap_state_group)(1, ['required', value]);
635
674
  };
636
675
  av.optional = (value) => {
637
- return (0, unresolved_1.wrap_state_group)(['optional', value]);
676
+ return (0, unresolved_1.wrap_state_group)(1, ['optional', value]);
638
677
  };
639
678
  })(av || (exports.av = av = {}));
640
679
  const state = (resolver) => {
641
680
  return {
642
- 'constraints': (0, unresolved_1.wrap_dictionary)({}),
681
+ 'constraints': (0, unresolved_1.wrap_dictionary)(1, {}),
643
682
  'resolver': resolver,
644
683
  };
645
684
  };
646
685
  exports.state = state;
647
686
  const state_constrained = (constraints, resolver) => {
648
687
  return {
649
- 'constraints': (0, unresolved_1.wrap_dictionary)(constraints),
688
+ 'constraints': (0, unresolved_1.wrap_dictionary)(1, constraints),
650
689
  'resolver': resolver,
651
690
  };
652
691
  };
653
692
  exports.state_constrained = state_constrained;
693
+ /**
694
+ * option constraint
695
+ */
654
696
  var oc;
655
697
  (function (oc) {
656
698
  oc.state = (value_selection, state) => {
657
- return (0, unresolved_1.wrap_state_group)(['state', {
699
+ return (0, unresolved_1.wrap_state_group)(1, ['state', {
658
700
  'selection': value_selection,
659
701
  'selected state group': null,
660
- 'state': (0, unresolved_1.wrap_reference)(state),
702
+ 'state': (0, unresolved_1.wrap_reference)(1, state),
661
703
  }]);
662
704
  };
663
705
  oc.assert_set = (possibly_optional) => {
664
- return (0, unresolved_1.wrap_state_group)(['assert is set', possibly_optional]);
706
+ return (0, unresolved_1.wrap_state_group)(1, ['assert is set', possibly_optional]);
665
707
  };
666
708
  })(oc || (exports.oc = oc = {}));
709
+ /**
710
+ * property constraint
711
+ */
667
712
  var pc;
668
713
  (function (pc) {
669
714
  pc.property = (value_selection_tail, state) => {
670
715
  return {
671
- 'start': (0, unresolved_1.wrap_state_group)(['property', null]),
716
+ 'start': (0, unresolved_1.wrap_state_group)(1, ['property', null]),
672
717
  'constraint': {
673
718
  'selection': {
674
- 'path': (0, unresolved_1.wrap_list)(value_selection_tail),
719
+ 'path': (0, unresolved_1.wrap_list)(1, value_selection_tail),
675
720
  'resulting node': null,
676
721
  },
677
- 'type': (0, unresolved_1.wrap_state_group)(['state', {
722
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['state', {
678
723
  'selected state group': null,
679
- 'state': (0, unresolved_1.wrap_reference)(state),
724
+ 'state': (0, unresolved_1.wrap_reference)(1, state),
680
725
  }])
681
726
  },
682
727
  };
683
728
  };
684
729
  pc.constraint = (constraint, value_selection_tail, state) => {
685
730
  return {
686
- 'start': (0, unresolved_1.wrap_state_group)(['sibling', (0, unresolved_1.wrap_reference)(constraint)]),
731
+ 'start': (0, unresolved_1.wrap_state_group)(1, ['sibling', (0, unresolved_1.wrap_reference)(1, constraint)]),
687
732
  'constraint': {
688
733
  'selection': {
689
- 'path': (0, unresolved_1.wrap_list)(value_selection_tail),
734
+ 'path': (0, unresolved_1.wrap_list)(1, value_selection_tail),
690
735
  'resulting node': null,
691
736
  },
692
737
  'type': state === undefined
693
- ? (0, unresolved_1.wrap_state_group)(['optional value', {
738
+ ? (0, unresolved_1.wrap_state_group)(1, ['optional value', {
694
739
  'selected optional value': null,
695
740
  }])
696
- : (0, unresolved_1.wrap_state_group)(['state', {
741
+ : (0, unresolved_1.wrap_state_group)(1, ['state', {
697
742
  'selected state group': null,
698
- 'state': (0, unresolved_1.wrap_reference)(state),
743
+ 'state': (0, unresolved_1.wrap_reference)(1, state),
699
744
  }])
700
745
  },
701
746
  };
702
747
  };
703
748
  })(pc || (exports.pc = pc = {}));
749
+ /**
750
+ * node resolver
751
+ */
704
752
  var r;
705
753
  (function (r) {
706
754
  r.text = () => {
707
- return (0, unresolved_1.wrap_state_group)(['text', null]);
755
+ return (0, unresolved_1.wrap_state_group)(1, ['text', null]);
708
756
  };
709
757
  r.boolean = () => {
710
- return (0, unresolved_1.wrap_state_group)(['boolean', null]);
758
+ return (0, unresolved_1.wrap_state_group)(1, ['boolean', null]);
711
759
  };
712
760
  r.number = () => {
713
- return (0, unresolved_1.wrap_state_group)(['number', null]);
761
+ return (0, unresolved_1.wrap_state_group)(1, ['number', null]);
714
762
  };
715
763
  r.component = (type, values, lookups, constraints) => {
716
- return (0, unresolved_1.wrap_state_group)(['component', {
717
- 'location': (0, unresolved_1.wrap_state_group)(['internal', (0, unresolved_1.wrap_reference)(type)]),
764
+ return (0, unresolved_1.wrap_state_group)(1, ['component', {
765
+ 'location': (0, unresolved_1.wrap_state_group)(1, ['internal', (0, unresolved_1.wrap_reference)(1, type)]),
718
766
  'signature': null,
719
767
  'arguments': pd.set({
720
- 'values': values === null ? pd.not_set() : pd.set((0, unresolved_1.wrap_dictionary)(values)),
721
- 'lookups': lookups === null ? pd.not_set() : pd.set((0, unresolved_1.wrap_dictionary)(lookups)),
768
+ 'values': values === null ? pd.not_set() : pd.set((0, unresolved_1.wrap_dictionary)(1, values)),
769
+ 'lookups': lookups === null ? pd.not_set() : pd.set((0, unresolved_1.wrap_dictionary)(1, lookups)),
722
770
  }),
723
- 'constraints': (0, unresolved_1.wrap_dictionary)(constraints === undefined ? {} : constraints),
771
+ 'constraints': (0, unresolved_1.wrap_dictionary)(1, constraints === undefined ? {} : constraints),
724
772
  }]);
725
773
  };
726
774
  r.component_external = (imp, type, values, lookups, constraints) => {
727
- return (0, unresolved_1.wrap_state_group)(['component', {
728
- 'location': (0, unresolved_1.wrap_state_group)(['external', {
729
- 'import': (0, unresolved_1.wrap_reference)(imp),
730
- 'type': (0, unresolved_1.wrap_reference)(type),
775
+ return (0, unresolved_1.wrap_state_group)(1, ['component', {
776
+ 'location': (0, unresolved_1.wrap_state_group)(1, ['external', {
777
+ 'import': (0, unresolved_1.wrap_reference)(1, imp),
778
+ 'type': (0, unresolved_1.wrap_reference)(1, type),
731
779
  }]),
732
780
  'signature': null,
733
781
  'arguments': pd.set({
734
- 'values': values === null ? pd.not_set() : pd.set((0, unresolved_1.wrap_dictionary)(values)),
735
- 'lookups': lookups === null ? pd.not_set() : pd.set((0, unresolved_1.wrap_dictionary)(lookups)),
782
+ 'values': values === null ? pd.not_set() : pd.set((0, unresolved_1.wrap_dictionary)(1, values)),
783
+ 'lookups': lookups === null ? pd.not_set() : pd.set((0, unresolved_1.wrap_dictionary)(1, lookups)),
736
784
  }),
737
- 'constraints': (0, unresolved_1.wrap_dictionary)(constraints === undefined ? {} : constraints),
785
+ 'constraints': (0, unresolved_1.wrap_dictionary)(1, constraints === undefined ? {} : constraints),
738
786
  }]);
739
787
  };
740
788
  r.dictionary = (resolver) => {
741
- return (0, unresolved_1.wrap_state_group)(['dictionary', {
789
+ return (0, unresolved_1.wrap_state_group)(1, ['dictionary', {
742
790
  'definition': null,
743
791
  'resolver': resolver,
744
792
  'benchmark': pd.not_set(),
745
793
  }]);
746
794
  };
747
795
  r.dictionary_linked = (dense, selection, resolver) => {
748
- return (0, unresolved_1.wrap_state_group)(['dictionary', {
796
+ return (0, unresolved_1.wrap_state_group)(1, ['dictionary', {
749
797
  'definition': null,
750
798
  'resolver': resolver,
751
799
  'benchmark': pd.set({
@@ -758,9 +806,9 @@ var r;
758
806
  r.group = (properties //FIXME: remove the 'this entry' step
759
807
  ) => {
760
808
  const location = pd.get_location_info(1);
761
- return (0, unresolved_1.wrap_state_group)(['group', {
809
+ return (0, unresolved_1.wrap_state_group)(1, ['group', {
762
810
  'location': location,
763
- 'dictionary': (0, unresolved_1.wrap_dictionary)(properties).dictionary.map(($) => {
811
+ 'dictionary': (0, unresolved_1.wrap_dictionary)(1, properties).dictionary.map(($) => {
764
812
  return {
765
813
  'location': location,
766
814
  'entry': {
@@ -772,66 +820,66 @@ var r;
772
820
  }]);
773
821
  };
774
822
  r.list = (type_resolver) => {
775
- return (0, unresolved_1.wrap_state_group)(['list', {
823
+ return (0, unresolved_1.wrap_state_group)(1, ['list', {
776
824
  'definition': null,
777
825
  'resolver': type_resolver,
778
826
  'result': pd.not_set(),
779
827
  }]);
780
828
  };
781
829
  r.list_with_result = (type_resolver, result) => {
782
- return (0, unresolved_1.wrap_state_group)(['list', {
830
+ return (0, unresolved_1.wrap_state_group)(1, ['list', {
783
831
  'definition': null,
784
832
  'resolver': type_resolver,
785
833
  'result': pd.set(result),
786
834
  }]);
787
835
  };
788
836
  r.nothing = () => {
789
- return (0, unresolved_1.wrap_state_group)(['nothing', null]);
837
+ return (0, unresolved_1.wrap_state_group)(1, ['nothing', null]);
790
838
  };
791
839
  r.optional = (type_resolver) => {
792
- return (0, unresolved_1.wrap_state_group)(['optional', {
793
- 'constraints': (0, unresolved_1.wrap_dictionary)({}),
840
+ return (0, unresolved_1.wrap_state_group)(1, ['optional', {
841
+ 'constraints': (0, unresolved_1.wrap_dictionary)(1, {}),
794
842
  'resolver': type_resolver,
795
843
  }]);
796
844
  };
797
845
  r.optional_constrained = (constraints, type_resolver) => {
798
- return (0, unresolved_1.wrap_state_group)(['optional', {
799
- 'constraints': (0, unresolved_1.wrap_dictionary)(constraints),
846
+ return (0, unresolved_1.wrap_state_group)(1, ['optional', {
847
+ 'constraints': (0, unresolved_1.wrap_dictionary)(1, constraints),
800
848
  'resolver': type_resolver,
801
849
  }]);
802
850
  };
803
851
  r.reference_derived = (value_selection) => {
804
- return (0, unresolved_1.wrap_state_group)(['reference', {
852
+ return (0, unresolved_1.wrap_state_group)(1, ['reference', {
805
853
  'definition': null,
806
- 'type': (0, unresolved_1.wrap_state_group)(['derived', {
854
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['derived', {
807
855
  'value': value_selection,
808
856
  }])
809
857
  }]);
810
858
  };
811
859
  r.reference = (lookup_selection, constraints) => {
812
- return (0, unresolved_1.wrap_state_group)(['reference', {
860
+ return (0, unresolved_1.wrap_state_group)(1, ['reference', {
813
861
  'definition': null,
814
- 'type': (0, unresolved_1.wrap_state_group)(['selected', {
862
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['selected', {
815
863
  'definition': null,
816
864
  'lookup': lookup_selection,
817
- 'constraints': (0, unresolved_1.wrap_dictionary)(constraints === undefined ? {} : constraints),
865
+ 'constraints': (0, unresolved_1.wrap_dictionary)(1, constraints === undefined ? {} : constraints),
818
866
  }])
819
867
  }]);
820
868
  };
821
869
  r.reference_stack = (lookup_selection, constraints) => {
822
- return (0, unresolved_1.wrap_state_group)(['reference', {
870
+ return (0, unresolved_1.wrap_state_group)(1, ['reference', {
823
871
  'definition': null,
824
- 'type': (0, unresolved_1.wrap_state_group)(['selected', {
872
+ 'type': (0, unresolved_1.wrap_state_group)(1, ['selected', {
825
873
  'definition': null,
826
874
  'lookup': lookup_selection,
827
- 'constraints': (0, unresolved_1.wrap_dictionary)(constraints === undefined ? {} : constraints),
875
+ 'constraints': (0, unresolved_1.wrap_dictionary)(1, constraints === undefined ? {} : constraints),
828
876
  }])
829
877
  }]);
830
878
  };
831
879
  r.state_group = (states) => {
832
- return (0, unresolved_1.wrap_state_group)(['state group', {
880
+ return (0, unresolved_1.wrap_state_group)(1, ['state group', {
833
881
  'definition': null,
834
- 'states': (0, unresolved_1.wrap_dictionary)(states),
882
+ 'states': (0, unresolved_1.wrap_dictionary)(1, states),
835
883
  }]);
836
884
  };
837
885
  })(r || (exports.r = r = {}));
@@ -844,21 +892,17 @@ const resolver = (type_resolver) => {
844
892
  exports.resolver = resolver;
845
893
  const signatures = (signatures) => {
846
894
  return {
847
- 'types': (0, unresolved_1.wrap_dictionary)(signatures)
895
+ 'types': (0, unresolved_1.wrap_dictionary)(1, signatures)
848
896
  };
849
897
  };
850
898
  exports.signatures = signatures;
851
899
  const resolvers = (resolvers) => {
852
- return (0, unresolved_1.wrap_dictionary)(resolvers);
900
+ return (0, unresolved_1.wrap_dictionary)(1, resolvers);
853
901
  };
854
902
  exports.resolvers = resolvers;
855
- const schemas = (schemas) => {
856
- return (0, unresolved_1.wrap_dictionary)(schemas);
857
- };
858
- exports.schemas = schemas;
859
- const import_ = (up, name) => {
903
+ const import_ = (name) => {
860
904
  return {
861
- 'schema set child': (0, unresolved_1.wrap_stack_reference)(up, name),
905
+ 'schema set child': (0, unresolved_1.wrap_stack_reference)(1, name),
862
906
  'schema': null,
863
907
  };
864
908
  };
@@ -875,14 +919,14 @@ const unconstrained = () => {
875
919
  };
876
920
  exports.unconstrained = unconstrained;
877
921
  const schema_ = (imports, globals, types, resolve) => {
878
- return (0, unresolved_1.wrap_state_group)(['schema', {
879
- 'imports': (0, unresolved_1.wrap_dictionary)(imports),
922
+ return (0, unresolved_1.wrap_state_group)(1, ['schema', {
923
+ 'imports': (0, unresolved_1.wrap_dictionary)(1, imports),
880
924
  'globals': globals,
881
925
  'types': types,
882
926
  'complexity': resolve === null
883
- ? (0, unresolved_1.wrap_state_group)(['unconstrained', null])
884
- : (0, unresolved_1.wrap_state_group)(['constrained', resolve])
927
+ ? (0, unresolved_1.wrap_state_group)(1, ['unconstrained', null])
928
+ : (0, unresolved_1.wrap_state_group)(1, ['constrained', resolve])
885
929
  }]);
886
930
  };
887
931
  exports.schema_ = schema_;
888
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nob3J0aGFuZHMvc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQXVDO0FBSXZDLDZFQU9xRDtBQUU5QyxNQUFNLEtBQUssR0FBRyxDQUNqQixLQUF1RSxFQUNuQyxFQUFFO0lBQ3RDLE9BQU8sSUFBQSw0QkFBZSxFQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ2pDLENBQUMsQ0FBQTtBQUpZLFFBQUEsS0FBSyxTQUlqQjtBQUVNLE1BQU0sT0FBTyxHQUFHLENBQ25CLFVBQTJDLEVBQzNDLFVBQXlGLEVBQ3pGLFlBQTZGLEVBQ3ZELEVBQUU7SUFDeEMsT0FBTztRQUNILFlBQVksRUFBRSxVQUFVLEtBQUssZUFBZTtZQUN4QyxDQUFDLENBQUMsSUFBQSw2QkFBZ0IsRUFBQyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMzQyxDQUFDLENBQUMsSUFBQSw2QkFBZ0IsRUFBQyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3QyxZQUFZLEVBQUUsSUFBQSw0QkFBZSxFQUFDLFVBQVUsQ0FBQztRQUN6QyxjQUFjLEVBQUUsSUFBQSw0QkFBZSxFQUFDLFlBQVksQ0FBQztLQUNoRCxDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBWlksUUFBQSxPQUFPLFdBWW5CO0FBRU0sTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUE4QyxFQUEwQyxFQUFFO0lBQzNHLE9BQU87UUFDSCxpQkFBaUIsRUFBRSxJQUFBLDRCQUFlLEVBQUMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sRUFBRSxJQUFJO0tBQ2YsQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQUxZLFFBQUEsSUFBSSxRQUtoQjtBQUVNLE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBa0MsRUFBNEMsRUFBRTtJQUNqRyxPQUFPO1FBQ0gsTUFBTSxFQUFFLElBQUksS0FBSyxhQUFh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
932
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nob3J0aGFuZHMvc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQXVDO0FBSXZDLDZFQU9xRDtBQUVyRDs7R0FFRztBQUNILElBQWlCLEVBQUUsQ0FjbEI7QUFkRCxXQUFpQixFQUFFO0lBRUYsTUFBRyxHQUFHLENBQ2YsT0FBNkUsRUFDbkMsRUFBRTtRQUM1QyxPQUFPLElBQUEsNkJBQWdCLEVBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLElBQUEsNEJBQWUsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3BFLENBQUMsQ0FBQTtJQUVZLFNBQU0sR0FBRyxDQUNsQixNQUE2QyxFQUNILEVBQUU7UUFDNUMsT0FBTyxJQUFBLDZCQUFnQixFQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQ2xELENBQUMsQ0FBQTtBQUVMLENBQUMsRUFkZ0IsRUFBRSxrQkFBRixFQUFFLFFBY2xCO0FBRU0sTUFBTSxLQUFLLEdBQUcsQ0FDakIsS0FBdUUsRUFDbkMsRUFBRTtJQUN0QyxPQUFPLElBQUEsNEJBQWUsRUFBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDcEMsQ0FBQyxDQUFBO0FBSlksUUFBQSxLQUFLLFNBSWpCO0FBRU0sTUFBTSxPQUFPLEdBQUcsQ0FDbkIsVUFBMkMsRUFDM0MsVUFBeUYsRUFDekYsWUFBNkYsRUFDdkQsRUFBRTtJQUN4QyxPQUFPO1FBQ0gsWUFBWSxFQUFFLFVBQVUsS0FBSyxlQUFlO1lBQ3hDLENBQUMsQ0FBQyxJQUFBLDZCQUFnQixFQUFDLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM5QyxDQUFDLENBQUMsSUFBQSw2QkFBZ0IsRUFBQyxDQUFDLEVBQUUsQ0FBQyxh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