pareto 0.76.63 → 0.76.64

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 (57) hide show
  1. package/dist/generated/implementation/schemas/schema/marshall.js +10 -4
  2. package/dist/generated/implementation/schemas/schema/resolve.js +27 -10
  3. package/dist/generated/implementation/schemas/schema/unmarshall.js +14 -3
  4. package/dist/generated/interface/schemas/schema/data_types/source.d.ts +51 -7
  5. package/dist/generated/interface/schemas/schema/data_types/target.d.ts +51 -7
  6. package/dist/resolvers/schema.js +11 -8
  7. package/dist/shorthands/schema.d.ts +3 -1
  8. package/dist/shorthands/schema.js +16 -2
  9. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.types.astn.js +11 -11
  10. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.types.astn.js +8 -8
  11. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/csv/$.types.astn.js +1 -1
  12. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/html/$.types.astn.js +213 -213
  13. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.types.astn.js +9 -9
  14. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.types.astn.js +29 -29
  15. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.types.astn.js +16 -16
  16. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.types.astn.js +13 -13
  17. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.types.astn.js +3 -3
  18. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.types.astn.js +18 -18
  19. package/dist/temp/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.types.astn.js +8 -8
  20. package/dist/temp/temporary_schemas/astn/schemas/authoring_ast/$.types.astn.js +29 -29
  21. package/dist/temp/temporary_schemas/astn/schemas/authoring_parse_result/$.types.astn.js +32 -32
  22. package/dist/temp/temporary_schemas/astn/schemas/authoring_target/$.types.astn.js +22 -22
  23. package/dist/temp/temporary_schemas/astn/schemas/ide/$.types.astn.js +7 -7
  24. package/dist/temp/temporary_schemas/astn/schemas/sealed_ast/$.types.astn.js +20 -20
  25. package/dist/temp/temporary_schemas/astn/schemas/sealed_parse_result/$.types.astn.js +32 -32
  26. package/dist/temp/temporary_schemas/astn/schemas/sealed_target/$.types.astn.js +16 -16
  27. package/dist/temp/temporary_schemas/astn/schemas/token/$.types.astn.js +24 -24
  28. package/dist/temp/temporary_schemas/exupery/schemas/implementation/$.types.astn.js +81 -81
  29. package/dist/temp/temporary_schemas/exupery/schemas/interface/$.types.astn.js +37 -37
  30. package/dist/temp/temporary_schemas/exupery/schemas/typescript_light/$.types.astn.js +55 -55
  31. package/dist/temp/temporary_schemas/pareto/schemas/astn_schema/$.types.astn.js +26 -26
  32. package/dist/temp/temporary_schemas/pareto/schemas/module/$.types.astn.js +4 -4
  33. package/dist/temp/temporary_schemas/pareto/schemas/schema/$.resolvers.astn.js +6 -3
  34. package/dist/temp/temporary_schemas/pareto/schemas/schema/$.types.astn.js +147 -141
  35. package/dist/temp/temporary_schemas/pareto/schemas/unmarshall_errors/$.types.astn.js +34 -34
  36. package/dist/temp/temporary_schemas/pareto/schemas/unmarshall_result/$.types.astn.js +1 -1
  37. package/dist/temp/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.types.astn.js +104 -104
  38. package/dist/temp/temporary_schemas/pareto-boekhouding/schemas/boekhouding_oude_model/$.types.astn.js +111 -111
  39. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/block/$.types.astn.js +13 -13
  40. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/lines/$.types.astn.js +3 -3
  41. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.types.astn.js +3 -3
  42. package/dist/temp/temporary_schemas/pareto-fountain-pen/schemas/text/$.types.astn.js +3 -3
  43. package/dist/temp/temporary_schemas/pareto-json/schemas/json/$.types.astn.js +13 -13
  44. package/dist/temp/temporary_schemas/pareto-targets/schemas/alan_light/$.types.astn.js +9 -9
  45. package/dist/temp/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.types.astn.js +201 -201
  46. package/dist/temp/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.types.astn.js +23 -23
  47. package/dist/temp/temporary_schemas/pareto-targets/schemas/lionweb/$.types.astn.js +1 -1
  48. package/dist/temp/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.types.astn.js +3 -3
  49. package/dist/temp/temporary_schemas/pareto-vscode-backend/schemas/client/$.types.astn.js +6 -6
  50. package/dist/temp/temporary_schemas/pareto-vscode-backend/schemas/server/$.types.astn.js +7 -5
  51. package/dist/transformations/schema/astn_schema.js +2 -2
  52. package/dist/transformations/schema/exupery_implementation/marshall.js +2 -2
  53. package/dist/transformations/schema/exupery_implementation/migrate_boilerplate.js +2 -2
  54. package/dist/transformations/schema/exupery_implementation/unmarshall.js +2 -2
  55. package/dist/transformations/schema/exupery_interface/types.js +2 -2
  56. package/dist/transformations/unmarshall_astn_ast.js +2 -2
  57. package/package.json +1 -1
