pareto 0.80.74 → 0.80.76
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/modules/pareto_new/schemas/module/shorthands/target.d.ts +10 -0
- package/dist/modules/pareto_new/schemas/module/shorthands/target.js +11 -1
- package/dist/modules/pareto_new/schemas/refiner/schema.d.ts +406 -37
- package/dist/modules/pareto_new/schemas/refiner/schema.js +3 -4
- package/dist/modules/pareto_new/schemas/refiner/shorthands/target.d.ts +77 -5
- package/dist/modules/pareto_new/schemas/refiner/shorthands/target.js +205 -8
- package/dist/modules/pareto_new/schemas/refiner/transformers/typescript_light.d.ts +6 -0
- package/dist/modules/pareto_new/schemas/refiner/transformers/typescript_light.js +363 -18
- package/dist/modules/pareto_new/schemas/schema/schema.d.ts +123 -56
- package/dist/modules/pareto_new/schemas/schema/schema.js +3 -3
- package/dist/modules/pareto_new/schemas/schema/shorthands/target.d.ts +12 -11
- package/dist/modules/pareto_new/schemas/schema/shorthands/target.js +9 -6
- package/dist/modules/pareto_new/schemas/schema/transformers/typescript_light.js +6 -6
- package/dist/modules/pareto_new/schemas/schema_reference/schema.d.ts +48 -11
- package/dist/modules/pareto_new/schemas/schema_reference/schema.js +2 -1
- package/dist/modules/pareto_new/schemas/schema_reference/shorthands/target.d.ts +11 -2
- package/dist/modules/pareto_new/schemas/schema_reference/shorthands/target.js +29 -6
- package/dist/modules/pareto_new/schemas/schema_reference/transformers/typescript_light.d.ts +8 -0
- package/dist/modules/pareto_new/schemas/schema_reference/transformers/typescript_light.js +24 -4
- package/dist/modules/pareto_new/schemas/transformer/schema.d.ts +388 -33
- package/dist/modules/pareto_new/schemas/transformer/schema.js +3 -4
- package/dist/modules/pareto_new/schemas/transformer/shorthands/target.d.ts +75 -3
- package/dist/modules/pareto_new/schemas/transformer/shorthands/target.js +196 -47
- package/dist/modules/pareto_new/schemas/transformer/transformers/typescript_light.d.ts +7 -1
- package/dist/modules/pareto_new/schemas/transformer/transformers/typescript_light.js +313 -30
- package/dist/modules/typescript_light/schemas/typescript_light/schema.d.ts +293 -259
- package/dist/modules/typescript_light/schemas/typescript_light/schema.js +3 -3
- package/dist/modules/typescript_light/schemas/{primitives → typescript_light}/serializers.d.ts +7 -8
- package/dist/modules/typescript_light/schemas/typescript_light/serializers.js +487 -0
- package/dist/modules/typescript_light/schemas/typescript_light/shorthands/target.d.ts +16 -14
- package/dist/modules/typescript_light/schemas/typescript_light/shorthands/target.js +39 -37
- package/dist/modules/typescript_light/schemas/typescript_light/transformers/paragraph.d.ts +8 -1
- package/dist/modules/typescript_light/schemas/typescript_light/transformers/paragraph.js +206 -222
- package/package.json +1 -1
- package/dist/modules/file_name/schemas/file_name/schema.d.ts +0 -1
- package/dist/modules/file_name/schemas/file_name/schema.js +0 -2
- package/dist/modules/file_name/schemas/file_name/serializers.d.ts +0 -6
- package/dist/modules/file_name/schemas/file_name/serializers.js +0 -23
- package/dist/modules/implementation_old/schemas/resolved/schema.d.ts +0 -748
- package/dist/modules/implementation_old/schemas/resolved/schema.js +0 -4
- package/dist/modules/implementation_old/schemas/resolved/shorthands/target.d.ts +0 -134
- package/dist/modules/implementation_old/schemas/resolved/shorthands/target.js +0 -460
- package/dist/modules/implementation_old/schemas/resolved/transformers/typescript_project.d.ts +0 -5
- package/dist/modules/implementation_old/schemas/resolved/transformers/typescript_project.js +0 -9
- package/dist/modules/implementation_old/schemas/resolved/transformers/typescript_source_file.d.ts +0 -9
- package/dist/modules/implementation_old/schemas/resolved/transformers/typescript_source_file.js +0 -647
- package/dist/modules/implementation_old/schemas/unresolved/schema.d.ts +0 -1288
- package/dist/modules/implementation_old/schemas/unresolved/schema.js +0 -4
- package/dist/modules/interface_old/schemas/resolved/schema.d.ts +0 -160
- package/dist/modules/interface_old/schemas/resolved/schema.js +0 -3
- package/dist/modules/interface_old/schemas/resolved/shorthands/target.d.ts +0 -47
- package/dist/modules/interface_old/schemas/resolved/shorthands/target.js +0 -185
- package/dist/modules/interface_old/schemas/resolved/transformers/to_be_written_directory_content.d.ts +0 -5
- package/dist/modules/interface_old/schemas/resolved/transformers/to_be_written_directory_content.js +0 -9
- package/dist/modules/interface_old/schemas/resolved/transformers/typescript.d.ts +0 -10
- package/dist/modules/interface_old/schemas/resolved/transformers/typescript.js +0 -270
- package/dist/modules/interface_old/schemas/unresolved/schema.d.ts +0 -371
- package/dist/modules/interface_old/schemas/unresolved/schema.js +0 -4
- package/dist/modules/pareto_new/schemas/type_reference/schema.d.ts +0 -18
- package/dist/modules/pareto_new/schemas/type_reference/schema.js +0 -2
- package/dist/modules/pareto_new/schemas/type_reference/shorthands/target.d.ts +0 -3
- package/dist/modules/pareto_new/schemas/type_reference/shorthands/target.js +0 -8
- package/dist/modules/pareto_new/schemas/value_reference/schema.d.ts +0 -18
- package/dist/modules/pareto_new/schemas/value_reference/schema.js +0 -3
- package/dist/modules/pareto_new/schemas/value_reference/shorthands/target.d.ts +0 -10
- package/dist/modules/pareto_new/schemas/value_reference/shorthands/target.js +0 -18
- package/dist/modules/pareto_old/schemas/library/schema.d.ts +0 -1
- package/dist/modules/pareto_old/schemas/library/schema.js +0 -2
- package/dist/modules/pareto_old/schemas/library/transformers/typescript_light.d.ts +0 -12
- package/dist/modules/pareto_old/schemas/library/transformers/typescript_light.js +0 -13
- package/dist/modules/typescript_light/schemas/identifier/schema.d.ts +0 -1
- package/dist/modules/typescript_light/schemas/identifier/schema.js +0 -2
- package/dist/modules/typescript_light/schemas/identifier/serializers.d.ts +0 -2
- package/dist/modules/typescript_light/schemas/identifier/serializers.js +0 -230
- package/dist/modules/typescript_light/schemas/primitives/schema.d.ts +0 -2
- package/dist/modules/typescript_light/schemas/primitives/schema.js +0 -2
- package/dist/modules/typescript_light/schemas/primitives/serializers.js +0 -255
- package/dist/temp/single_entry_dictionary.d.ts +0 -2
- package/dist/temp/single_entry_dictionary.js +0 -8
|
@@ -1,10 +1,242 @@
|
|
|
1
1
|
import * as p_ from 'pareto-core/transformer';
|
|
2
|
+
import p_variables from 'pareto-core/transformer/specials/variables';
|
|
2
3
|
import * as s_in from "../schema.js";
|
|
3
4
|
import * as s_out from "../../../../typescript_light/schemas/typescript_light/schema.js";
|
|
4
5
|
//shorthands
|
|
5
6
|
import * as sh from "../../../../typescript_light/schemas/typescript_light/shorthands/target.js";
|
|
6
7
|
//dependencies
|
|
7
8
|
import * as t_schema_reference_to_typescript_light from "../../schema_reference/transformers/typescript_light.js";
|
|
9
|
+
import * as ser_path from "pareto-filesystem-unrestricted-api/modules/helpers/schemas/path/serializers";
|
|
10
|
+
export const Expresssion = ($) => p_.from.state($).decide(($) => {
|
|
11
|
+
switch ($[0]) {
|
|
12
|
+
case 'change context': return p_.option($, ($) => sh.e.call(sh.e.property_access(sh.e.identifier_raw("p_"), sh.identifier_raw("change_context")), true, p_.literal.list([
|
|
13
|
+
Select_Value($.select),
|
|
14
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
15
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
16
|
+
]), null, Expresssion($.callback))
|
|
17
|
+
])));
|
|
18
|
+
case 'convert': return p_.option($, ($) => p_variables(() => {
|
|
19
|
+
const $v_selection = $.select;
|
|
20
|
+
return p_.from.state($.type).decide(($) => {
|
|
21
|
+
switch ($[0]) {
|
|
22
|
+
case 'component': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
23
|
+
switch ($[0]) {
|
|
24
|
+
case 'transform': return p_.option($, ($) => sh.e.call(p_.from.state($.scope).decide(($) => {
|
|
25
|
+
switch ($[0]) {
|
|
26
|
+
case 'external': return p_.option($, ($) => sh.e.property_access(sh.e.identifier_escaped("t " + $.transformer), sh.identifier_escaped($.function)));
|
|
27
|
+
case 'local': return p_.option($, ($) => sh.e.identifier_escaped($.function));
|
|
28
|
+
default: return p_.exhaustive($[0]);
|
|
29
|
+
}
|
|
30
|
+
}), true, p_.literal.segmented_list([
|
|
31
|
+
p_.literal.list([
|
|
32
|
+
Select_Value($v_selection),
|
|
33
|
+
]),
|
|
34
|
+
p_.from.state($.arguments).decide(($) => {
|
|
35
|
+
switch ($[0]) {
|
|
36
|
+
case 'omit': return p_.option($, ($) => p_.literal.list([]));
|
|
37
|
+
case 'pass through': return p_.option($, ($) => p_.literal.list([
|
|
38
|
+
sh.e.identifier_raw("$p")
|
|
39
|
+
]));
|
|
40
|
+
case 'initialize': return p_.option($, ($) => p_.literal.list([
|
|
41
|
+
Expresssion($.expression)
|
|
42
|
+
]));
|
|
43
|
+
default: return p_.exhaustive($[0]);
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
])));
|
|
47
|
+
default: return p_.exhaustive($[0]);
|
|
48
|
+
}
|
|
49
|
+
}));
|
|
50
|
+
case 'dictionary': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
51
|
+
switch ($[0]) {
|
|
52
|
+
case 'map': return p_.option($, ($) => sh.e.call(sh.e.property_access(sh.e.call(sh.e.property_access(sh.e.property_access(sh.e.identifier_raw("p_"), sh.identifier_raw("from")), sh.identifier_raw("dictionary")), false, p_.literal.list([
|
|
53
|
+
Select_Value($v_selection),
|
|
54
|
+
])), sh.identifier_raw("map")), true, p_.literal.list([
|
|
55
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
56
|
+
sh.parameter(sh.identifier_raw("$"), null),
|
|
57
|
+
sh.parameter(sh.identifier_raw("id"), null),
|
|
58
|
+
]), null, Expresssion($['on entry']))
|
|
59
|
+
])));
|
|
60
|
+
default: return p_.exhaustive($[0]);
|
|
61
|
+
}
|
|
62
|
+
}));
|
|
63
|
+
case 'list': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
64
|
+
switch ($[0]) {
|
|
65
|
+
case 'map': return p_.option($, ($) => sh.e.call(sh.e.property_access(sh.e.call(sh.e.property_access(sh.e.property_access(sh.e.identifier_raw("p_"), sh.identifier_raw("from")), sh.identifier_raw("list")), false, p_.literal.list([
|
|
66
|
+
Select_Value($v_selection),
|
|
67
|
+
])), sh.identifier_raw("map")), true, p_.literal.list([
|
|
68
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
69
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
70
|
+
]), null, Expresssion($['on item']))
|
|
71
|
+
])));
|
|
72
|
+
default: return p_.exhaustive($[0]);
|
|
73
|
+
}
|
|
74
|
+
}));
|
|
75
|
+
case 'optional': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
76
|
+
switch ($[0]) {
|
|
77
|
+
case 'decide': return p_.option($, ($) => sh.e.call(sh.e.property_access(sh.e.call(sh.e.property_access(sh.e.property_access(sh.e.identifier_raw("p_"), sh.identifier_raw("from")), sh.identifier_raw("optional")), false, p_.literal.list([
|
|
78
|
+
Select_Value($v_selection),
|
|
79
|
+
])), sh.identifier_raw("decide")), true, p_.literal.list([
|
|
80
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
81
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
82
|
+
]), p_.from.optional($['temp return type']).decide(($) => t_schema_reference_to_typescript_light.Value_Reference($, {
|
|
83
|
+
'schema': sh.identifier_raw("s_target")
|
|
84
|
+
}), () => null), Expresssion($['on set'])),
|
|
85
|
+
sh.e.arrow_function_with_expression(p_.literal.list([]), p_.from.optional($['temp return type']).decide(($) => t_schema_reference_to_typescript_light.Value_Reference($, {
|
|
86
|
+
'schema': sh.identifier_raw("s_target")
|
|
87
|
+
}), () => null), Expresssion($['on not set'])),
|
|
88
|
+
])));
|
|
89
|
+
case 'map': return p_.option($, ($) => sh.e.call(sh.e.property_access(sh.e.call(sh.e.property_access(sh.e.property_access(sh.e.identifier_raw("p_"), sh.identifier_raw("from")), sh.identifier_raw("optional")), false, p_.literal.list([
|
|
90
|
+
Select_Value($v_selection),
|
|
91
|
+
])), sh.identifier_raw("map")), true, p_.literal.list([
|
|
92
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
93
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
94
|
+
]), null, Expresssion($['on set'])),
|
|
95
|
+
])));
|
|
96
|
+
default: return p_.exhaustive($[0]);
|
|
97
|
+
}
|
|
98
|
+
}));
|
|
99
|
+
case 'state': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
100
|
+
switch ($[0]) {
|
|
101
|
+
case 'decide': return p_.option($, ($) => sh.e.call(sh.e.property_access(sh.e.call(sh.e.property_access(sh.e.property_access(sh.e.identifier_raw("p_"), sh.identifier_raw("from")), sh.identifier_raw("state")), false, p_.literal.list([
|
|
102
|
+
Select_Value($v_selection),
|
|
103
|
+
])), sh.identifier_raw("decide")), true, p_.literal.list([
|
|
104
|
+
sh.e.arrow_function_with_block(p_.literal.list([
|
|
105
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
106
|
+
]), p_.from.optional($['temp return type']).decide(($) => t_schema_reference_to_typescript_light.Value_Reference($, {
|
|
107
|
+
'schema': sh.identifier_raw("s_target")
|
|
108
|
+
}), () => null), p_.literal.list([
|
|
109
|
+
sh.s.switch_(sh.e.element_access(sh.e.identifier_raw("$"), sh.e.number_literal(0)), p_.literal.chain(p_.from.dictionary($.options
|
|
110
|
+
// p_.from.state($.type).decide(
|
|
111
|
+
// ($): s_in.Expression.from_source.type_.state.decide.options => {
|
|
112
|
+
// switch ($[0]) {
|
|
113
|
+
// case 'partial': return p_.option($, ($) => $.options)
|
|
114
|
+
// case 'full': return p_.option($, ($) => $.options)
|
|
115
|
+
// case 'single': return p_.option($, ($) => single_entry_dictionary($.option, $['if true']))
|
|
116
|
+
// default: return p_.exhaustive($[0])
|
|
117
|
+
// }
|
|
118
|
+
// }
|
|
119
|
+
// )
|
|
120
|
+
).convert_to_list(($, id) => sh.sw.case_(sh.e.string_literal(sh.string_literal(id, 'apostrophe')), sh.s.return_(sh.e.call(sh.e.property_access(sh.e.identifier_raw("p_"), sh.identifier_raw("option")), false, p_.literal.list([
|
|
121
|
+
sh.e.identifier_raw("$"),
|
|
122
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
123
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
124
|
+
]), null, Expresssion($))
|
|
125
|
+
]))))), sh.sw.default_(
|
|
126
|
+
// sh.s.return_(p_.from.state($.type).decide(
|
|
127
|
+
// ($) => {
|
|
128
|
+
// switch ($[0]) {
|
|
129
|
+
// case 'partial': return p_.option($, ($) => Assign($.default))
|
|
130
|
+
// case 'full': return p_.option($, ($) => sh.e.call(
|
|
131
|
+
// sh.e.property_access(
|
|
132
|
+
// sh.e.identifier_raw("pt"),
|
|
133
|
+
// sh.identifier_raw('au'),
|
|
134
|
+
// ),
|
|
135
|
+
// p_.literal.list([
|
|
136
|
+
// sh.e.element_access(
|
|
137
|
+
// sh.e.identifier_raw("$"),
|
|
138
|
+
// sh.e.number_literal(0)
|
|
139
|
+
// )
|
|
140
|
+
// ])
|
|
141
|
+
// ))
|
|
142
|
+
// case 'single': return p_.option($, ($) => Assign($['if false']))
|
|
143
|
+
// default: return p_.exhaustive($[0])
|
|
144
|
+
// }
|
|
145
|
+
// }
|
|
146
|
+
// ))
|
|
147
|
+
sh.s.return_(sh.e.call(sh.e.property_access(sh.e.identifier_raw("p_"), sh.identifier_raw("exhaustive")), false, p_.literal.list([
|
|
148
|
+
sh.e.element_access(sh.e.identifier_raw("$"), sh.e.number_literal(0))
|
|
149
|
+
]))))))
|
|
150
|
+
]))
|
|
151
|
+
])));
|
|
152
|
+
default: return p_.exhaustive($[0]);
|
|
153
|
+
}
|
|
154
|
+
}));
|
|
155
|
+
default: return p_.exhaustive($[0]);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
}));
|
|
159
|
+
case 'implement me': return p_.option($, ($) => sh.e.call(sh.e.identifier_raw("p_implement_me"), false, p_.literal.list([
|
|
160
|
+
sh.e.string_literal(sh.string_literal($.remark, 'quote'))
|
|
161
|
+
])));
|
|
162
|
+
case 'initialize': return p_.option($, ($) => {
|
|
163
|
+
switch ($[0]) {
|
|
164
|
+
case 'dictionary': return p_.option($, ($) => sh.e.call(sh.e.property_access(sh.e.property_access(sh.e.identifier_raw("p_"), sh.identifier_raw("literal")), sh.identifier_raw("dictionary")), false, p_.literal.list([
|
|
165
|
+
sh.e.object_literal(p_.from.dictionary($).convert_to_list(($, id) => ({
|
|
166
|
+
'key': ['string literal', sh.string_literal(id, 'quote')],
|
|
167
|
+
'value': Expresssion($)
|
|
168
|
+
})))
|
|
169
|
+
])));
|
|
170
|
+
case 'group': return p_.option($, ($) => sh.e.object_literal(p_.from.dictionary($).convert_to_list(($, id) => ({
|
|
171
|
+
'key': ['string literal', sh.string_literal(id, 'apostrophe')],
|
|
172
|
+
'value': Expresssion($)
|
|
173
|
+
}))));
|
|
174
|
+
case 'list': return p_.option($, ($) => sh.e.array_literal(p_.from.list($).map(($) => Expresssion($))));
|
|
175
|
+
case 'nothing': return p_.option($, ($) => sh.e.null_());
|
|
176
|
+
case 'number': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
177
|
+
switch ($[0]) {
|
|
178
|
+
case 'integer': return p_.option($, ($) => sh.e.number_literal($));
|
|
179
|
+
case 'natural': return p_.option($, ($) => sh.e.number_literal($));
|
|
180
|
+
default: return p_.exhaustive($[0]);
|
|
181
|
+
}
|
|
182
|
+
}));
|
|
183
|
+
case 'boolean': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
184
|
+
switch ($[0]) {
|
|
185
|
+
case 'false': return p_.option($, ($) => sh.e.false_());
|
|
186
|
+
case 'true': return p_.option($, ($) => sh.e.true_());
|
|
187
|
+
default: return p_.exhaustive($[0]);
|
|
188
|
+
}
|
|
189
|
+
}));
|
|
190
|
+
case 'optional': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
191
|
+
switch ($[0]) {
|
|
192
|
+
case 'not set': return p_.option($, ($) => sh.e.call(sh.e.property_access(sh.e.property_access(sh.e.identifier_raw("p_"), sh.identifier_raw("literal")), sh.identifier_raw("not_set")), false, p_.literal.list([])));
|
|
193
|
+
case 'set': return p_.option($, ($) => sh.e.call(sh.e.property_access(sh.e.property_access(sh.e.identifier_raw("p_"), sh.identifier_raw("literal")), sh.identifier_raw("set")), false, p_.literal.list([
|
|
194
|
+
Expresssion($),
|
|
195
|
+
])));
|
|
196
|
+
default: return p_.exhaustive($[0]);
|
|
197
|
+
}
|
|
198
|
+
}));
|
|
199
|
+
case 'reference': return p_.option($, ($) => sh.e.string_literal(sh.string_literal($, 'apostrophe')));
|
|
200
|
+
case 'state': return p_.option($, ($) => sh.e.array_literal(p_.literal.list([
|
|
201
|
+
sh.e.string_literal(sh.string_literal($.option, 'apostrophe')),
|
|
202
|
+
Expresssion($.data),
|
|
203
|
+
])));
|
|
204
|
+
case 'text': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
205
|
+
switch ($[0]) {
|
|
206
|
+
case 'literal': return p_.option($, ($) => sh.e.string_literal(sh.string_literal($, 'quote')));
|
|
207
|
+
case 'serialize': return p_.option($, ($) => sh.e.call(p_.from.state($.scope).decide(($) => {
|
|
208
|
+
switch ($[0]) {
|
|
209
|
+
case 'external': return p_.option($, ($) => sh.e.property_access(sh.e.identifier_escaped("ser " + $.serializer), sh.identifier_escaped($.function)));
|
|
210
|
+
case 'local': return p_.option($, ($) => sh.e.identifier_escaped($.function));
|
|
211
|
+
default: return p_.exhaustive($[0]);
|
|
212
|
+
}
|
|
213
|
+
}), true, p_.literal.segmented_list([
|
|
214
|
+
p_.literal.list([
|
|
215
|
+
Expresssion($.context),
|
|
216
|
+
]),
|
|
217
|
+
p_.from.state($.arguments).decide(($) => {
|
|
218
|
+
switch ($[0]) {
|
|
219
|
+
case 'omit': return p_.option($, ($) => p_.literal.list([]));
|
|
220
|
+
case 'pass through': return p_.option($, ($) => p_.literal.list([
|
|
221
|
+
sh.e.identifier_raw("$p")
|
|
222
|
+
]));
|
|
223
|
+
case 'initialize': return p_.option($, ($) => p_.literal.list([
|
|
224
|
+
Expresssion($)
|
|
225
|
+
]));
|
|
226
|
+
default: return p_.exhaustive($[0]);
|
|
227
|
+
}
|
|
228
|
+
})
|
|
229
|
+
])));
|
|
230
|
+
default: return p_.exhaustive($[0]);
|
|
231
|
+
}
|
|
232
|
+
}));
|
|
233
|
+
default: return p_.exhaustive($[0]);
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
case 'select': return p_.option($, ($) => Select_Value($));
|
|
237
|
+
default: return p_.exhaustive($[0]);
|
|
238
|
+
}
|
|
239
|
+
});
|
|
8
240
|
export const Root = ($) => {
|
|
9
241
|
return {
|
|
10
242
|
'statements': p_.literal.segmented_list([
|
|
@@ -25,6 +257,34 @@ export const Root = ($) => {
|
|
|
25
257
|
p_.from.optional($['parameters schema']).decide(($) => p_.literal.list([
|
|
26
258
|
sh.s.import_namespace(sh.identifier_raw("s_parameters"), t_schema_reference_to_typescript_light.Schema_Reference($))
|
|
27
259
|
]), () => p_.literal.list([])),
|
|
260
|
+
p_.from.dictionary($.dependencies.serializers).on_has_entries(($) => p_.literal.segmented_list([
|
|
261
|
+
p_.literal.list([
|
|
262
|
+
sh.s.empty_line(),
|
|
263
|
+
sh.s.line_comment("serializer dependencies"),
|
|
264
|
+
]),
|
|
265
|
+
p_.from.dictionary($).convert_to_list(($, id) => sh.s.import_namespace(sh.identifier_escaped("ser " + id), sh.string_literal(p_.from.state($).decide(($) => {
|
|
266
|
+
switch ($[0]) {
|
|
267
|
+
case 'external': return p_.option($, ($) => ser_path.No_Space_Name($.package) + "/modules/" + ser_path.No_Space_Name($.module) + "/schemas/" + ser_path.No_Space_Name($.schema) + "/serializers");
|
|
268
|
+
case 'cousin': return p_.option($, ($) => "../../" + ser_path.No_Space_Name($.schema) + "/serializers.js");
|
|
269
|
+
case 'this schema': return p_.option($, ($) => "../serializers.js");
|
|
270
|
+
default: return p_.exhaustive($[0]);
|
|
271
|
+
}
|
|
272
|
+
}), 'quote')))
|
|
273
|
+
]), () => p_.literal.list([])),
|
|
274
|
+
p_.from.dictionary($.dependencies.transformers).on_has_entries(($) => p_.literal.segmented_list([
|
|
275
|
+
p_.literal.list([
|
|
276
|
+
sh.s.empty_line(),
|
|
277
|
+
sh.s.line_comment("transformer dependencies"),
|
|
278
|
+
]),
|
|
279
|
+
p_.from.dictionary($).convert_to_list(($, id) => sh.s.import_namespace(sh.identifier_escaped("t " + id), sh.string_literal(p_.from.state($).decide(($) => {
|
|
280
|
+
switch ($[0]) {
|
|
281
|
+
case 'external': return p_.option($, ($) => ser_path.No_Space_Name($.package) + "/modules/" + ser_path.No_Space_Name($.module) + "/schemas/" + ser_path.No_Space_Name($.schema) + "/transformers/" + ser_path.No_Space_Name($.transformer));
|
|
282
|
+
case 'cousin': return p_.option($, ($) => "../../" + ser_path.No_Space_Name($.schema) + "/transformers/" + ser_path.No_Space_Name($.transformer) + ".js");
|
|
283
|
+
case 'sibling': return p_.option($, ($) => "./" + ser_path.No_Space_Name($.transformer) + ".js");
|
|
284
|
+
default: return p_.exhaustive($[0]);
|
|
285
|
+
}
|
|
286
|
+
}), 'quote')))
|
|
287
|
+
]), () => p_.literal.list([])),
|
|
28
288
|
p_.literal.list([
|
|
29
289
|
sh.s.empty_line(),
|
|
30
290
|
sh.s.namespace(true, sh.identifier_raw("declarations"), p_.from.list(p_.from.dictionary($.declarations).convert_to_list(//create a type alias for each Pareto type
|
|
@@ -32,33 +292,23 @@ export const Root = ($) => {
|
|
|
32
292
|
sh.s.empty_line(),
|
|
33
293
|
sh.s.type_alias(true, sh.identifier_escaped(id), p_.literal.list([]), sh.t.type_reference(sh.identifier_raw("p_"), p_.literal.list([
|
|
34
294
|
sh.identifier_raw("Transformer"
|
|
35
|
-
+ p_.from.optional($.
|
|
295
|
+
+ p_.from.optional($.parameters).decide(($) => "_With_Parameter", () => ""))
|
|
36
296
|
]), p_.literal.segmented_list([
|
|
37
297
|
p_.literal.list([
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
switch ($[0]) {
|
|
47
|
-
case 'dictionary': return p_.option($, ($) => sh.identifier_raw("D"));
|
|
48
|
-
case 'group': return p_.option($, ($) => sh.identifier_escaped($.property));
|
|
49
|
-
case 'list': return p_.option($, ($) => sh.identifier_raw("L"));
|
|
50
|
-
case 'optional': return p_.option($, ($) => sh.identifier_raw("O"));
|
|
51
|
-
case 'state': return p_.option($, ($) => sh.identifier_escaped($.option));
|
|
52
|
-
default: return p_.exhaustive($[0]);
|
|
53
|
-
}
|
|
54
|
-
}))
|
|
55
|
-
]), p_.literal.list([])),
|
|
298
|
+
t_schema_reference_to_typescript_light.Type_Reference({
|
|
299
|
+
'type': id
|
|
300
|
+
}, {
|
|
301
|
+
'schema': sh.identifier_raw("s_source")
|
|
302
|
+
}),
|
|
303
|
+
t_schema_reference_to_typescript_light.Value_Reference($.target, {
|
|
304
|
+
'schema': sh.identifier_raw("s_target")
|
|
305
|
+
}),
|
|
56
306
|
]),
|
|
57
|
-
p_.from.optional($.
|
|
58
|
-
|
|
59
|
-
sh.
|
|
60
|
-
|
|
61
|
-
]), () => p_.literal.list([]))
|
|
307
|
+
p_.from.optional($.parameters).decide(($) => p_.literal.list([
|
|
308
|
+
t_schema_reference_to_typescript_light.Type_Reference($, {
|
|
309
|
+
'schema': sh.identifier_raw("s_parameters")
|
|
310
|
+
})
|
|
311
|
+
]), () => p_.literal.list([])),
|
|
62
312
|
])))
|
|
63
313
|
]))).flatten(($) => $)),
|
|
64
314
|
sh.s.empty_line(),
|
|
@@ -69,19 +319,52 @@ export const Root = ($) => {
|
|
|
69
319
|
sh.s.empty_line(),
|
|
70
320
|
sh.s.variable(true, true, sh.identifier_escaped(id), sh.t.type_reference(sh.identifier_raw("declarations"), p_.literal.list([
|
|
71
321
|
sh.identifier_escaped(id)
|
|
72
|
-
]), p_.literal.segmented_list([])), sh.e.arrow_function_with_expression(p_.literal.
|
|
73
|
-
|
|
322
|
+
]), p_.literal.segmented_list([])), sh.e.arrow_function_with_expression(p_.literal.segmented_list([
|
|
323
|
+
p_.literal.list([
|
|
324
|
+
sh.parameter(sh.identifier_raw("$"), null),
|
|
325
|
+
]),
|
|
326
|
+
$['temp has parameters']
|
|
327
|
+
? p_.literal.list([
|
|
328
|
+
sh.parameter(sh.identifier_raw("$p"), null),
|
|
329
|
+
])
|
|
330
|
+
: p_.literal.list([])
|
|
74
331
|
]), null, Expresssion($.expression)))
|
|
75
332
|
]))).flatten(($) => $),
|
|
76
333
|
])
|
|
77
334
|
};
|
|
78
335
|
};
|
|
79
|
-
export const
|
|
336
|
+
export const Select_Value = ($) => p_.from.state($).decide(($) => {
|
|
80
337
|
switch ($[0]) {
|
|
81
|
-
case '
|
|
82
|
-
|
|
338
|
+
case 'call': return p_.option($, ($) => sh.e.call(p_.from.state($.scope).decide(($) => {
|
|
339
|
+
switch ($[0]) {
|
|
340
|
+
case 'external': return p_.option($, ($) => sh.e.property_access(sh.e.identifier_escaped("t " + $.transformer), sh.identifier_escaped($.function)));
|
|
341
|
+
case 'local': return p_.option($, ($) => sh.e.identifier_escaped($.function));
|
|
342
|
+
default: return p_.exhaustive($[0]);
|
|
343
|
+
}
|
|
344
|
+
}), true, p_.literal.segmented_list([
|
|
345
|
+
p_.literal.list([
|
|
346
|
+
Select_Value($.context),
|
|
347
|
+
]),
|
|
348
|
+
p_.from.state($.arguments).decide(($) => {
|
|
349
|
+
switch ($[0]) {
|
|
350
|
+
case 'omit': return p_.option($, ($) => p_.literal.list([]));
|
|
351
|
+
case 'pass through': return p_.option($, ($) => p_.literal.list([
|
|
352
|
+
sh.e.identifier_raw("$p")
|
|
353
|
+
]));
|
|
354
|
+
case 'initialize': return p_.option($, ($) => p_.literal.list([
|
|
355
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
356
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
357
|
+
]), null, Expresssion($))
|
|
358
|
+
]));
|
|
359
|
+
default: return p_.exhaustive($[0]);
|
|
360
|
+
}
|
|
361
|
+
})
|
|
83
362
|
])));
|
|
363
|
+
case 'context value': return p_.option($, ($) => Value_Selection_Tail($.tail, {
|
|
364
|
+
'start': sh.e.identifier_raw("$"),
|
|
365
|
+
}));
|
|
84
366
|
default: return p_.exhaustive($[0]);
|
|
85
367
|
}
|
|
86
368
|
});
|
|
87
|
-
|
|
369
|
+
export const Value_Selection_Tail = ($, $p) => p_.from.list($).reduce_to_any_value($p.start, ($, current) => sh.e.element_access(current, sh.e.string_literal(sh.string_literal($, 'apostrophe'))));
|
|
370
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdF9saWdodC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BhcmV0b19uZXcvc2NoZW1hcy90cmFuc2Zvcm1lci90cmFuc2Zvcm1lcnMvdHlwZXNjcmlwdF9saWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzdDLE9BQU8sV0FBVyxNQUFNLDRDQUE0QyxDQUFBO0FBMkJwRSxPQUFPLEtBQUssSUFBSSxNQUFNLGNBQWMsQ0FBQTtBQUNwQyxPQUFPLEtBQUssS0FBSyxNQUFNLGlFQUFpRSxDQUFBO0FBRXhGLFlBQVk7QUFDWixPQUFPLEtBQUssRUFBRSxNQUFNLDRFQUE0RSxDQUFBO0FBRWhHLGNBQWM7QUFDZCxPQUFPLEtBQUssc0NBQXNDLE1BQU0seURBQXlELENBQUE7QUFDakgsT0FBTyxLQUFLLFFBQVEsTUFBTSw2RUFBNkUsQ0FBQTtBQUl2RyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQTRCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQzlFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1gsS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN2RCxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FDaEIsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQ3pCLEVBQUUsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FDdEMsRUFDRCxJQUFJLEVBQ0osRUFBRSxDQUFD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
|