pareto 0.54.0 → 0.56.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 (78) hide show
  1. package/auto.dist/public/cosmos__2__pareto/auto.provided_interface_glossary.d.ts +479 -243
  2. package/auto.dist/public/cosmos__2__pareto/implementations/library2ParetoComparators.alg.js +19 -19
  3. package/auto.dist/public/glossaries/grammar.d.ts +260 -0
  4. package/auto.dist/public/glossaries/grammar.js +3 -0
  5. package/auto.dist/public/glossaries/grammar.shadow.d.ts +8 -0
  6. package/auto.dist/public/glossaries/grammar.shadow.js +3 -0
  7. package/auto.dist/public/glossaries/liana.d.ts +2433 -0
  8. package/auto.dist/public/glossaries/liana.js +3 -0
  9. package/auto.dist/public/glossaries/liana.shadow.d.ts +8 -0
  10. package/auto.dist/public/glossaries/liana.shadow.js +3 -0
  11. package/auto.dist/public/glossaries/pareto.d.ts +477 -241
  12. package/auto.dist/public/glossaries/tendril.d.ts +1425 -0
  13. package/auto.dist/public/glossaries/tendril.js +3 -0
  14. package/auto.dist/public/glossaries/tendril.shadow.d.ts +8 -0
  15. package/auto.dist/public/glossaries/tendril.shadow.js +3 -0
  16. package/auto.dist/public/pareto__2__typescript/auto.provided_interface_glossary.d.ts +477 -241
  17. package/auto.dist/public/pareto__2__typescript/implementations/serializeCompilationUnit.alg.js +157 -109
  18. package/auto.dist/public/shorthands/cosmos.d.ts +50 -0
  19. package/auto.dist/public/shorthands/cosmos.js +512 -0
  20. package/auto.dist/public/shorthands/grammar.d.ts +13 -0
  21. package/auto.dist/public/shorthands/grammar.js +110 -0
  22. package/auto.dist/public/shorthands/liana.d.ts +66 -0
  23. package/auto.dist/public/shorthands/liana.js +728 -0
  24. package/auto.dist/public/shorthands/pareto.d.ts +4 -4
  25. package/auto.dist/public/shorthands/pareto.js +31 -29
  26. package/auto.dist/public/shorthands/tendril.d.ts +48 -0
  27. package/auto.dist/public/shorthands/tendril.js +402 -0
  28. package/auto.pareto/$.data.ts +9 -3
  29. package/auto.pareto/auto.dependencies/index.ts +2 -2
  30. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/$.data.ts +1 -1
  31. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/arithmetic/api.data.ts +2 -2
  32. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/arithmetic/glossary.data.ts +1 -1
  33. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/array/api.data.ts +2 -2
  34. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/array/glossary.data.ts +1 -1
  35. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/boolean/api.data.ts +2 -2
  36. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/boolean/glossary.data.ts +1 -1
  37. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/build/api.data.ts +2 -2
  38. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/build/glossary.data.ts +1 -1
  39. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/collation/api.data.ts +2 -2
  40. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/collation/glossary.data.ts +1 -1
  41. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/dictionary/api.data.ts +2 -2
  42. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/dictionary/glossary.data.ts +1 -1
  43. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/filesystem/api.data.ts +2 -2
  44. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/filesystem/glossary.data.ts +1 -1
  45. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/foreach/api.data.ts +2 -2
  46. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/foreach/glossary.data.ts +1 -1
  47. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/http/api.data.ts +2 -2
  48. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/http/glossary.data.ts +1 -1
  49. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/json/api.data.ts +2 -2
  50. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/json/glossary.data.ts +1 -1
  51. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/nested/api.data.ts +2 -2
  52. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/nested/glossary.data.ts +1 -1
  53. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/numerical_predicates/api.data.ts +2 -2
  54. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/numerical_predicates/glossary.data.ts +1 -1
  55. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/path/api.data.ts +2 -2
  56. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/path/glossary.data.ts +1 -1
  57. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/resolve/api.data.ts +2 -2
  58. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/resolve/glossary.data.ts +1 -1
  59. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/string/api.data.ts +2 -2
  60. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/string/glossary.data.ts +1 -1
  61. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/tostring/api.data.ts +2 -2
  62. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/tostring/glossary.data.ts +1 -1
  63. package/auto.pareto/auto.dependencies/res-typescript/$.data.ts +1 -1
  64. package/auto.pareto/auto.dependencies/res-typescript/modules/naming/api.data.ts +2 -2
  65. package/auto.pareto/auto.dependencies/res-typescript/modules/naming/glossary.data.ts +1 -1
  66. package/auto.pareto/auto.dependencies/res-typescript/modules/serialize/api.data.ts +2 -2
  67. package/auto.pareto/auto.dependencies/res-typescript/modules/serialize/glossary.data.ts +1 -1
  68. package/auto.pareto/glossaries/auto.grammar.data.ts +262 -0
  69. package/auto.pareto/glossaries/auto.liana.data.ts +1955 -0
  70. package/auto.pareto/glossaries/auto.pareto.data.ts +430 -259
  71. package/auto.pareto/glossaries/auto.tendril.data.ts +1139 -0
  72. package/auto.pareto/modules/cosmos2pareto/api.data.ts +3 -4
  73. package/auto.pareto/modules/cosmos2pareto/glossary.data.ts +3 -3
  74. package/auto.pareto/modules/fountain_pen/api.data.ts +4 -4
  75. package/auto.pareto/modules/fountain_pen/glossary.data.ts +3 -3
  76. package/auto.pareto/modules/pareto2typescript/api.data.ts +4 -4
  77. package/auto.pareto/modules/pareto2typescript/glossary.data.ts +3 -3
  78. package/package.json +4 -4
