pareto 0.80.47 → 0.80.49
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/globals.d.ts +1 -1
- package/dist/implementation/generated/liana/schemas/implementation/resolved/refiners/unresolved.js +2 -2
- package/dist/implementation/generated/liana/schemas/implementation/resolved/transformers/astn_sealed_target.js +2 -2
- package/dist/implementation/generated/liana/schemas/implementation/unresolved/refiners/astn_parse_tree.js +2 -2
- package/dist/implementation/generated/liana/schemas/interface/resolved/refiners/unresolved.js +2 -2
- package/dist/implementation/generated/liana/schemas/interface/resolved/transformers/astn_sealed_target.js +2 -2
- package/dist/implementation/generated/liana/schemas/interface/unresolved/refiners/astn_parse_tree.js +2 -2
- package/dist/implementation/generated/liana/schemas/typescript_light/refiners/astn_parse_tree.js +2 -2
- package/dist/implementation/generated/liana/schemas/typescript_light/transformers/astn_sealed_target.js +2 -2
- package/dist/implementation/generated/liana/schemas/typescript_light/transformers/boilerplate_for_migrate.js +2 -2
- package/dist/implementation/manual/transformers/implementation/serialized_typescript.js +1 -1
- package/dist/implementation/manual/transformers/implementation/typescript.js +231 -255
- package/dist/implementation/manual/transformers/interface/serialized_typescript.js +1 -1
- package/dist/implementation/manual/transformers/interface/typescript.js +172 -174
- package/dist/implementation/manual/transformers/library/typescript.js +2 -2
- package/dist/implementation/manual/transformers/text/filename.js +36 -2
- package/dist/modules/typescript_light/implementation/manual/transformers/text/identifier.js +8 -11
- package/dist/modules/typescript_light/implementation/manual/transformers/typescript_light/fountain_pen.js +54 -56
- package/dist/modules/typescript_light/shorthands/{typescript_light.d.ts → typescript_light/target.d.ts} +22 -22
- package/dist/modules/typescript_light/shorthands/{typescript_light.js → typescript_light/target.js} +4 -4
- package/dist/shorthands/{implementation.d.ts → implementation/target.d.ts} +30 -30
- package/dist/shorthands/implementation/target.js +492 -0
- package/dist/shorthands/{interface.d.ts → interface/target.d.ts} +13 -13
- package/dist/shorthands/interface/target.js +225 -0
- package/package.json +1 -1
- package/dist/shorthands/implementation.js +0 -491
- package/dist/shorthands/interface.js +0 -225
|
@@ -1,491 +0,0 @@
|
|
|
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.sl = exports.sv = exports.call = exports.arguments_ = exports.lookups = exports.a = exports.algorithm = exports.m = exports.type_node_reference = exports.vi = exports.sub = void 0;
|
|
37
|
-
const p_ = __importStar(require("pareto-core-shorthands/dist/unconstrained"));
|
|
38
|
-
const wrap_state = (value) => value;
|
|
39
|
-
var sub;
|
|
40
|
-
(function (sub) {
|
|
41
|
-
sub.dictionary = () => wrap_state(['dictionary', null]);
|
|
42
|
-
sub.list = () => wrap_state(['list', null]);
|
|
43
|
-
sub.state = (name) => wrap_state(['state', name]);
|
|
44
|
-
sub.group = (name) => wrap_state(['group', name]);
|
|
45
|
-
sub.optional = () => wrap_state(['optional', null]);
|
|
46
|
-
})(sub || (exports.sub = sub = {}));
|
|
47
|
-
var vi;
|
|
48
|
-
(function (vi) {
|
|
49
|
-
vi.external = (id, tail) => ({
|
|
50
|
-
'type': wrap_state(['external', id]),
|
|
51
|
-
'tail': p_.list(tail),
|
|
52
|
-
});
|
|
53
|
-
vi.sibling = (id, tail) => ({
|
|
54
|
-
'type': wrap_state(['sibling', id]),
|
|
55
|
-
'tail': p_.list(tail),
|
|
56
|
-
});
|
|
57
|
-
vi.ancestor = (number_of_steps, id, tail) => ({
|
|
58
|
-
'type': wrap_state(['ancestor', {
|
|
59
|
-
'number of steps': number_of_steps,
|
|
60
|
-
'dependency': id,
|
|
61
|
-
}]),
|
|
62
|
-
'tail': p_.list(tail),
|
|
63
|
-
});
|
|
64
|
-
})(vi || (exports.vi = vi = {}));
|
|
65
|
-
const type_node_reference = (imp, type, sub_selection) => ({
|
|
66
|
-
'type': {
|
|
67
|
-
'import': imp,
|
|
68
|
-
'type': type,
|
|
69
|
-
},
|
|
70
|
-
'sub selection': p_.list(sub_selection)
|
|
71
|
-
});
|
|
72
|
-
exports.type_node_reference = type_node_reference;
|
|
73
|
-
var m;
|
|
74
|
-
(function (m) {
|
|
75
|
-
m.set = (entries) => wrap_state(['set', p_.dictionary(entries)]);
|
|
76
|
-
m.package_ = (specials, type_imports, variable_imports, functions) => {
|
|
77
|
-
const temp_specials = {
|
|
78
|
-
'abort': false,
|
|
79
|
-
'change context': false,
|
|
80
|
-
'implement me': false,
|
|
81
|
-
'iterate': false,
|
|
82
|
-
'lookups': false,
|
|
83
|
-
'list from text': false,
|
|
84
|
-
'text from list': false,
|
|
85
|
-
'unreachable code path': false,
|
|
86
|
-
'variables': false,
|
|
87
|
-
};
|
|
88
|
-
p_.list(specials).__l_map_deprecated(($) => {
|
|
89
|
-
switch ($) {
|
|
90
|
-
case 'abort':
|
|
91
|
-
temp_specials['abort'] = true;
|
|
92
|
-
break;
|
|
93
|
-
case 'change context':
|
|
94
|
-
temp_specials['change context'] = true;
|
|
95
|
-
break;
|
|
96
|
-
case 'implement me':
|
|
97
|
-
temp_specials['implement me'] = true;
|
|
98
|
-
break;
|
|
99
|
-
case 'iterate':
|
|
100
|
-
temp_specials['iterate'] = true;
|
|
101
|
-
break;
|
|
102
|
-
case 'list from text':
|
|
103
|
-
temp_specials['list from text'] = true;
|
|
104
|
-
break;
|
|
105
|
-
case 'lookups':
|
|
106
|
-
temp_specials['lookups'] = true;
|
|
107
|
-
break;
|
|
108
|
-
case 'text from list':
|
|
109
|
-
temp_specials['text from list'] = true;
|
|
110
|
-
break;
|
|
111
|
-
case 'unreachable code path':
|
|
112
|
-
temp_specials['unreachable code path'] = true;
|
|
113
|
-
break;
|
|
114
|
-
case 'variables':
|
|
115
|
-
temp_specials['variables'] = true;
|
|
116
|
-
break;
|
|
117
|
-
}
|
|
118
|
-
return null;
|
|
119
|
-
});
|
|
120
|
-
return wrap_state(['package', {
|
|
121
|
-
'specials': temp_specials,
|
|
122
|
-
'type imports': p_.dictionary(type_imports),
|
|
123
|
-
'variable imports': p_.dictionary(variable_imports),
|
|
124
|
-
'functions': p_.dictionary(functions),
|
|
125
|
-
}]);
|
|
126
|
-
};
|
|
127
|
-
})(m || (exports.m = m = {}));
|
|
128
|
-
const algorithm = (imp, type, specials, expression) => {
|
|
129
|
-
let has_abort = false;
|
|
130
|
-
let has_lookups = false;
|
|
131
|
-
let has_parameters = false;
|
|
132
|
-
p_.list(specials).__l_map_deprecated(($) => {
|
|
133
|
-
switch ($) {
|
|
134
|
-
case 'abort':
|
|
135
|
-
has_abort = true;
|
|
136
|
-
break;
|
|
137
|
-
case 'lookups':
|
|
138
|
-
has_lookups = true;
|
|
139
|
-
break;
|
|
140
|
-
case 'parameters':
|
|
141
|
-
has_parameters = true;
|
|
142
|
-
break;
|
|
143
|
-
}
|
|
144
|
-
return null;
|
|
145
|
-
});
|
|
146
|
-
return ({
|
|
147
|
-
'type': {
|
|
148
|
-
'import': imp,
|
|
149
|
-
'type': type,
|
|
150
|
-
},
|
|
151
|
-
'expression': expression,
|
|
152
|
-
'temp has abort': has_abort,
|
|
153
|
-
'temp has lookups': has_lookups,
|
|
154
|
-
'temp has parameters': has_parameters,
|
|
155
|
-
});
|
|
156
|
-
};
|
|
157
|
-
exports.algorithm = algorithm;
|
|
158
|
-
var a;
|
|
159
|
-
(function (a) {
|
|
160
|
-
a.abort = (expression) => wrap_state(['special', wrap_state(['abort', expression])]);
|
|
161
|
-
let boolean;
|
|
162
|
-
(function (boolean) {
|
|
163
|
-
boolean.false_ = () => wrap_state(['construct', wrap_state(['boolean', wrap_state(['literal', wrap_state(['false', null])])])]);
|
|
164
|
-
boolean.true_ = () => wrap_state(['construct', wrap_state(['boolean', wrap_state(['literal', wrap_state(['true', null])])])]);
|
|
165
|
-
boolean.copy = (selection) => wrap_state(['construct', wrap_state(['boolean', wrap_state(['from', {
|
|
166
|
-
'selection': selection,
|
|
167
|
-
'type': wrap_state(['boolean', wrap_state(['copy', null])])
|
|
168
|
-
}])])]);
|
|
169
|
-
})(boolean = a.boolean || (a.boolean = {}));
|
|
170
|
-
a.change_context = (new_context, expression) => wrap_state(['special', wrap_state(['change context', {
|
|
171
|
-
'new context': new_context,
|
|
172
|
-
'expression': expression
|
|
173
|
-
}])]);
|
|
174
|
-
let decide;
|
|
175
|
-
(function (decide) {
|
|
176
|
-
decide.optional = (source, if_set, if_not_set, resulting_type) => wrap_state(['decide', {
|
|
177
|
-
'source': source,
|
|
178
|
-
'type': wrap_state(['optional', {
|
|
179
|
-
'if set': if_set,
|
|
180
|
-
'if not set': if_not_set,
|
|
181
|
-
'temp resulting node': p_.optional.null_or_value(resulting_type),
|
|
182
|
-
}])
|
|
183
|
-
}]);
|
|
184
|
-
decide.state = (source, cases, resulting_type) => wrap_state(['decide', {
|
|
185
|
-
'source': source,
|
|
186
|
-
'type': wrap_state(['state', {
|
|
187
|
-
'temp resulting node': (resulting_type === null || resulting_type === undefined) ? p_.optional.not_set() : p_.optional.set(resulting_type),
|
|
188
|
-
'type': wrap_state(['full', {
|
|
189
|
-
'options': p_.dictionary(cases),
|
|
190
|
-
}])
|
|
191
|
-
}])
|
|
192
|
-
}]);
|
|
193
|
-
decide.state_partial = (source, cases, default_, resulting_type) => wrap_state(['decide', {
|
|
194
|
-
'source': source,
|
|
195
|
-
'type': wrap_state(['state', {
|
|
196
|
-
'temp resulting node': (resulting_type === null || resulting_type === undefined) ? p_.optional.not_set() : p_.optional.set(resulting_type),
|
|
197
|
-
'type': wrap_state(['partial', {
|
|
198
|
-
'options': p_.dictionary(cases),
|
|
199
|
-
'default': default_
|
|
200
|
-
}])
|
|
201
|
-
}])
|
|
202
|
-
}]);
|
|
203
|
-
decide.state_single = (source, option, if_true, if_false, resulting_type) => wrap_state(['decide', {
|
|
204
|
-
'source': source,
|
|
205
|
-
'type': wrap_state(['state', {
|
|
206
|
-
'temp resulting node': (resulting_type === null || resulting_type === undefined) ? p_.optional.not_set() : p_.optional.set(resulting_type),
|
|
207
|
-
'type': wrap_state(['single', {
|
|
208
|
-
'option': option,
|
|
209
|
-
'if true': if_true,
|
|
210
|
-
'if false': if_false,
|
|
211
|
-
}])
|
|
212
|
-
}])
|
|
213
|
-
}]);
|
|
214
|
-
decide.text = (source, cases, default_, resulting_type) => wrap_state(['decide', {
|
|
215
|
-
'source': source,
|
|
216
|
-
'type': wrap_state(['text', {
|
|
217
|
-
'temp resulting node': (resulting_type === null || resulting_type === undefined) ? p_.optional.not_set() : p_.optional.set(resulting_type),
|
|
218
|
-
'cases': p_.dictionary(cases),
|
|
219
|
-
'default': default_
|
|
220
|
-
}])
|
|
221
|
-
}]);
|
|
222
|
-
})(decide = a.decide || (a.decide = {}));
|
|
223
|
-
let dictionary;
|
|
224
|
-
(function (dictionary_1) {
|
|
225
|
-
dictionary_1.literal = (entries) => wrap_state(['construct', wrap_state(['dictionary', wrap_state(['literal', p_.dictionary(entries)])])]);
|
|
226
|
-
let from;
|
|
227
|
-
(function (from) {
|
|
228
|
-
let dictionary;
|
|
229
|
-
(function (dictionary) {
|
|
230
|
-
dictionary.map = (source, entry_handler) => wrap_state(['construct', wrap_state(['dictionary', wrap_state(['from', {
|
|
231
|
-
'selection': source,
|
|
232
|
-
'type': wrap_state(['dictionary', wrap_state(['map', {
|
|
233
|
-
'assign entry': entry_handler
|
|
234
|
-
}])])
|
|
235
|
-
}])])]);
|
|
236
|
-
dictionary.resolve = (source, entry_handler, temp_resulting_entry_node) => wrap_state(['construct', wrap_state(['dictionary', wrap_state(['from', {
|
|
237
|
-
'selection': source,
|
|
238
|
-
'type': wrap_state(['dictionary', wrap_state(['resolve', {
|
|
239
|
-
'assign entry': entry_handler,
|
|
240
|
-
'temp resulting entry node': temp_resulting_entry_node,
|
|
241
|
-
}])])
|
|
242
|
-
}])])]);
|
|
243
|
-
})(dictionary = from.dictionary || (from.dictionary = {}));
|
|
244
|
-
})(from = dictionary_1.from || (dictionary_1.from = {}));
|
|
245
|
-
})(dictionary = a.dictionary || (a.dictionary = {}));
|
|
246
|
-
let group;
|
|
247
|
-
(function (group) {
|
|
248
|
-
group.literal = (properties) => wrap_state(['construct', wrap_state(['group', wrap_state(['literal', {
|
|
249
|
-
'properties': p_.dictionary(properties),
|
|
250
|
-
'have dependencies': false,
|
|
251
|
-
}])])]);
|
|
252
|
-
group.literal_resolve = (properties) => wrap_state(['construct', wrap_state(['group', wrap_state(['literal', {
|
|
253
|
-
'properties': p_.dictionary(properties),
|
|
254
|
-
'have dependencies': true,
|
|
255
|
-
}])])]);
|
|
256
|
-
})(group = a.group || (a.group = {}));
|
|
257
|
-
a.implement_me = (description) => wrap_state(['special', wrap_state(['implement me', description])]);
|
|
258
|
-
let list;
|
|
259
|
-
(function (list_1) {
|
|
260
|
-
list_1.literal = (elements) => wrap_state(['construct', wrap_state(['list', wrap_state(['literal', p_.list(elements)])])]);
|
|
261
|
-
let from;
|
|
262
|
-
(function (from) {
|
|
263
|
-
let list;
|
|
264
|
-
(function (list) {
|
|
265
|
-
list.map = (source, element_handler) => wrap_state(['construct', wrap_state(['list', wrap_state(['from', {
|
|
266
|
-
'selection': source,
|
|
267
|
-
'type': wrap_state(['list', wrap_state(['map', {
|
|
268
|
-
'assign item': element_handler
|
|
269
|
-
}])])
|
|
270
|
-
}])])]);
|
|
271
|
-
list.map_with_state = (source, initial_state, element_handler, update_state, wrap_up) => wrap_state(['construct', wrap_state(['list', wrap_state(['from', {
|
|
272
|
-
'selection': source,
|
|
273
|
-
'type': wrap_state(['list', wrap_state(['map with state', {
|
|
274
|
-
'initialize state': initial_state,
|
|
275
|
-
'assign item': element_handler,
|
|
276
|
-
'update state': update_state,
|
|
277
|
-
'wrap up': wrap_up,
|
|
278
|
-
}])])
|
|
279
|
-
}])])]);
|
|
280
|
-
})(list = from.list || (from.list = {}));
|
|
281
|
-
})(from = list_1.from || (list_1.from = {}));
|
|
282
|
-
})(list = a.list || (a.list = {}));
|
|
283
|
-
a.nothing = () => wrap_state(['construct', wrap_state(['nothing', null])]);
|
|
284
|
-
let number;
|
|
285
|
-
(function (number) {
|
|
286
|
-
number.approximation_literal = (value) => wrap_state(['construct', wrap_state(['number', wrap_state(['approximation', wrap_state(['literal', value])])])]);
|
|
287
|
-
number.approximation_copy = (source) => wrap_state(['construct', wrap_state(['number', wrap_state(['approximation', wrap_state(['copy', source])])])]);
|
|
288
|
-
number.integer_literal = (value) => wrap_state(['construct', wrap_state(['number', wrap_state(['integer', wrap_state(['literal', value])])])]);
|
|
289
|
-
number.integer_copy = (source) => wrap_state(['construct', wrap_state(['number', wrap_state(['integer', wrap_state(['copy', source])])])]);
|
|
290
|
-
number.natural_literal = (value) => wrap_state(['construct', wrap_state(['number', wrap_state(['natural', wrap_state(['literal', value])])])]);
|
|
291
|
-
number.natural_copy = (source) => wrap_state(['construct', wrap_state(['number', wrap_state(['natural', wrap_state(['copy', source])])])]);
|
|
292
|
-
})(number = a.number || (a.number = {}));
|
|
293
|
-
let optional;
|
|
294
|
-
(function (optional) {
|
|
295
|
-
optional.not_set = () => wrap_state(['construct', wrap_state(['optional', wrap_state(['literal', wrap_state(['not set', null])])])]);
|
|
296
|
-
optional.map = (source, expression) => wrap_state(['construct', wrap_state(['optional', wrap_state(['from', {
|
|
297
|
-
'selection': source,
|
|
298
|
-
'type': wrap_state(['optional', wrap_state(['map', {
|
|
299
|
-
'assign set': expression
|
|
300
|
-
}])])
|
|
301
|
-
}])])]);
|
|
302
|
-
optional.set = (value) => wrap_state(['construct', wrap_state(['optional', wrap_state(['literal', wrap_state(['set', value])])])]);
|
|
303
|
-
})(optional = a.optional || (a.optional = {}));
|
|
304
|
-
a.select = (selection) => wrap_state(['select', selection]);
|
|
305
|
-
let state;
|
|
306
|
-
(function (state) {
|
|
307
|
-
state.literal = (option, value) => wrap_state(['construct', wrap_state(['state', wrap_state(['literal', {
|
|
308
|
-
'option': option,
|
|
309
|
-
'assign option': value,
|
|
310
|
-
}])])]);
|
|
311
|
-
})(state = a.state || (a.state = {}));
|
|
312
|
-
let text;
|
|
313
|
-
(function (text) {
|
|
314
|
-
text.literal = (value, type) => wrap_state(['construct', wrap_state(['text', wrap_state(['literal', {
|
|
315
|
-
'type': (() => type === 'identifier' ? wrap_state(['identifier', null]) : wrap_state(['freeform', null]))(),
|
|
316
|
-
'value': value,
|
|
317
|
-
}])])]);
|
|
318
|
-
text.copy = (selection) => wrap_state(['construct', wrap_state(['text', wrap_state(['from', {
|
|
319
|
-
'selection': selection,
|
|
320
|
-
'type': wrap_state(['text', wrap_state(['copy', null])])
|
|
321
|
-
}])])]);
|
|
322
|
-
text.entry_id = () => wrap_state(['construct', wrap_state(['text', wrap_state(['entry id', null])])]);
|
|
323
|
-
text.option_name = () => wrap_state(['construct', wrap_state(['text', wrap_state(['option name', null])])]);
|
|
324
|
-
})(text = a.text || (a.text = {}));
|
|
325
|
-
a.unreachable = (explanation) => wrap_state(['special', wrap_state(['unreachable', {
|
|
326
|
-
'explanation': explanation
|
|
327
|
-
}])]);
|
|
328
|
-
a.variables = (variables, callback) => wrap_state(['special', wrap_state(['variables', {
|
|
329
|
-
'variables': p_.dictionary(variables),
|
|
330
|
-
'assign': callback
|
|
331
|
-
}])]);
|
|
332
|
-
})(a || (exports.a = a = {}));
|
|
333
|
-
var lookups;
|
|
334
|
-
(function (lookups) {
|
|
335
|
-
lookups.pass_through = () => p_.optional.set(wrap_state(['pass through', null]));
|
|
336
|
-
lookups.initialize = (entries) => p_.optional.set(wrap_state(['initialize', p_.dictionary(entries)]));
|
|
337
|
-
lookups.not_set = () => p_.optional.not_set();
|
|
338
|
-
})(lookups || (exports.lookups = lookups = {}));
|
|
339
|
-
var arguments_;
|
|
340
|
-
(function (arguments_) {
|
|
341
|
-
arguments_.pass_through = () => p_.optional.set(wrap_state(['pass through', null]));
|
|
342
|
-
arguments_.initialize = (entries) => p_.optional.set(wrap_state(['initialize', p_.dictionary(entries)]));
|
|
343
|
-
arguments_.not_set = () => p_.optional.not_set();
|
|
344
|
-
})(arguments_ || (exports.arguments_ = arguments_ = {}));
|
|
345
|
-
var call;
|
|
346
|
-
(function (call) {
|
|
347
|
-
call.local = (algorithm) => wrap_state(['local', algorithm]);
|
|
348
|
-
call.external = (imp, variable) => wrap_state(['imported', {
|
|
349
|
-
'import': imp,
|
|
350
|
-
'variable': variable,
|
|
351
|
-
}]);
|
|
352
|
-
})(call || (exports.call = call = {}));
|
|
353
|
-
var sv;
|
|
354
|
-
(function (sv) {
|
|
355
|
-
sv.implement_me = (description) => wrap_state(['implement me', description]);
|
|
356
|
-
sv.call = (source, context, abort, lookups, arguments_, tail) => wrap_state(['regular', {
|
|
357
|
-
'start': wrap_state(['call', {
|
|
358
|
-
'source': source,
|
|
359
|
-
'context': context,
|
|
360
|
-
'abort': abort === null ? p_.optional.not_set() : p_.optional.set(abort),
|
|
361
|
-
'lookups': lookups,
|
|
362
|
-
'arguments': arguments_,
|
|
363
|
-
}]),
|
|
364
|
-
'tail': p_.list(tail),
|
|
365
|
-
}]);
|
|
366
|
-
sv.context = (tail) => wrap_state(['regular', {
|
|
367
|
-
'start': wrap_state(['context', null]),
|
|
368
|
-
'tail': p_.list(tail),
|
|
369
|
-
}]);
|
|
370
|
-
sv.dictionary_entry = (dictionary, id, no_such_entry_handler, tail) => wrap_state(['regular', {
|
|
371
|
-
'start': wrap_state(['dictionary entry', {
|
|
372
|
-
'dictionary': dictionary,
|
|
373
|
-
'id': id,
|
|
374
|
-
'no such entry handler': no_such_entry_handler
|
|
375
|
-
}]),
|
|
376
|
-
'tail': p_.list(tail),
|
|
377
|
-
}]);
|
|
378
|
-
sv.p_list_from_text = (source, character_handler, tail) => wrap_state(['regular', {
|
|
379
|
-
'start': wrap_state(['list from text', {
|
|
380
|
-
'source': source,
|
|
381
|
-
'assign item': character_handler,
|
|
382
|
-
}]),
|
|
383
|
-
'tail': p_.list(tail),
|
|
384
|
-
}]);
|
|
385
|
-
sv.lookup_entry_stack = (lookup, id, no_such_entry_handler, no_context_lookup_handler, cycle_detected_handler) => wrap_state(['regular', {
|
|
386
|
-
'start': wrap_state(['lookup entry', {
|
|
387
|
-
'lookup': lookup,
|
|
388
|
-
'id': id,
|
|
389
|
-
'type': wrap_state(['stack', {
|
|
390
|
-
'abort handlers': {
|
|
391
|
-
'no such entry': no_such_entry_handler,
|
|
392
|
-
'no context lookup': no_context_lookup_handler,
|
|
393
|
-
'cycle detected': cycle_detected_handler,
|
|
394
|
-
}
|
|
395
|
-
}])
|
|
396
|
-
}]),
|
|
397
|
-
'tail': p_.list([]),
|
|
398
|
-
}]);
|
|
399
|
-
sv.lookup_entry_acyclic = (lookup, id, no_such_entry_handler, no_context_lookup_handler, cycle_detected_handler) => wrap_state(['regular', {
|
|
400
|
-
'start': wrap_state(['lookup entry', {
|
|
401
|
-
'lookup': lookup,
|
|
402
|
-
'id': id,
|
|
403
|
-
'type': wrap_state(['acyclic', {
|
|
404
|
-
'abort handlers': {
|
|
405
|
-
'no such entry': no_such_entry_handler,
|
|
406
|
-
'no context lookup': no_context_lookup_handler,
|
|
407
|
-
'cycle detected': cycle_detected_handler,
|
|
408
|
-
}
|
|
409
|
-
}])
|
|
410
|
-
}]),
|
|
411
|
-
'tail': p_.list([]),
|
|
412
|
-
}]);
|
|
413
|
-
sv.lookup_entry_cyclic = (lookup, id, no_such_entry_handler, no_context_lookup_handler, accessing_cyclic_sibling_before_it_is_resolved) => wrap_state(['regular', {
|
|
414
|
-
'start': wrap_state(['lookup entry', {
|
|
415
|
-
'lookup': lookup,
|
|
416
|
-
'id': id,
|
|
417
|
-
'type': wrap_state(['cyclic', {
|
|
418
|
-
'abort handlers': {
|
|
419
|
-
'no such entry': no_such_entry_handler,
|
|
420
|
-
'no context lookup': no_context_lookup_handler,
|
|
421
|
-
'accessing cyclic sibling before it is resolved': accessing_cyclic_sibling_before_it_is_resolved,
|
|
422
|
-
}
|
|
423
|
-
}])
|
|
424
|
-
}]),
|
|
425
|
-
'tail': p_.list([]),
|
|
426
|
-
}]);
|
|
427
|
-
sv.lookup_depth = (lookup, id, no_such_entry_handler, no_context_lookup_handler, cycle_detected_handler) => wrap_state(['regular', {
|
|
428
|
-
'start': wrap_state(['lookup entry depth', {
|
|
429
|
-
'lookup': lookup,
|
|
430
|
-
'id': id,
|
|
431
|
-
'abort handlers': {
|
|
432
|
-
'no such entry': no_such_entry_handler,
|
|
433
|
-
'no context lookup': no_context_lookup_handler,
|
|
434
|
-
'cycle detected': cycle_detected_handler,
|
|
435
|
-
}
|
|
436
|
-
}]),
|
|
437
|
-
'tail': p_.list([]),
|
|
438
|
-
}]);
|
|
439
|
-
sv.parameter = (name, tail) => wrap_state(['regular', {
|
|
440
|
-
'start': wrap_state(['parameter', name]),
|
|
441
|
-
'tail': p_.list(tail),
|
|
442
|
-
}]);
|
|
443
|
-
sv.parent_sibling = (name, tail) => wrap_state(['regular', {
|
|
444
|
-
'start': wrap_state(['parent sibling', name]),
|
|
445
|
-
'tail': p_.list(tail),
|
|
446
|
-
}]);
|
|
447
|
-
sv.sibling = (name, tail) => wrap_state(['regular', {
|
|
448
|
-
'start': wrap_state(['sibling', name]),
|
|
449
|
-
'tail': p_.list(tail),
|
|
450
|
-
}]);
|
|
451
|
-
sv.state = (tail) => wrap_state(['regular', {
|
|
452
|
-
'start': wrap_state(['state', null]),
|
|
453
|
-
'tail': p_.list(tail),
|
|
454
|
-
}]);
|
|
455
|
-
sv.text_from_list = (source, character_handler, tail) => wrap_state(['regular', {
|
|
456
|
-
'start': wrap_state(['text from list', {
|
|
457
|
-
'source': source,
|
|
458
|
-
'assign character': character_handler,
|
|
459
|
-
}]),
|
|
460
|
-
'tail': p_.list(tail),
|
|
461
|
-
}]);
|
|
462
|
-
sv.variable = (name, tail) => wrap_state(['regular', {
|
|
463
|
-
'start': wrap_state(['variable', name]),
|
|
464
|
-
'tail': p_.list(tail),
|
|
465
|
-
}]);
|
|
466
|
-
})(sv || (exports.sv = sv = {}));
|
|
467
|
-
var sl;
|
|
468
|
-
(function (sl) {
|
|
469
|
-
sl.implement_me = (description) => wrap_state(['implement me', description]);
|
|
470
|
-
let stack;
|
|
471
|
-
(function (stack_1) {
|
|
472
|
-
stack_1.empty = () => wrap_state(['stack', wrap_state(['empty', null])]);
|
|
473
|
-
stack_1.push = (stack, acyclic) => wrap_state(['stack', wrap_state(['push', {
|
|
474
|
-
'stack': stack,
|
|
475
|
-
'acyclic': acyclic,
|
|
476
|
-
}])]);
|
|
477
|
-
})(stack = sl.stack || (sl.stack = {}));
|
|
478
|
-
let acyclic;
|
|
479
|
-
(function (acyclic) {
|
|
480
|
-
acyclic.not_set = () => wrap_state(['acyclic', wrap_state(['not set', null])]);
|
|
481
|
-
acyclic.siblings = () => wrap_state(['acyclic', wrap_state(['siblings', null])]);
|
|
482
|
-
acyclic.resolved_dictionary = (dictionary_selection) => wrap_state(['acyclic', wrap_state(['resolved dictionary', dictionary_selection])]);
|
|
483
|
-
})(acyclic = sl.acyclic || (sl.acyclic = {}));
|
|
484
|
-
let cyclic;
|
|
485
|
-
(function (cyclic) {
|
|
486
|
-
cyclic.not_set = () => wrap_state(['cyclic', wrap_state(['not set', null])]);
|
|
487
|
-
cyclic.siblings = () => wrap_state(['cyclic', wrap_state(['siblings', null])]);
|
|
488
|
-
})(cyclic = sl.cyclic || (sl.cyclic = {}));
|
|
489
|
-
sl.from_parameter = (name) => wrap_state(['from parameter', name]);
|
|
490
|
-
})(sl || (exports.sl = sl = {}));
|
|
491
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wbGVtZW50YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hvcnRoYW5kcy9pbXBsZW1lbnRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4RUFBK0Q7QUFRL0QsTUFBTSxVQUFVLEdBQUcsQ0FBSSxLQUFRLEVBQUssRUFBRSxDQUFDLEtBQUssQ0FBQTtBQUc1QyxJQUFpQixHQUFHLENBY25CO0FBZEQsV0FBaUIsR0FBRztJQUNILGNBQVUsR0FBRyxHQUEyRCxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFFM0csUUFBSSxHQUFHLEdBQTJELEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUUvRixTQUFLLEdBQUcsQ0FDakIsSUFBWSxFQUMwQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFFM0UsU0FBSyxHQUFHLENBQ2pCLElBQVksRUFDMEMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBRTNFLFlBQVEsR0FBRyxHQUEyRCxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDeEgsQ0FBQyxFQWRnQixHQUFHLG1CQUFILEdBQUcsUUFjbkI7QUFFRCxJQUFpQixFQUFFLENBNkJsQjtBQTdCRCxXQUFpQixFQUFFO0lBRUYsV0FBUSxHQUFHLENBQ3BCLEVBQVUsRUFDVixJQUFtQyxFQUNBLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJ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
|