exupery 0.1.2 → 0.1.4

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.
@@ -0,0 +1,782 @@
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_Variables = exports.r_Type_Parameters = exports.r_Selection = exports.r_Module_Set = exports.r_Module = exports.r_Literal = exports.r_Initialization = void 0;
27
+ const _pa = __importStar(require("exupery-core-alg"));
28
+ const _i_generic = __importStar(require("../../../generic/resolve"));
29
+ const _i_r_interface = __importStar(require("../interface/resolve"));
30
+ const r_Initialization = ($, $p) => _pa.block(() => {
31
+ const l2s = $p['location 2 string'];
32
+ const params = $p['parameters'];
33
+ return _pa.cc($['state group'], ($) => {
34
+ switch ($[0]) {
35
+ case 'block': return _pa.ss($, ($) => ['block', _pa.block(() => {
36
+ return _pa.block(() => {
37
+ const p_variables = _pa.cc($['variables'], ($) => (0, exports.r_Variables)($, {
38
+ 'location 2 string': l2s,
39
+ 'parameters': ({
40
+ 'lookups': null,
41
+ 'values': null,
42
+ }),
43
+ }));
44
+ const p_temp_ordered_variables = _pa.cc($['temp ordered variables'], ($) => $['list'].map(($) => _pa.cc($['element'], ($) => _pa.block(() => {
45
+ const p_name = _pa.cc($['name'], ($) => $);
46
+ const p_type = _pa.cc($['type'], ($) => $.map(($) => _pa.block(() => {
47
+ return _i_r_interface.r_Type($, {
48
+ 'location 2 string': l2s,
49
+ 'parameters': ({
50
+ 'lookups': null,
51
+ 'values': null,
52
+ }),
53
+ });
54
+ })));
55
+ const p_initialization = _pa.cc($['initialization'], ($) => (0, exports.r_Initialization)($, {
56
+ 'location 2 string': l2s,
57
+ 'parameters': ({
58
+ 'lookups': null,
59
+ 'values': null,
60
+ }),
61
+ }));
62
+ return ({
63
+ 'initialization': p_initialization,
64
+ 'name': p_name,
65
+ 'type': p_type,
66
+ });
67
+ }))));
68
+ const p_initialization = _pa.cc($['initialization'], ($) => (0, exports.r_Initialization)($, {
69
+ 'location 2 string': l2s,
70
+ 'parameters': ({
71
+ 'lookups': null,
72
+ 'values': null,
73
+ }),
74
+ }));
75
+ return ({
76
+ 'initialization': p_initialization,
77
+ 'temp ordered variables': p_temp_ordered_variables,
78
+ 'variables': p_variables,
79
+ });
80
+ });
81
+ })]);
82
+ case 'change context': return _pa.ss($, ($) => ['change context', _pa.block(() => {
83
+ return _pa.block(() => {
84
+ const p_new_context = _pa.cc($['new context'], ($) => (0, exports.r_Selection)($, {
85
+ 'location 2 string': l2s,
86
+ 'parameters': ({
87
+ 'lookups': null,
88
+ 'values': null,
89
+ }),
90
+ }));
91
+ const p_initialization = _pa.cc($['initialization'], ($) => (0, exports.r_Initialization)($, {
92
+ 'location 2 string': l2s,
93
+ 'parameters': ({
94
+ 'lookups': null,
95
+ 'values': null,
96
+ }),
97
+ }));
98
+ return ({
99
+ 'initialization': p_initialization,
100
+ 'new context': p_new_context,
101
+ });
102
+ });
103
+ })]);
104
+ case 'literal': return _pa.ss($, ($) => ['literal', _pa.block(() => {
105
+ return _pa.block(() => {
106
+ const p_value = _pa.cc($['value'], ($) => (0, exports.r_Literal)($, {
107
+ 'location 2 string': l2s,
108
+ 'parameters': ({
109
+ 'lookups': null,
110
+ 'values': null,
111
+ }),
112
+ }));
113
+ return ({
114
+ 'value': p_value,
115
+ });
116
+ });
117
+ })]);
118
+ case 'selection': return _pa.ss($, ($) => ['selection', _pa.block(() => {
119
+ return (0, exports.r_Selection)($, {
120
+ 'location 2 string': l2s,
121
+ 'parameters': ({
122
+ 'lookups': null,
123
+ 'values': null,
124
+ }),
125
+ });
126
+ })]);
127
+ case 'transformation': return _pa.ss($, ($) => ['transformation', _pa.block(() => {
128
+ return _pa.block(() => {
129
+ const p_source = _pa.cc($['source'], ($) => (0, exports.r_Selection)($, {
130
+ 'location 2 string': l2s,
131
+ 'parameters': ({
132
+ 'lookups': null,
133
+ 'values': null,
134
+ }),
135
+ }));
136
+ const p_type = _pa.cc($['type'], ($) => _pa.cc($['state group'], ($) => {
137
+ switch ($[0]) {
138
+ case 'array': return _pa.ss($, ($) => ['array', _pa.block(() => {
139
+ return _pa.cc($['state group'], ($) => {
140
+ switch ($[0]) {
141
+ case 'map': return _pa.ss($, ($) => ['map', _pa.block(() => {
142
+ return (0, exports.r_Initialization)($, {
143
+ 'location 2 string': l2s,
144
+ 'parameters': ({
145
+ 'lookups': null,
146
+ 'values': null,
147
+ }),
148
+ });
149
+ })]);
150
+ default: return _pa.au($[0]);
151
+ }
152
+ });
153
+ })]);
154
+ case 'boolean': return _pa.ss($, ($) => ['boolean', _pa.block(() => {
155
+ return _pa.cc($['state group'], ($) => {
156
+ switch ($[0]) {
157
+ case 'not': return _pa.ss($, ($) => ['not', _pa.block(() => {
158
+ return null;
159
+ })]);
160
+ case 'transform': return _pa.ss($, ($) => ['transform', _pa.block(() => {
161
+ return _pa.block(() => {
162
+ const p_if_false = _pa.cc($['if false'], ($) => (0, exports.r_Initialization)($, {
163
+ 'location 2 string': l2s,
164
+ 'parameters': ({
165
+ 'lookups': null,
166
+ 'values': null,
167
+ }),
168
+ }));
169
+ const p_if_true = _pa.cc($['if true'], ($) => (0, exports.r_Initialization)($, {
170
+ 'location 2 string': l2s,
171
+ 'parameters': ({
172
+ 'lookups': null,
173
+ 'values': null,
174
+ }),
175
+ }));
176
+ return ({
177
+ 'if false': p_if_false,
178
+ 'if true': p_if_true,
179
+ });
180
+ });
181
+ })]);
182
+ default: return _pa.au($[0]);
183
+ }
184
+ });
185
+ })]);
186
+ case 'dictionary': return _pa.ss($, ($) => ['dictionary', _pa.block(() => {
187
+ return _pa.cc($['state group'], ($) => {
188
+ switch ($[0]) {
189
+ case 'map': return _pa.ss($, ($) => ['map', _pa.block(() => {
190
+ return (0, exports.r_Initialization)($, {
191
+ 'location 2 string': l2s,
192
+ 'parameters': ({
193
+ 'lookups': null,
194
+ 'values': null,
195
+ }),
196
+ });
197
+ })]);
198
+ default: return _pa.au($[0]);
199
+ }
200
+ });
201
+ })]);
202
+ case 'function': return _pa.ss($, ($) => ['function', _pa.block(() => {
203
+ return _pa.cc($['state group'], ($) => {
204
+ switch ($[0]) {
205
+ case 'call': return _pa.ss($, ($) => ['call', _pa.block(() => {
206
+ return _pa.block(() => {
207
+ const p_context = _pa.cc($['context'], ($) => (0, exports.r_Initialization)($, {
208
+ 'location 2 string': l2s,
209
+ 'parameters': ({
210
+ 'lookups': null,
211
+ 'values': null,
212
+ }),
213
+ }));
214
+ const p_arguments = _pa.cc($['arguments'], ($) => $.map(($) => _pa.block(() => {
215
+ return _pa.block(() => {
216
+ return _i_generic.resolve_dictionary($, {
217
+ 'location 2 string': l2s,
218
+ 'map': ($, $p) => _pa.block(() => {
219
+ return _pa.cc($['value'], ($) => (0, exports.r_Initialization)($, {
220
+ 'location 2 string': l2s,
221
+ 'parameters': ({
222
+ 'lookups': null,
223
+ 'values': null,
224
+ }),
225
+ }));
226
+ }),
227
+ });
228
+ });
229
+ })));
230
+ return ({
231
+ 'arguments': p_arguments,
232
+ 'context': p_context,
233
+ });
234
+ });
235
+ })]);
236
+ default: return _pa.au($[0]);
237
+ }
238
+ });
239
+ })]);
240
+ case 'optional': return _pa.ss($, ($) => ['optional', _pa.block(() => {
241
+ return _pa.cc($['state group'], ($) => {
242
+ switch ($[0]) {
243
+ case 'map': return _pa.ss($, ($) => ['map', _pa.block(() => {
244
+ return (0, exports.r_Initialization)($, {
245
+ 'location 2 string': l2s,
246
+ 'parameters': ({
247
+ 'lookups': null,
248
+ 'values': null,
249
+ }),
250
+ });
251
+ })]);
252
+ case 'transform': return _pa.ss($, ($) => ['transform', _pa.block(() => {
253
+ return _pa.block(() => {
254
+ const p_if_not_set = _pa.cc($['if not set'], ($) => (0, exports.r_Initialization)($, {
255
+ 'location 2 string': l2s,
256
+ 'parameters': ({
257
+ 'lookups': null,
258
+ 'values': null,
259
+ }),
260
+ }));
261
+ const p_if_set = _pa.cc($['if set'], ($) => (0, exports.r_Initialization)($, {
262
+ 'location 2 string': l2s,
263
+ 'parameters': ({
264
+ 'lookups': null,
265
+ 'values': null,
266
+ }),
267
+ }));
268
+ return ({
269
+ 'if not set': p_if_not_set,
270
+ 'if set': p_if_set,
271
+ });
272
+ });
273
+ })]);
274
+ default: return _pa.au($[0]);
275
+ }
276
+ });
277
+ })]);
278
+ case 'tagged union': return _pa.ss($, ($) => ['tagged union', _pa.block(() => {
279
+ return _pa.cc($['state group'], ($) => {
280
+ switch ($[0]) {
281
+ case 'switch': return _pa.ss($, ($) => ['switch', _pa.block(() => {
282
+ return _pa.block(() => {
283
+ const p_resulting_node = _pa.cc($['resulting node'], ($) => $.map(($) => _pa.block(() => {
284
+ return _i_r_interface.r_Type($, {
285
+ 'location 2 string': l2s,
286
+ 'parameters': ({
287
+ 'lookups': null,
288
+ 'values': null,
289
+ }),
290
+ });
291
+ })));
292
+ const p_type = _pa.cc($['type'], ($) => _pa.cc($['state group'], ($) => {
293
+ switch ($[0]) {
294
+ case 'full': return _pa.ss($, ($) => ['full', _pa.block(() => {
295
+ return _pa.block(() => {
296
+ const p_cases = _pa.cc($['cases'], ($) => _pa.block(() => {
297
+ return _i_generic.resolve_dictionary($, {
298
+ 'location 2 string': l2s,
299
+ 'map': ($, $p) => _pa.block(() => {
300
+ return _pa.cc($['value'], ($) => (0, exports.r_Initialization)($, {
301
+ 'location 2 string': l2s,
302
+ 'parameters': ({
303
+ 'lookups': null,
304
+ 'values': null,
305
+ }),
306
+ }));
307
+ }),
308
+ });
309
+ }));
310
+ return ({
311
+ 'cases': p_cases,
312
+ });
313
+ });
314
+ })]);
315
+ case 'partial': return _pa.ss($, ($) => ['partial', _pa.block(() => {
316
+ return _pa.block(() => {
317
+ const p_cases = _pa.cc($['cases'], ($) => _pa.block(() => {
318
+ return _i_generic.resolve_dictionary($, {
319
+ 'location 2 string': l2s,
320
+ 'map': ($, $p) => _pa.block(() => {
321
+ return _pa.cc($['value'], ($) => (0, exports.r_Initialization)($, {
322
+ 'location 2 string': l2s,
323
+ 'parameters': ({
324
+ 'lookups': null,
325
+ 'values': null,
326
+ }),
327
+ }));
328
+ }),
329
+ });
330
+ }));
331
+ const p_default = _pa.cc($['default'], ($) => (0, exports.r_Initialization)($, {
332
+ 'location 2 string': l2s,
333
+ 'parameters': ({
334
+ 'lookups': null,
335
+ 'values': null,
336
+ }),
337
+ }));
338
+ return ({
339
+ 'cases': p_cases,
340
+ 'default': p_default,
341
+ });
342
+ });
343
+ })]);
344
+ default: return _pa.au($[0]);
345
+ }
346
+ }));
347
+ return ({
348
+ 'resulting node': p_resulting_node,
349
+ 'type': p_type,
350
+ });
351
+ });
352
+ })]);
353
+ default: return _pa.au($[0]);
354
+ }
355
+ });
356
+ })]);
357
+ default: return _pa.au($[0]);
358
+ }
359
+ }));
360
+ return ({
361
+ 'source': p_source,
362
+ 'type': p_type,
363
+ });
364
+ });
365
+ })]);
366
+ default: return _pa.au($[0]);
367
+ }
368
+ });
369
+ });
370
+ exports.r_Initialization = r_Initialization;
371
+ const r_Literal = ($, $p) => _pa.block(() => {
372
+ const l2s = $p['location 2 string'];
373
+ const params = $p['parameters'];
374
+ return _pa.cc($['state group'], ($) => {
375
+ switch ($[0]) {
376
+ case 'array': return _pa.ss($, ($) => ['array', _pa.block(() => {
377
+ return $['list'].map(($) => _pa.cc($['element'], ($) => (0, exports.r_Initialization)($, {
378
+ 'location 2 string': l2s,
379
+ 'parameters': ({
380
+ 'lookups': null,
381
+ 'values': null,
382
+ }),
383
+ })));
384
+ })]);
385
+ case 'boolean': return _pa.ss($, ($) => ['boolean', _pa.block(() => {
386
+ return _pa.cc($['state group'], ($) => {
387
+ switch ($[0]) {
388
+ case 'false': return _pa.ss($, ($) => ['false', _pa.block(() => {
389
+ return null;
390
+ })]);
391
+ case 'true': return _pa.ss($, ($) => ['true', _pa.block(() => {
392
+ return null;
393
+ })]);
394
+ default: return _pa.au($[0]);
395
+ }
396
+ });
397
+ })]);
398
+ case 'dictionary': return _pa.ss($, ($) => ['dictionary', _pa.block(() => {
399
+ return _pa.block(() => {
400
+ return _i_generic.resolve_dictionary($, {
401
+ 'location 2 string': l2s,
402
+ 'map': ($, $p) => _pa.block(() => {
403
+ return _pa.cc($['value'], ($) => (0, exports.r_Initialization)($, {
404
+ 'location 2 string': l2s,
405
+ 'parameters': ({
406
+ 'lookups': null,
407
+ 'values': null,
408
+ }),
409
+ }));
410
+ }),
411
+ });
412
+ });
413
+ })]);
414
+ case 'function': return _pa.ss($, ($) => ['function', _pa.block(() => {
415
+ return _pa.block(() => {
416
+ const p_initialization = _pa.cc($['initialization'], ($) => (0, exports.r_Initialization)($, {
417
+ 'location 2 string': l2s,
418
+ 'parameters': ({
419
+ 'lookups': null,
420
+ 'values': null,
421
+ }),
422
+ }));
423
+ const p_temp_has_parameters = _pa.cc($['temp has parameters'], ($) => $);
424
+ return ({
425
+ 'initialization': p_initialization,
426
+ 'temp has parameters': p_temp_has_parameters,
427
+ });
428
+ });
429
+ })]);
430
+ case 'group': return _pa.ss($, ($) => ['group', _pa.block(() => {
431
+ return _pa.block(() => {
432
+ return _i_generic.resolve_dictionary($, {
433
+ 'location 2 string': l2s,
434
+ 'map': ($, $p) => _pa.block(() => {
435
+ return _pa.cc($['value'], ($) => (0, exports.r_Initialization)($, {
436
+ 'location 2 string': l2s,
437
+ 'parameters': ({
438
+ 'lookups': null,
439
+ 'values': null,
440
+ }),
441
+ }));
442
+ }),
443
+ });
444
+ });
445
+ })]);
446
+ case 'null': return _pa.ss($, ($) => ['null', _pa.block(() => {
447
+ return null;
448
+ })]);
449
+ case 'number': return _pa.ss($, ($) => ['number', _pa.block(() => {
450
+ return _pa.cc($['state group'], ($) => {
451
+ switch ($[0]) {
452
+ case 'floting point': return _pa.ss($, ($) => ['floting point', _pa.block(() => {
453
+ return $;
454
+ })]);
455
+ case 'integer': return _pa.ss($, ($) => ['integer', _pa.block(() => {
456
+ return $;
457
+ })]);
458
+ case 'signed integer': return _pa.ss($, ($) => ['signed integer', _pa.block(() => {
459
+ return $;
460
+ })]);
461
+ default: return _pa.au($[0]);
462
+ }
463
+ });
464
+ })]);
465
+ case 'optional': return _pa.ss($, ($) => ['optional', _pa.block(() => {
466
+ return _pa.cc($['state group'], ($) => {
467
+ switch ($[0]) {
468
+ case 'not set': return _pa.ss($, ($) => ['not set', _pa.block(() => {
469
+ return null;
470
+ })]);
471
+ case 'set': return _pa.ss($, ($) => ['set', _pa.block(() => {
472
+ return (0, exports.r_Initialization)($, {
473
+ 'location 2 string': l2s,
474
+ 'parameters': ({
475
+ 'lookups': null,
476
+ 'values': null,
477
+ }),
478
+ });
479
+ })]);
480
+ default: return _pa.au($[0]);
481
+ }
482
+ });
483
+ })]);
484
+ case 'string': return _pa.ss($, ($) => ['string', _pa.block(() => {
485
+ return _pa.block(() => {
486
+ const p_delimiter = _pa.cc($['delimiter'], ($) => _pa.cc($['state group'], ($) => {
487
+ switch ($[0]) {
488
+ case 'backtick': return _pa.ss($, ($) => ['backtick', _pa.block(() => {
489
+ return null;
490
+ })]);
491
+ case 'quote': return _pa.ss($, ($) => ['quote', _pa.block(() => {
492
+ return null;
493
+ })]);
494
+ default: return _pa.au($[0]);
495
+ }
496
+ }));
497
+ const p_value = _pa.cc($['value'], ($) => $);
498
+ return ({
499
+ 'delimiter': p_delimiter,
500
+ 'value': p_value,
501
+ });
502
+ });
503
+ })]);
504
+ case 'tagged union': return _pa.ss($, ($) => ['tagged union', _pa.block(() => {
505
+ return _pa.block(() => {
506
+ const p_case = _pa.cc($['case'], ($) => $);
507
+ const p_value = _pa.cc($['value'], ($) => (0, exports.r_Initialization)($, {
508
+ 'location 2 string': l2s,
509
+ 'parameters': ({
510
+ 'lookups': null,
511
+ 'values': null,
512
+ }),
513
+ }));
514
+ return ({
515
+ 'case': p_case,
516
+ 'value': p_value,
517
+ });
518
+ });
519
+ })]);
520
+ default: return _pa.au($[0]);
521
+ }
522
+ });
523
+ });
524
+ exports.r_Literal = r_Literal;
525
+ const r_Module = ($, $p) => _pa.block(() => {
526
+ const l2s = $p['location 2 string'];
527
+ const params = $p['parameters'];
528
+ return _pa.block(() => {
529
+ const p_type_imports = _pa.cc($['type imports'], ($) => _i_r_interface.r_Imports($, {
530
+ 'location 2 string': l2s,
531
+ 'parameters': ({
532
+ 'lookups': null,
533
+ 'values': null,
534
+ }),
535
+ }));
536
+ const p_variable_imports = _pa.cc($['variable imports'], ($) => _pa.block(() => {
537
+ return _i_generic.resolve_dictionary($, {
538
+ 'location 2 string': l2s,
539
+ 'map': ($, $p) => _pa.block(() => {
540
+ return _pa.cc($['value'], ($) => _pa.block(() => {
541
+ const p_tail = _pa.cc($['tail'], ($) => $['list'].map(($) => _pa.cc($['element'], ($) => $)));
542
+ const p_type = _pa.cc($['type'], ($) => _pa.cc($['state group'], ($) => {
543
+ switch ($[0]) {
544
+ case 'ancestor': return _pa.ss($, ($) => ['ancestor', _pa.block(() => {
545
+ return _pa.block(() => {
546
+ const p_dependency = _pa.cc($['dependency'], ($) => $);
547
+ const p_number_of_steps = _pa.cc($['number of steps'], ($) => $);
548
+ return ({
549
+ 'dependency': p_dependency,
550
+ 'number of steps': p_number_of_steps,
551
+ });
552
+ });
553
+ })]);
554
+ case 'external': return _pa.ss($, ($) => ['external', _pa.block(() => {
555
+ return $;
556
+ })]);
557
+ case 'sibling': return _pa.ss($, ($) => ['sibling', _pa.block(() => {
558
+ return $;
559
+ })]);
560
+ default: return _pa.au($[0]);
561
+ }
562
+ }));
563
+ return ({
564
+ 'tail': p_tail,
565
+ 'type': p_type,
566
+ });
567
+ }));
568
+ }),
569
+ });
570
+ }));
571
+ const p_variables = _pa.cc($['variables'], ($) => (0, exports.r_Variables)($, {
572
+ 'location 2 string': l2s,
573
+ 'parameters': ({
574
+ 'lookups': null,
575
+ 'values': null,
576
+ }),
577
+ }));
578
+ return ({
579
+ 'type imports': p_type_imports,
580
+ 'variable imports': p_variable_imports,
581
+ 'variables': p_variables,
582
+ });
583
+ });
584
+ });
585
+ exports.r_Module = r_Module;
586
+ const r_Module_Set = ($, $p) => _pa.block(() => {
587
+ const l2s = $p['location 2 string'];
588
+ const params = $p['parameters'];
589
+ return _pa.block(() => {
590
+ return _i_generic.resolve_dictionary($, {
591
+ 'location 2 string': l2s,
592
+ 'map': ($, $p) => _pa.block(() => {
593
+ return _pa.cc($['value'], ($) => _pa.cc($['state group'], ($) => {
594
+ switch ($[0]) {
595
+ case 'module': return _pa.ss($, ($) => ['module', _pa.block(() => {
596
+ return (0, exports.r_Module)($, {
597
+ 'location 2 string': l2s,
598
+ 'parameters': ({
599
+ 'lookups': null,
600
+ 'values': null,
601
+ }),
602
+ });
603
+ })]);
604
+ case 'set': return _pa.ss($, ($) => ['set', _pa.block(() => {
605
+ return (0, exports.r_Module_Set)($, {
606
+ 'location 2 string': l2s,
607
+ 'parameters': ({
608
+ 'lookups': null,
609
+ 'values': null,
610
+ }),
611
+ });
612
+ })]);
613
+ default: return _pa.au($[0]);
614
+ }
615
+ }));
616
+ }),
617
+ });
618
+ });
619
+ });
620
+ exports.r_Module_Set = r_Module_Set;
621
+ const r_Selection = ($, $p) => _pa.block(() => {
622
+ const l2s = $p['location 2 string'];
623
+ const params = $p['parameters'];
624
+ return _pa.block(() => {
625
+ const p_start = _pa.cc($['start'], ($) => _pa.cc($['state group'], ($) => {
626
+ switch ($[0]) {
627
+ case 'abort': return _pa.ss($, ($) => ['abort', _pa.block(() => {
628
+ return null;
629
+ })]);
630
+ case 'argument': return _pa.ss($, ($) => ['argument', _pa.block(() => {
631
+ return $;
632
+ })]);
633
+ case 'call': return _pa.ss($, ($) => ['call', _pa.block(() => {
634
+ return _pa.block(() => {
635
+ const p_source = _pa.cc($['source'], ($) => (0, exports.r_Selection)($, {
636
+ 'location 2 string': l2s,
637
+ 'parameters': ({
638
+ 'lookups': null,
639
+ 'values': null,
640
+ }),
641
+ }));
642
+ const p_context = _pa.cc($['context'], ($) => (0, exports.r_Selection)($, {
643
+ 'location 2 string': l2s,
644
+ 'parameters': ({
645
+ 'lookups': null,
646
+ 'values': null,
647
+ }),
648
+ }));
649
+ const p_arguments = _pa.cc($['arguments'], ($) => $.map(($) => _pa.block(() => {
650
+ return _pa.block(() => {
651
+ return _i_generic.resolve_dictionary($, {
652
+ 'location 2 string': l2s,
653
+ 'map': ($, $p) => _pa.block(() => {
654
+ return _pa.cc($['value'], ($) => (0, exports.r_Initialization)($, {
655
+ 'location 2 string': l2s,
656
+ 'parameters': ({
657
+ 'lookups': null,
658
+ 'values': null,
659
+ }),
660
+ }));
661
+ }),
662
+ });
663
+ });
664
+ })));
665
+ return ({
666
+ 'arguments': p_arguments,
667
+ 'context': p_context,
668
+ 'source': p_source,
669
+ });
670
+ });
671
+ })]);
672
+ case 'context': return _pa.ss($, ($) => ['context', _pa.block(() => {
673
+ return null;
674
+ })]);
675
+ case 'implement me': return _pa.ss($, ($) => ['implement me', _pa.block(() => {
676
+ return null;
677
+ })]);
678
+ case 'imported variable': return _pa.ss($, ($) => ['imported variable', _pa.block(() => {
679
+ return _pa.block(() => {
680
+ const p_import = _pa.cc($['import'], ($) => $);
681
+ const p_variable = _pa.cc($['variable'], ($) => $);
682
+ return ({
683
+ 'import': p_import,
684
+ 'variable': p_variable,
685
+ });
686
+ });
687
+ })]);
688
+ case 'parameter': return _pa.ss($, ($) => ['parameter', _pa.block(() => {
689
+ return $;
690
+ })]);
691
+ case 'transform optional value': return _pa.ss($, ($) => ['transform optional value', _pa.block(() => {
692
+ return _pa.block(() => {
693
+ const p_source = _pa.cc($['source'], ($) => (0, exports.r_Selection)($, {
694
+ 'location 2 string': l2s,
695
+ 'parameters': ({
696
+ 'lookups': null,
697
+ 'values': null,
698
+ }),
699
+ }));
700
+ const p_if_not_set = _pa.cc($['if not set'], ($) => (0, exports.r_Selection)($, {
701
+ 'location 2 string': l2s,
702
+ 'parameters': ({
703
+ 'lookups': null,
704
+ 'values': null,
705
+ }),
706
+ }));
707
+ const p_if_set = _pa.cc($['if set'], ($) => (0, exports.r_Selection)($, {
708
+ 'location 2 string': l2s,
709
+ 'parameters': ({
710
+ 'lookups': null,
711
+ 'values': null,
712
+ }),
713
+ }));
714
+ return ({
715
+ 'if not set': p_if_not_set,
716
+ 'if set': p_if_set,
717
+ 'source': p_source,
718
+ });
719
+ });
720
+ })]);
721
+ case 'variable': return _pa.ss($, ($) => ['variable', _pa.block(() => {
722
+ return $;
723
+ })]);
724
+ default: return _pa.au($[0]);
725
+ }
726
+ }));
727
+ const p_tail = _pa.cc($['tail'], ($) => $['list'].map(($) => _pa.cc($['element'], ($) => $)));
728
+ return ({
729
+ 'start': p_start,
730
+ 'tail': p_tail,
731
+ });
732
+ });
733
+ });
734
+ exports.r_Selection = r_Selection;
735
+ const r_Type_Parameters = ($, $p) => _pa.block(() => {
736
+ const l2s = $p['location 2 string'];
737
+ const params = $p['parameters'];
738
+ return _pa.block(() => {
739
+ return _i_generic.resolve_dictionary($, {
740
+ 'location 2 string': l2s,
741
+ 'map': ($, $p) => _pa.block(() => {
742
+ return _pa.cc($['value'], ($) => null);
743
+ }),
744
+ });
745
+ });
746
+ });
747
+ exports.r_Type_Parameters = r_Type_Parameters;
748
+ const r_Variables = ($, $p) => _pa.block(() => {
749
+ const l2s = $p['location 2 string'];
750
+ const params = $p['parameters'];
751
+ return _pa.block(() => {
752
+ return _i_generic.resolve_dictionary($, {
753
+ 'location 2 string': l2s,
754
+ 'map': ($, $p) => _pa.block(() => {
755
+ return _pa.cc($['value'], ($) => _pa.block(() => {
756
+ const p_type = _pa.cc($['type'], ($) => $.map(($) => _pa.block(() => {
757
+ return _i_r_interface.r_Type($, {
758
+ 'location 2 string': l2s,
759
+ 'parameters': ({
760
+ 'lookups': null,
761
+ 'values': null,
762
+ }),
763
+ });
764
+ })));
765
+ const p_initialization = _pa.cc($['initialization'], ($) => (0, exports.r_Initialization)($, {
766
+ 'location 2 string': l2s,
767
+ 'parameters': ({
768
+ 'lookups': null,
769
+ 'values': null,
770
+ }),
771
+ }));
772
+ return ({
773
+ 'initialization': p_initialization,
774
+ 'type': p_type,
775
+ });
776
+ }));
777
+ }),
778
+ });
779
+ });
780
+ });
781
+ exports.r_Variables = r_Variables;
782
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvaW1wbGVtZW50YXRpb24vc2NoZW1hcy9pbXBsZW1lbnRhdGlvbi9yZXNvbHZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQXVDO0FBR3ZDLHFFQUFzRDtBQUV0RCxxRUFBc0Q7QUFJL0MsTUFBTSxnQkFBZ0IsR0FBaUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtJQUNwSCxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUNuQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDL0IsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBNEIsRUFBRTtRQUM1RCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1gsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtvQkFDM0QsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTt3QkFDbEIsTUFBTSxXQUFXLEdBQWdELEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLG1CQUFXLEVBQ3RHLENBQUMsRUFDRDs0QkFDSSxtQkFBbUIsRUFBRSxHQUFHOzRCQUN4QixZQUFZLEVBQUUsQ0FBQztnQ0FDWCxTQUFTLEVBQUUsSUFBSTtnQ0FDZixRQUFRLEVB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