exupery 0.1.7 → 0.1.9
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/implementation/generic/resolve.d.ts +81 -0
- package/dist/generated/implementation/generic/resolve.js +251 -0
- package/dist/generated/implementation/schemas/implementation/resolve.d.ts +1 -1
- package/dist/generated/implementation/schemas/implementation/resolve.js +12 -2
- package/dist/generated/implementation/schemas/implementation/serializer.d.ts +8 -0
- package/dist/generated/implementation/schemas/implementation/serializer.js +484 -0
- package/dist/generated/implementation/schemas/interface/resolve.d.ts +1 -1
- package/dist/generated/implementation/schemas/interface/resolve.js +2 -2
- package/dist/generated/implementation/schemas/interface/serializer.d.ts +8 -0
- package/dist/generated/implementation/schemas/interface/serializer.js +287 -0
- package/dist/generated/implementation/schemas/typescript_light/serializer.d.ts +11 -0
- package/dist/generated/implementation/schemas/typescript_light/serializer.js +409 -0
- package/dist/generated/interface/core/astn_target.d.ts +186 -0
- package/dist/generated/interface/core/astn_target.js +3 -0
- package/dist/generated/interface/core/resolve.d.ts +11 -0
- package/dist/generated/interface/core/resolve.js +3 -0
- package/dist/generated/interface/generic/resolve.d.ts +11 -0
- package/dist/generated/interface/generic/resolve.js +3 -0
- package/dist/generated/interface/schemas/implementation/resolve.d.ts +22 -22
- package/dist/generated/interface/schemas/implementation/resolved.d.ts +27 -0
- package/dist/generated/interface/schemas/implementation/serializer.d.ts +156 -0
- package/dist/generated/interface/schemas/implementation/serializer.js +3 -0
- package/dist/generated/interface/schemas/implementation/unresolved.d.ts +27 -0
- package/dist/generated/interface/schemas/interface/resolve.d.ts +22 -22
- package/dist/generated/interface/schemas/interface/serializer.d.ts +156 -0
- package/dist/generated/interface/schemas/interface/serializer.js +3 -0
- package/dist/generated/interface/schemas/typescript_light/migration_boilerplate.d.ts +132 -0
- package/dist/generated/interface/schemas/typescript_light/serializer.d.ts +222 -0
- package/dist/generated/interface/schemas/typescript_light/serializer.js +3 -0
- package/dist/generated/interface/schemas/typescript_light/unconstrained.d.ts +135 -0
- package/dist/shorthands/implementation.d.ts +1 -1
- package/dist/shorthands/implementation.js +4 -2
- package/dist/transformations/implementation/typescript_light.d.ts +24 -0
- package/dist/transformations/implementation/typescript_light.js +564 -0
- package/dist/transformations/implementation/typescript_temp.d.ts +1 -1
- package/dist/transformations/implementation/typescript_temp.js +2 -2
- package/dist/transformations/interface/typescript_light.d.ts +23 -0
- package/dist/transformations/interface/typescript_light.js +524 -0
- package/dist/transformations/interface/typescript_temp.d.ts +1 -1
- package/dist/transformations/library/typescript_light.d.ts +10 -0
- package/dist/transformations/library/typescript_light.js +42 -0
- package/dist/transformations/library/typescript_temp.d.ts +1 -1
- package/dist/transformations/library/typescript_temp.js +3 -3
- package/dist/transformations/typescript_light/fountain_pen_block.d.ts +1 -0
- package/dist/transformations/typescript_light/fountain_pen_block.js +6 -2
- package/dist/transformations/typescript_temp/fountain_pen_block.d.ts +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,524 @@
|
|
|
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.Type_Declaration = exports.Type_to_Type = exports.Identifier = exports.Type_to_Aliases = exports.Module_Set = void 0;
|
|
27
|
+
exports.line_dictionary = line_dictionary;
|
|
28
|
+
const pa = __importStar(require("exupery-core-alg"));
|
|
29
|
+
const sh2 = __importStar(require("../../shorthands/typescript_light"));
|
|
30
|
+
const fountain_pen_block_1 = require("../typescript_light/fountain_pen_block");
|
|
31
|
+
const block_1 = require("pareto-fountain-pen/dist/shorthands/block");
|
|
32
|
+
const create_identifier_1 = require("../typescript_light/operations/create_identifier");
|
|
33
|
+
const pareto_standard_operations_1 = require("pareto-standard-operations");
|
|
34
|
+
const pareto_standard_operations_2 = require("pareto-standard-operations");
|
|
35
|
+
const op = {
|
|
36
|
+
// 'join lists': impure.list['join texts'],
|
|
37
|
+
'dictionary to list, sorted by code point': pareto_standard_operations_1.impure.dictionary['to list, sorted by code point'],
|
|
38
|
+
'create valid file name': pareto_standard_operations_1.impure.text['create valid file name'],
|
|
39
|
+
'repeat text': pareto_standard_operations_1.impure.text.repeat,
|
|
40
|
+
'join list of texts': pareto_standard_operations_2.pure.text['join list of texts'],
|
|
41
|
+
'flatten list': pareto_standard_operations_2.pure.list.flatten,
|
|
42
|
+
'flatten dictionary': pareto_standard_operations_2.pure.dictionary.flatten,
|
|
43
|
+
'create identifier': create_identifier_1.$$,
|
|
44
|
+
};
|
|
45
|
+
function line_dictionary($, if_empty, prefix, suffix, add_commas) {
|
|
46
|
+
let is_empty = true;
|
|
47
|
+
$.map(($) => {
|
|
48
|
+
is_empty = false;
|
|
49
|
+
});
|
|
50
|
+
if (is_empty) {
|
|
51
|
+
return if_empty;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
let is_first = true;
|
|
55
|
+
return block_1.l.sub([
|
|
56
|
+
prefix,
|
|
57
|
+
block_1.l.sub_decorated(op['dictionary to list, sorted by code point']($).map(($) => {
|
|
58
|
+
const out = block_1.l.sub([
|
|
59
|
+
is_first ?
|
|
60
|
+
block_1.l.nothing()
|
|
61
|
+
: add_commas
|
|
62
|
+
? block_1.l.snippet(", ")
|
|
63
|
+
: block_1.l.nothing(),
|
|
64
|
+
$.value,
|
|
65
|
+
]);
|
|
66
|
+
is_first = false;
|
|
67
|
+
return out;
|
|
68
|
+
})),
|
|
69
|
+
suffix,
|
|
70
|
+
]);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const Module_Set = ($) => {
|
|
74
|
+
return $.map(($, key) => pa.cc($, ($) => {
|
|
75
|
+
switch ($[0]) {
|
|
76
|
+
case 'module': return pa.ss($, ($) => {
|
|
77
|
+
const x_imports = $.imports;
|
|
78
|
+
const x_module_parameters = $['type parameters'];
|
|
79
|
+
const valid_file_name = ($) => {
|
|
80
|
+
return op['create valid file name']($, { 'replace spaces with underscores': true });
|
|
81
|
+
};
|
|
82
|
+
return ['file', (0, block_1.block)([
|
|
83
|
+
block_1.b.simple_line("import * as _pt from 'exupery-core-types'"),
|
|
84
|
+
block_1.b.simple_line(""),
|
|
85
|
+
block_1.b.sub_decorated(op['dictionary to list, sorted by code point']($.imports).map(($) => block_1.b.sub([
|
|
86
|
+
block_1.b.nested_line([
|
|
87
|
+
block_1.l.snippet("import * as "),
|
|
88
|
+
block_1.l.snippet(op['create identifier']([" i ", $.key])),
|
|
89
|
+
block_1.l.snippet(" from "),
|
|
90
|
+
(0, fountain_pen_block_1.String_Literal)(pa.cc($.value.type, ($) => {
|
|
91
|
+
switch ($[0]) {
|
|
92
|
+
case 'external': return pa.ss($, ($) => valid_file_name($));
|
|
93
|
+
case 'ancestor': return pa.ss($, ($) => `${op['repeat text']("../", { 'count': $['number of steps'] })}${valid_file_name($.dependency)}`);
|
|
94
|
+
case 'sibling': return pa.ss($, ($) => `./${valid_file_name($)}`);
|
|
95
|
+
default: return pa.au($[0]);
|
|
96
|
+
}
|
|
97
|
+
})
|
|
98
|
+
+ op['join list of texts']($.value.tail.map(($) => `/${valid_file_name($)}`)), {
|
|
99
|
+
'delimiter': "quote"
|
|
100
|
+
}),
|
|
101
|
+
])
|
|
102
|
+
]))),
|
|
103
|
+
/**
|
|
104
|
+
* I need to make sure that the global types are not shadowed by local types.
|
|
105
|
+
* I can do 3 things:
|
|
106
|
+
* 1. Prefix all global types identifiers and escape all local types identifiers that collide with that prefix
|
|
107
|
+
* 2. Prefix all local type identifiers
|
|
108
|
+
* 3. Place all types in a global namespace
|
|
109
|
+
*
|
|
110
|
+
* The problem with 2. is that it mangles all the identifiers, not just the global ones
|
|
111
|
+
* The problem with 3. is that TypeScript is not able to resolve the recursive types correctly in that case.
|
|
112
|
+
* So, I'm going with 1.
|
|
113
|
+
*/
|
|
114
|
+
block_1.b.simple_line(""),
|
|
115
|
+
block_1.b.simple_line("// **** TYPES"),
|
|
116
|
+
block_1.b.sub_decorated(op['dictionary to list, sorted by code point']($.types).map(($) => block_1.b.sub([
|
|
117
|
+
block_1.b.simple_line(""),
|
|
118
|
+
(0, exports.Type_Declaration)(null, {
|
|
119
|
+
'name': (0, exports.Identifier)(pa.array_literal([" T ", $.key])),
|
|
120
|
+
'type parameters': $.value.parameters,
|
|
121
|
+
'global type parameters': x_module_parameters,
|
|
122
|
+
'callback': () => {
|
|
123
|
+
return (0, fountain_pen_block_1.Type)((0, exports.Type_to_Type)($.value.type, {
|
|
124
|
+
'global type parameters': pa.set(x_module_parameters),
|
|
125
|
+
'temp imports': pa.set(x_imports),
|
|
126
|
+
}), {
|
|
127
|
+
'replace empty type literals by null': true
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}),
|
|
131
|
+
]))),
|
|
132
|
+
block_1.b.simple_line(""),
|
|
133
|
+
block_1.b.simple_line("// **** FRIENDLY NAMES FOR THE GLOBAL TYPES"),
|
|
134
|
+
block_1.b.sub_decorated(op['dictionary to list, sorted by code point']($.types).map(($) => block_1.b.sub([
|
|
135
|
+
block_1.b.simple_line(""),
|
|
136
|
+
(0, exports.Type_Declaration)(null, {
|
|
137
|
+
'name': $.key,
|
|
138
|
+
'type parameters': $.value.parameters,
|
|
139
|
+
'global type parameters': x_module_parameters,
|
|
140
|
+
'callback': () => {
|
|
141
|
+
return block_1.l.sub([
|
|
142
|
+
block_1.l.snippet(op['create identifier']([" T ", $.key])),
|
|
143
|
+
line_dictionary(op['flatten dictionary'](pa.dictionary_literal({
|
|
144
|
+
"G": x_module_parameters.map(($, key) => block_1.l.snippet(op['create identifier'](["G ", key]))),
|
|
145
|
+
"T": $.value.parameters.map(($, key) => block_1.l.snippet(op['create identifier'](["T ", key]))),
|
|
146
|
+
}), {
|
|
147
|
+
'separator': " "
|
|
148
|
+
}), block_1.l.nothing(), block_1.l.snippet("<"), block_1.l.snippet(">"), true),
|
|
149
|
+
]);
|
|
150
|
+
}
|
|
151
|
+
}),
|
|
152
|
+
]))),
|
|
153
|
+
block_1.b.simple_line(""),
|
|
154
|
+
block_1.b.simple_line("// **** ALIASES FOR NESTED TYPE WITH PREFIXED ROOT NAMES"),
|
|
155
|
+
block_1.b.sub_decorated(op['dictionary to list, sorted by code point']($.types).map(($) => block_1.b.sub([
|
|
156
|
+
(0, exports.Type_to_Aliases)($.value.type, {
|
|
157
|
+
'key': ` T ${$.key}`,
|
|
158
|
+
'type parameters': $.value.parameters,
|
|
159
|
+
'global type parameters': x_module_parameters,
|
|
160
|
+
'temp imports': x_imports,
|
|
161
|
+
}),
|
|
162
|
+
]))),
|
|
163
|
+
block_1.b.simple_line(""),
|
|
164
|
+
block_1.b.simple_line("// *** ALIASES FOR NESTED TYPES"),
|
|
165
|
+
block_1.b.sub_decorated(op['dictionary to list, sorted by code point']($.types).map(($) => block_1.b.sub([
|
|
166
|
+
(0, exports.Type_to_Aliases)($.value.type, {
|
|
167
|
+
'key': $.key,
|
|
168
|
+
'type parameters': $.value.parameters,
|
|
169
|
+
'global type parameters': x_module_parameters,
|
|
170
|
+
'temp imports': x_imports,
|
|
171
|
+
}),
|
|
172
|
+
]))),
|
|
173
|
+
// b.array(op['to list, sorted by code point'](
|
|
174
|
+
// op.filter(
|
|
175
|
+
// $.types.map(($): pt.Optional_Value<null> => pa.cc($.type, ($) => {
|
|
176
|
+
// switch ($[0]) {
|
|
177
|
+
// case 'number': return pa.ss($, ($) => pa.not_set())
|
|
178
|
+
// case 'boolean': return pa.ss($, ($) => pa.not_set())
|
|
179
|
+
// case 'function': return pa.ss($, ($) => pa.set(null))
|
|
180
|
+
// case 'component': return pa.ss($, ($) => pa.not_set())
|
|
181
|
+
// case 'group': return pa.ss($, ($) => pa.set(null))
|
|
182
|
+
// case 'nothing': return pa.ss($, ($) => pa.not_set())
|
|
183
|
+
// case 'state group': return pa.ss($, ($) => pa.set(null))
|
|
184
|
+
// case 'text': return pa.ss($, ($) => pa.not_set())
|
|
185
|
+
// case 'dictionary': return pa.ss($, ($) => pa.set(null))
|
|
186
|
+
// case 'list': return pa.ss($, ($) => pa.set(null))
|
|
187
|
+
// case 'computed': return pa.ss($, ($) => pa.set(null))
|
|
188
|
+
// case 'optional': return pa.ss($, ($) => pa.set(null))
|
|
189
|
+
// case 'parameter': return pa.ss($, ($) => pa.not_set())
|
|
190
|
+
// default: return pa.au($[0])
|
|
191
|
+
// }
|
|
192
|
+
// }))
|
|
193
|
+
// )
|
|
194
|
+
// ).map(($) => b.nested_line([
|
|
195
|
+
// l.snippet("export import "),
|
|
196
|
+
// l.snippet(op['create identifier']($.key),
|
|
197
|
+
// l.snippet(" = "),
|
|
198
|
+
// l.snippet(op['create identifier'](` T ${$.key}`),
|
|
199
|
+
// ]))),
|
|
200
|
+
])];
|
|
201
|
+
});
|
|
202
|
+
case 'set': return pa.ss($, ($) => ['directory', (0, exports.Module_Set)($)]);
|
|
203
|
+
default: return pa.au($[0]);
|
|
204
|
+
}
|
|
205
|
+
}));
|
|
206
|
+
};
|
|
207
|
+
exports.Module_Set = Module_Set;
|
|
208
|
+
const Type_to_Aliases = ($, $p) => {
|
|
209
|
+
const Namespace = (key, $p) => {
|
|
210
|
+
return block_1.b.sub([
|
|
211
|
+
block_1.b.simple_line(""),
|
|
212
|
+
block_1.b.nested_line([
|
|
213
|
+
block_1.l.snippet("export namespace "),
|
|
214
|
+
block_1.l.snippet(op['create identifier']([key])),
|
|
215
|
+
block_1.l.snippet(" {"),
|
|
216
|
+
block_1.l.indent([
|
|
217
|
+
$p.callback()
|
|
218
|
+
]),
|
|
219
|
+
block_1.l.snippet("}")
|
|
220
|
+
])
|
|
221
|
+
]);
|
|
222
|
+
};
|
|
223
|
+
const Type_to_Aliases_2 = ($, $p) => {
|
|
224
|
+
return block_1.b.sub([
|
|
225
|
+
(0, exports.Type_to_Aliases)($, {
|
|
226
|
+
'key': $p.key,
|
|
227
|
+
'type parameters': $p['type parameters'],
|
|
228
|
+
'global type parameters': $p['global type parameters'],
|
|
229
|
+
'temp imports': $p['temp imports'],
|
|
230
|
+
}),
|
|
231
|
+
(0, exports.Type_Declaration)(null, {
|
|
232
|
+
'name': $p.key,
|
|
233
|
+
'type parameters': $p['type parameters'],
|
|
234
|
+
'global type parameters': $p['global type parameters'],
|
|
235
|
+
'callback': () => {
|
|
236
|
+
return (0, fountain_pen_block_1.Type)((0, exports.Type_to_Type)($, {
|
|
237
|
+
'global type parameters': pa.set($p['global type parameters']),
|
|
238
|
+
'temp imports': pa.set($p['temp imports']),
|
|
239
|
+
}), {
|
|
240
|
+
'replace empty type literals by null': true
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
})
|
|
244
|
+
]);
|
|
245
|
+
};
|
|
246
|
+
return pa.cc($, ($) => {
|
|
247
|
+
switch ($[0]) {
|
|
248
|
+
case 'boolean': return pa.ss($, ($) => block_1.b.nothing());
|
|
249
|
+
case 'component': return pa.ss($, ($) => Namespace($p.key, {
|
|
250
|
+
'callback': () => block_1.b.sub([
|
|
251
|
+
block_1.b.sub_decorated(op['dictionary to list, sorted by code point']($['type arguments']).map(($) => {
|
|
252
|
+
return Type_to_Aliases_2($.value, {
|
|
253
|
+
'global type parameters': $p['global type parameters'],
|
|
254
|
+
'key': $.key,
|
|
255
|
+
'temp imports': $p['temp imports'],
|
|
256
|
+
'type parameters': $p['type parameters'],
|
|
257
|
+
});
|
|
258
|
+
})),
|
|
259
|
+
])
|
|
260
|
+
}));
|
|
261
|
+
case 'computed': return pa.ss($, ($) => Namespace($p.key, {
|
|
262
|
+
'callback': () => Type_to_Aliases_2($, {
|
|
263
|
+
'global type parameters': $p['global type parameters'],
|
|
264
|
+
'key': "C",
|
|
265
|
+
'temp imports': $p['temp imports'],
|
|
266
|
+
'type parameters': $p['type parameters'],
|
|
267
|
+
})
|
|
268
|
+
}));
|
|
269
|
+
case 'dictionary': return pa.ss($, ($) => Namespace($p.key, {
|
|
270
|
+
'callback': () => Type_to_Aliases_2($, {
|
|
271
|
+
'global type parameters': $p['global type parameters'],
|
|
272
|
+
'key': "D",
|
|
273
|
+
'temp imports': $p['temp imports'],
|
|
274
|
+
'type parameters': $p['type parameters'],
|
|
275
|
+
})
|
|
276
|
+
}));
|
|
277
|
+
case 'function': return pa.ss($, ($) => Namespace($p.key, {
|
|
278
|
+
'callback': () => block_1.b.sub([
|
|
279
|
+
Type_to_Aliases_2($.context, {
|
|
280
|
+
'global type parameters': $p['global type parameters'],
|
|
281
|
+
'key': "CONTEXT",
|
|
282
|
+
'temp imports': $p['temp imports'],
|
|
283
|
+
'type parameters': $p['type parameters'],
|
|
284
|
+
}),
|
|
285
|
+
Namespace("PARAMS", {
|
|
286
|
+
"callback": () => block_1.b.sub_decorated(op['dictionary to list, sorted by code point']($.parameters).map(($) => {
|
|
287
|
+
return Type_to_Aliases_2($.value, {
|
|
288
|
+
'global type parameters': $p['global type parameters'],
|
|
289
|
+
'key': $.key,
|
|
290
|
+
'temp imports': $p['temp imports'],
|
|
291
|
+
'type parameters': $p['type parameters'],
|
|
292
|
+
});
|
|
293
|
+
})),
|
|
294
|
+
}),
|
|
295
|
+
Type_to_Aliases_2($.return, {
|
|
296
|
+
'global type parameters': $p['global type parameters'],
|
|
297
|
+
'key': "RESULT",
|
|
298
|
+
'temp imports': $p['temp imports'],
|
|
299
|
+
'type parameters': $p['type parameters'],
|
|
300
|
+
}),
|
|
301
|
+
])
|
|
302
|
+
}));
|
|
303
|
+
case 'group': return pa.ss($, ($) => Namespace($p.key, {
|
|
304
|
+
'callback': () => block_1.b.sub([
|
|
305
|
+
block_1.b.sub_decorated(op['dictionary to list, sorted by code point']($).map(($) => {
|
|
306
|
+
return Type_to_Aliases_2($.value, {
|
|
307
|
+
'global type parameters': $p['global type parameters'],
|
|
308
|
+
'key': $.key,
|
|
309
|
+
'temp imports': $p['temp imports'],
|
|
310
|
+
'type parameters': $p['type parameters'],
|
|
311
|
+
});
|
|
312
|
+
})),
|
|
313
|
+
])
|
|
314
|
+
}));
|
|
315
|
+
case 'array': return pa.ss($, ($) => Namespace($p.key, {
|
|
316
|
+
'callback': () => Type_to_Aliases_2($, {
|
|
317
|
+
'global type parameters': $p['global type parameters'],
|
|
318
|
+
'key': "L",
|
|
319
|
+
'temp imports': $p['temp imports'],
|
|
320
|
+
'type parameters': $p['type parameters'],
|
|
321
|
+
})
|
|
322
|
+
}));
|
|
323
|
+
case 'key value pair': return pa.ss($, ($) => Namespace($p.key, {
|
|
324
|
+
'callback': () => Type_to_Aliases_2($, {
|
|
325
|
+
'global type parameters': $p['global type parameters'],
|
|
326
|
+
'key': "K",
|
|
327
|
+
'temp imports': $p['temp imports'],
|
|
328
|
+
'type parameters': $p['type parameters'],
|
|
329
|
+
})
|
|
330
|
+
}));
|
|
331
|
+
case 'null': return pa.ss($, ($) => block_1.b.nothing());
|
|
332
|
+
case 'number': return pa.ss($, ($) => block_1.b.nothing());
|
|
333
|
+
case 'optional': return pa.ss($, ($) => Namespace($p.key, {
|
|
334
|
+
'callback': () => Type_to_Aliases_2($, {
|
|
335
|
+
'global type parameters': $p['global type parameters'],
|
|
336
|
+
'key': "O",
|
|
337
|
+
'temp imports': $p['temp imports'],
|
|
338
|
+
'type parameters': $p['type parameters'],
|
|
339
|
+
})
|
|
340
|
+
}));
|
|
341
|
+
case 'parameter': return pa.ss($, ($) => block_1.b.nothing());
|
|
342
|
+
case 'tagged union': return pa.ss($, ($) => Namespace($p.key, {
|
|
343
|
+
'callback': () => block_1.b.sub([
|
|
344
|
+
block_1.b.sub_decorated(op['dictionary to list, sorted by code point']($).map(($) => {
|
|
345
|
+
return Type_to_Aliases_2($.value, {
|
|
346
|
+
'global type parameters': $p['global type parameters'],
|
|
347
|
+
'key': $.key,
|
|
348
|
+
'temp imports': $p['temp imports'],
|
|
349
|
+
'type parameters': $p['type parameters'],
|
|
350
|
+
});
|
|
351
|
+
})),
|
|
352
|
+
])
|
|
353
|
+
}));
|
|
354
|
+
case 'string': return pa.ss($, ($) => block_1.b.nothing());
|
|
355
|
+
default: return pa.au($[0]);
|
|
356
|
+
}
|
|
357
|
+
});
|
|
358
|
+
};
|
|
359
|
+
exports.Type_to_Aliases = Type_to_Aliases;
|
|
360
|
+
const Identifier = ($) => {
|
|
361
|
+
return op['join list of texts']($);
|
|
362
|
+
};
|
|
363
|
+
exports.Identifier = Identifier;
|
|
364
|
+
const Type_to_Type = ($, $p) => {
|
|
365
|
+
return pa.cc($, ($) => {
|
|
366
|
+
switch ($[0]) {
|
|
367
|
+
case 'boolean': return pa.ss($, ($) => sh2.t.boolean());
|
|
368
|
+
case 'component': return pa.ss($, ($) => sh2.t.type_reference(
|
|
369
|
+
//start
|
|
370
|
+
pa.cc($.location, ($) => {
|
|
371
|
+
switch ($[0]) {
|
|
372
|
+
case 'import': return pa.ss($, ($) => (0, exports.Identifier)(pa.array_literal([" i ", $.import])));
|
|
373
|
+
case 'sibling': return pa.ss($, ($) => (0, exports.Identifier)(pa.array_literal([" T ", $])));
|
|
374
|
+
default: return pa.au($[0]);
|
|
375
|
+
}
|
|
376
|
+
}),
|
|
377
|
+
//tail
|
|
378
|
+
op['flatten list'](pa.array_literal([
|
|
379
|
+
pa.cc($.location, ($) => {
|
|
380
|
+
switch ($[0]) {
|
|
381
|
+
case 'import': return pa.ss($, ($) => pa.array_literal([
|
|
382
|
+
(0, exports.Identifier)(pa.array_literal([" T ", $.type]))
|
|
383
|
+
]));
|
|
384
|
+
case 'sibling': return pa.ss($, ($) => pa.array_literal([]));
|
|
385
|
+
default: return pa.au($[0]);
|
|
386
|
+
}
|
|
387
|
+
}),
|
|
388
|
+
op['flatten list']($['sub selection'].map(($) => pa.cc($, ($) => {
|
|
389
|
+
switch ($[0]) {
|
|
390
|
+
case 'dictionary': return pa.ss($, ($) => pa.array_literal(["D"]));
|
|
391
|
+
case 'group': return pa.ss($, ($) => pa.array_literal([$]));
|
|
392
|
+
case 'list': return pa.ss($, ($) => pa.array_literal(["L"]));
|
|
393
|
+
case 'optional': return pa.ss($, ($) => pa.array_literal(["O"]));
|
|
394
|
+
case 'state group': return pa.ss($, ($) => pa.array_literal([
|
|
395
|
+
"SG",
|
|
396
|
+
$,
|
|
397
|
+
]));
|
|
398
|
+
default: return pa.au($[0]);
|
|
399
|
+
}
|
|
400
|
+
})))
|
|
401
|
+
])).__get_raw_copy(),
|
|
402
|
+
//type arguments
|
|
403
|
+
op['dictionary to list, sorted by code point'](op['flatten dictionary'](pa.dictionary_literal({
|
|
404
|
+
"G": pa.cc($.location, ($) => {
|
|
405
|
+
switch ($[0]) {
|
|
406
|
+
case 'import': return pa.ss($, ($) => $p['temp imports'].transform(($) => $, () => pa.panic("DSFSDFSD")).__get_entry($.import).transform(($) => $, () => {
|
|
407
|
+
let keys = "";
|
|
408
|
+
$p['temp imports'].map(($) => {
|
|
409
|
+
$.map(($, key) => {
|
|
410
|
+
keys += `, '${key}'`;
|
|
411
|
+
});
|
|
412
|
+
});
|
|
413
|
+
return pa.panic(`no such import: ${$.import} @ ${keys}`);
|
|
414
|
+
})['type arguments'].map(($) => (0, exports.Type_to_Type)($, {
|
|
415
|
+
'global type parameters': $p['global type parameters'],
|
|
416
|
+
'temp imports': $p['temp imports'],
|
|
417
|
+
})));
|
|
418
|
+
case 'sibling': return pa.ss($, ($) => $p['global type parameters'].transform(($) => $, () => pa.panic("DSFSDFSD")).map(($, key) => sh2.t.type_reference(`G ${key}`, [], [])));
|
|
419
|
+
default: return pa.au($[0]);
|
|
420
|
+
}
|
|
421
|
+
}),
|
|
422
|
+
"T": $['type arguments'].map(($) => (0, exports.Type_to_Type)($, {
|
|
423
|
+
'global type parameters': $p['global type parameters'],
|
|
424
|
+
'temp imports': $p['temp imports'],
|
|
425
|
+
}))
|
|
426
|
+
}), {
|
|
427
|
+
'separator': " "
|
|
428
|
+
})).map(($) => $.value).__get_raw_copy()));
|
|
429
|
+
case 'computed': return pa.ss($, ($) => sh2.t.type_reference(" pt", ["Computed Value"], [
|
|
430
|
+
(0, exports.Type_to_Type)($, {
|
|
431
|
+
'global type parameters': $p['global type parameters'],
|
|
432
|
+
'temp imports': $p['temp imports'],
|
|
433
|
+
})
|
|
434
|
+
]));
|
|
435
|
+
case 'dictionary': return pa.ss($, ($) => sh2.t.type_reference(" pt", ["Dictionary"], [
|
|
436
|
+
(0, exports.Type_to_Type)($, {
|
|
437
|
+
'global type parameters': $p['global type parameters'],
|
|
438
|
+
'temp imports': $p['temp imports'],
|
|
439
|
+
})
|
|
440
|
+
]));
|
|
441
|
+
case 'function': return pa.ss($, ($) => sh2.t.function_(op['dictionary to list, sorted by code point']($['type parameters']).map(($) => $.key).__get_raw_copy(), [
|
|
442
|
+
sh2.parameter("$", (0, exports.Type_to_Type)($.context, {
|
|
443
|
+
'global type parameters': $p['global type parameters'],
|
|
444
|
+
'temp imports': $p['temp imports'],
|
|
445
|
+
})),
|
|
446
|
+
sh2.parameter("$p", sh2.t.type_literal($.parameters.map(($) => ({
|
|
447
|
+
'readonly': true,
|
|
448
|
+
'type': (0, exports.Type_to_Type)($, {
|
|
449
|
+
'global type parameters': $p['global type parameters'],
|
|
450
|
+
'temp imports': $p['temp imports'],
|
|
451
|
+
})
|
|
452
|
+
}))))
|
|
453
|
+
], (0, exports.Type_to_Type)($.return, {
|
|
454
|
+
'global type parameters': $p['global type parameters'],
|
|
455
|
+
'temp imports': $p['temp imports'],
|
|
456
|
+
})));
|
|
457
|
+
case 'group': return pa.ss($, ($) => sh2.t.type_literal($.map(($) => ({
|
|
458
|
+
'readonly': true,
|
|
459
|
+
'type': (0, exports.Type_to_Type)($, {
|
|
460
|
+
'global type parameters': $p['global type parameters'],
|
|
461
|
+
'temp imports': $p['temp imports'],
|
|
462
|
+
})
|
|
463
|
+
}))));
|
|
464
|
+
case 'array': return pa.ss($, ($) => sh2.t.type_reference(" pt", ["Array"], [
|
|
465
|
+
(0, exports.Type_to_Type)($, {
|
|
466
|
+
'global type parameters': $p['global type parameters'],
|
|
467
|
+
'temp imports': $p['temp imports'],
|
|
468
|
+
})
|
|
469
|
+
]));
|
|
470
|
+
case 'key value pair': return pa.ss($, ($) => sh2.t.type_reference(" pt", ["Key Value Pair"], [
|
|
471
|
+
(0, exports.Type_to_Type)($, {
|
|
472
|
+
'global type parameters': $p['global type parameters'],
|
|
473
|
+
'temp imports': $p['temp imports'],
|
|
474
|
+
})
|
|
475
|
+
]));
|
|
476
|
+
case 'null': return pa.ss($, ($) => sh2.t.null_());
|
|
477
|
+
case 'number': return pa.ss($, ($) => sh2.t.number());
|
|
478
|
+
case 'optional': return pa.ss($, ($) => sh2.t.type_reference(" pt", ["Optional Value"], [
|
|
479
|
+
(0, exports.Type_to_Type)($, {
|
|
480
|
+
'global type parameters': $p['global type parameters'],
|
|
481
|
+
'temp imports': $p['temp imports'],
|
|
482
|
+
})
|
|
483
|
+
]));
|
|
484
|
+
case 'parameter': return pa.ss($, ($) => sh2.t.type_reference(pa.cc($.location, ($) => {
|
|
485
|
+
switch ($[0]) {
|
|
486
|
+
case 'module': return pa.ss($, ($) => "G");
|
|
487
|
+
case 'type': return pa.ss($, ($) => "T");
|
|
488
|
+
default: return pa.au($[0]);
|
|
489
|
+
}
|
|
490
|
+
})
|
|
491
|
+
+ " "
|
|
492
|
+
+ $.parameter, [], []));
|
|
493
|
+
case 'tagged union': return pa.ss($, ($) => sh2.t.union(op['dictionary to list, sorted by code point']($).map(($) => sh2.t.tuple('readonly', [
|
|
494
|
+
sh2.t.literal_type($.key, 'apostrophe'),
|
|
495
|
+
(0, exports.Type_to_Type)($.value, {
|
|
496
|
+
'global type parameters': $p['global type parameters'],
|
|
497
|
+
'temp imports': $p['temp imports'],
|
|
498
|
+
})
|
|
499
|
+
])).__get_raw_copy()));
|
|
500
|
+
case 'string': return pa.ss($, ($) => sh2.t.string());
|
|
501
|
+
default: return pa.au($[0]);
|
|
502
|
+
}
|
|
503
|
+
});
|
|
504
|
+
};
|
|
505
|
+
exports.Type_to_Type = Type_to_Type;
|
|
506
|
+
const Type_Declaration = ($, $p) => {
|
|
507
|
+
return block_1.b.nested_line([
|
|
508
|
+
block_1.l.sub([
|
|
509
|
+
block_1.l.snippet("export type "),
|
|
510
|
+
block_1.l.snippet(op['create identifier']([$p.name])),
|
|
511
|
+
line_dictionary(op['flatten dictionary'](pa.dictionary_literal({
|
|
512
|
+
"G": $p['global type parameters'],
|
|
513
|
+
"T": $p['type parameters'],
|
|
514
|
+
}), {
|
|
515
|
+
//'escape': "$",
|
|
516
|
+
'separator': " "
|
|
517
|
+
}).map(($, key) => block_1.l.snippet(op['create identifier']([key]))), block_1.l.nothing(), block_1.l.snippet("<"), block_1.l.snippet(">"), true),
|
|
518
|
+
block_1.l.snippet(" = "),
|
|
519
|
+
$p.callback()
|
|
520
|
+
])
|
|
521
|
+
]);
|
|
522
|
+
};
|
|
523
|
+
exports.Type_Declaration = Type_Declaration;
|
|
524
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdF9saWdodC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1hdGlvbnMvaW50ZXJmYWNlL3R5cGVzY3JpcHRfbGlnaHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4QkEsMENBa0NDO0FBaEVELHFEQUFzQztBQVF0Qyx1RUFBd0Q7QUFFeEQsK0VBQTZFO0FBRTdFLHFFQUVrRDtBQUNsRCx3RkFBMEU7QUFDMUUsMkVBQW1EO0FBQ25ELDJFQUFpRDtBQUVqRCxNQUFNLEVBQUUsR0FBRztJQUNQLDJDQUEyQztJQUMzQywwQ0FBMEMsRUFBRSxtQ0FBTSxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQztJQUM5Rix3QkFBd0IsRUFBRSxtQ0FBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztJQUMvRCxhQUFhLEVBQUUsbUNBQU0sQ0FBQyxJQUFJLENBQUMsTUFBTTtJQUNqQyxvQkFBb0IsRUFBRSxpQ0FBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNyRCxjQUFjLEVBQUUsaUNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztJQUNqQyxvQkFBb0IsRUFBRSxpQ0FBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPO0lBQzdDLG1CQUFtQixFQUFFLHNCQUFDO0NBQ3pCLENBQUE7QUFFRCxTQUFnQixlQUFlLENBQzNCLENBQWlDLEVBQ2pDLFFBQXlCLEVBQ3pCLE1BQXVCLEVBQ3ZCLE1BQXVCLEVBQ3ZCLFVBQW1CO0lBRW5CLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQTtJQUNuQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDUixRQUFRLEdBQUcsS0FBSyxDQUFBO0lBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNYLE9BQU8sUUFBUSxDQUFBO0lBQ25CLENBQUM7U0FBTSxDQUFDO1FB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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as pt from 'exupery-core-types';
|
|
2
2
|
import * as s_in from "../../generated/interface/schemas/interface/resolved";
|
|
3
|
-
import * as s_out from "../../generated/interface/schemas/
|
|
3
|
+
import * as s_out from "../../generated/interface/schemas/typescript_light/unconstrained";
|
|
4
4
|
import * as s_ts from "../../generated/interface/schemas/typescript_light/unconstrained";
|
|
5
5
|
export declare function line_dictionary($: pt.Dictionary<s_out.Line_Part>, if_empty: s_out.Line_Part, prefix: s_out.Line_Part, suffix: s_out.Line_Part, add_commas: boolean): s_out.Line_Part;
|
|
6
6
|
export declare const Module_Set: ($: s_in.Module_Set) => s_out.Directory;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as s_in_inf from "../../generated/interface/schemas/interface/resolved";
|
|
2
|
+
import * as s_in_imp from "../../generated/interface/schemas/implementation/resolved";
|
|
3
|
+
import * as s_out from "../../generated/interface/schemas/typescript_light/unconstrained";
|
|
4
|
+
export type Temp_Library = {
|
|
5
|
+
'interface': s_in_inf.Module_Set;
|
|
6
|
+
'implementation': s_in_imp.Module_Set;
|
|
7
|
+
};
|
|
8
|
+
export declare const Temp_Library: ($: Temp_Library, $p: {
|
|
9
|
+
"phase": "development" | "production";
|
|
10
|
+
}) => s_out.Directory;
|