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
|
@@ -6,6 +6,7 @@ import * as s_out from "../../../../typescript_light/schemas/typescript_light/sc
|
|
|
6
6
|
import * as sh from "../../../../typescript_light/schemas/typescript_light/shorthands/target.js";
|
|
7
7
|
//dependencies
|
|
8
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";
|
|
9
10
|
export const Root = ($) => {
|
|
10
11
|
const $v_source_schema_id = "FIXME_SSI";
|
|
11
12
|
const $v_target_schema_id = "FIXME_TSI";
|
|
@@ -27,19 +28,54 @@ export const Root = ($) => {
|
|
|
27
28
|
sh.s.import_namespace(sh.identifier_raw("s_target"), sh.string_literal("../schema.js", 'quote')),
|
|
28
29
|
sh.s.import_namespace(sh.identifier_raw("s_source"), t_schema_reference_to_typescript_light.Schema_Reference($['source schema'])),
|
|
29
30
|
]),
|
|
31
|
+
p_.from.optional($['error schema']).decide(($) => p_.literal.list([
|
|
32
|
+
sh.s.import_namespace(sh.identifier_raw("s_error"), t_schema_reference_to_typescript_light.Schema_Reference($)),
|
|
33
|
+
]), () => p_.literal.list([])),
|
|
34
|
+
p_.from.optional($['parameters schema']).decide(($) => p_.literal.list([
|
|
35
|
+
sh.s.import_namespace(sh.identifier_raw("s_parameters"), t_schema_reference_to_typescript_light.Schema_Reference($)),
|
|
36
|
+
]), () => p_.literal.list([])),
|
|
37
|
+
p_.from.dictionary($.dependencies.deserializers).on_has_entries(($) => p_.literal.segmented_list([
|
|
38
|
+
p_.literal.list([
|
|
39
|
+
sh.s.empty_line(),
|
|
40
|
+
sh.s.line_comment("deserializer dependencies"),
|
|
41
|
+
]),
|
|
42
|
+
p_.from.dictionary($).convert_to_list(($, id) => sh.s.import_namespace(sh.identifier_escaped("deser " + id), sh.string_literal(p_.from.state($).decide(($) => {
|
|
43
|
+
switch ($[0]) {
|
|
44
|
+
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) + "/deserializers");
|
|
45
|
+
case 'cousin': return p_.option($, ($) => "../../" + ser_path.No_Space_Name($.schema) + "/deserializers.js");
|
|
46
|
+
case 'this schema': return p_.option($, ($) => "../deserializers.js");
|
|
47
|
+
default: return p_.exhaustive($[0]);
|
|
48
|
+
}
|
|
49
|
+
}), 'quote')))
|
|
50
|
+
]), () => p_.literal.list([])),
|
|
51
|
+
p_.from.dictionary($.dependencies.refiners).on_has_entries(($) => p_.literal.segmented_list([
|
|
52
|
+
p_.literal.list([
|
|
53
|
+
sh.s.empty_line(),
|
|
54
|
+
sh.s.line_comment("refiner dependencies"),
|
|
55
|
+
]),
|
|
56
|
+
p_.from.dictionary($).convert_to_list(($, id) => sh.s.import_namespace(sh.identifier_escaped("r " + id), sh.string_literal(p_.from.state($).decide(($) => {
|
|
57
|
+
switch ($[0]) {
|
|
58
|
+
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) + "/refiners/" + ser_path.No_Space_Name($.refiner));
|
|
59
|
+
case 'cousin': return p_.option($, ($) => "../../" + ser_path.No_Space_Name($.schema) + "/refiners/" + ser_path.No_Space_Name($.refiner) + ".js");
|
|
60
|
+
case 'sibling': return p_.option($, ($) => "./" + ser_path.No_Space_Name($.refiner) + ".js");
|
|
61
|
+
default: return p_.exhaustive($[0]);
|
|
62
|
+
}
|
|
63
|
+
}), 'quote')))
|
|
64
|
+
]), () => p_.literal.list([])),
|
|
30
65
|
p_.literal.list([
|
|
31
66
|
sh.s.empty_line(),
|
|
32
67
|
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
|
|
33
68
|
($, id) => p_.literal.list([
|
|
34
69
|
sh.s.empty_line(),
|
|
35
70
|
sh.s.type_alias(true, sh.identifier_escaped(id), p_.literal.list([]), sh.t.type_reference(sh.identifier_raw("p_"), p_.literal.list([
|
|
36
|
-
sh.identifier_raw("
|
|
37
|
-
+ p_.from.optional($.
|
|
71
|
+
sh.identifier_raw("Refiner"
|
|
72
|
+
+ p_.from.optional($.error).decide(($) => "", () => "_Without_Error")
|
|
73
|
+
+ p_.from.optional($.parameters).decide(($) => "_With_Parameter", () => ""))
|
|
38
74
|
]), p_.literal.segmented_list([
|
|
39
75
|
p_.literal.list([
|
|
40
76
|
sh.t.type_reference(sh.identifier_raw("s_target"), p_.literal.segmented_list([
|
|
41
77
|
p_.literal.list([
|
|
42
|
-
|
|
78
|
+
sh.identifier_escaped(id)
|
|
43
79
|
]),
|
|
44
80
|
// p_.from.list($['target value']['sub selection']).map(
|
|
45
81
|
// ($) => p_.from.state($).decide(
|
|
@@ -56,17 +92,33 @@ export const Root = ($) => {
|
|
|
56
92
|
// )
|
|
57
93
|
// )
|
|
58
94
|
]), p_.literal.list([])),
|
|
59
|
-
sh.t.type_reference(sh.identifier_raw("s_source"), p_.literal.list([
|
|
60
|
-
sh.identifier_escaped(id)
|
|
61
|
-
]), p_.literal.list([])),
|
|
62
95
|
]),
|
|
63
|
-
p_.from.optional($.
|
|
64
|
-
|
|
65
|
-
sh.
|
|
66
|
-
|
|
67
|
-
]), () => p_.literal.list([]))
|
|
96
|
+
p_.from.optional($.error).decide(($) => p_.literal.list([
|
|
97
|
+
t_schema_reference_to_typescript_light.Type_Reference($, {
|
|
98
|
+
'schema': sh.identifier_raw("s_error")
|
|
99
|
+
})
|
|
100
|
+
]), () => p_.literal.list([])),
|
|
101
|
+
p_.literal.list([
|
|
102
|
+
p_.from.state($.source).decide(($) => {
|
|
103
|
+
switch ($[0]) {
|
|
104
|
+
case 'value': return p_.option($, ($) => t_schema_reference_to_typescript_light.Type_Reference($, {
|
|
105
|
+
'schema': sh.identifier_raw("s_source")
|
|
106
|
+
}));
|
|
107
|
+
case 'iterator': return p_.option($, ($) => t_schema_reference_to_typescript_light.Type_Reference($, {
|
|
108
|
+
'schema': sh.identifier_raw("FIXME ITERATOR")
|
|
109
|
+
}));
|
|
110
|
+
default: return p_.exhaustive($[0]);
|
|
111
|
+
}
|
|
112
|
+
}),
|
|
113
|
+
]),
|
|
114
|
+
p_.from.optional($.parameters).decide(($) => p_.literal.list([
|
|
115
|
+
t_schema_reference_to_typescript_light.Type_Reference($, {
|
|
116
|
+
'schema': sh.identifier_raw("s_parameters")
|
|
117
|
+
})
|
|
118
|
+
]), () => p_.literal.list([])),
|
|
68
119
|
])))
|
|
69
120
|
]))).flatten(($) => $)),
|
|
121
|
+
sh.s.empty_line(),
|
|
70
122
|
sh.s.line_comment("implementations"),
|
|
71
123
|
]),
|
|
72
124
|
p_.from.list(p_.from.dictionary($.implementations).convert_to_list(//create a variable for each type transformer
|
|
@@ -74,8 +126,20 @@ export const Root = ($) => {
|
|
|
74
126
|
sh.s.empty_line(),
|
|
75
127
|
sh.s.variable(true, true, sh.identifier_escaped(id), sh.t.type_reference(sh.identifier_raw("declarations"), p_.literal.list([
|
|
76
128
|
sh.identifier_escaped(id)
|
|
77
|
-
]), p_.literal.segmented_list([])), sh.e.arrow_function_with_expression(p_.literal.
|
|
78
|
-
|
|
129
|
+
]), p_.literal.segmented_list([])), sh.e.arrow_function_with_expression(p_.literal.segmented_list([
|
|
130
|
+
p_.literal.list([
|
|
131
|
+
sh.parameter(sh.identifier_raw("$"), null),
|
|
132
|
+
]),
|
|
133
|
+
$['temp has error']
|
|
134
|
+
? p_.literal.list([
|
|
135
|
+
sh.parameter(sh.identifier_raw("abort"), null),
|
|
136
|
+
])
|
|
137
|
+
: p_.literal.list([]),
|
|
138
|
+
$['temp has parameters']
|
|
139
|
+
? p_.literal.list([
|
|
140
|
+
sh.parameter(sh.identifier_raw("$p"), null),
|
|
141
|
+
])
|
|
142
|
+
: p_.literal.list([]),
|
|
79
143
|
]), null, Expresssion($.expression)))
|
|
80
144
|
]))).flatten(($) => $),
|
|
81
145
|
])
|
|
@@ -83,19 +147,300 @@ export const Root = ($) => {
|
|
|
83
147
|
};
|
|
84
148
|
export const Expresssion = ($) => p_.from.state($).decide(($) => {
|
|
85
149
|
switch ($[0]) {
|
|
86
|
-
case '
|
|
87
|
-
|
|
150
|
+
case 'abort': return p_.option($, ($) => sh.e.call(sh.e.identifier_raw("abort"), true, p_.literal.list([
|
|
151
|
+
Expresssion($)
|
|
152
|
+
])));
|
|
153
|
+
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([
|
|
154
|
+
Select_Value($.select),
|
|
155
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
156
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
157
|
+
]), null, Expresssion($.callback))
|
|
158
|
+
])));
|
|
159
|
+
case 'convert': return p_.option($, ($) => p_variables(() => {
|
|
160
|
+
const $v_selection = $.select;
|
|
88
161
|
return p_.from.state($.type).decide(($) => {
|
|
89
162
|
switch ($[0]) {
|
|
90
|
-
case '
|
|
163
|
+
case 'component': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
164
|
+
switch ($[0]) {
|
|
165
|
+
case 'transform': return p_.option($, ($) => sh.e.call(p_.from.state($.scope).decide(($) => {
|
|
166
|
+
switch ($[0]) {
|
|
167
|
+
case 'external': return p_.option($, ($) => sh.e.property_access(sh.e.identifier_escaped("t " + $.refiner), sh.identifier_escaped($.function)));
|
|
168
|
+
case 'local': return p_.option($, ($) => sh.e.identifier_escaped($.function));
|
|
169
|
+
default: return p_.exhaustive($[0]);
|
|
170
|
+
}
|
|
171
|
+
}), true, p_.literal.segmented_list([
|
|
172
|
+
p_.literal.list([
|
|
173
|
+
Select_Value($v_selection),
|
|
174
|
+
]),
|
|
175
|
+
p_.from.state($.error).decide(($) => {
|
|
176
|
+
switch ($[0]) {
|
|
177
|
+
case 'omit': return p_.option($, ($) => p_.literal.list([]));
|
|
178
|
+
case 'pass through': return p_.option($, ($) => p_.literal.list([
|
|
179
|
+
sh.e.identifier_raw("abort")
|
|
180
|
+
]));
|
|
181
|
+
case 'handle': return p_.option($, ($) => p_.literal.list([
|
|
182
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
183
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
184
|
+
]), null, sh.e.call(sh.e.identifier_raw("abort"), false, p_.literal.list([
|
|
185
|
+
Expresssion($)
|
|
186
|
+
])))
|
|
187
|
+
]));
|
|
188
|
+
default: return p_.exhaustive($[0]);
|
|
189
|
+
}
|
|
190
|
+
}),
|
|
191
|
+
p_.from.state($.arguments).decide(($) => {
|
|
192
|
+
switch ($[0]) {
|
|
193
|
+
case 'omit': return p_.option($, ($) => p_.literal.list([]));
|
|
194
|
+
case 'pass through': return p_.option($, ($) => p_.literal.list([
|
|
195
|
+
sh.e.identifier_raw("$p")
|
|
196
|
+
]));
|
|
197
|
+
case 'initialize': return p_.option($, ($) => p_.literal.list([
|
|
198
|
+
Expresssion($)
|
|
199
|
+
]));
|
|
200
|
+
default: return p_.exhaustive($[0]);
|
|
201
|
+
}
|
|
202
|
+
})
|
|
203
|
+
])));
|
|
204
|
+
default: return p_.exhaustive($[0]);
|
|
205
|
+
}
|
|
206
|
+
}));
|
|
207
|
+
case 'dictionary': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
208
|
+
switch ($[0]) {
|
|
209
|
+
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([
|
|
210
|
+
Select_Value($v_selection),
|
|
211
|
+
])), sh.identifier_raw("map")), true, p_.literal.list([
|
|
212
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
213
|
+
sh.parameter(sh.identifier_raw("$"), null),
|
|
214
|
+
sh.parameter(sh.identifier_raw("id"), null),
|
|
215
|
+
]), null, Expresssion($['on entry']))
|
|
216
|
+
])));
|
|
217
|
+
default: return p_.exhaustive($[0]);
|
|
218
|
+
}
|
|
219
|
+
}));
|
|
220
|
+
case 'list': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
221
|
+
switch ($[0]) {
|
|
222
|
+
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([
|
|
223
|
+
Select_Value($v_selection),
|
|
224
|
+
])), sh.identifier_raw("map")), true, p_.literal.list([
|
|
225
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
226
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
227
|
+
]), null, Expresssion($['on item']))
|
|
228
|
+
])));
|
|
229
|
+
default: return p_.exhaustive($[0]);
|
|
230
|
+
}
|
|
231
|
+
}));
|
|
232
|
+
case 'optional': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
233
|
+
switch ($[0]) {
|
|
234
|
+
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([
|
|
235
|
+
Select_Value($v_selection),
|
|
236
|
+
])), sh.identifier_raw("decide")), true, p_.literal.list([
|
|
237
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
238
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
239
|
+
]), p_.from.optional($['temp return type']).decide(($) => t_schema_reference_to_typescript_light.Value_Reference($, {
|
|
240
|
+
'schema': sh.identifier_raw("s_target")
|
|
241
|
+
}), () => null), Expresssion($['on set'])),
|
|
242
|
+
sh.e.arrow_function_with_expression(p_.literal.list([]), p_.from.optional($['temp return type']).decide(($) => t_schema_reference_to_typescript_light.Value_Reference($, {
|
|
243
|
+
'schema': sh.identifier_raw("s_target")
|
|
244
|
+
}), () => null), Expresssion($['on not set'])),
|
|
245
|
+
])));
|
|
246
|
+
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([
|
|
247
|
+
Select_Value($v_selection),
|
|
248
|
+
])), sh.identifier_raw("map")), true, p_.literal.list([
|
|
249
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
250
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
251
|
+
]), null, Expresssion($['on set'])),
|
|
252
|
+
])));
|
|
253
|
+
default: return p_.exhaustive($[0]);
|
|
254
|
+
}
|
|
255
|
+
}));
|
|
256
|
+
case 'state': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
257
|
+
switch ($[0]) {
|
|
258
|
+
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([
|
|
259
|
+
Select_Value($v_selection),
|
|
260
|
+
])), sh.identifier_raw("decide")), true, p_.literal.list([
|
|
261
|
+
sh.e.arrow_function_with_block(p_.literal.list([
|
|
262
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
263
|
+
]), p_.from.optional($['temp return type']).decide(($) => t_schema_reference_to_typescript_light.Value_Reference($, {
|
|
264
|
+
'schema': sh.identifier_raw("s_target")
|
|
265
|
+
}), () => null), p_.literal.list([
|
|
266
|
+
sh.s.switch_(sh.e.element_access(sh.e.identifier_raw("$"), sh.e.number_literal(0)), p_.literal.chain(p_.from.dictionary($.options
|
|
267
|
+
// p_.from.state($.type).decide(
|
|
268
|
+
// ($): s_in.Expression.from_source.type_.state.decide.options => {
|
|
269
|
+
// switch ($[0]) {
|
|
270
|
+
// case 'partial': return p_.option($, ($) => $.options)
|
|
271
|
+
// case 'full': return p_.option($, ($) => $.options)
|
|
272
|
+
// case 'single': return p_.option($, ($) => single_entry_dictionary($.option, $['if true']))
|
|
273
|
+
// default: return p_.exhaustive($[0])
|
|
274
|
+
// }
|
|
275
|
+
// }
|
|
276
|
+
// )
|
|
277
|
+
).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([
|
|
278
|
+
sh.e.identifier_raw("$"),
|
|
279
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
280
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
281
|
+
]), null, Expresssion($))
|
|
282
|
+
]))))), sh.sw.default_(
|
|
283
|
+
// sh.s.return_(p_.from.state($.type).decide(
|
|
284
|
+
// ($) => {
|
|
285
|
+
// switch ($[0]) {
|
|
286
|
+
// case 'partial': return p_.option($, ($) => Assign($.default))
|
|
287
|
+
// case 'full': return p_.option($, ($) => sh.e.call(
|
|
288
|
+
// sh.e.property_access(
|
|
289
|
+
// sh.e.identifier_raw("pt"),
|
|
290
|
+
// sh.identifier_raw('au'),
|
|
291
|
+
// ),
|
|
292
|
+
// p_.literal.list([
|
|
293
|
+
// sh.e.element_access(
|
|
294
|
+
// sh.e.identifier_raw("$"),
|
|
295
|
+
// sh.e.number_literal(0)
|
|
296
|
+
// )
|
|
297
|
+
// ])
|
|
298
|
+
// ))
|
|
299
|
+
// case 'single': return p_.option($, ($) => Assign($['if false']))
|
|
300
|
+
// default: return p_.exhaustive($[0])
|
|
301
|
+
// }
|
|
302
|
+
// }
|
|
303
|
+
// ))
|
|
304
|
+
sh.s.return_(sh.e.call(sh.e.property_access(sh.e.identifier_raw("p_"), sh.identifier_raw("exhaustive")), false, p_.literal.list([
|
|
305
|
+
sh.e.element_access(sh.e.identifier_raw("$"), sh.e.number_literal(0))
|
|
306
|
+
]))))))
|
|
307
|
+
]))
|
|
308
|
+
])));
|
|
309
|
+
default: return p_.exhaustive($[0]);
|
|
310
|
+
}
|
|
311
|
+
}));
|
|
312
|
+
case 'text': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
313
|
+
switch ($[0]) {
|
|
314
|
+
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("text")), false, p_.literal.list([
|
|
315
|
+
Select_Value($v_selection),
|
|
316
|
+
])), sh.identifier_raw("to_state")), true, p_.literal.list([
|
|
317
|
+
sh.e.arrow_function_with_block(p_.literal.list([
|
|
318
|
+
sh.parameter(sh.identifier_raw("$text"), null)
|
|
319
|
+
]), p_.from.optional($['temp return type']).decide(($) => t_schema_reference_to_typescript_light.Value_Reference($, {
|
|
320
|
+
'schema': sh.identifier_raw("s_target")
|
|
321
|
+
}), () => null), p_.literal.list([
|
|
322
|
+
sh.s.switch_(sh.e.identifier_raw("$text"), p_.literal.chain(p_.from.dictionary($.matches
|
|
323
|
+
// p_.from.state($.type).decide(
|
|
324
|
+
// ($): s_in.Expression.from_source.type_.state.decide.options => {
|
|
325
|
+
// switch ($[0]) {
|
|
326
|
+
// case 'partial': return p_.option($, ($) => $.options)
|
|
327
|
+
// case 'full': return p_.option($, ($) => $.options)
|
|
328
|
+
// case 'single': return p_.option($, ($) => single_entry_dictionary($.option, $['if true']))
|
|
329
|
+
// default: return p_.exhaustive($[0])
|
|
330
|
+
// }
|
|
331
|
+
// }
|
|
332
|
+
// )
|
|
333
|
+
).convert_to_list(($, id) => sh.sw.case_(sh.e.string_literal(sh.string_literal(id, 'quote')), sh.s.return_(Expresssion($)))), sh.sw.default_(sh.s.return_(Expresssion($['no match'])))))
|
|
334
|
+
]))
|
|
335
|
+
])));
|
|
336
|
+
default: return p_.exhaustive($[0]);
|
|
337
|
+
}
|
|
338
|
+
}));
|
|
91
339
|
default: return p_.exhaustive($[0]);
|
|
92
340
|
}
|
|
93
341
|
});
|
|
94
342
|
}));
|
|
95
|
-
case 'implement me': return p_.option($, ($) => sh.e.call(sh.e.identifier_raw("p_implement_me"), p_.literal.list([
|
|
343
|
+
case 'implement me': return p_.option($, ($) => sh.e.call(sh.e.identifier_raw("p_implement_me"), false, p_.literal.list([
|
|
96
344
|
sh.e.string_literal(sh.string_literal($.remark, 'quote'))
|
|
97
345
|
])));
|
|
346
|
+
case 'initialize': return p_.option($, ($) => {
|
|
347
|
+
switch ($[0]) {
|
|
348
|
+
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([
|
|
349
|
+
sh.e.object_literal(p_.from.dictionary($).convert_to_list(($, id) => ({
|
|
350
|
+
'key': ['string literal', sh.string_literal(id, 'quote')],
|
|
351
|
+
'value': Expresssion($)
|
|
352
|
+
})))
|
|
353
|
+
])));
|
|
354
|
+
case 'group': return p_.option($, ($) => sh.e.object_literal(p_.from.dictionary($).convert_to_list(($, id) => ({
|
|
355
|
+
'key': ['string literal', sh.string_literal(id, 'apostrophe')],
|
|
356
|
+
'value': Expresssion($)
|
|
357
|
+
}))));
|
|
358
|
+
case 'list': return p_.option($, ($) => sh.e.array_literal(p_.from.list($).map(($) => Expresssion($))));
|
|
359
|
+
case 'nothing': return p_.option($, ($) => sh.e.null_());
|
|
360
|
+
case 'number': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
361
|
+
switch ($[0]) {
|
|
362
|
+
case 'natural': return p_.option($, ($) => sh.e.number_literal($));
|
|
363
|
+
case 'integer': return p_.option($, ($) => sh.e.number_literal($));
|
|
364
|
+
default: return p_.exhaustive($[0]);
|
|
365
|
+
}
|
|
366
|
+
}));
|
|
367
|
+
case 'boolean': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
368
|
+
switch ($[0]) {
|
|
369
|
+
case 'false': return p_.option($, ($) => sh.e.false_());
|
|
370
|
+
case 'true': return p_.option($, ($) => sh.e.true_());
|
|
371
|
+
default: return p_.exhaustive($[0]);
|
|
372
|
+
}
|
|
373
|
+
}));
|
|
374
|
+
case 'optional': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
375
|
+
switch ($[0]) {
|
|
376
|
+
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([])));
|
|
377
|
+
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([
|
|
378
|
+
Expresssion($),
|
|
379
|
+
])));
|
|
380
|
+
default: return p_.exhaustive($[0]);
|
|
381
|
+
}
|
|
382
|
+
}));
|
|
383
|
+
case 'reference': return p_.option($, ($) => sh.e.string_literal(sh.string_literal($, 'apostrophe')));
|
|
384
|
+
case 'state': return p_.option($, ($) => sh.e.array_literal(p_.literal.list([
|
|
385
|
+
sh.e.string_literal(sh.string_literal($.option, 'apostrophe')),
|
|
386
|
+
Expresssion($.data),
|
|
387
|
+
])));
|
|
388
|
+
case 'text': return p_.option($, ($) => sh.e.string_literal(sh.string_literal($, 'quote')));
|
|
389
|
+
default: return p_.exhaustive($[0]);
|
|
390
|
+
}
|
|
391
|
+
});
|
|
392
|
+
case 'select': return p_.option($, ($) => Select_Value($));
|
|
393
|
+
default: return p_.exhaustive($[0]);
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
export const Select_Value = ($) => p_.from.state($).decide(($) => {
|
|
397
|
+
switch ($[0]) {
|
|
398
|
+
case 'context value': return p_.option($, ($) => Value_Selection_Tail($.tail, {
|
|
399
|
+
'start': sh.e.identifier_raw("$"),
|
|
400
|
+
}));
|
|
401
|
+
case 'call': return p_.option($, ($) => Value_Selection_Tail($.tail, {
|
|
402
|
+
'start': sh.e.call(p_.from.state($.scope).decide(($) => {
|
|
403
|
+
switch ($[0]) {
|
|
404
|
+
case 'external': return p_.option($, ($) => sh.e.property_access(sh.e.identifier_escaped("r " + $.refiner), sh.identifier_escaped($.function)));
|
|
405
|
+
case 'local': return p_.option($, ($) => sh.e.identifier_escaped($.function));
|
|
406
|
+
default: return p_.exhaustive($[0]);
|
|
407
|
+
}
|
|
408
|
+
}), true, p_.literal.segmented_list([
|
|
409
|
+
p_.literal.list([
|
|
410
|
+
Select_Value($.context),
|
|
411
|
+
]),
|
|
412
|
+
p_.from.state($.error).decide(($) => {
|
|
413
|
+
switch ($[0]) {
|
|
414
|
+
case 'omit': return p_.option($, ($) => p_.literal.list([]));
|
|
415
|
+
case 'pass through': return p_.option($, ($) => p_.literal.list([
|
|
416
|
+
sh.e.identifier_raw("abort")
|
|
417
|
+
]));
|
|
418
|
+
case 'handle': return p_.option($, ($) => p_.literal.list([
|
|
419
|
+
sh.e.arrow_function_with_expression(p_.literal.list([
|
|
420
|
+
sh.parameter(sh.identifier_raw("$"), null)
|
|
421
|
+
]), null, sh.e.call(sh.e.identifier_raw("abort"), false, p_.literal.list([
|
|
422
|
+
Expresssion($.expression)
|
|
423
|
+
])))
|
|
424
|
+
]));
|
|
425
|
+
default: return p_.exhaustive($[0]);
|
|
426
|
+
}
|
|
427
|
+
}),
|
|
428
|
+
p_.from.state($.arguments).decide(($) => {
|
|
429
|
+
switch ($[0]) {
|
|
430
|
+
case 'omit': return p_.option($, ($) => p_.literal.list([]));
|
|
431
|
+
case 'pass through': return p_.option($, ($) => p_.literal.list([
|
|
432
|
+
sh.e.identifier_raw("$p")
|
|
433
|
+
]));
|
|
434
|
+
case 'initialize': return p_.option($, ($) => p_.literal.list([
|
|
435
|
+
Expresssion($.expression)
|
|
436
|
+
]));
|
|
437
|
+
default: return p_.exhaustive($[0]);
|
|
438
|
+
}
|
|
439
|
+
})
|
|
440
|
+
]))
|
|
441
|
+
}));
|
|
98
442
|
default: return p_.exhaustive($[0]);
|
|
99
443
|
}
|
|
100
444
|
});
|
|
101
|
-
|
|
445
|
+
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'))));
|
|
446
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdF9saWdodC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BhcmV0b19uZXcvc2NoZW1hcy9yZWZpbmVyL3RyYW5zZm9ybWVycy90eXBlc2NyaXB0X2xpZ2h0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDN0MsT0FBTyxXQUFXLE1BQU0sNENBQTRDLENBQUE7QUFFcEUsT0FBTyxLQUFLLElBQUksTUFBTSxjQUFjLENBQUE7QUFDcEMsT0FBTyxLQUFLLEtBQUssTUFBTSxpRUFBaUUsQ0FBQTtBQTRCeEYsWUFBWTtBQUNaLE9BQU8sS0FBSyxFQUFFLE1BQU0sNEVBQTRFLENBQUE7QUFFaEcsY0FBYztBQUNkLE9BQU8sS0FBSyxzQ0FBc0MsTUFBTSx5REFBeUQsQ0FBQTtBQUNqSCxPQUFPLEtBQUssUUFBUSxNQUFNLDZFQUE2RSxDQUFBO0FBRXZHLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBc0IsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUN6QyxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQTtJQUN2QyxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQTtJQUN2QyxNQUFNLGtCQUFrQixHQUFHLFdBQVcsQ0FBQTtJQUN0QyxNQUFNLHVCQUF1QixHQUFHLFdBQVcsQ0FBQTtJQUMzQyxPQUFPO1FBQ0gsWUFBWSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQ3BDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNaLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQ2pCLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQ3ZCLEVBQUUsQ0FBQyxjQUFjLENBQUMscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQ3pEO2FBQ0osQ0FBQztZQUNGLENBQUMsQ0FBQyxrQkFBa0IsQ0FB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Q0FBQzt3QkFDWCxLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7d0JBQzVELEtBQUssY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7NEJBQzVELEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQzt5QkFDNUIsQ0FBQyxDQUFDLENBQUE7d0JBQ0gsS0FBSyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQzs0QkFDMUQsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7eUJBQzVCLENBQUMsQ0FBQyxDQUFBO3dCQUNILE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDdkMsQ0FBQztnQkFDTCxDQUFDLENBQ0o7YUFDSixDQUFDLENBQ0w7U0FDSixDQUNKLENBQUMsQ0FBQTtRQUNGLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0FBQ0wsQ0FBQyxDQUNKLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBc0MsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDMUYsQ0FBQyxDQUNKLENBQUMsbUJBQW1CLENBQ2pCLEVBQUUsQ0FBQyxLQUFLLEVBQ1IsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FDL0IsT0FBTyxFQUNQLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQzFELENBQ0osQ0FBQSJ9
|