exupery 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) 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/exupery_implementation/migration_boilerplate.d.ts +8 -0
  4. package/dist/generated/implementation/schemas/exupery_implementation/migration_boilerplate.js +234 -0
  5. package/dist/generated/implementation/schemas/exupery_implementation/resolve.d.ts +9 -0
  6. package/dist/generated/implementation/schemas/exupery_implementation/resolve.js +782 -0
  7. package/dist/generated/implementation/schemas/exupery_interface/migration_boilerplate.d.ts +8 -0
  8. package/dist/generated/implementation/schemas/exupery_interface/migration_boilerplate.js +131 -0
  9. package/dist/generated/implementation/schemas/exupery_interface/resolve.d.ts +9 -0
  10. package/dist/generated/implementation/schemas/exupery_interface/resolve.js +442 -0
  11. package/dist/generated/interface/core/poormans_parser.d.ts +184 -0
  12. package/dist/generated/interface/core/poormans_parser.js +3 -0
  13. package/dist/generated/interface/core/resolved.d.ts +100 -0
  14. package/dist/generated/interface/core/resolved.js +3 -0
  15. package/dist/generated/interface/core/unresolved.d.ts +35 -0
  16. package/dist/generated/interface/core/unresolved.js +3 -0
  17. package/dist/generated/interface/schemas/exupery_implementation/constrained/resolve.d.ts +437 -0
  18. package/dist/generated/interface/schemas/exupery_implementation/constrained/resolve.js +3 -0
  19. package/dist/generated/interface/schemas/exupery_implementation/migration_boilerplate.d.ts +156 -0
  20. package/dist/generated/interface/schemas/exupery_implementation/migration_boilerplate.js +3 -0
  21. package/dist/generated/interface/schemas/exupery_implementation/poormans_parser.d.ts +1912 -0
  22. package/dist/generated/interface/schemas/exupery_implementation/poormans_parser.js +3 -0
  23. package/dist/generated/interface/schemas/exupery_implementation/resolved.d.ts +1912 -0
  24. package/dist/generated/interface/schemas/exupery_implementation/resolved.js +3 -0
  25. package/dist/generated/interface/schemas/exupery_implementation/unresolved.d.ts +1912 -0
  26. package/dist/generated/interface/schemas/exupery_implementation/unresolved.js +3 -0
  27. package/dist/generated/interface/schemas/exupery_interface/constrained/resolve.d.ts +437 -0
  28. package/dist/generated/interface/schemas/exupery_interface/constrained/resolve.js +3 -0
  29. package/dist/generated/interface/schemas/exupery_interface/migration_boilerplate.d.ts +156 -0
  30. package/dist/generated/interface/schemas/exupery_interface/migration_boilerplate.js +3 -0
  31. package/dist/generated/interface/schemas/exupery_interface/poormans_parser.d.ts +622 -0
  32. package/dist/generated/interface/schemas/exupery_interface/poormans_parser.js +3 -0
  33. package/dist/generated/interface/schemas/exupery_interface/resolved.d.ts +622 -0
  34. package/dist/generated/interface/schemas/exupery_interface/resolved.js +3 -0
  35. package/dist/generated/interface/schemas/exupery_interface/unresolved.d.ts +622 -0
  36. package/dist/generated/interface/schemas/exupery_interface/unresolved.js +3 -0
  37. package/dist/generated/interface/schemas/typescript_light/migration_boilerplate.d.ts +90 -0
  38. package/dist/generated/interface/schemas/typescript_light/migration_boilerplate.js +3 -0
  39. package/dist/generated/interface/schemas/typescript_light/poormans_parser.d.ts +966 -0
  40. package/dist/generated/interface/schemas/typescript_light/poormans_parser.js +3 -0
  41. package/dist/generated/interface/schemas/typescript_light/resolved.d.ts +966 -0
  42. package/dist/generated/interface/schemas/typescript_light/resolved.js +3 -0
  43. package/dist/generated/interface/schemas/typescript_light/unresolved.d.ts +966 -0
  44. package/dist/generated/interface/schemas/typescript_light/unresolved.js +3 -0
  45. package/dist/globals.d.ts +24 -0
  46. package/dist/globals.js +2 -0
  47. package/dist/index.d.ts +1 -0
  48. package/dist/index.js +5 -0
  49. package/dist/shorthands/implementation.d.ts +58 -0
  50. package/dist/shorthands/implementation.js +329 -0
  51. package/dist/shorthands/interface.d.ts +39 -0
  52. package/dist/shorthands/interface.js +146 -0
  53. package/dist/shorthands/typescript_light.d.ts +24 -0
  54. package/dist/shorthands/typescript_light.js +127 -0
  55. package/dist/transformations/implementation/fountain_pen.d.ts +6 -0
  56. package/dist/transformations/implementation/fountain_pen.js +36 -0
  57. package/dist/transformations/implementation/typescript.d.ts +24 -0
  58. package/dist/transformations/implementation/typescript.js +554 -0
  59. package/dist/transformations/interface/fountain_pen.d.ts +4 -0
  60. package/dist/transformations/interface/fountain_pen.js +47 -0
  61. package/dist/transformations/interface/typescript.d.ts +23 -0
  62. package/dist/transformations/interface/typescript.js +524 -0
  63. package/dist/transformations/typescript/fountain_pen.d.ts +15 -0
  64. package/dist/transformations/typescript/fountain_pen.js +281 -0
  65. package/dist/transformations/typescript/operations/create_identifier.d.ts +1 -0
  66. package/dist/transformations/typescript/operations/create_identifier.js +260 -0
  67. package/package.json +4 -1
@@ -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("../exupery_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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvaW1wbGVtZW50YXRpb24vc2NoZW1hcy9leHVwZXJ5X2ltcGxlbWVudGF0aW9uL3Jlc29sdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBdUM7QUFHdkMscUVBQXNEO0FBRXRELDZFQUE4RDtBQUl2RCxNQUFNLGdCQUFnQixHQUFpRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO0lBQ3BILE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQ25DLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUMvQixPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUE0QixFQUFFO1FBQzVELFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDWCxLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO29CQUMzRCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO3dCQUNsQixNQUFNLFdBQVcsR0FBZ0QsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsbUJBQVcsRUFDdEcsQ0FBQyxFQUNEOzRCQUNJLG1CQUFtQixFQUFFLEdBQUc7NEJBQ3hCLFlBQVksRUFBRSxDQUFDO2dDQUNYLFNBQVMsRUFBRSxJQUFJO2dDQUNm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