@@ -0,0 +1,728 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.d = d;
37
+ exports.r = r;
38
+ exports.array = array;
39
+ exports.optional = optional;
40
+ exports.nothing = nothing;
41
+ exports.nothingResult = nothingResult;
42
+ exports.optionalResult = optionalResult;
43
+ exports.pCyclicLookup = pCyclicLookup;
44
+ exports.pResolvedValue = pResolvedValue;
45
+ exports.pExternalResolvedValue = pExternalResolvedValue;
46
+ exports.pNonCyclicLookup = pNonCyclicLookup;
47
+ exports.s_component = s_component;
48
+ exports.s_optional = s_optional;
49
+ exports.s_nothing = s_nothing;
50
+ exports.s_taggedunion = s_taggedunion;
51
+ exports.s_group = s_group;
52
+ exports.s_reference = s_reference;
53
+ exports.varSel = varSel;
54
+ exports.tailSel = tailSel;
55
+ exports.valSel = valSel;
56
+ exports.aResolvedValue = aResolvedValue;
57
+ exports.thisNonCyclic = thisNonCyclic;
58
+ exports.thisCyclic = thisCyclic;
59
+ exports.lresolvedDictionary = lresolvedDictionary;
60
+ exports.lparameter = lparameter;
61
+ exports.aLookup = aLookup;
62
+ exports.prop = prop;
63
+ exports.resolvedValueReference = resolvedValueReference;
64
+ exports.lookupReference = lookupReference;
65
+ exports.dictConstraint = dictConstraint;
66
+ exports.constrainedDictionary = constrainedDictionary;
67
+ exports.dictionary = dictionary;
68
+ exports.globalTypeResult = globalTypeResult;
69
+ exports.globalType = globalType;
70
+ exports.group = group;
71
+ exports.option = option;
72
+ exports.optionConstraint = optionConstraint;
73
+ exports.constrainedOption = constrainedOption;
74
+ exports.taggedUnion = taggedUnion;
75
+ exports.resultTaggedUnion = resultTaggedUnion;
76
+ exports.terminal = terminal;
77
+ exports.t_grp = t_grp;
78
+ exports.t_dict = t_dict;
79
+ exports.t_arr = t_arr;
80
+ exports.t_tu = t_tu;
81
+ exports.tempExternalTypeSelection = tempExternalTypeSelection;
82
+ exports.globalTypeSelection = globalTypeSelection;
83
+ exports.externalGlobalTypeSelection = externalGlobalTypeSelection;
84
+ exports.tempTypeSelection = tempTypeSelection;
85
+ exports.resolvedSiblingComponent = resolvedSiblingComponent;
86
+ exports.importedComponent = importedComponent;
87
+ const pd = __importStar(require("pareto-core-data"));
88
+ const pl = __importStar(require("pareto-core-alg"));
89
+ const a = pd.a;
90
+ function r_imp(name, depth) {
91
+ return {
92
+ key: name,
93
+ annotation: pd.getLocationInfo(depth + 1),
94
+ };
95
+ }
96
+ function d_imp($, annotation) {
97
+ return {
98
+ 'annotation': annotation,
99
+ 'dictionary': pd.d($),
100
+ };
101
+ }
102
+ function d_mappedimp($, annotation, cb) {
103
+ return {
104
+ 'annotation': annotation,
105
+ 'dictionary': pd.d($).map(cb),
106
+ };
107
+ }
108
+ function d($) {
109
+ const li = pd.getLocationInfo(1);
110
+ return d_imp($, li);
111
+ }
112
+ function r(name) {
113
+ return r_imp(name, 1);
114
+ }
115
+ function array(type) {
116
+ return {
117
+ 'classes': pd.d({}),
118
+ 'type': ['array', {
119
+ 'type': type,
120
+ //'constraint': pd.notSet()
121
+ }]
122
+ };
123
+ }
124
+ function optional(type, result) {
125
+ const x = result === undefined ? pd.notSet() : pd.set(result);
126
+ return {
127
+ 'classes': pd.d({}),
128
+ 'type': ['optional', {
129
+ 'type': type,
130
+ 'result': x
131
+ }]
132
+ };
133
+ }
134
+ function nothing(result) {
135
+ const x = result === undefined ? pd.notSet() : pd.set(result);
136
+ return {
137
+ 'classes': pd.d({}),
138
+ 'type': ['nothing', {
139
+ 'result': x
140
+ }]
141
+ };
142
+ }
143
+ function nothingResult(type, selection) {
144
+ return {
145
+ 'temp type': type,
146
+ 'selection': selection,
147
+ };
148
+ }
149
+ function optionalResult(type, set, notSet) {
150
+ return {
151
+ 'temp type': type,
152
+ 'not set': notSet,
153
+ 'set': set,
154
+ };
155
+ }
156
+ function pCyclicLookup(type) {
157
+ return {
158
+ 'type': ['lookup', {
159
+ 'kind': ['cyclic', null],
160
+ 'type': type
161
+ }]
162
+ };
163
+ }
164
+ function pResolvedValue(gt, optional) {
165
+ return {
166
+ 'type': ['resolved value', {
167
+ 'type': {
168
+ 'import': pd.notSet(),
169
+ 'type': r_imp(gt, 1),
170
+ },
171
+ 'optional': optional ? ['yes', null] : ['no', null]
172
+ }]
173
+ };
174
+ }
175
+ function pExternalResolvedValue(imp, gt, optional) {
176
+ return {
177
+ 'type': ['resolved value', {
178
+ 'type': {
179
+ 'import': pd.set({
180
+ 'key': imp,
181
+ 'annotation': pd.getLocationInfo(1),
182
+ }),
183
+ 'type': r_imp(gt, 1),
184
+ },
185
+ 'optional': optional ? ['yes', null] : ['no', null]
186
+ }]
187
+ };
188
+ }
189
+ function pNonCyclicLookup(type) {
190
+ return {
191
+ 'type': ['lookup', {
192
+ 'kind': ['non cyclic', null],
193
+ 'type': type
194
+ }]
195
+ };
196
+ }
197
+ function s_component(tail) {
198
+ return {
199
+ 'step type': ['component', {
200
+ 'annotation': pd.getLocationInfo(1),
201
+ 'content': null,
202
+ }],
203
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
204
+ };
205
+ }
206
+ function s_optional(tail) {
207
+ return {
208
+ 'step type': ['optional', {
209
+ 'annotation': pd.getLocationInfo(1),
210
+ 'content': null,
211
+ }],
212
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
213
+ };
214
+ }
215
+ function s_nothing(tail) {
216
+ return {
217
+ 'step type': ['nothing', {
218
+ 'annotation': pd.getLocationInfo(1),
219
+ 'content': null,
220
+ }],
221
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail),
222
+ };
223
+ }
224
+ function s_taggedunion(tail) {
225
+ return {
226
+ 'step type': ['tagged union', {
227
+ 'annotation': pd.getLocationInfo(1),
228
+ 'content': null,
229
+ }],
230
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
231
+ };
232
+ }
233
+ function s_group(prop, tail) {
234
+ return {
235
+ 'step type': ['group', {
236
+ 'annotation': pd.getLocationInfo(1),
237
+ 'content': {
238
+ 'property': {
239
+ 'annotation': pd.getLocationInfo(1),
240
+ 'key': prop,
241
+ }
242
+ }
243
+ }],
244
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
245
+ };
246
+ }
247
+ function s_reference(tail) {
248
+ return {
249
+ 'step type': ['reference', {
250
+ 'annotation': pd.getLocationInfo(1),
251
+ 'content': null,
252
+ }],
253
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
254
+ };
255
+ }
256
+ // export function comp(
257
+ // prop: string,
258
+ // tail?: g_this.D.Optional__Value__Selection__Tail<pd.SourceLocation>
259
+ // ): g_this.D.Optional__Value__Selection__Tail<pd.SourceLocation> {
260
+ // return [true, {
261
+ // 'step type': ['component', {
262
+ // 'property': {
263
+ // 'annotation': pd.getLocationInfo(1),
264
+ // 'key': prop,
265
+ // }
266
+ // }],
267
+ // 'tail': tail === undefined ? pd.notSet() : tail
268
+ // }]
269
+ // }
270
+ function varSel(start, tail) {
271
+ return {
272
+ 'start': pd.set({
273
+ 'annotation': pd.getLocationInfo(1),
274
+ 'key': start,
275
+ }),
276
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
277
+ };
278
+ }
279
+ function tailSel(tail) {
280
+ return {
281
+ 'start': pd.notSet(),
282
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
283
+ };
284
+ }
285
+ function valSel(start, tail) {
286
+ return {
287
+ 'start': {
288
+ 'annotation': pd.getLocationInfo(1),
289
+ 'key': start,
290
+ },
291
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
292
+ };
293
+ }
294
+ function aResolvedValue(valSel) {
295
+ return {
296
+ 'annotation': pd.getLocationInfo(1),
297
+ 'content': {
298
+ 'type': ['resolved value', valSel],
299
+ },
300
+ };
301
+ }
302
+ function thisNonCyclic() {
303
+ return ['this', {
304
+ 'type': ['non cyclic', null]
305
+ }];
306
+ }
307
+ function thisCyclic() {
308
+ return ['this', {
309
+ 'type': ['cyclic', null]
310
+ }];
311
+ }
312
+ function lresolvedDictionary(valSel) {
313
+ return ['resolved dictionary', valSel];
314
+ }
315
+ function lparameter(param) {
316
+ return ['parameter', {
317
+ 'annotation': pd.getLocationInfo(1),
318
+ 'key': param
319
+ }];
320
+ }
321
+ function aLookup(sel) {
322
+ return {
323
+ 'annotation': pd.getLocationInfo(1),
324
+ 'content': {
325
+ 'type': ['lookup', sel],
326
+ },
327
+ };
328
+ }
329
+ //doesn't do anything
330
+ function prop(type) {
331
+ return type;
332
+ }
333
+ function resolvedValueReference(valSel, temp_type) {
334
+ return {
335
+ 'classes': pd.d({}),
336
+ 'type': ['terminal', {
337
+ 'terminal': {
338
+ 'type': {
339
+ 'annotation': pd.getLocationInfo(1),
340
+ 'key': "identifier",
341
+ }
342
+ },
343
+ 'constrained': ['yes', {
344
+ 'referencee type': ['resolved value', {
345
+ 'temp type': temp_type,
346
+ 'selection': valSel,
347
+ }]
348
+ }],
349
+ }]
350
+ };
351
+ }
352
+ function lookupReference(sel, temp_type) {
353
+ return {
354
+ 'classes': pd.d({}),
355
+ 'type': ['terminal', {
356
+ 'terminal': {
357
+ 'type': {
358
+ 'annotation': pd.getLocationInfo(1),
359
+ 'key': "identifier",
360
+ }
361
+ },
362
+ 'constrained': ['yes', {
363
+ 'referencee type': ['lookup', {
364
+ 'temp type': temp_type,
365
+ 'selection': sel,
366
+ }]
367
+ }],
368
+ }]
369
+ };
370
+ }
371
+ function dictConstraint(valSel, temp_type) {
372
+ return {
373
+ 'temp type': temp_type,
374
+ 'selection': valSel,
375
+ };
376
+ }
377
+ function constrainedDictionary(constraints, type) {
378
+ return {
379
+ 'classes': pd.d({}),
380
+ 'type': ['dictionary', {
381
+ 'key': {
382
+ 'type': {
383
+ 'annotation': pd.getLocationInfo(1),
384
+ 'key': "identifier",
385
+ },
386
+ },
387
+ 'constraints': pd.d(constraints),
388
+ 'variables': pd.d(constraints).__mapWithKey(($, key) => {
389
+ return ['dictionary constraint', {
390
+ 'annotation': pd.getLocationInfo(1),
391
+ 'key': key,
392
+ }];
393
+ }),
394
+ 'type': type,
395
+ //'autofill': pd.a([]),
396
+ }]
397
+ };
398
+ }
399
+ function dictionary(type /*, autofill?: g_this.D.Type._ltype.dictionary.autofill.A<pd.SourceLocation>[]*/) {
400
+ return {
401
+ 'classes': pd.d({}),
402
+ 'type': ['dictionary', {
403
+ // 'annotation': li,
404
+ 'key': {
405
+ 'type': r_imp("identifier", 1)
406
+ },
407
+ 'constraints': pd.d({}),
408
+ 'variables': pd.d({}),
409
+ 'type': type,
410
+ //'autofill': pd.a(autofill === undefined ? [] : autofill),
411
+ }]
412
+ };
413
+ }
414
+ function globalTypeResult(type, selection) {
415
+ return {
416
+ 'type': type,
417
+ 'selection': selection,
418
+ };
419
+ }
420
+ function globalType(parameters, type, result) {
421
+ const variables = {};
422
+ pd.d(parameters).__forEach(() => false, ($, key) => {
423
+ pl.cc($.type, ($) => {
424
+ switch ($[0]) {
425
+ case 'resolved value':
426
+ pl.ss($, ($) => {
427
+ });
428
+ break;
429
+ case 'lookup':
430
+ pl.ss($, ($) => {
431
+ variables[key] = ['parameter', {
432
+ 'key': key,
433
+ 'annotation': pd.getLocationInfo(1),
434
+ }];
435
+ });
436
+ break;
437
+ default: pl.au($[0]);
438
+ }
439
+ });
440
+ });
441
+ return {
442
+ 'parameters': pd.d(parameters),
443
+ 'variables': pd.d(variables),
444
+ 'type': type,
445
+ 'result': result === undefined
446
+ ? pd.notSet()
447
+ : pd.set(result)
448
+ };
449
+ }
450
+ function group(rawProperties) {
451
+ const currentVariables = {};
452
+ function clone($) {
453
+ const out = {};
454
+ pd.d($).__forEach(() => false, ($, key) => {
455
+ out[key] = $;
456
+ });
457
+ return out;
458
+ }
459
+ return {
460
+ 'classes': pd.d({}),
461
+ 'type': ['group', {
462
+ 'properties': pd.d(rawProperties).__mapWithKey(($, key) => {
463
+ const v = clone(currentVariables);
464
+ // currentVariables[key] = ['lookup', {
465
+ // 'key': key,
466
+ // 'annotation': pd.getLocationInfo(1)
467
+ // }]
468
+ return {
469
+ 'variables': pd.d(v),
470
+ 'type': $,
471
+ };
472
+ })
473
+ }]
474
+ };
475
+ }
476
+ function option(type, result) {
477
+ return {
478
+ 'constraints': pd.d({}),
479
+ 'variables': pd.d({}),
480
+ 'type': type,
481
+ 'result': result === undefined ? pd.notSet() : pd.set(result)
482
+ };
483
+ }
484
+ function optionConstraint(valSel, option, type) {
485
+ return {
486
+ 'temp type': type,
487
+ 'selection': valSel,
488
+ 'option': {
489
+ 'annotation': pd.getLocationInfo(1),
490
+ 'key': option
491
+ }
492
+ };
493
+ }
494
+ function constrainedOption(constraints, type, result) {
495
+ return {
496
+ 'constraints': pd.d(constraints),
497
+ 'variables': pd.d(constraints).__mapWithKey(($, key) => {
498
+ return ['option constraint', {
499
+ 'annotation': pd.getLocationInfo(1),
500
+ 'key': key,
501
+ }];
502
+ }),
503
+ 'type': type,
504
+ 'result': result === undefined ? pd.notSet() : pd.set(result)
505
+ };
506
+ }
507
+ function taggedUnion(options) {
508
+ let firstKey = null;
509
+ pd.d(options).__mapWithKey(($, key) => {
510
+ if (firstKey === null) {
511
+ firstKey = key;
512
+ }
513
+ });
514
+ if (firstKey === null) {
515
+ firstKey = "--NO OPTIONS--";
516
+ }
517
+ return {
518
+ 'classes': pd.d({}),
519
+ 'type': ['tagged union', {
520
+ 'options': pd.d(options),
521
+ 'default': r_imp(firstKey, 1),
522
+ 'result': pd.notSet()
523
+ }]
524
+ };
525
+ }
526
+ function resultTaggedUnion(result, options) {
527
+ let firstKey = null;
528
+ pd.d(options).__mapWithKey(($, key) => {
529
+ if (firstKey === null) {
530
+ firstKey = key;
531
+ }
532
+ });
533
+ if (firstKey === null) {
534
+ firstKey = "--NO OPTIONS--";
535
+ }
536
+ return {
537
+ 'classes': pd.d({}),
538
+ 'type': ['tagged union', {
539
+ 'result': pd.set(result),
540
+ 'options': pd.d(options),
541
+ 'default': r_imp(firstKey, 1),
542
+ }]
543
+ };
544
+ }
545
+ function terminal(type) {
546
+ return {
547
+ 'classes': pd.d({}),
548
+ 'type': ['terminal', {
549
+ 'terminal': {
550
+ 'type': {
551
+ 'annotation': pd.getLocationInfo(1),
552
+ 'key': type,
553
+ }
554
+ },
555
+ 'constrained': ['no', null],
556
+ }]
557
+ };
558
+ }
559
+ // export function sgrp(prop: string, tail: g_this.D.Selection<pd.SourceLocation>): g_this.D.Selection<pd.SourceLocation> {
560
+ // return ['group', {
561
+ // 'property': {
562
+ // 'annotation': pd.getLocationInfo(1),
563
+ // 'key': prop,
564
+ // },
565
+ // 'selection': tail
566
+ // }]
567
+ // }
568
+ // export function sarray(notEmpty: g_this.D.Selection<pd.SourceLocation>, empty: g_this.D.Selection<pd.SourceLocation>): g_this.D.Selection<pd.SourceLocation> {
569
+ // return ['array', {
570
+ // 'empty': empty,
571
+ // 'not empty': notEmpty,
572
+ // }]
573
+ // }
574
+ // export function sref(): g_this.D.Selection<pd.SourceLocation> {
575
+ // return ['reference', null]
576
+ // }
577
+ // export function scomponent($: string): g_this.D.Selection<pd.SourceLocation> {
578
+ // return ['component', {
579
+ // 'type name': $
580
+ // }]
581
+ // }
582
+ // export function stu(options: RawDictionary<g_this.D.Selection<pd.SourceLocation>>): g_this.D.Selection<pd.SourceLocation> {
583
+ // return ['tagged union', pd.d(options)]
584
+ // }
585
+ function t_grp(prop, tail) {
586
+ return {
587
+ 'step type': ['group', {
588
+ 'annotation': pd.getLocationInfo(1),
589
+ 'content': {
590
+ 'property': r_imp(prop, 1),
591
+ },
592
+ }],
593
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
594
+ };
595
+ }
596
+ function t_dict(tail) {
597
+ return {
598
+ 'step type': ['dictionary', {
599
+ 'annotation': pd.getLocationInfo(1),
600
+ 'content': null,
601
+ }],
602
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
603
+ };
604
+ }
605
+ function t_arr(tail) {
606
+ return {
607
+ 'step type': ['array', {
608
+ 'annotation': pd.getLocationInfo(1),
609
+ 'content': null,
610
+ }],
611
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
612
+ };
613
+ }
614
+ function t_tu(opt, tail) {
615
+ return {
616
+ 'step type': ['tagged union', {
617
+ 'annotation': pd.getLocationInfo(1),
618
+ 'content': {
619
+ 'option': r_imp(opt, 1),
620
+ },
621
+ }],
622
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
623
+ };
624
+ }
625
+ function tempExternalTypeSelection(imp, globalType, tail) {
626
+ return {
627
+ 'global type': {
628
+ 'import': pd.set({
629
+ 'key': imp,
630
+ 'annotation': pd.getLocationInfo(1),
631
+ }),
632
+ 'type': r_imp(globalType, 1),
633
+ },
634
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
635
+ };
636
+ }
637
+ function globalTypeSelection(globalType) {
638
+ return {
639
+ 'import': pd.notSet(),
640
+ 'type': r_imp(globalType, 1),
641
+ };
642
+ }
643
+ function externalGlobalTypeSelection(imp, globalType) {
644
+ return {
645
+ 'import': pd.set({
646
+ 'annotation': pd.getLocationInfo(1),
647
+ 'key': imp,
648
+ }),
649
+ 'type': r_imp(globalType, 1),
650
+ };
651
+ }
652
+ function tempTypeSelection(globalType, tail) {
653
+ return {
654
+ 'global type': {
655
+ 'import': pd.notSet(),
656
+ 'type': r_imp(globalType, 1),
657
+ },
658
+ 'tail': tail === undefined ? pd.notSet() : pd.set(tail)
659
+ };
660
+ }
661
+ // export function tuStep(option: string): g_this.D.Value__Selection.tail.A<pd.SourceLocation> {
662
+ // return ['tagged union', {
663
+ // 'option': {
664
+ // 'annotation': pd.getLocationInfo(1),
665
+ // 'key': option
666
+ // }
667
+ // }]
668
+ // }
669
+ // export function component(type: string, args: RawDictionary<g_this.D.Type._ltype.component.arguments.DX<pd.SourceLocation>>): g_this.D.Type<pd.SourceLocation> {
670
+ // return {
671
+ // 'classes': pd.d({}),
672
+ // 'type': ['component', {
673
+ // 'context': ['local', null],
674
+ // 'type': r_imp(type, 1),
675
+ // 'arguments': pd.d(args),
676
+ // }]
677
+ // }
678
+ // }
679
+ // export function importedComponent(library: string, type: string, args: RawDictionary<g_this.D.Type._ltype.component.arguments.DX<pd.SourceLocation>>): g_this.D.Type<pd.SourceLocation> {
680
+ // return {
681
+ // 'classes': pd.d({}),
682
+ // 'type': ['component', {
683
+ // 'context': ['import', {
684
+ // 'library': r_imp(library, 1)
685
+ // }],
686
+ // 'type': r_imp(type, 1),
687
+ // 'arguments': pd.d(args),
688
+ // }]
689
+ // }
690
+ // }
691
+ function resolvedSiblingComponent(type, args) {
692
+ return {
693
+ 'classes': pd.d({}),
694
+ 'type': ['component', {
695
+ 'context': ['resolved sibling', {
696
+ 'type': r_imp(type, 1),
697
+ }],
698
+ 'arguments': pd.d(args),
699
+ }]
700
+ };
701
+ }
702
+ // export function cyclicSiblingComponent(
703
+ // type: string,
704
+ // args: RawDictionary<g_this.D.Type._ltype.component.arguments.DX<pd.SourceLocation>>
705
+ // ): g_this.D.Type<pd.SourceLocation> {
706
+ // return {
707
+ // 'classes': pd.d({}),
708
+ // 'type': ['component', {
709
+ // 'context': ['cyclic sibling', {
710
+ // 'type': r_imp(type, 1),
711
+ // }],
712
+ // 'arguments': pd.d(args),
713
+ // }]
714
+ // }
715
+ // }
716
+ function importedComponent(library, type, args) {
717
+ return {
718
+ 'classes': pd.d({}),
719
+ 'type': ['component', {
720
+ 'context': ['import', {
721
+ 'library': r_imp(library, 1),
722
+ 'type': r_imp(type, 1),
723
+ }],
724
+ 'arguments': pd.d(args),
725
+ }]
726
+ };
727
+ }
728
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlhbmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL3Nob3J0aGFuZHMvbGlhbmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQ0EsY0FHQztBQUVELGNBRUM7QUFFRCxzQkFRQztBQUVELDRCQVNDO0FBRUQsMEJBU0M7QUFFRCxzQ0FRQztBQUVELHdDQVVDO0FBRUQsc0NBT0M7QUFFRCx3Q0FVQztBQUNELHdEQWFDO0FBRUQsNENBU0M7QUFFRCxrQ0FVQztBQUVELGdDQVVDO0FBRUQsOEJBVUM7QUFFRCxzQ0FVQztBQUVELDBCQWdCQztBQUVELGtDQVVDO0FBZ0JELHdCQVdDO0FBRUQsMEJBT0M7QUFFRCx3QkFXQztBQUdELHdDQVNDO0FBRUQsc0NBS0M7QUFFRCxnQ0FLQztBQUVELGtEQUlDO0FBRUQsZ0NBT0M7QUFFRCwwQkFTQztBQUdELG9CQUVDO0FBRUQsd0RBcUJDO0FBRUQsMENBcUJDO0FBRUQsd0NBUUM7QUFFRCxzREF3QkM7QUFFRCxnQ0FjQztBQUVELDRDQVNDO0FBRUQsZ0NBa0NDO0FBRUQsc0JBeUJDO0FBRUQsd0JBVUM7QUFHRCw0Q0FhQztBQUVELDhDQWdCQztBQUVELGtDQXFCQztBQUNELDhDQXNCQztBQUVELDRCQWFDO0FBK0JELHNCQWFDO0FBRUQsd0JBVUM7QUFFRCxzQkFVQztBQUVELG9CQWFDO0FBRUQsOERBZUM7QUFHRCxrREFPQztBQUVELGtFQVdDO0FBRUQsOENBV0M7QUFtQ0QsNERBY0M7QUFrQkQsOENBZUM7QUE5ekJELHFEQUFzQztBQUN0QyxvREFBcUM7QUFJckMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQWdCZCxTQUFTLEtBQUssQ0FBQyxJQUFZLEVBQUUsS0FBYTtJQUN0QyxPQUFPO1FBQ0gsR0FBRyxFQUFFLElBQUk7UUFDVCxVQUFVLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FB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