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.
- package/dist/generated/generic/resolve.d.ts +1 -1
- package/dist/generated/implementation/schemas/implementation/migration_boilerplate.d.ts +8 -0
- package/dist/generated/implementation/schemas/implementation/migration_boilerplate.js +234 -0
- package/dist/generated/implementation/schemas/implementation/resolve.d.ts +9 -0
- package/dist/generated/implementation/schemas/implementation/resolve.js +782 -0
- package/dist/generated/implementation/schemas/interface/migration_boilerplate.d.ts +0 -0
- package/dist/generated/implementation/schemas/interface/migration_boilerplate.js +165 -0
- package/dist/generated/implementation/schemas/interface/resolve.d.ts +9 -0
- package/dist/generated/implementation/schemas/interface/resolve.js +442 -0
- package/dist/generated/interface/core/unconstrained.d.ts +19 -0
- package/dist/generated/interface/core/unconstrained.js +3 -0
- package/dist/generated/interface/core/unresolved.d.ts +0 -3
- package/dist/generated/interface/schemas/implementation/migration_boilerplate.d.ts +170 -0
- package/dist/generated/interface/schemas/implementation/migration_boilerplate.js +3 -0
- package/dist/generated/interface/schemas/interface/migration_boilerplate.d.ts +170 -0
- package/dist/generated/interface/schemas/interface/migration_boilerplate.js +3 -0
- package/dist/generated/interface/schemas/typescript_light/unconstrained.d.ts +1 -1
- package/package.json +1 -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("../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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
|