exupery 0.3.13 → 0.3.14
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/implementation/generated/pareto/generic/parse/token.js +2 -2
- package/dist/implementation/generated/pareto/generic/resolve.js +1 -1
- package/dist/implementation/manual/primitives/text/serializers/apostrophed_string.js +12 -0
- package/dist/implementation/manual/primitives/text/serializers/backticked_string.js +12 -0
- package/dist/implementation/{serializers/primitives/text → manual/primitives/text/serializers}/filename.js +1 -1
- package/dist/implementation/{serializers/primitives/text → manual/primitives/text/serializers}/identifier.js +3 -3
- package/dist/implementation/{serializers/primitives/text/apostrophed_string.js → manual/primitives/text/serializers/quoted_string.js} +5 -5
- package/dist/implementation/{transformers/schemas/implementation → manual/schemas/implementation/transformers}/typescript_light.d.ts +2 -2
- package/dist/implementation/manual/schemas/implementation/transformers/typescript_light.js +570 -0
- package/dist/implementation/{transformers/schemas/interface → manual/schemas/interface/transformers}/typescript_light.d.ts +3 -3
- package/dist/implementation/manual/schemas/interface/transformers/typescript_light.js +525 -0
- package/dist/implementation/manual/schemas/library/transformers/typescript_light.d.ts +10 -0
- package/dist/implementation/{transformers/schemas/library → manual/schemas/library/transformers}/typescript_light.js +3 -3
- package/dist/implementation/{transformers/schemas/typescript_light → manual/schemas/typescript_light/transformers}/fountain_pen_block.d.ts +1 -1
- package/dist/implementation/manual/schemas/typescript_light/transformers/fountain_pen_block.js +309 -0
- package/dist/shorthands/interface.d.ts +29 -29
- package/dist/shorthands/interface.js +1 -1
- package/package.json +2 -2
- package/dist/implementation/serializers/primitives/text/backticked_string.js +0 -12
- package/dist/implementation/serializers/primitives/text/quoted_string.js +0 -12
- package/dist/implementation/transformers/schemas/implementation/typescript_light.js +0 -570
- package/dist/implementation/transformers/schemas/interface/typescript_light.js +0 -524
- package/dist/implementation/transformers/schemas/library/typescript_light.d.ts +0 -10
- package/dist/implementation/transformers/schemas/typescript_light/fountain_pen_block.js +0 -309
- /package/dist/implementation/{serializers/primitives/text → manual/primitives/text/serializers}/apostrophed_string.d.ts +0 -0
- /package/dist/implementation/{serializers/primitives/text → manual/primitives/text/serializers}/backticked_string.d.ts +0 -0
- /package/dist/implementation/{serializers/primitives/text → manual/primitives/text/serializers}/filename.d.ts +0 -0
- /package/dist/implementation/{serializers/primitives/text → manual/primitives/text/serializers}/identifier.d.ts +0 -0
- /package/dist/implementation/{serializers/primitives/text → manual/primitives/text/serializers}/quoted_string.d.ts +0 -0
|
@@ -0,0 +1,570 @@
|
|
|
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.Literal = exports.Variables = exports.Initialization = exports.Selection = exports.String_Literal = exports.line_dictionary = exports.Module_Set = void 0;
|
|
27
|
+
const _pt = __importStar(require("pareto-core-transformer"));
|
|
28
|
+
const t_inf_2_tl = __importStar(require("../../interface/transformers/typescript_light"));
|
|
29
|
+
const t_tl_2_fp = __importStar(require("../../typescript_light/transformers/fountain_pen_block"));
|
|
30
|
+
const sh = __importStar(require("../../../../../shorthands/typescript_light"));
|
|
31
|
+
const list_of_texts_1 = require("pareto-standard-operations/dist/implementation/temp_serializers/schemas/list_of_texts");
|
|
32
|
+
const apostrophed_string_1 = require("../../../primitives/text/serializers/apostrophed_string");
|
|
33
|
+
const quoted_string_1 = require("../../../primitives/text/serializers/quoted_string");
|
|
34
|
+
const backticked_string_1 = require("../../../primitives/text/serializers/backticked_string");
|
|
35
|
+
const repeated_1 = require("pareto-standard-operations/dist/implementation/manual/primitives/text/serializers/repeated");
|
|
36
|
+
const filename_1 = require("../../../primitives/text/serializers/filename");
|
|
37
|
+
const identifier_1 = require("../../../primitives/text/serializers/identifier");
|
|
38
|
+
const scientific_notation_1 = require("pareto-standard-operations/dist/implementation/manual/primitives/approximate_number/serializers/scientific_notation");
|
|
39
|
+
const decimal_1 = require("pareto-standard-operations/dist/implementation/manual/primitives/integer/serializers/decimal");
|
|
40
|
+
const Module_Set = ($, $p) => {
|
|
41
|
+
return $.map(($, key) => _pt.cc($, ($) => {
|
|
42
|
+
switch ($[0]) {
|
|
43
|
+
case 'module': return _pt.ss($, ($) => {
|
|
44
|
+
const type_imports = $['type imports'];
|
|
45
|
+
const valid_file_name = ($) => {
|
|
46
|
+
return (0, filename_1.$$)($);
|
|
47
|
+
};
|
|
48
|
+
const x = sh.group([
|
|
49
|
+
sh.g.simple_line("import * as _pa from 'pareto-core-transformer'"),
|
|
50
|
+
$p.phase === 'development' ? sh.g.simple_line("import * as _pdev from 'pareto-core-dev'") : sh.g.nothing(),
|
|
51
|
+
sh.g.simple_line(""),
|
|
52
|
+
sh.g.sub($['type imports'].to_list(($, key) => sh.g.sub([
|
|
53
|
+
sh.g.nested_block([
|
|
54
|
+
sh.b.snippet("import * as "),
|
|
55
|
+
sh.b.snippet((0, identifier_1.$$)([" i ", key])),
|
|
56
|
+
sh.b.snippet(" from "),
|
|
57
|
+
(0, exports.String_Literal)(_pt.cc($.type, ($) => {
|
|
58
|
+
switch ($[0]) {
|
|
59
|
+
case 'external': return _pt.ss($, ($) => valid_file_name($));
|
|
60
|
+
case 'ancestor': return _pt.ss($, ($) => `${(0, repeated_1.$$)("../", { 'count': $['number of steps'] })}${valid_file_name($.dependency)}`);
|
|
61
|
+
case 'sibling': return _pt.ss($, ($) => `./${valid_file_name($)}`);
|
|
62
|
+
default: return _pt.au($[0]);
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
+ (0, list_of_texts_1.$$)($.tail.map(($) => `/${valid_file_name($)}`)), {
|
|
66
|
+
'delimiter': "quote"
|
|
67
|
+
}),
|
|
68
|
+
])
|
|
69
|
+
]))),
|
|
70
|
+
sh.g.simple_line(""),
|
|
71
|
+
sh.g.sub($['variable imports'].to_list(($, key) => sh.g.sub([
|
|
72
|
+
sh.g.nested_block([
|
|
73
|
+
sh.b.snippet("import * as "),
|
|
74
|
+
sh.b.snippet((0, identifier_1.$$)([" i var ", key])),
|
|
75
|
+
sh.b.snippet(" from "),
|
|
76
|
+
(0, exports.String_Literal)(_pt.cc($.type, ($) => {
|
|
77
|
+
switch ($[0]) {
|
|
78
|
+
case 'external': return _pt.ss($, ($) => valid_file_name($));
|
|
79
|
+
case 'ancestor': return _pt.ss($, ($) => `${(0, repeated_1.$$)("../", { 'count': $['number of steps'] })}${valid_file_name($.dependency)}`);
|
|
80
|
+
case 'sibling': return _pt.ss($, ($) => `./${valid_file_name($)}`);
|
|
81
|
+
default: return _pt.au($[0]);
|
|
82
|
+
}
|
|
83
|
+
})
|
|
84
|
+
+ (0, list_of_texts_1.$$)($.tail.map(($) => `/${valid_file_name($)}`)), {
|
|
85
|
+
'delimiter': "quote"
|
|
86
|
+
}),
|
|
87
|
+
])
|
|
88
|
+
]))),
|
|
89
|
+
sh.g.simple_line(""),
|
|
90
|
+
(0, exports.Variables)($.variables, {
|
|
91
|
+
'type imports': type_imports,
|
|
92
|
+
'export': true,
|
|
93
|
+
}),
|
|
94
|
+
]);
|
|
95
|
+
return ['file', x];
|
|
96
|
+
});
|
|
97
|
+
case 'set': return _pt.ss($, ($) => ['directory', (0, exports.Module_Set)($, $p)]);
|
|
98
|
+
default: return _pt.au($[0]);
|
|
99
|
+
}
|
|
100
|
+
}));
|
|
101
|
+
};
|
|
102
|
+
exports.Module_Set = Module_Set;
|
|
103
|
+
const line_dictionary = ($, if_empty, prefix, suffix, add_commas) => {
|
|
104
|
+
let is_empty = true;
|
|
105
|
+
$.map(($) => {
|
|
106
|
+
is_empty = false;
|
|
107
|
+
});
|
|
108
|
+
if (is_empty) {
|
|
109
|
+
return if_empty;
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
let is_first = true;
|
|
113
|
+
const x = sh.b.sub([
|
|
114
|
+
prefix,
|
|
115
|
+
sh.b.sub($.to_list(($) => {
|
|
116
|
+
const out = sh.b.sub([
|
|
117
|
+
is_first ?
|
|
118
|
+
sh.b.nothing()
|
|
119
|
+
: add_commas
|
|
120
|
+
? sh.b.snippet(", ")
|
|
121
|
+
: sh.b.nothing(),
|
|
122
|
+
$,
|
|
123
|
+
]);
|
|
124
|
+
is_first = false;
|
|
125
|
+
return out;
|
|
126
|
+
})),
|
|
127
|
+
suffix,
|
|
128
|
+
]);
|
|
129
|
+
return x;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
exports.line_dictionary = line_dictionary;
|
|
133
|
+
const String_Literal = ($, $p) => {
|
|
134
|
+
return sh.b.snippet($p.delimiter === "quote" ? (0, quoted_string_1.$$)($) : (0, apostrophed_string_1.$$)($));
|
|
135
|
+
};
|
|
136
|
+
exports.String_Literal = String_Literal;
|
|
137
|
+
const Selection = ($, $p) => {
|
|
138
|
+
return sh.b.sub([
|
|
139
|
+
_pt.cc($.start, ($) => {
|
|
140
|
+
switch ($[0]) {
|
|
141
|
+
case 'abort': return _pt.ss($, ($) => sh.b.snippet("_pa.panic('ABORT SELECTION')"));
|
|
142
|
+
case 'transform optional value': return _pt.ss($, ($) => sh.b.sub([
|
|
143
|
+
(0, exports.Selection)($.source, $p),
|
|
144
|
+
sh.b.snippet(".transform("),
|
|
145
|
+
sh.b.indent([
|
|
146
|
+
sh.g.nested_block([
|
|
147
|
+
sh.b.snippet("($) => "),
|
|
148
|
+
(0, exports.Selection)($['if set'], $p),
|
|
149
|
+
sh.b.snippet(","),
|
|
150
|
+
]),
|
|
151
|
+
sh.g.nested_block([
|
|
152
|
+
sh.b.snippet("() => "),
|
|
153
|
+
(0, exports.Selection)($['if not set'], $p),
|
|
154
|
+
]),
|
|
155
|
+
]),
|
|
156
|
+
sh.b.snippet(")"),
|
|
157
|
+
]));
|
|
158
|
+
case 'call': return _pt.ss($, ($) => sh.b.sub([
|
|
159
|
+
(0, exports.Selection)($.source, $p),
|
|
160
|
+
sh.b.snippet("("),
|
|
161
|
+
sh.b.indent([
|
|
162
|
+
sh.g.nested_block([
|
|
163
|
+
(0, exports.Selection)($.context, $p), $.arguments.transform(($) => sh.b.snippet(","), () => sh.b.nothing()),
|
|
164
|
+
]),
|
|
165
|
+
$.arguments.transform(($) => sh.g.nested_block([
|
|
166
|
+
$.is_empty()
|
|
167
|
+
? sh.b.snippet("null")
|
|
168
|
+
: sh.b.sub([
|
|
169
|
+
sh.b.snippet("{"),
|
|
170
|
+
sh.b.indent([
|
|
171
|
+
sh.g.sub($.to_list(($, key) => sh.g.sub([
|
|
172
|
+
sh.g.nested_block([
|
|
173
|
+
(0, exports.String_Literal)(key, { 'delimiter': "apostrophe" }),
|
|
174
|
+
sh.b.snippet(": "),
|
|
175
|
+
(0, exports.Initialization)($, $p),
|
|
176
|
+
sh.b.snippet(","),
|
|
177
|
+
]),
|
|
178
|
+
]))),
|
|
179
|
+
]),
|
|
180
|
+
sh.b.snippet("}")
|
|
181
|
+
]),
|
|
182
|
+
]), () => sh.g.nothing()),
|
|
183
|
+
]),
|
|
184
|
+
sh.b.snippet(")"),
|
|
185
|
+
]));
|
|
186
|
+
case 'implement me': return _pt.ss($, ($) => sh.b.snippet("_pdev.implement_me(\"marker tbd\")"));
|
|
187
|
+
case 'argument': return _pt.ss($, ($) => sh.b.snippet((0, identifier_1.$$)(["FOOO FIX ARGUMENT"])));
|
|
188
|
+
case 'context': return _pt.ss($, ($) => sh.b.snippet("$"));
|
|
189
|
+
case 'variable': return _pt.ss($, ($) => sh.b.snippet((0, identifier_1.$$)([$])));
|
|
190
|
+
case 'parameter': return _pt.ss($, ($) => sh.b.sub([
|
|
191
|
+
sh.b.snippet("$p["),
|
|
192
|
+
(0, exports.String_Literal)($, { 'delimiter': "apostrophe" }),
|
|
193
|
+
sh.b.snippet("]"),
|
|
194
|
+
]));
|
|
195
|
+
case 'imported variable': return _pt.ss($, ($) => sh.b.sub([
|
|
196
|
+
sh.b.snippet((0, identifier_1.$$)([$.import])),
|
|
197
|
+
sh.b.snippet("."),
|
|
198
|
+
sh.b.snippet((0, identifier_1.$$)([$.variable])),
|
|
199
|
+
]));
|
|
200
|
+
default: return _pt.au($[0]);
|
|
201
|
+
}
|
|
202
|
+
}),
|
|
203
|
+
sh.b.sub($.tail.map(($) => sh.b.sub([
|
|
204
|
+
sh.b.snippet("["),
|
|
205
|
+
(0, exports.String_Literal)($, { 'delimiter': "apostrophe" }),
|
|
206
|
+
sh.b.snippet("]"),
|
|
207
|
+
]))),
|
|
208
|
+
]);
|
|
209
|
+
};
|
|
210
|
+
exports.Selection = Selection;
|
|
211
|
+
const Initialization = ($, $p) => {
|
|
212
|
+
return _pt.cc($, ($) => {
|
|
213
|
+
switch ($[0]) {
|
|
214
|
+
case 'block': return _pt.ss($, ($) => sh.b.sub([
|
|
215
|
+
sh.b.snippet("_pa.block("),
|
|
216
|
+
sh.b.snippet("() => {"),
|
|
217
|
+
sh.b.indent([
|
|
218
|
+
//temp variables
|
|
219
|
+
sh.g.sub($['temp ordered variables'].map(($) => sh.g.nested_block([
|
|
220
|
+
sh.b.snippet("const "),
|
|
221
|
+
sh.b.snippet((0, identifier_1.$$)([$.name])),
|
|
222
|
+
$.type.transform(($) => sh.b.sub([
|
|
223
|
+
sh.b.snippet(": "),
|
|
224
|
+
t_tl_2_fp.Type(t_inf_2_tl.Type_to_Type($, {
|
|
225
|
+
'module parameters': _pt.not_set(),
|
|
226
|
+
'temp imports': _pt.set($p['temp imports']),
|
|
227
|
+
}), {
|
|
228
|
+
'replace empty type literals by null': true
|
|
229
|
+
}),
|
|
230
|
+
]), () => sh.b.nothing()),
|
|
231
|
+
sh.b.snippet(" = "),
|
|
232
|
+
(0, exports.Initialization)($.initialization, {
|
|
233
|
+
'temp imports': $p['temp imports']
|
|
234
|
+
})
|
|
235
|
+
]))),
|
|
236
|
+
(0, exports.Variables)($.variables, {
|
|
237
|
+
'type imports': $p['temp imports'],
|
|
238
|
+
'export': false,
|
|
239
|
+
}),
|
|
240
|
+
sh.g.nested_block([
|
|
241
|
+
sh.b.snippet("return "),
|
|
242
|
+
(0, exports.Initialization)($.initialization, $p),
|
|
243
|
+
])
|
|
244
|
+
]),
|
|
245
|
+
sh.b.snippet("})"),
|
|
246
|
+
]));
|
|
247
|
+
case 'change context': return _pt.ss($, ($) => sh.b.sub([
|
|
248
|
+
sh.b.snippet("_pa.cc("),
|
|
249
|
+
(0, exports.Selection)($['new context'], $p),
|
|
250
|
+
sh.b.snippet(", ($) => "),
|
|
251
|
+
(0, exports.Initialization)($.initialization, $p),
|
|
252
|
+
sh.b.snippet(")"),
|
|
253
|
+
]));
|
|
254
|
+
case 'literal': return _pt.ss($, ($) => (0, exports.Literal)($.value, $p));
|
|
255
|
+
case 'selection': return _pt.ss($, ($) => (0, exports.Selection)($, $p));
|
|
256
|
+
case 'transformation': return _pt.ss($, ($) => {
|
|
257
|
+
const p_source = $.source;
|
|
258
|
+
return sh.b.sub([
|
|
259
|
+
_pt.cc($.type, ($) => {
|
|
260
|
+
switch ($[0]) {
|
|
261
|
+
case 'array': return _pt.ss($, ($) => _pt.cc($, ($) => {
|
|
262
|
+
switch ($[0]) {
|
|
263
|
+
case 'map': return _pt.ss($, ($) => sh.b.sub([
|
|
264
|
+
(0, exports.Selection)(p_source, $p),
|
|
265
|
+
sh.b.snippet(".map(($) => "),
|
|
266
|
+
(0, exports.Initialization)($, $p),
|
|
267
|
+
sh.b.snippet(")"),
|
|
268
|
+
]));
|
|
269
|
+
default: return _pt.au($[0]);
|
|
270
|
+
}
|
|
271
|
+
}));
|
|
272
|
+
case 'boolean': return _pt.ss($, ($) => _pt.cc($, ($) => {
|
|
273
|
+
switch ($[0]) {
|
|
274
|
+
case 'not': return _pt.ss($, ($) => sh.b.sub([sh.b.snippet("FIXME BOOLEAN NOT")]));
|
|
275
|
+
case 'transform': return _pt.ss($, ($) => sh.b.sub([
|
|
276
|
+
(0, exports.Selection)(p_source, $p),
|
|
277
|
+
sh.b.indent([
|
|
278
|
+
sh.g.nested_block([
|
|
279
|
+
sh.b.snippet("? "),
|
|
280
|
+
(0, exports.Initialization)($['if true'], $p),
|
|
281
|
+
]),
|
|
282
|
+
sh.g.nested_block([
|
|
283
|
+
sh.b.snippet(": "),
|
|
284
|
+
(0, exports.Initialization)($['if false'], $p),
|
|
285
|
+
]),
|
|
286
|
+
])
|
|
287
|
+
]));
|
|
288
|
+
default: return _pt.au($[0]);
|
|
289
|
+
}
|
|
290
|
+
}));
|
|
291
|
+
case 'dictionary': return _pt.ss($, ($) => _pt.cc($, ($) => {
|
|
292
|
+
switch ($[0]) {
|
|
293
|
+
case 'map': return _pt.ss($, ($) => sh.b.sub([
|
|
294
|
+
(0, exports.Selection)(p_source, $p),
|
|
295
|
+
sh.b.snippet(".map(($) => "),
|
|
296
|
+
(0, exports.Initialization)($, $p),
|
|
297
|
+
sh.b.snippet(")"),
|
|
298
|
+
]));
|
|
299
|
+
default: return _pt.au($[0]);
|
|
300
|
+
}
|
|
301
|
+
}));
|
|
302
|
+
case 'function': return _pt.ss($, ($) => _pt.cc($, ($) => {
|
|
303
|
+
switch ($[0]) {
|
|
304
|
+
case 'call': return _pt.ss($, ($) => sh.b.sub([
|
|
305
|
+
(0, exports.Selection)(p_source, $p),
|
|
306
|
+
sh.b.snippet("("),
|
|
307
|
+
sh.b.indent([
|
|
308
|
+
sh.g.nested_block([
|
|
309
|
+
(0, exports.Initialization)($.context, $p), $.arguments.transform(($) => sh.b.snippet(","), () => sh.b.nothing()),
|
|
310
|
+
]),
|
|
311
|
+
$.arguments.transform(($) => sh.g.nested_block([
|
|
312
|
+
$.is_empty()
|
|
313
|
+
? sh.b.snippet("null")
|
|
314
|
+
: sh.b.sub([
|
|
315
|
+
sh.b.snippet("{"),
|
|
316
|
+
sh.b.indent([
|
|
317
|
+
sh.g.sub($.to_list(($, key) => sh.g.sub([
|
|
318
|
+
sh.g.nested_block([
|
|
319
|
+
(0, exports.String_Literal)(key, { 'delimiter': "apostrophe" }),
|
|
320
|
+
sh.b.snippet(": "),
|
|
321
|
+
(0, exports.Initialization)($, $p),
|
|
322
|
+
sh.b.snippet(","),
|
|
323
|
+
]),
|
|
324
|
+
]))),
|
|
325
|
+
]),
|
|
326
|
+
sh.b.snippet("}")
|
|
327
|
+
]),
|
|
328
|
+
]), () => sh.g.nothing()),
|
|
329
|
+
]),
|
|
330
|
+
sh.b.snippet(")"),
|
|
331
|
+
]));
|
|
332
|
+
default: return _pt.au($[0]);
|
|
333
|
+
}
|
|
334
|
+
}));
|
|
335
|
+
case 'optional': return _pt.ss($, ($) => _pt.cc($, ($) => {
|
|
336
|
+
switch ($[0]) {
|
|
337
|
+
case 'map': return _pt.ss($, ($) => sh.b.sub([
|
|
338
|
+
(0, exports.Selection)(p_source, $p),
|
|
339
|
+
sh.b.snippet(".map(($) => "),
|
|
340
|
+
(0, exports.Initialization)($, $p),
|
|
341
|
+
sh.b.snippet(")"),
|
|
342
|
+
]));
|
|
343
|
+
case 'transform': return _pt.ss($, ($) => sh.b.sub([
|
|
344
|
+
(0, exports.Selection)(p_source, $p),
|
|
345
|
+
sh.b.snippet(".transform("),
|
|
346
|
+
sh.b.indent([
|
|
347
|
+
sh.g.nested_block([
|
|
348
|
+
sh.b.snippet("($)"),
|
|
349
|
+
$['temp resulting node'].transform(($) => sh.b.sub([
|
|
350
|
+
sh.b.snippet(": "),
|
|
351
|
+
t_tl_2_fp.Type(t_inf_2_tl.Type_to_Type($, {
|
|
352
|
+
'module parameters': _pt.not_set(),
|
|
353
|
+
'temp imports': _pt.set($p['temp imports']),
|
|
354
|
+
}), {
|
|
355
|
+
'replace empty type literals by null': true
|
|
356
|
+
}),
|
|
357
|
+
]), () => sh.b.nothing()),
|
|
358
|
+
sh.b.snippet(" => "),
|
|
359
|
+
(0, exports.Initialization)($['if set'], $p),
|
|
360
|
+
sh.b.snippet(","),
|
|
361
|
+
]),
|
|
362
|
+
sh.g.nested_block([
|
|
363
|
+
sh.b.snippet("() => "),
|
|
364
|
+
(0, exports.Initialization)($['if not set'], $p),
|
|
365
|
+
]),
|
|
366
|
+
]),
|
|
367
|
+
sh.b.snippet(")"),
|
|
368
|
+
]));
|
|
369
|
+
default: return _pt.au($[0]);
|
|
370
|
+
}
|
|
371
|
+
}));
|
|
372
|
+
case 'tagged union': return _pt.ss($, ($) => _pt.cc($, ($) => {
|
|
373
|
+
switch ($[0]) {
|
|
374
|
+
case 'switch': return _pt.ss($, ($) => sh.b.sub([
|
|
375
|
+
sh.b.snippet("_pa.cc("),
|
|
376
|
+
(0, exports.Selection)(p_source, $p),
|
|
377
|
+
sh.b.snippet(", ($)"),
|
|
378
|
+
$['temp resulting node'].transform(($) => sh.b.sub([
|
|
379
|
+
sh.b.snippet(": "),
|
|
380
|
+
t_tl_2_fp.Type(t_inf_2_tl.Type_to_Type($, {
|
|
381
|
+
'module parameters': _pt.not_set(),
|
|
382
|
+
'temp imports': _pt.set($p['temp imports']),
|
|
383
|
+
}), {
|
|
384
|
+
'replace empty type literals by null': true
|
|
385
|
+
}),
|
|
386
|
+
]), () => sh.b.nothing()),
|
|
387
|
+
sh.b.snippet(" => {"),
|
|
388
|
+
sh.b.indent([
|
|
389
|
+
sh.g.nested_block([
|
|
390
|
+
_pt.cc($.type, ($) => {
|
|
391
|
+
switch ($[0]) {
|
|
392
|
+
case 'full': return _pt.ss($, ($) => sh.b.sub([
|
|
393
|
+
sh.b.snippet("switch ($[0]) {"),
|
|
394
|
+
sh.b.indent([
|
|
395
|
+
sh.g.sub($.cases.to_list(($, key) => sh.g.sub([
|
|
396
|
+
sh.g.nested_block([
|
|
397
|
+
sh.b.snippet("case "),
|
|
398
|
+
(0, exports.String_Literal)(key, { 'delimiter': "apostrophe" }),
|
|
399
|
+
sh.b.snippet(": return _pa.ss($, ($) => "),
|
|
400
|
+
(0, exports.Initialization)($, $p),
|
|
401
|
+
sh.b.snippet(")"),
|
|
402
|
+
])
|
|
403
|
+
]))),
|
|
404
|
+
sh.g.simple_line("default: return _pa.au($[0])")
|
|
405
|
+
]),
|
|
406
|
+
sh.b.snippet("}"),
|
|
407
|
+
]));
|
|
408
|
+
case 'partial': return _pt.ss($, ($) => sh.b.sub([
|
|
409
|
+
sh.b.snippet("switch ($[0]) {"),
|
|
410
|
+
sh.b.indent([
|
|
411
|
+
sh.g.sub($.cases.to_list(($, key) => sh.g.sub([
|
|
412
|
+
sh.g.nested_block([
|
|
413
|
+
sh.b.snippet("case "),
|
|
414
|
+
(0, exports.String_Literal)(key, { 'delimiter': "apostrophe" }),
|
|
415
|
+
sh.b.snippet(": return _pa.ss($, ($) => "),
|
|
416
|
+
(0, exports.Initialization)($, $p),
|
|
417
|
+
sh.b.snippet(")"),
|
|
418
|
+
])
|
|
419
|
+
]))),
|
|
420
|
+
sh.g.nested_block([
|
|
421
|
+
sh.b.snippet("default: return "),
|
|
422
|
+
//Expression($.default, $p),
|
|
423
|
+
])
|
|
424
|
+
]),
|
|
425
|
+
sh.b.snippet("}"),
|
|
426
|
+
]));
|
|
427
|
+
default: return _pt.au($[0]);
|
|
428
|
+
}
|
|
429
|
+
}),
|
|
430
|
+
]),
|
|
431
|
+
]),
|
|
432
|
+
sh.b.snippet("})"),
|
|
433
|
+
]));
|
|
434
|
+
default: return _pt.au($[0]);
|
|
435
|
+
}
|
|
436
|
+
}));
|
|
437
|
+
default: return _pt.au($[0]);
|
|
438
|
+
}
|
|
439
|
+
})
|
|
440
|
+
]);
|
|
441
|
+
});
|
|
442
|
+
default: return _pt.au($[0]);
|
|
443
|
+
}
|
|
444
|
+
});
|
|
445
|
+
};
|
|
446
|
+
exports.Initialization = Initialization;
|
|
447
|
+
const Variables = ($, $p) => {
|
|
448
|
+
return sh.g.sub($.to_list(($, key) => sh.g.sub([
|
|
449
|
+
sh.g.nested_block([
|
|
450
|
+
$p.export ? sh.b.snippet("export ") : sh.b.nothing(),
|
|
451
|
+
sh.b.snippet("const "),
|
|
452
|
+
sh.b.snippet((0, identifier_1.$$)([key])),
|
|
453
|
+
$.type.transform(($) => sh.b.sub([
|
|
454
|
+
sh.b.snippet(": "),
|
|
455
|
+
t_tl_2_fp.Type(t_inf_2_tl.Type_to_Type($, {
|
|
456
|
+
'module parameters': _pt.not_set(),
|
|
457
|
+
'temp imports': _pt.set($p['type imports']),
|
|
458
|
+
}), {
|
|
459
|
+
'replace empty type literals by null': true
|
|
460
|
+
}),
|
|
461
|
+
]), () => sh.b.nothing()),
|
|
462
|
+
sh.b.snippet(" = "),
|
|
463
|
+
(0, exports.Initialization)($.initialization, {
|
|
464
|
+
'temp imports': $p['type imports']
|
|
465
|
+
})
|
|
466
|
+
])
|
|
467
|
+
])));
|
|
468
|
+
};
|
|
469
|
+
exports.Variables = Variables;
|
|
470
|
+
const Literal = ($, $p) => {
|
|
471
|
+
return sh.b.sub([
|
|
472
|
+
_pt.cc($, ($) => {
|
|
473
|
+
switch ($[0]) {
|
|
474
|
+
case 'boolean': return _pt.ss($, ($) => _pt.cc($, ($) => {
|
|
475
|
+
switch ($[0]) {
|
|
476
|
+
case 'true': return sh.b.snippet("true");
|
|
477
|
+
case 'false': return sh.b.snippet("false");
|
|
478
|
+
default: return _pt.au($[0]);
|
|
479
|
+
}
|
|
480
|
+
}));
|
|
481
|
+
case 'dictionary': return _pt.ss($, ($) => sh.b.sub([
|
|
482
|
+
sh.b.snippet("_pa.dictionary_literal({"),
|
|
483
|
+
sh.b.indent([
|
|
484
|
+
sh.g.sub($.to_list(($, key) => sh.g.nested_block([
|
|
485
|
+
(0, exports.String_Literal)(key, { 'delimiter': "apostrophe" }),
|
|
486
|
+
sh.b.snippet(": "),
|
|
487
|
+
(0, exports.Initialization)($, $p),
|
|
488
|
+
sh.b.snippet(","),
|
|
489
|
+
]))),
|
|
490
|
+
]),
|
|
491
|
+
sh.b.snippet("})"),
|
|
492
|
+
]));
|
|
493
|
+
case 'function': return _pt.ss($, ($) => sh.b.sub([
|
|
494
|
+
sh.b.snippet("($"),
|
|
495
|
+
$['temp has parameters'] ? sh.b.snippet(", $p") : sh.b.nothing(),
|
|
496
|
+
sh.b.snippet(")"),
|
|
497
|
+
$['temp resulting node'].transform(($) => sh.b.sub([
|
|
498
|
+
sh.b.snippet(": "),
|
|
499
|
+
t_tl_2_fp.Type(t_inf_2_tl.Type_to_Type($, {
|
|
500
|
+
'module parameters': _pt.not_set(),
|
|
501
|
+
'temp imports': _pt.set($p['temp imports']),
|
|
502
|
+
}), {
|
|
503
|
+
'replace empty type literals by null': true
|
|
504
|
+
}),
|
|
505
|
+
]), () => sh.b.nothing()),
|
|
506
|
+
sh.b.snippet(" => "),
|
|
507
|
+
(0, exports.Initialization)($.initialization, $p),
|
|
508
|
+
]));
|
|
509
|
+
case 'group': return _pt.ss($, ($) => (0, exports.line_dictionary)($.map(($, key) => sh.b.indent([
|
|
510
|
+
sh.g.nested_block([
|
|
511
|
+
(0, exports.String_Literal)(key, { 'delimiter': "apostrophe" }),
|
|
512
|
+
sh.b.snippet(": "),
|
|
513
|
+
(0, exports.Initialization)($, $p),
|
|
514
|
+
sh.b.snippet(","),
|
|
515
|
+
])
|
|
516
|
+
])), sh.b.snippet("null"), sh.b.snippet("({"), sh.b.snippet("})"), false));
|
|
517
|
+
case 'array': return _pt.ss($, ($) => sh.b.sub([
|
|
518
|
+
sh.b.snippet("_pa.list_literal(["),
|
|
519
|
+
sh.b.indent([
|
|
520
|
+
sh.g.sub($.map(($) => sh.g.nested_block([
|
|
521
|
+
(0, exports.Initialization)($, $p),
|
|
522
|
+
sh.b.snippet(","),
|
|
523
|
+
]))),
|
|
524
|
+
]),
|
|
525
|
+
sh.b.snippet("])"),
|
|
526
|
+
]));
|
|
527
|
+
case 'null': return _pt.ss($, ($) => sh.b.snippet("null"));
|
|
528
|
+
case 'number': return _pt.ss($, ($) => _pt.cc($, ($) => {
|
|
529
|
+
switch ($[0]) {
|
|
530
|
+
case 'floting point': return _pt.ss($, ($) => sh.b.snippet((0, scientific_notation_1.$$)($, { 'digits': 10 })));
|
|
531
|
+
case 'integer': return _pt.ss($, ($) => sh.b.snippet((0, decimal_1.$$)($)));
|
|
532
|
+
case 'signed integer': return _pt.ss($, ($) => sh.b.snippet((0, decimal_1.$$)($)));
|
|
533
|
+
default: return _pt.au($[0]);
|
|
534
|
+
}
|
|
535
|
+
}));
|
|
536
|
+
case 'optional': return _pt.ss($, ($) => _pt.cc($, ($) => {
|
|
537
|
+
switch ($[0]) {
|
|
538
|
+
case 'not set': return sh.b.snippet("_pa.not_set()");
|
|
539
|
+
case 'set': return _pt.ss($, ($) => sh.b.sub([
|
|
540
|
+
sh.b.snippet("_pa.set("),
|
|
541
|
+
(0, exports.Initialization)($, $p),
|
|
542
|
+
sh.b.snippet(")"),
|
|
543
|
+
]));
|
|
544
|
+
default: return _pt.au($[0]);
|
|
545
|
+
}
|
|
546
|
+
}));
|
|
547
|
+
case 'tagged union': return _pt.ss($, ($) => sh.b.sub([
|
|
548
|
+
sh.b.snippet("["),
|
|
549
|
+
(0, exports.String_Literal)($.case, { 'delimiter': "apostrophe" }),
|
|
550
|
+
sh.b.snippet(", "),
|
|
551
|
+
(0, exports.Initialization)($.value, $p),
|
|
552
|
+
sh.b.snippet("]"),
|
|
553
|
+
]));
|
|
554
|
+
case 'string': return _pt.ss($, ($) => {
|
|
555
|
+
const value = $.value;
|
|
556
|
+
return _pt.cc($.delimiter, ($) => {
|
|
557
|
+
switch ($[0]) {
|
|
558
|
+
case 'quote': return _pt.ss($, ($) => (0, exports.String_Literal)(value, { 'delimiter': "quote" }));
|
|
559
|
+
case 'backtick': return _pt.ss($, ($) => sh.b.snippet((0, backticked_string_1.$$)(value)));
|
|
560
|
+
default: return _pt.au($[0]);
|
|
561
|
+
}
|
|
562
|
+
});
|
|
563
|
+
});
|
|
564
|
+
default: return _pt.au($[0]);
|
|
565
|
+
}
|
|
566
|
+
})
|
|
567
|
+
]);
|
|
568
|
+
};
|
|
569
|
+
exports.Literal = Literal;
|
|
570
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdF9saWdodC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9tYW51YWwvc2NoZW1hcy9pbXBsZW1lbnRhdGlvbi90cmFuc2Zvcm1lcnMvdHlwZXNjcmlwdF9saWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZEQUE4QztBQVE5QywwRkFBMkU7QUFDM0Usa0dBQW1GO0FBR25GLCtFQUFnRTtBQUVoRSx5SEFBNkg7QUFDN0gsZ0dBQTZGO0FBQzdGLHNGQUFtRjtBQUNuRiw4RkFBMkY7QUFFM0YseUhBQTZIO0FBQzdILDRFQUFpRjtBQUNqRixnRkFBb0Y7QUFDcEYsNkpBQWlLO0FBQ2pLLDBIQUE4SDtBQUV2SCxNQUFNLFVBQVUsR0FBRyxDQUN0QixDQUFrQixFQUNsQixFQUVDLEVBQ2MsRUFBRTtJQUNqQixPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ3JDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDWCxLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQXFCLEVBQUU7Z0JBQ3JELE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQTtnQkFDdEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFTLEVBQVUsRUFBRTtvQkFDMUMsT0FBTyxJQUFBLGFBQVcsRUFBQyxDQUFDLENBQUMsQ0FBQTtnQkFDekIsQ0FBQyxDQUFBO2dCQUNELE1BQU0sQ0FBQyxHQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDO29CQUM1QixFQUFFLENBQUMsQ0FBQyxDQUFDLFdB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
|