@@ -5,8 +5,8 @@ const schema_1 = require("../../../../../shorthands/schema");
5
5
  exports.$ = (0, schema_1.types)({
6
6
  "Text Type": (0, schema_1.type)(schema_1.t.group({
7
7
  "type": (0, schema_1.prop)(schema_1.t.state_group({
8
- "multi line": schema_1.t.nothing(),
9
- "single line": schema_1.t.nothing(),
8
+ "multi line": (0, schema_1.tstate)(schema_1.t.nothing()),
9
+ "single line": (0, schema_1.tstate)(schema_1.t.nothing()),
10
10
  })),
11
11
  })),
12
12
  "Number Type": (0, schema_1.type)(schema_1.t.group({
@@ -19,16 +19,16 @@ exports.$ = (0, schema_1.types)({
19
19
  /**
20
20
  * variable is similar to scientific notation or floating point (in programming languages)
21
21
  */
22
- "approximation": schema_1.t.group({
22
+ "approximation": (0, schema_1.tstate)(schema_1.t.group({
23
23
  /**
24
24
  * the total number of digits in the number
25
25
  */
26
26
  "significant digits": (0, schema_1.prop)(schema_1.t.number_local(schema_1.n.natural())),
27
- }),
27
+ })),
28
28
  /**
29
29
  * fixed is similar to integers/signed integers
30
30
  */
31
- "exact": schema_1.t.group({
31
+ "exact": (0, schema_1.tstate)(schema_1.t.group({
32
32
  /**
33
33
  * the number of digits after the decimal point
34
34
  * in the strict mathematical sense, a natural or an integer is a whole number,
@@ -42,24 +42,25 @@ exports.$ = (0, schema_1.types)({
42
42
  * else > 'positive natural'
43
43
  */
44
44
  "type": (0, schema_1.prop)(schema_1.t.state_group({
45
- "integer": schema_1.t.nothing(),
46
- "natural": schema_1.t.nothing(),
47
- "positive natural": schema_1.t.nothing(),
45
+ "integer": (0, schema_1.tstate)(schema_1.t.nothing()),
46
+ "natural": (0, schema_1.tstate)(schema_1.t.nothing()),
47
+ "positive natural": (0, schema_1.tstate)(schema_1.t.nothing()),
48
48
  })),
49
- }),
49
+ })),
50
50
  }))
51
51
  })),
52
52
  "Globals": (0, schema_1.type)(schema_1.t.group({
53
53
  "complexity": (0, schema_1.prop)(schema_1.t.state_group({
54
- "constrained": schema_1.t.nothing(),
55
- "unconstrained": schema_1.t.nothing(),
54
+ "constrained": (0, schema_1.tstate)(schema_1.t.nothing()),
55
+ "unconstrained": (0, schema_1.tstate)(schema_1.t.nothing()),
56
56
  })),
57
57
  "text types": (0, schema_1.prop)(schema_1.t.dictionary(schema_1.t.component("Text Type"))),
58
58
  "number types": (0, schema_1.prop)(schema_1.t.dictionary(schema_1.t.component("Number Type"))),
59
59
  })),
60
+ //FIXME: inline
60
61
  "Presence": (0, schema_1.type)(schema_1.t.state_group({
61
- "optional": schema_1.t.nothing(),
62
- "required": schema_1.t.nothing(),
62
+ "optional": (0, schema_1.tstate)(schema_1.t.nothing()),
63
+ "required": (0, schema_1.tstate)(schema_1.t.nothing()),
63
64
  })),
64
65
  "Type Parameters": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.nothing())),
