exupery 0.1.28 → 0.1.29

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