pareto 0.76.1 → 0.76.2

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