65
66
  "Type": (0, schema_1.type)(schema_1.t.group({
@@ -92,21 +93,21 @@ exports.$ = (0, schema_1.types)({
92
93
  "Type Node Reference": (0, schema_1.type)(schema_1.t.group({
93
94
  "type location": (0, schema_1.prop)(schema_1.t.component("Type Reference")),
94
95
  "tail": (0, schema_1.prop)(schema_1.t.list(schema_1.t.state_group({
95
- "dictionary": schema_1.t.nothing(),
96
- "group": schema_1.t.reference("Group", []),
97
- "list": schema_1.t.nothing(),
98
- "optional": schema_1.t.nothing(),
99
- "state group": schema_1.t.reference("Type Node", [schema_1.tr.s("state group")])
96
+ "dictionary": (0, schema_1.tstate)(schema_1.t.nothing()),
97
+ "group": (0, schema_1.tstate)(schema_1.t.reference("Group", [])),
98
+ "list": (0, schema_1.tstate)(schema_1.t.nothing()),
99
+ "optional": (0, schema_1.tstate)(schema_1.t.nothing()),
100
+ "state group": (0, schema_1.tstate)(schema_1.t.reference("Type Node", [schema_1.tr.s("state group")])),
100
101
  }))),
101
102
  "resulting node": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [])),
102
103
  })),
103
104
  "Type Reference": (0, schema_1.type)(schema_1.t.group({
104
105
  "location": (0, schema_1.prop)(schema_1.t.state_group({
105
- "internal": schema_1.t.reference("Types", []),
106
- "external": schema_1.t.group({
106
+ "internal": (0, schema_1.tstate)(schema_1.t.reference("Types", [])),
107
+ "external": (0, schema_1.tstate)(schema_1.t.group({
107
108
  "import": (0, schema_1.prop)(schema_1.t.reference("Imports", [])),
108
109
  "type": (0, schema_1.prop)(schema_1.t.reference("Types", [])),
109
- }),
110
+ })),
110
111
  })),
111
112
  "resulting node": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [])),
112
113
  })),
@@ -119,9 +120,9 @@ exports.$ = (0, schema_1.types)({
119
120
  "referent": (0, schema_1.prop)(schema_1.t.component("Type Reference")),
120
121
  "dictionary": (0, schema_1.prop)(schema_1.t.reference_derived("Dictionary", [])),
121
122
  "type": (0, schema_1.prop)(schema_1.t.state_group({
122
- "cyclic": schema_1.t.nothing(),
123
- "acyclic": schema_1.t.nothing(),
124
- "stack": schema_1.t.nothing(),
123
+ "cyclic": (0, schema_1.tstate)(schema_1.t.nothing()),
124
+ "acyclic": (0, schema_1.tstate)(schema_1.t.nothing()),
125
+ "stack": (0, schema_1.tstate)(schema_1.t.nothing()),
125
126
  })),
126
127
  "presence": (0, schema_1.prop)(schema_1.t.component("Presence")),
127
128
  })))
@@ -129,67 +130,69 @@ exports.$ = (0, schema_1.types)({
129
130
  "Signature": (0, schema_1.type)(schema_1.t.group({
130
131
  "type": (0, schema_1.prop)(schema_1.t.reference_derived("Type", [])),
131
132
  "parameters": (0, schema_1.prop)(schema_1.t.state_group({
132
- "local": schema_1.t.component("Signature Parameters"),
133
- "same as": schema_1.t.reference("Signatures", []),
133
+ "local": (0, schema_1.tstate)(schema_1.t.component("Signature Parameters")),
134
+ "same as": (0, schema_1.tstate)(schema_1.t.reference("Signatures", [])),
134
135
  })),
135
136
  "resolved parameters": (0, schema_1.prop)(schema_1.t.reference_derived("Signature Parameters", [])),
136
137
  })),
137
138
  "Relative Value Selection": (0, schema_1.type)(schema_1.t.group({
138
139
  "path": (0, schema_1.prop)(schema_1.t.list(schema_1.t.state_group({
139
- "component": schema_1.t.nothing(),
140
- "group": schema_1.t.reference("Group", []),
141
- "reference": schema_1.t.group({
140
+ "component": (0, schema_1.tstate)(schema_1.t.nothing()),
141
+ "group": (0, schema_1.tstate)(schema_1.t.reference("Group", [])),
142
+ "reference": (0, schema_1.tstate)(schema_1.t.group({
142
143
  "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("reference")])),
143
- }),
144
+ })),
144
145
  }))),
145
146
  "resulting node": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [])),
146
147
  })),
147
148
  //FIXME: there has to be a guaranteed lookup selection and a possible lookup selection
148
149
  "Lookup Selection": (0, schema_1.type)(schema_1.t.group({
149
150
  "type": (0, schema_1.prop)(schema_1.t.state_group({
150
- "dictionary": schema_1.t.group({
151
+ "dictionary": (0, schema_1.tstate)(schema_1.t.group({
151
152
  "selection": (0, schema_1.prop)(schema_1.t.component_cyclic("Guaranteed Value Selection")),
152
153
  "selected dictionary": (0, schema_1.prop)(schema_1.t.reference_derived("Dictionary", [])),
153
- }),
154
- "parameter": schema_1.t.reference("Signature Parameters", [schema_1.tr.g("lookups")]),
155
- "not circular dependent siblings": schema_1.t.reference_derived("Dictionary", []),
156
- "possibly circular dependent siblings": schema_1.t.reference_derived("Dictionary", []),
154
+ })),
155
+ "parameter": (0, schema_1.tstate)(schema_1.t.reference("Signature Parameters", [schema_1.tr.g("lookups")])),
156
+ "not circular dependent siblings": (0, schema_1.tstate)(schema_1.t.reference_derived("Dictionary", [])),
157
+ "possibly circular dependent siblings": (0, schema_1.tstate)(schema_1.t.reference_derived("Dictionary", [])),
157
158
  })),
158
159
  "resulting dictionary": (0, schema_1.prop)(schema_1.t.reference_derived("Dictionary", [])),
159
160
  })),
161
+ //FIXME: inline
160
162
  "Constraint": (0, schema_1.type)(schema_1.t.group({
161
163
  "selection": (0, schema_1.prop)(schema_1.t.component("Relative Value Selection")),
164
+ //maybe this is reusable
162
165
  "type": (0, schema_1.prop)(schema_1.t.state_group({
163
- "state": schema_1.t.group({
166
+ "state": (0, schema_1.tstate)(schema_1.t.group({
164
167
  "selected state group": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("state group")])),
165
168
  "state": (0, schema_1.prop)(schema_1.t.reference("Type Node", [schema_1.tr.s("state group")])),
166
- }),
167
- "optional value": schema_1.t.group({
169
+ })),
170
+ "optional value": (0, schema_1.tstate)(schema_1.t.group({
168
171
  "selected optional value": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("optional")])),
169
- }),
172
+ })),
170
173
  })),
171
174
  })),
172
175
  "Option Constraints": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.state_group({
173
- "state": schema_1.t.group({
176
+ "state": (0, schema_1.tstate)(schema_1.t.group({
174
177
  "selection": (0, schema_1.prop)(schema_1.t.component_cyclic("Guaranteed Value Selection")),
175
178
  "selected state group": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("state group")])),
176
179
  "state": (0, schema_1.prop)(schema_1.t.reference("Type Node", [schema_1.tr.s("state group")])),
177
- }),
178
- "assert is set": schema_1.t.component_cyclic("Possible Value Selection"),
180
+ })),
181
+ "assert is set": (0, schema_1.tstate)(schema_1.t.component_cyclic("Possible Value Selection")),
179
182
  }))),
180
183
  "Property Constraints": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.component_cyclic("Property Constraint"), 'ordered')),
181
184
  "Reference To Property Constraint": (0, schema_1.type)(schema_1.t.reference("Property Constraints", [])), //FIXME : inline
182
185
  "Property Constraint": (0, schema_1.type)(schema_1.t.group({
183
186
  "start": (0, schema_1.prop)(schema_1.t.state_group({
184
- "property": schema_1.t.nothing(),
185
- "sibling": schema_1.t.component("Reference To Property Constraint"),
187
+ "property": (0, schema_1.tstate)(schema_1.t.nothing()),
188
+ "sibling": (0, schema_1.tstate)(schema_1.t.component("Reference To Property Constraint")),
186
189
  })),
187
190
  "constraint": (0, schema_1.prop)(schema_1.t.component("Constraint")),
188
191
  })),
189
192
  "Optional Value Initialization": (0, schema_1.type)(schema_1.t.state_group({
190
- "not set": schema_1.t.nothing(),
191
- "set": schema_1.t.component_cyclic("Guaranteed Value Selection"),
192
- "selection": schema_1.t.component_cyclic("Possible Value Selection"),
193
+ "not set": (0, schema_1.tstate)(schema_1.t.nothing()),
194
+ "set": (0, schema_1.tstate)(schema_1.t.component_cyclic("Guaranteed Value Selection")),
195
+ "selection": (0, schema_1.tstate)(schema_1.t.component_cyclic("Possible Value Selection")),
193
196
  })),
194
197
  "Node Resolver Group": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.group({
195
198
  "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Group", [schema_1.tr.d()])),
@@ -208,16 +211,16 @@ exports.$ = (0, schema_1.types)({
208
211
  "type": (0, schema_1.propd)("the type that is the root of the document", schema_1.t.text_local((0, schema_1.text)('single line'))),
209
212
  })),
210
213
  "Schema Tree": (0, schema_1.type)(schema_1.t.state_group({
211
- "schema": schema_1.t.component("Schema"),
212
- "set": schema_1.t.component_cyclic("Schemas")
214
+ "schema": (0, schema_1.tstated)("a single schema", schema_1.t.component("Schema")),
215
+ "set": (0, schema_1.tstated)("a hierarchy of schemas", schema_1.t.component_cyclic("Schemas")),
213
216
  })),
214
217
  "Schema": (0, schema_1.type)(schema_1.t.group({
215
218
  "imports": (0, schema_1.prop)(schema_1.t.component_cyclic("Imports")),
216
219
  "globals": (0, schema_1.prop)(schema_1.t.component("Globals")),
217
220
  "types": (0, schema_1.prop)(schema_1.t.component("Types")),
218
221
  "complexity": (0, schema_1.prop)(schema_1.t.state_group({
219
- "constrained": schema_1.t.component("Resolve Logic"),
220
- "unconstrained": schema_1.t.nothing(),
222
+ "constrained": (0, schema_1.tstate)(schema_1.t.component("Resolve Logic")),
223
+ "unconstrained": (0, schema_1.tstate)(schema_1.t.nothing()),
221
224
  })),
222
225
  })),
223
226
  "Imports": (0, schema_1.type)(schema_1.t.dictionary(schema_1.t.group({
@@ -225,170 +228,173 @@ exports.$ = (0, schema_1.types)({
225
228
  "schema": (0, schema_1.prop)(schema_1.t.reference_derived("Schema", [])),
226
229
  }))),
227
230
  "Type Node": (0, schema_1.type)(schema_1.t.state_group({
228
- "boolean": schema_1.t.nothing(),
229
- "component": schema_1.t.state_group({
230
- "external": schema_1.t.group({
231
+ "boolean": (0, schema_1.tstate)(schema_1.t.nothing()),
232
+ "component": (0, schema_1.tstate)(schema_1.t.state_group({
233
+ "external": (0, schema_1.tstate)(schema_1.t.group({
231
234
  "import": (0, schema_1.prop)(schema_1.t.reference("Imports", [])),
232
235
  "type": (0, schema_1.prop)(schema_1.t.reference("Types", [])),
233
- }),
234
- "internal": schema_1.t.reference("Types", []),
235
- "internal cyclic": schema_1.t.reference("Types", [], 'cyclic'),
236
- }),
237
- "dictionary": schema_1.t.component("Dictionary"),
238
- "group": schema_1.t.component("Group"),
239
- "list": schema_1.t.group({
236
+ })),
237
+ "internal": (0, schema_1.tstate)(schema_1.t.reference("Types", [])),
238
+ "internal cyclic": (0, schema_1.tstate)(schema_1.t.reference("Types", [], 'cyclic')),
239
+ })),
240
+ "dictionary": (0, schema_1.tstate)(schema_1.t.component("Dictionary")),
241
+ "group": (0, schema_1.tstate)(schema_1.t.component("Group")),
242
+ "list": (0, schema_1.tstate)(schema_1.t.group({
240
243
  "node": (0, schema_1.prop)(schema_1.t.component_cyclic("Type Node")),
241
- }),
242
- "nothing": schema_1.t.nothing(),
243
- "number": schema_1.t.state_group({
244
- "global": schema_1.t.reference("Globals", [schema_1.tr.g("number types")]),
245
- "local": schema_1.t.component("Number Type"),
246
- }),
247
- "optional": schema_1.t.component_cyclic("Type Node"),
248
- "reference": schema_1.t.group({
244
+ })),
245
+ "nothing": (0, schema_1.tstate)(schema_1.t.nothing()),
246
+ "number": (0, schema_1.tstate)(schema_1.t.state_group({
247
+ "global": (0, schema_1.tstate)(schema_1.t.reference("Globals", [schema_1.tr.g("number types")])),
248
+ "local": (0, schema_1.tstate)(schema_1.t.component("Number Type")),
249
+ })),
250
+ "optional": (0, schema_1.tstate)(schema_1.t.component_cyclic("Type Node")),
251
+ "reference": (0, schema_1.tstate)(schema_1.t.group({
249
252
  "referent": (0, schema_1.prop)(schema_1.t.component_cyclic("Type Node Reference")),
250
253
  "type": (0, schema_1.prop)(schema_1.t.state_group({
251
- "derived": schema_1.t.nothing(),
252
- "selected": schema_1.t.group({
254
+ "derived": (0, schema_1.tstate)(schema_1.t.nothing()),
255
+ "selected": (0, schema_1.tstate)(schema_1.t.group({
253
256
  "dictionary": (0, schema_1.prop)(schema_1.t.reference_derived("Dictionary", [])),
254
257
  "dependency": (0, schema_1.prop)(schema_1.t.state_group({
255
- "acyclic": schema_1.t.nothing(),
256
- "cyclic": schema_1.t.nothing(),
257
- "stack": schema_1.t.nothing(),
258
+ "acyclic": (0, schema_1.tstate)(schema_1.t.nothing()),
259
+ "cyclic": (0, schema_1.tstate)(schema_1.t.nothing()),
260
+ "stack": (0, schema_1.tstate)(schema_1.t.nothing()),
258
261
  })),
259
- }),
262
+ })),
260
263
  })),
261
- }),
262
- "state group": schema_1.t.dictionary(schema_1.t.component_cyclic("Type Node")),
263
- "text": schema_1.t.state_group({
264
- "global": schema_1.t.reference("Globals", [schema_1.tr.g("text types")]),
265
- "local": schema_1.t.component("Text Type"),
266
- }),
264
+ })),
265
+ "state group": (0, schema_1.tstate)(schema_1.t.dictionary(schema_1.t.group({
266
+ "description": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.text_local((0, schema_1.text)('multi line')))),
267
+ "node": (0, schema_1.prop)(schema_1.t.component_cyclic("Type Node")),
268
+ }))),
269
+ "text": (0, schema_1.tstate)(schema_1.t.state_group({
270
+ "global": (0, schema_1.tstate)(schema_1.t.reference("Globals", [schema_1.tr.g("text types")])),
271
+ "local": (0, schema_1.tstate)(schema_1.t.component("Text Type")),
272
+ })),
267
273
  //"type parameter": t.reference("Type Parameters", []),
268
274
  })),
269
275
  "Node Resolver": (0, schema_1.type)(schema_1.t.state_group({
270
- "boolean": schema_1.t.nothing(),
271
- "component": schema_1.t.group({
276
+ "boolean": (0, schema_1.tstate)(schema_1.t.nothing()),
277
+ "component": (0, schema_1.tstate)(schema_1.t.group({
272
278
  "location": (0, schema_1.prop)(schema_1.t.state_group({
273
- "external": schema_1.t.group({
279
+ "external": (0, schema_1.tstate)(schema_1.t.group({
274
280
  "import": (0, schema_1.prop)(schema_1.t.reference("Imports", [])),
275
281
  "type": (0, schema_1.prop)(schema_1.t.reference("Signatures", [])),
276
- }),
277
- "internal": schema_1.t.reference("Signatures", []),
282
+ })),
283
+ "internal": (0, schema_1.tstate)(schema_1.t.reference("Signatures", [])),
278
284
  })),
279
285
  "signature": (0, schema_1.prop)(schema_1.t.reference_derived("Signatures", [schema_1.tr.d()])),
280
286
  "arguments": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.group({
281
287
  "values": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.dictionary(schema_1.t.state_group({
282
- "optional": schema_1.t.component("Optional Value Initialization"),
283
- "required": schema_1.t.component_cyclic("Guaranteed Value Selection"),
284
- "parameter": schema_1.t.reference("Signature Parameters", [schema_1.tr.g("values")]),
288
+ "optional": (0, schema_1.tstate)(schema_1.t.component("Optional Value Initialization")),
289
+ "required": (0, schema_1.tstate)(schema_1.t.component_cyclic("Guaranteed Value Selection")),
290
+ "parameter": (0, schema_1.tstate)(schema_1.t.reference("Signature Parameters", [schema_1.tr.g("values")])),
285
291
  })))),
286
292
  "lookups": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.dictionary(schema_1.t.state_group({
287
- "empty stack": schema_1.t.nothing(),
288
- "not set": schema_1.t.nothing(),
289
- "selection": schema_1.t.component("Lookup Selection"),
290
- "stack": schema_1.t.group({
293
+ "empty stack": (0, schema_1.tstate)(schema_1.t.nothing()),
294
+ "not set": (0, schema_1.tstate)(schema_1.t.nothing()),
295
+ "selection": (0, schema_1.tstate)(schema_1.t.component("Lookup Selection")),
296
+ "stack": (0, schema_1.tstate)(schema_1.t.group({
291
297
  "stack": (0, schema_1.prop)(schema_1.t.component("Lookup Selection")),
292
298
  "element": (0, schema_1.prop)(schema_1.t.component("Lookup Selection")),
293
- }),
299
+ })),
294
300
  })))),
295
301
  }))),
296
302
  "constraints": (0, schema_1.prop)(schema_1.t.component("Property Constraints")),
297
- }),
298
- "dictionary": schema_1.t.group({
303
+ })),
304
+ "dictionary": (0, schema_1.tstate)(schema_1.t.group({
299
305
  "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Dictionary", [])),
300
306
  "resolver": (0, schema_1.prop)(schema_1.t.component_cyclic("Node Resolver")),
301
307
  "benchmark": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.component("Benchmark"))),
302
- }),
303
- "group": schema_1.t.component("Node Resolver Group"),
304
- "list": schema_1.t.group({
308
+ })),
309
+ "group": (0, schema_1.tstate)(schema_1.t.component("Node Resolver Group")),
310
+ "list": (0, schema_1.tstate)(schema_1.t.group({
305
311
  "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("list")])),
306
312
  "resolver": (0, schema_1.prop)(schema_1.t.component_cyclic("Node Resolver")),
307
313
  "result": (0, schema_1.prop)(schema_1.t.optional(schema_1.t.component("Node Resolver List Result"))),
308
- }),
309
- "nothing": schema_1.t.nothing(),
310
- "number": schema_1.t.nothing(),
311
- "optional": schema_1.t.group({
314
+ })),
315
+ "nothing": (0, schema_1.tstate)(schema_1.t.nothing()),
316
+ "number": (0, schema_1.tstate)(schema_1.t.nothing()),
317
+ "optional": (0, schema_1.tstate)(schema_1.t.group({
312
318
  "constraints": (0, schema_1.prop)(schema_1.t.component("Option Constraints")),
313
319
  "resolver": (0, schema_1.prop)(schema_1.t.component_cyclic("Node Resolver")),
314
- }),
315
- "reference": schema_1.t.group({
320
+ })),
321
+ "reference": (0, schema_1.tstate)(schema_1.t.group({
316
322
  "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("reference")])),
317
323
  "type": (0, schema_1.prop)(schema_1.t.state_group({
318
- "derived": schema_1.t.group({
324
+ "derived": (0, schema_1.tstate)(schema_1.t.group({
319
325
  "value": (0, schema_1.prop)(schema_1.t.component_cyclic("Guaranteed Value Selection")),
320
- }),
321
- "selected": schema_1.t.group({
326
+ })),
327
+ "selected": (0, schema_1.tstate)(schema_1.t.group({
322
328
  "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("reference"), schema_1.tr.g("type"), schema_1.tr.s("selected")])),
323
329
  "lookup": (0, schema_1.prop)(schema_1.t.component("Lookup Selection")),
324
330
  "constraints": (0, schema_1.prop)(schema_1.t.component("Property Constraints")),
325
- }),
331
+ })),
326
332
  })),
327
- }),
328
- "state group": schema_1.t.group({
333
+ })),
334
+ "state group": (0, schema_1.tstate)(schema_1.t.group({
329
335
  "definition": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [schema_1.tr.s("state group")])),
330
336
  "states": (0, schema_1.prop)(schema_1.t.dictionary(schema_1.t.group({
331
337
  "constraints": (0, schema_1.prop)(schema_1.t.component("Option Constraints")),
332
338
  "resolver": (0, schema_1.prop)(schema_1.t.component_cyclic("Node Resolver")),
333
339
  }))),
334
- }),
335
- "text": schema_1.t.nothing(),
340
+ })),
341
+ "text": (0, schema_1.tstate)(schema_1.t.nothing()),
336
342
  // "type parameter": t.nothing(),
337
343
  })),
338
344
  "Guaranteed Value Selection": (0, schema_1.type)(schema_1.t.group({
339
345
  "start": (0, schema_1.prop)(schema_1.t.state_group({
340
346
  //stack
341
- "sibling": schema_1.t.reference("Node Resolver Group", []),
342
- "parent sibling": schema_1.t.reference("Node Resolver Group", []),
343
- "option constraint": schema_1.t.reference("Option Constraints", []),
344
- "list cursor": schema_1.t.nothing(),
345
- "linked entry": schema_1.t.nothing(),
347
+ "sibling": (0, schema_1.tstate)(schema_1.t.reference("Node Resolver Group", [])),
348
+ "parent sibling": (0, schema_1.tstate)(schema_1.t.reference("Node Resolver Group", [])),
349
+ "option constraint": (0, schema_1.tstate)(schema_1.t.reference("Option Constraints", [])),
350
+ "list cursor": (0, schema_1.tstate)(schema_1.t.nothing()),
351
+ "linked entry": (0, schema_1.tstate)(schema_1.t.nothing()),
346
352
  //siblings
347
- "constraint": schema_1.t.state_group({
348
- "component": schema_1.t.group({
353
+ "constraint": (0, schema_1.tstate)(schema_1.t.state_group({
354
+ "component": (0, schema_1.tstate)(schema_1.t.group({
349
355
  "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
350
356
  "constraint": (0, schema_1.prop)(schema_1.t.reference("Property Constraints", [])),
351
- }),
352
- "reference": schema_1.t.group({
357
+ })),
358
+ "reference": (0, schema_1.tstate)(schema_1.t.group({
353
359
  "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
354
360
  "constraint": (0, schema_1.prop)(schema_1.t.reference("Property Constraints", [])),
355
- }),
356
- }),
357
- "parameter": schema_1.t.reference("Signature Parameters", [schema_1.tr.g("values")]), //FIXME: validate that presence is 'required'
358
- "result": schema_1.t.state_group({
359
- "list": schema_1.t.group({
361
+ })),
362
+ })),
363
+ "parameter": (0, schema_1.tstate)(schema_1.t.reference("Signature Parameters", [schema_1.tr.g("values")])), //FIXME: validate that presence is 'required'
364
+ "result": (0, schema_1.tstate)(schema_1.t.state_group({
365
+ "list": (0, schema_1.tstate)(schema_1.t.group({
360
366
  "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
361
367
  "list result": (0, schema_1.prop)(schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("list"), schema_1.tr.g("result"), schema_1.tr.o()])),
362
- }),
363
- "state group": schema_1.t.group({
368
+ })),
369
+ "state group": (0, schema_1.tstate)(schema_1.t.group({
364
370
  "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
365
371
  "state group": (0, schema_1.prop)(schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("state group")])),
366
372
  "result": (0, schema_1.prop)(schema_1.t.component("Type Reference")),
367
- }),
368
- "optional value": schema_1.t.group({
373
+ })),
374
+ "optional value": (0, schema_1.tstate)(schema_1.t.group({
369
375
  "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
370
376
  "optional value": (0, schema_1.prop)(schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("optional")])),
371
377
  "result": (0, schema_1.prop)(schema_1.t.component("Type Reference")),
372
- }),
373
- })
378
+ })),
379
+ }))
374
380
  })),
375
381
  "tail": (0, schema_1.prop)(schema_1.t.component("Relative Value Selection")),
376
382
  "resulting node": (0, schema_1.prop)(schema_1.t.reference_derived("Type Node", [])),
377
383
  })),
378
384
  "Possible Value Selection": (0, schema_1.type)(schema_1.t.state_group({
379
- "parameter": schema_1.t.reference("Signature Parameters", [schema_1.tr.g("values")]), //FIXME: validate that presence is 'optional'
380
- "result": schema_1.t.state_group({
381
- "state group": schema_1.t.group({
385
+ "parameter": (0, schema_1.tstate)(schema_1.t.reference("Signature Parameters", [schema_1.tr.g("values")])), //FIXME: validate that presence is 'optional'
386
+ "result": (0, schema_1.tstate)(schema_1.t.state_group({
387
+ "state group": (0, schema_1.tstate)(schema_1.t.group({
382
388
  "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
383
389
  "state group": (0, schema_1.prop)(schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("state group")])),
384
390
  "result": (0, schema_1.prop)(schema_1.t.component("Type Reference")),
385
- }),
386
- "optional value": schema_1.t.group({
391
+ })),
392
+ "optional value": (0, schema_1.tstate)(schema_1.t.group({
387
393
  "property": (0, schema_1.prop)(schema_1.t.reference("Node Resolver Group", [])),
388
394
  "optional value": (0, schema_1.prop)(schema_1.t.reference_derived("Node Resolver", [schema_1.tr.s("optional")])),
389
395
  "result": (0, schema_1.prop)(schema_1.t.component("Type Reference")),
390
- }),
391
- })
396
+ })),
397
+ }))
392
398
  })),
393
399
  });
394
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiJC50eXBlcy5hc3RuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3RlbXAvdGVtcG9yYXJ5X3NjaGVtYXMvcGFyZXRvL3NjaGVtYXMvc2NoZW1hLyQudHlwZXMuYXN0bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSw2REFTeUM7QUFHNUIsUUFBQSxDQUFDLEdBQWlDLElBQUEsY0FBSyxFQUNoRDtJQUNJLFdBQVcsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsV0FBVyxDQUFDO1lBQ3ZCLFlBQVksRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO1lBQ3pCLGFBQWEsRUFBRSxVQUFDLENBQUMsT0FBTyxFQUFFO1NBQzdCLENBQUMsQ0FBQztLQUNOLENBQUMsQ0FBQztJQUVILGFBQWEsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3hCOzs7O1dBSUc7UUFDSCxXQUFXLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLFdBQVcsQ0FBQztZQUM1Qjs7ZUFFRztZQUNILGVBQWUsRUFBRSxVQUFDLENBQUMsS0FBSyxDQUFDO2dCQUNyQjs7bUJBRUc7Z0JBQ0gsb0JBQW9CLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLFlBQVksQ0FBQyxVQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUMxRCxDQUFDO1lBQ0Y7O2VBRUc7WUFDSCxPQUFPLEVBQUUsVUFBQyxDQUFDLEtBQUssQ0FBQztnQkFDYjs7Ozs7bUJBS0c7Z0JBQ0gsMEJBQTBCLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLFFBQVEsQ0FBQyxVQUFDLENBQUMsWUFBWSxDQUFDLFVBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBRXpFOzs7O21CQUlHO2dCQUNILE1BQU0sRUFB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
400
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiJC50eXBlcy5hc3RuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3RlbXAvdGVtcG9yYXJ5X3NjaGVtYXMvcGFyZXRvL3NjaGVtYXMvc2NoZW1hLyQudHlwZXMuYXN0bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSw2REFXeUM7QUFHNUIsUUFBQSxDQUFDLEdBQWlDLElBQUEsY0FBSyxFQUNoRDtJQUNJLFdBQVcsRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxJQUFBLGFBQUksRUFBQyxVQUFDLENBQUMsV0FBVyxDQUFDO1lBQ3ZCLFlBQVksRUFBRSxJQUFBLGVBQU0sRUFBQyxVQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakMsYUFBYSxFQUFFLElBQUEsZUFBTSxFQUFDLFVBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNyQyxDQUFDLENBQUM7S0FDTixDQUFDLENBQUM7SUFFSCxhQUFhLEVBQUUsSUFBQSxhQUFJLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztRQUN4Qjs7OztXQUlHO1FBQ0gsV0FBVyxFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxXQUFXLENBQUM7WUFDNUI7O2VBRUc7WUFDSCxlQUFlLEVBQUUsSUFBQSxlQUFNLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztnQkFDNUI7O21CQUVHO2dCQUNILG9CQUFvQixFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxZQUFZLENBQUMsVUFBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDMUQsQ0FBQyxDQUFDO1lBQ0g7O2VBRUc7WUFDSCxPQUFPLEVBQUUsSUFBQSxlQUFNLEVBQUMsVUFBQyxDQUFDLEtBQUssQ0FBQztnQkFDcEI7Ozs7O21CQUtHO2dCQUNILDBCQUEwQixFQUFFLElBQUEsYUFBSSxFQUFDLFVBQUMsQ0FBQyxRQUFRLENBQUMsVUFBQyxDQUFD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