pareto-json 0.3.84 → 0.3.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{implementation → _implementation}/refiners/json_with_parse_info/astn_parse_tree.d.ts +2 -2
- package/dist/_implementation/refiners/json_with_parse_info/astn_parse_tree.js +93 -0
- package/dist/_implementation/refiners/json_with_parse_info/list_of_characters.d.ts +10 -0
- package/dist/_implementation/refiners/json_with_parse_info/list_of_characters.js +5 -0
- package/dist/{implementation → _implementation}/refiners/json_x/json_with_parse_info.d.ts +2 -2
- package/dist/_implementation/refiners/json_x/json_with_parse_info.js +108 -0
- package/dist/{implementation → _implementation}/refiners/json_y/json_with_parse_info.d.ts +2 -2
- package/dist/_implementation/refiners/json_y/json_with_parse_info.js +15 -0
- package/dist/_implementation/refiners/primitives/list_of_characters.d.ts +3 -0
- package/dist/_implementation/refiners/primitives/list_of_characters.js +83 -0
- package/dist/{implementation → _implementation}/refiners/unmarshalled/astn_parse_tree.js +1 -1
- package/dist/_implementation/serializers/deserialize_json.d.ts +9 -0
- package/dist/_implementation/serializers/deserialize_json.js +28 -0
- package/dist/_implementation/serializers/json_with_guaranteed_unique_keys.d.ts +10 -0
- package/dist/_implementation/serializers/json_with_guaranteed_unique_keys.js +41 -0
- package/dist/_implementation/serializers/json_without_guaranteed_unique_keys.d.ts +10 -0
- package/dist/_implementation/serializers/json_without_guaranteed_unique_keys.js +41 -0
- package/dist/_implementation/serializers/primitives.d.ts +14 -0
- package/dist/_implementation/serializers/primitives.js +228 -0
- package/dist/_implementation/serializers/unmarshalled_from_json.d.ts +7 -0
- package/dist/_implementation/serializers/unmarshalled_from_json.js +31 -0
- package/dist/_implementation/serializers/unmarshalled_from_parse_tree.js +21 -0
- package/dist/api.d.ts +2 -0
- package/dist/api.js +23 -0
- package/dist/interface/api.d.ts +25 -0
- package/dist/interface/api.js +10 -0
- package/dist/interface/schemas/astn_deserialize_parse_tree.js +2 -0
- package/dist/interface/schemas/deserialize_json.d.ts +9 -0
- package/dist/interface/schemas/deserialize_json.js +2 -0
- package/dist/interface/schemas/list_of_characters.d.ts +1 -1
- package/dist/interface/schemas/list_of_characters.js +2 -2
- package/dist/{interface/schemas → private_schemas}/json_x.d.ts +2 -2
- package/dist/{interface/schemas → private_schemas}/json_x.js +1 -1
- package/dist/{interface/schemas → private_schemas}/json_y.d.ts +1 -1
- package/dist/{interface/schemas → private_schemas}/json_y.js +1 -1
- package/dist/{interface/schemas → private_schemas}/unmarshall.js +1 -1
- package/dist/{interface/schemas → private_schemas}/unmarshall_json.d.ts +1 -1
- package/dist/{interface/schemas → private_schemas}/unmarshall_json.js +1 -1
- package/dist/{interface/schemas → private_schemas}/unmarshalled_from_json.d.ts +1 -1
- package/dist/private_schemas/unmarshalled_from_json.js +2 -0
- package/dist/{interface/schemas → private_schemas}/unmarshalled_from_parse_tree_x.d.ts +2 -2
- package/dist/private_schemas/unmarshalled_from_parse_tree_x.js +2 -0
- package/package.json +1 -1
- package/dist/declarations/refiners/json_with_parse_info/list_of_characters.d.ts +0 -6
- package/dist/declarations/refiners/json_with_parse_info/list_of_characters.js +0 -2
- package/dist/implementation/refiners/json_with_parse_info/astn_parse_tree.js +0 -93
- package/dist/implementation/refiners/json_with_parse_info/list_of_characters.d.ts +0 -2
- package/dist/implementation/refiners/json_with_parse_info/list_of_characters.js +0 -5
- package/dist/implementation/refiners/json_x/json_with_parse_info.js +0 -108
- package/dist/implementation/refiners/json_y/json_with_parse_info.js +0 -15
- package/dist/implementation/refiners/primitives/list_of_characters.d.ts +0 -3
- package/dist/implementation/refiners/primitives/list_of_characters.js +0 -81
- package/dist/implementation/refiners/unmarshalled/text.js +0 -2
- package/dist/implementation/transformers/json_from_list_of_characters_refiner/prose.d.ts +0 -8
- package/dist/implementation/transformers/json_from_list_of_characters_refiner/prose.js +0 -12
- package/dist/implementation/transformers/json_from_parse_tree_refiner/prose.d.ts +0 -8
- package/dist/implementation/transformers/json_from_parse_tree_refiner/prose.js +0 -19
- package/dist/implementation/transformers/json_with_guaranteed_unique_keys/deprecated_list_of_characters.d.ts +0 -9
- package/dist/implementation/transformers/json_with_guaranteed_unique_keys/deprecated_list_of_characters.js +0 -6
- package/dist/implementation/transformers/json_with_guaranteed_unique_keys/prose.d.ts +0 -12
- package/dist/implementation/transformers/json_with_guaranteed_unique_keys/prose.js +0 -41
- package/dist/implementation/transformers/json_with_guaranteed_unique_keys/text.d.ts +0 -9
- package/dist/implementation/transformers/json_with_guaranteed_unique_keys/text.js +0 -6
- package/dist/implementation/transformers/json_without_guaranteed_unique_keys/deprecated_list_of_characters.d.ts +0 -9
- package/dist/implementation/transformers/json_without_guaranteed_unique_keys/deprecated_list_of_characters.js +0 -6
- package/dist/implementation/transformers/json_without_guaranteed_unique_keys/prose.d.ts +0 -12
- package/dist/implementation/transformers/json_without_guaranteed_unique_keys/prose.js +0 -41
- package/dist/implementation/transformers/json_without_guaranteed_unique_keys/text.d.ts +0 -9
- package/dist/implementation/transformers/json_without_guaranteed_unique_keys/text.js +0 -6
- package/dist/implementation/transformers/primitives/deprecated_list_of_characters.d.ts +0 -15
- package/dist/implementation/transformers/primitives/deprecated_list_of_characters.js +0 -229
- package/dist/implementation/transformers/unmarshalled_from_json/prose.d.ts +0 -8
- package/dist/implementation/transformers/unmarshalled_from_json/prose.js +0 -31
- package/dist/implementation/transformers/unmarshalled_from_parse_tree/prose.d.ts +0 -8
- package/dist/implementation/transformers/unmarshalled_from_parse_tree/prose.js +0 -12
- package/dist/interface/schemas/deserialize_parse_tree.js +0 -2
- package/dist/interface/schemas/json_from_list_of_characters_refiner.d.ts +0 -3
- package/dist/interface/schemas/json_from_list_of_characters_refiner.js +0 -2
- package/dist/interface/schemas/json_from_parse_tree_refiner.d.ts +0 -6
- package/dist/interface/schemas/json_from_parse_tree_refiner.js +0 -2
- package/dist/interface/schemas/prose.d.ts +0 -1
- package/dist/interface/schemas/prose.js +0 -2
- package/dist/interface/schemas/prose_serialize.d.ts +0 -1
- package/dist/interface/schemas/prose_serialize.js +0 -2
- package/dist/interface/schemas/text.d.ts +0 -1
- package/dist/interface/schemas/text.js +0 -2
- package/dist/interface/schemas/unmarshalled_from_json.js +0 -2
- package/dist/interface/schemas/unmarshalled_from_parse_tree.d.ts +0 -3
- package/dist/interface/schemas/unmarshalled_from_parse_tree.js +0 -2
- package/dist/interface/schemas/unmarshalled_from_parse_tree_x.js +0 -2
- /package/dist/{implementation → _implementation}/refiners/unmarshalled/astn_parse_tree.d.ts +0 -0
- /package/dist/{implementation/refiners/unmarshalled/text.d.ts → _implementation/serializers/unmarshalled_from_parse_tree.d.ts} +0 -0
- /package/dist/interface/schemas/{deserialize_parse_tree.d.ts → astn_deserialize_parse_tree.d.ts} +0 -0
- /package/dist/{interface/schemas → private_schemas}/unmarshall.d.ts +0 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/serializer';
|
|
2
|
+
import p_list_from_text from 'pareto-core/implementation/refiner/specials/list_from_text';
|
|
3
|
+
import p_unreachable_code_path from 'pareto-core/implementation/transformer/specials/unreachable_code_path';
|
|
4
|
+
import p_list_build_deprecated from 'pareto-core/implementation/refiner/specials/list_build_deprecated';
|
|
5
|
+
//schemas
|
|
6
|
+
//shorthands
|
|
7
|
+
import * as sh from "pareto-fountain-pen/shorthands/prose/deprecated";
|
|
8
|
+
export const Float = ($, $p) => sh.ph.list_of_characters(p_list_build_deprecated(($i) => {
|
|
9
|
+
// Handle special case for zero in scientific notation
|
|
10
|
+
if ($ === 0) {
|
|
11
|
+
$i['add item'](48); // '0'
|
|
12
|
+
// Add decimal point if we have more than 1 digit
|
|
13
|
+
if ($p.digits > 1) {
|
|
14
|
+
$i['add item'](46); // '.'
|
|
15
|
+
// Add the required number of zeros after decimal point
|
|
16
|
+
for (let i = 0; i < $p.digits - 1; i++) {
|
|
17
|
+
$i['add item'](48); // '0'
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
// Add exponent part for zero: e+0
|
|
21
|
+
$i['add item'](101); // 'e'
|
|
22
|
+
$i['add item'](43); // '+'
|
|
23
|
+
$i['add item'](48); // '0'
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
// Handle negative numbers
|
|
27
|
+
if ($ < 0) {
|
|
28
|
+
$i['add item'](45); // '-'
|
|
29
|
+
$ = -$;
|
|
30
|
+
}
|
|
31
|
+
// Calculate exponent and mantissa for scientific notation
|
|
32
|
+
let exponent = 0;
|
|
33
|
+
let mantissa = $;
|
|
34
|
+
// Normalize to range [1, 10)
|
|
35
|
+
if (mantissa >= 10) {
|
|
36
|
+
while (mantissa >= 10) {
|
|
37
|
+
mantissa = mantissa / 10;
|
|
38
|
+
exponent++;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else if (mantissa < 1) {
|
|
42
|
+
while (mantissa < 1) {
|
|
43
|
+
mantissa = mantissa * 10;
|
|
44
|
+
exponent--;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Create scale factor by multiplying
|
|
48
|
+
let scale_factor = 1;
|
|
49
|
+
for (let i = 0; i < $p.digits - 1; i++) {
|
|
50
|
+
scale_factor = scale_factor * 10;
|
|
51
|
+
}
|
|
52
|
+
// Simple rounding using integer operations
|
|
53
|
+
const mantissa_scaled = p_.from.number(mantissa * scale_factor + 0.5).divide(1, ['towards zero', null], {
|
|
54
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 1")
|
|
55
|
+
});
|
|
56
|
+
// Convert mantissa to string
|
|
57
|
+
const digits = p_list_build_deprecated(($i) => {
|
|
58
|
+
let temp = mantissa_scaled;
|
|
59
|
+
// temp is always > 0 here since mantissa_scaled = integer_division(mantissa * scale_factor + 0.5, 1)
|
|
60
|
+
// where mantissa >= 1.0 (normalized) and scale_factor >= 1, so result >= 1
|
|
61
|
+
do {
|
|
62
|
+
const digit = temp % 10;
|
|
63
|
+
$i['add item'](digit);
|
|
64
|
+
temp = p_.from.number(temp).divide(10, ['towards zero', null], {
|
|
65
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
|
|
66
|
+
});
|
|
67
|
+
} while (temp > 0);
|
|
68
|
+
});
|
|
69
|
+
// Add leading digit
|
|
70
|
+
const first_digit = p_.from.optional(digits.__deprecated_get_possible_item_at(p_.from.list(digits).amount_of_items() - 1)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds"));
|
|
71
|
+
$i['add item'](48 + first_digit); // First digit
|
|
72
|
+
// Add decimal point if we have more digits
|
|
73
|
+
if ($p.digits > 1 && p_.from.list(digits).amount_of_items() > 1) {
|
|
74
|
+
$i['add item'](46); // '.'
|
|
75
|
+
// Add remaining digits in reverse order
|
|
76
|
+
for (let j = p_.from.list(digits).amount_of_items() - 2; j >= 0; j--) {
|
|
77
|
+
const digit = p_.from.optional(digits.__deprecated_get_possible_item_at(j)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds"));
|
|
78
|
+
$i['add item'](48 + digit);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
// Add exponent part
|
|
82
|
+
$i['add item'](101); // 'e'
|
|
83
|
+
if (exponent < 0) {
|
|
84
|
+
$i['add item'](45); // '-'
|
|
85
|
+
exponent = -exponent;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
$i['add item'](43); // '+'
|
|
89
|
+
}
|
|
90
|
+
// Convert exponent to string
|
|
91
|
+
const exp_digits = p_list_build_deprecated(($i) => {
|
|
92
|
+
if (exponent === 0) {
|
|
93
|
+
$i['add item'](0);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
do {
|
|
97
|
+
const digit = exponent % 10;
|
|
98
|
+
$i['add item'](digit);
|
|
99
|
+
exponent = p_.from.number(exponent).divide(10, ['towards zero', null], {
|
|
100
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
|
|
101
|
+
});
|
|
102
|
+
} while (exponent > 0);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
// Add exponent digits in reverse order
|
|
106
|
+
for (let j = p_.from.list(exp_digits).amount_of_items() - 1; j >= 0; j--) {
|
|
107
|
+
const digit = p_.from.optional(exp_digits.__deprecated_get_possible_item_at(j)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds"));
|
|
108
|
+
$i['add item'](48 + digit);
|
|
109
|
+
}
|
|
110
|
+
}));
|
|
111
|
+
export const Fractional_Decimal = ($, $p) => sh.ph.list_of_characters(p_list_build_deprecated(($i) => {
|
|
112
|
+
let value = $;
|
|
113
|
+
// Handle negative numbers
|
|
114
|
+
if (value < 0) {
|
|
115
|
+
$i['add item'](45); // '-'
|
|
116
|
+
value = -value;
|
|
117
|
+
}
|
|
118
|
+
// Calculate the divisor for the fractional part (10^fractionalDigits)
|
|
119
|
+
let divisor = 1;
|
|
120
|
+
for (let i = 0; i < $p['number of fractional digits']; i++) {
|
|
121
|
+
divisor *= 10;
|
|
122
|
+
}
|
|
123
|
+
// Split into integer and fractional parts
|
|
124
|
+
const integerPart = p_.from.number(value).divide(divisor, ['towards zero', null], {
|
|
125
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is starting at 1 and is multiplied by 10 in each iteration, so it cannot be zero")
|
|
126
|
+
});
|
|
127
|
+
const fractionalPart = value % divisor;
|
|
128
|
+
// Generate integer part digits
|
|
129
|
+
const $v_integer_digits = p_list_build_deprecated(($i) => {
|
|
130
|
+
let temp = integerPart;
|
|
131
|
+
if (temp === 0) {
|
|
132
|
+
$i['add item'](0);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
while (temp > 0) {
|
|
136
|
+
const digit = temp % 10;
|
|
137
|
+
$i['add item'](digit);
|
|
138
|
+
temp = p_.from.number(temp).divide(10, ['towards zero', null], {
|
|
139
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
// Add integer part (reverse order)
|
|
145
|
+
for (let j = p_.from.list($v_integer_digits).amount_of_items() - 1; j >= 0; j--) {
|
|
146
|
+
$i['add item'](48 + p_.from.optional($v_integer_digits.__deprecated_get_possible_item_at(j)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds")));
|
|
147
|
+
}
|
|
148
|
+
// Add decimal point
|
|
149
|
+
$i['add item'](46); // '.'
|
|
150
|
+
// Generate fractional part digits
|
|
151
|
+
const fractionalDigits_list = p_list_build_deprecated(($i) => {
|
|
152
|
+
let temp = fractionalPart;
|
|
153
|
+
for (let i = 0; i < $p['number of fractional digits']; i++) {
|
|
154
|
+
const digit = temp % 10;
|
|
155
|
+
$i['add item'](digit);
|
|
156
|
+
temp = p_.from.number(temp).divide(10, ['towards zero', null], {
|
|
157
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
// Add fractional part (reverse order)
|
|
162
|
+
for (let j = p_.from.list(fractionalDigits_list).amount_of_items() - 1; j >= 0; j--) {
|
|
163
|
+
$i['add item'](48 + p_.from.optional(fractionalDigits_list.__deprecated_get_possible_item_at(j)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds")));
|
|
164
|
+
}
|
|
165
|
+
}));
|
|
166
|
+
export const String = ($) => sh.ph.list_of_characters(p_.literal.segmented_list([
|
|
167
|
+
p_.literal.list([
|
|
168
|
+
0x22, // "
|
|
169
|
+
]),
|
|
170
|
+
p_.from.list(p_list_from_text($, ($) => $)).flatten(($) => {
|
|
171
|
+
switch ($) {
|
|
172
|
+
case 0x2F: // slash (\/)
|
|
173
|
+
return p_.literal.list([
|
|
174
|
+
0x5c, // \
|
|
175
|
+
0x2f, // /
|
|
176
|
+
]);
|
|
177
|
+
case 0x22: // " (\")
|
|
178
|
+
return p_.literal.list([
|
|
179
|
+
0x5C, // \
|
|
180
|
+
0x22, // "
|
|
181
|
+
]);
|
|
182
|
+
case 0x5C: // \ (\\)
|
|
183
|
+
return p_.literal.list([
|
|
184
|
+
0x5C, // \
|
|
185
|
+
0x5C, // \
|
|
186
|
+
]);
|
|
187
|
+
case 0x08: // backspace (\b)
|
|
188
|
+
return p_.literal.list([
|
|
189
|
+
0x5C, // \
|
|
190
|
+
0x62, // b
|
|
191
|
+
]);
|
|
192
|
+
case 0x0C: // form feed (\f)
|
|
193
|
+
return p_.literal.list([
|
|
194
|
+
0x5C, // \
|
|
195
|
+
0x66, // f
|
|
196
|
+
]);
|
|
197
|
+
case 0x0A: // line feed (\n)
|
|
198
|
+
return p_.literal.list([
|
|
199
|
+
0x5C, // \
|
|
200
|
+
0x6E, // n
|
|
201
|
+
]);
|
|
202
|
+
case 0x0D: // carriage return (\r)
|
|
203
|
+
return p_.literal.list([
|
|
204
|
+
0x5C, // \
|
|
205
|
+
0x72, // r
|
|
206
|
+
]);
|
|
207
|
+
case 0x09: // horizontal tab (\t)
|
|
208
|
+
return p_.literal.list([
|
|
209
|
+
0x5C, // \
|
|
210
|
+
0x74, // t
|
|
211
|
+
]);
|
|
212
|
+
case 0x0B: // vertical tab (\v)
|
|
213
|
+
return p_.literal.list([
|
|
214
|
+
0x5C, // \
|
|
215
|
+
0x76, // v
|
|
216
|
+
]);
|
|
217
|
+
default: {
|
|
218
|
+
return p_.literal.list([
|
|
219
|
+
$,
|
|
220
|
+
]);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}),
|
|
224
|
+
p_.literal.list([
|
|
225
|
+
0x22, // "
|
|
226
|
+
])
|
|
227
|
+
]));
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9faW1wbGVtZW50YXRpb24vc2VyaWFsaXplcnMvcHJpbWl0aXZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBRTNELE9BQU8sZ0JBQWdCLE1BQU0sNERBQTRELENBQUE7QUFDekYsT0FBTyx1QkFBdUIsTUFBTSx1RUFBdUUsQ0FBQTtBQUMzRyxPQUFPLHVCQUF1QixNQUFNLG1FQUFtRSxDQUFBO0FBRXZHLFNBQVM7QUFFVCxZQUFZO0FBQ1osT0FBTyxLQUFLLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQXdCckUsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUF1QixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQ3hFLHVCQUF1QixDQUNuQixDQUFDLEVBQUUsRUFBRSxFQUFFO0lBQ0gsc0RBQXNEO0lBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ1YsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsTUFBTTtRQUV6QixpREFBaUQ7UUFDakQsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hCLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLE1BQU07WUFFekIsdURBQXVEO1lBQ3ZELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNyQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxNQUFNO1lBQzdCLENBQUM7UUFDTCxDQUFDO1FBRUQsa0NBQWtDO1FBQ2xD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
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/serializer';
|
|
2
|
+
import type * as s_in from "../../private_schemas/unmarshalled_from_json.js";
|
|
3
|
+
declare namespace declarations {
|
|
4
|
+
type Error = p_.Serializer<s_in.Error>;
|
|
5
|
+
}
|
|
6
|
+
export declare const Error: declarations.Error;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/serializer';
|
|
2
|
+
//shorthands
|
|
3
|
+
import * as sh from "pareto-fountain-pen/shorthands/prose/deprecated";
|
|
4
|
+
export const Error = ($) => p_.from.state($.type).decide(($) => {
|
|
5
|
+
switch ($[0]) {
|
|
6
|
+
case 'unexpected properties': return p_.option($, ($) => sh.ph.composed([
|
|
7
|
+
sh.ph.literal("unexpected properties:"),
|
|
8
|
+
sh.ph.indent(sh.pg.sentences(p_.from.dictionary($['unexpected properties']).convert_to_list(($, key) => sh.sentence([
|
|
9
|
+
sh.ph.literal(key),
|
|
10
|
+
// sh.ph.literal(": "),
|
|
11
|
+
// t_astn_location_to_prose.Range($, {'character location reporting': }),
|
|
12
|
+
])))),
|
|
13
|
+
]));
|
|
14
|
+
case 'missing property': return p_.option($, ($) => sh.ph.literal("missing property"));
|
|
15
|
+
case 'unexpected type': return p_.option($, ($) => sh.ph.composed([
|
|
16
|
+
sh.ph.literal("unexpected type, expected:"),
|
|
17
|
+
sh.ph.indent(sh.pg.sentences(p_.from.list($.expected).map(($) => sh.sentence([
|
|
18
|
+
sh.ph.literal($),
|
|
19
|
+
])))),
|
|
20
|
+
]));
|
|
21
|
+
case 'unexpected enum value': return p_.option($, ($) => sh.ph.composed([
|
|
22
|
+
sh.ph.literal("unexpected enum value, expected:"),
|
|
23
|
+
sh.ph.indent(sh.pg.sentences(p_.from.list($.expected).map(($) => sh.sentence([
|
|
24
|
+
sh.ph.literal($),
|
|
25
|
+
])))),
|
|
26
|
+
]));
|
|
27
|
+
case 'multiple properties with this key': return p_.option($, ($) => sh.ph.literal("multiple properties with this key: " + $));
|
|
28
|
+
default: return p_.exhaustive($[0]);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5tYXJzaGFsbGVkX2Zyb21fanNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9faW1wbGVtZW50YXRpb24vc2VyaWFsaXplcnMvdW5tYXJzaGFsbGVkX2Zyb21fanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBVzNELFlBQVk7QUFDWixPQUFPLEtBQUssRUFBRSxNQUFNLGlEQUFpRCxDQUFBO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBdUIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQ3hFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1gsS0FBSyx1QkFBdUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ3BFLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDO1lBQ3ZDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUNSLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUMxRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3BCLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDbEIsdUJBQXVCO2dCQUN2Qix5RUFBeUU7YUFDNUUsQ0FBQyxDQUFDLENBQUMsQ0FDWDtTQUNKLENBQUMsQ0FBQyxDQUFBO1FBQ0gsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtRQUN0RixLQUFLLGlCQUFpQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDOUQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUM7WUFDM0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQ1gsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FDeEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2YsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ25CLENBQUMsQ0FDTCxDQUNKLENBQ0o7U0FDSixDQUFDLENBQUMsQ0FBQTtRQUNILEtBQUssdUJBQXVCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUNwRSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQztZQUNqRCxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FDUixFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUN4QyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDZixFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FDWDtTQUNKLENBQUMsQ0FBQyxDQUFBO1FBQ0gsS0FBSyxtQ0FBbUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFOUgsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// import * as p_ from 'pareto-core/implementation/serializer'
|
|
2
|
+
export {};
|
|
3
|
+
// //schemas
|
|
4
|
+
// import type * as s_in from "../../private_schemas/unmarshalled_from_parse_tree.js"
|
|
5
|
+
// namespace declarations {
|
|
6
|
+
// export type Error = p_.Serializer<
|
|
7
|
+
// s_in.Error
|
|
8
|
+
// >
|
|
9
|
+
// }
|
|
10
|
+
// //dependencies
|
|
11
|
+
// import * as t_json_from_parse_tree_to_prose from "./deserialize_json.js"
|
|
12
|
+
// import * as t_unmarshalled_from_json_to_prose from "./unmarshalled_from_json.js"
|
|
13
|
+
// export const Error: declarations.Error = ($) => p_.from.state($).decide(
|
|
14
|
+
// ($) => {
|
|
15
|
+
// switch ($[0]) {
|
|
16
|
+
// case 'json': return p_.option($, ($) => t_json_from_parse_tree_to_prose.Error($))
|
|
17
|
+
// case 'unmarshall': return p_.option($, ($) => t_unmarshalled_from_json_to_prose.Error($))
|
|
18
|
+
// default: return p_.exhaustive($[0])
|
|
19
|
+
// }
|
|
20
|
+
// })
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5tYXJzaGFsbGVkX2Zyb21fcGFyc2VfdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9faW1wbGVtZW50YXRpb24vc2VyaWFsaXplcnMvdW5tYXJzaGFsbGVkX2Zyb21fcGFyc2VfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7O0FBRTlELFlBQVk7QUFDWixxRkFBcUY7QUFFckYsMkJBQTJCO0FBQzNCLHlDQUF5QztBQUN6QyxxQkFBcUI7QUFDckIsUUFBUTtBQUNSLElBQUk7QUFFSixpQkFBaUI7QUFDakIsMkVBQTJFO0FBQzNFLG1GQUFtRjtBQUtuRiwyRUFBMkU7QUFDM0UsZUFBZTtBQUNmLDBCQUEwQjtBQUMxQixnR0FBZ0c7QUFDaEcsd0dBQXdHO0FBRXhHLGtEQUFrRDtBQUNsRCxZQUFZO0FBQ1osU0FBUyJ9
|
package/dist/api.d.ts
ADDED
package/dist/api.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as interface_ from "./interface/api.js";
|
|
2
|
+
import * as r_json_with_parse_info_from_list_of_characters from "./_implementation/refiners/json_with_parse_info/list_of_characters.js";
|
|
3
|
+
import * as ser_json_without_guaranteed_unique_keys_to_list_of_characters from "./_implementation/serializers/json_without_guaranteed_unique_keys.js";
|
|
4
|
+
import * as ser_json_with_guaranteed_unique_keys_to_list_of_characters from "./_implementation/serializers/json_with_guaranteed_unique_keys.js";
|
|
5
|
+
export const api = {
|
|
6
|
+
'serializers': {
|
|
7
|
+
'json without unique keys': {
|
|
8
|
+
'Document': ser_json_without_guaranteed_unique_keys_to_list_of_characters.Document,
|
|
9
|
+
},
|
|
10
|
+
'json with unique keys': {
|
|
11
|
+
'Document': ser_json_with_guaranteed_unique_keys_to_list_of_characters.Document,
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
'transformers': {},
|
|
15
|
+
'refiners': {
|
|
16
|
+
'json with parse info': {
|
|
17
|
+
'list of characters': {
|
|
18
|
+
'Value': r_json_with_parse_info_from_list_of_characters.Value,
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLG9CQUFvQixDQUFBO0FBRWhELE9BQU8sS0FBSyw4Q0FBOEMsTUFBTSx1RUFBdUUsQ0FBQTtBQUN2SSxPQUFPLEtBQUssNkRBQTZELE1BQU0sc0VBQXNFLENBQUE7QUFDckosT0FBTyxLQUFLLDBEQUEwRCxNQUFNLG1FQUFtRSxDQUFBO0FBRS9JLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBbUI7SUFDL0IsYUFBYSxFQUFFO1FBQ1gsMEJBQTBCLEVBQUU7WUFDeEIsVUFBVSxFQUFFLDZEQUE2RCxDQUFDLFFBQVE7U0FDckY7UUFDRCx1QkFBdUIsRUFBRTtZQUNyQixVQUFVLEVBQUUsMERBQTBELENBQUMsUUFBUTtTQUNsRjtLQUNKO0lBQ0QsY0FBYyxFQUFFLEVBR2Y7SUFDRCxVQUFVLEVBQUU7UUFDUixzQkFBc0IsRUFBRTtZQUNwQixvQkFBb0IsRUFBRTtnQkFFbEIsT0FBTyxFQUFFLDhDQUE4QyxDQUFDLEtBQUs7YUFDaEU7U0FDSjtLQUNKO0NBQ0osQ0FBQSJ9
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as p_r from 'pareto-core/interface/refiner';
|
|
2
|
+
import * as p_s from 'pareto-core/implementation/serializer';
|
|
3
|
+
import * as s_deserialize_json from "./schemas/deserialize_json.js";
|
|
4
|
+
import * as s_list_of_characters from "./schemas/list_of_characters.js";
|
|
5
|
+
import * as s_json_with_guaranteed_unique_keys from "./schemas/json_with_guaranteed_unique_keys.js";
|
|
6
|
+
import * as s_json_with_parse_info from "./schemas/json_with_parse_info.js";
|
|
7
|
+
import * as s_json_without_guaranteed_unique_keys from "./schemas/json_without_guaranteed_unique_keys.js";
|
|
8
|
+
export type API = {
|
|
9
|
+
'serializers': {
|
|
10
|
+
'json without unique keys': {
|
|
11
|
+
'Document': p_s.Serializer<s_json_without_guaranteed_unique_keys.Document>;
|
|
12
|
+
};
|
|
13
|
+
'json with unique keys': {
|
|
14
|
+
'Document': p_s.Serializer<s_json_with_guaranteed_unique_keys.Document>;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
'transformers': {};
|
|
18
|
+
'refiners': {
|
|
19
|
+
'json with parse info': {
|
|
20
|
+
'list of characters': {
|
|
21
|
+
'Value': p_r.Refiner_With_Parameter<s_json_with_parse_info.Value, s_deserialize_json.Error, s_list_of_characters.List_Of_Characters, s_deserialize_json.Parameters>;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as p_t from 'pareto-core/interface/transformer';
|
|
2
|
+
import * as p_r from 'pareto-core/interface/refiner';
|
|
3
|
+
import * as p_s from 'pareto-core/implementation/serializer';
|
|
4
|
+
//schemas
|
|
5
|
+
import * as s_deserialize_json from "./schemas/deserialize_json.js";
|
|
6
|
+
import * as s_list_of_characters from "./schemas/list_of_characters.js";
|
|
7
|
+
import * as s_json_with_guaranteed_unique_keys from "./schemas/json_with_guaranteed_unique_keys.js";
|
|
8
|
+
import * as s_json_with_parse_info from "./schemas/json_with_parse_info.js";
|
|
9
|
+
import * as s_json_without_guaranteed_unique_keys from "./schemas/json_without_guaranteed_unique_keys.js";
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZS9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEdBQUcsTUFBTSxtQ0FBbUMsQ0FBQTtBQUN4RCxPQUFPLEtBQUssR0FBRyxNQUFNLCtCQUErQixDQUFBO0FBQ3BELE9BQU8sS0FBSyxHQUFHLE1BQU0sdUNBQXVDLENBQUE7QUFFNUQsU0FBUztBQUNULE9BQU8sS0FBSyxrQkFBa0IsTUFBTSwrQkFBK0IsQ0FBQTtBQUNuRSxPQUFPLEtBQUssb0JBQW9CLE1BQU0saUNBQWlDLENBQUE7QUFDdkUsT0FBTyxLQUFLLGtDQUFrQyxNQUFNLCtDQUErQyxDQUFBO0FBQ25HLE9BQU8sS0FBSyxzQkFBc0IsTUFBTSxtQ0FBbUMsQ0FBQTtBQUMzRSxPQUFPLEtBQUsscUNBQXFDLE1BQU0sa0RBQWtELENBQUEifQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "astn-core/interface/schemas/deserialize_parse_tree";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0bl9kZXNlcmlhbGl6ZV9wYXJzZV90cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ludGVyZmFjZS9zY2hlbWFzL2FzdG5fZGVzZXJpYWxpemVfcGFyc2VfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9EQUFvRCxDQUFBIn0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type * as s_astn_deserialize from "./astn_deserialize_parse_tree.js";
|
|
2
|
+
import type * as s_location from "./location.js";
|
|
3
|
+
export type Parameters = s_astn_deserialize.Parameters;
|
|
4
|
+
export type Error = ['deserialize astn parse tree', s_astn_deserialize.Error] | ['jsonify', JSONify_Error];
|
|
5
|
+
export type JSONify_Error = {
|
|
6
|
+
'range': s_location.Range;
|
|
7
|
+
'type': JSONify_Error_Type;
|
|
8
|
+
};
|
|
9
|
+
export type JSONify_Error_Type = ['missing property', null] | ['apostrophed text', null] | ['backticked text', null] | ['undelimited text', null] | ['group', null] | ['include', null] | ['missing data', null] | ['nothing', null] | ['optional', null] | ['state', null];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "
|
|
1
|
+
export * from "astn-core/interface/schemas/list_of_characters";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from "astn-core/interface/schemas/list_of_characters";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9jaGFyYWN0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ludGVyZmFjZS9zY2hlbWFzL2xpc3Rfb2ZfY2hhcmFjdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdEQUFnRCxDQUFBIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as p_ from 'pareto-core/interface/schema';
|
|
2
|
-
import type * as s_json_with_parse_info from "
|
|
3
|
-
import type * as s_location from "
|
|
2
|
+
import type * as s_json_with_parse_info from "../interface/schemas/json_with_parse_info.js";
|
|
3
|
+
import type * as s_location from "../interface/schemas/location.js";
|
|
4
4
|
export type Object = s_json_with_parse_info.Object;
|
|
5
5
|
export type Object_With_Unique_Keys = {
|
|
6
6
|
'range': s_location.Range;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import * as p_ from 'pareto-core/interface/schema';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbl94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaXZhdGVfc2NoZW1hcy9qc29uX3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQSJ9
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbl95LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaXZhdGVfc2NoZW1hcy9qc29uX3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from "astn-core/interface/schemas/unmarshall";
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5tYXJzaGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcml2YXRlX3NjaGVtYXMvdW5tYXJzaGFsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdDQUF3QyxDQUFBIn0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type * as s_unmarshalled_from_json from "./unmarshalled_from_json.js";
|
|
2
|
-
import type * as s_json_from_list_of_characters from "
|
|
2
|
+
import type * as s_json_from_list_of_characters from "../interface/schemas/deserialize_json.js";
|
|
3
3
|
export type Error = ['deserialize', s_json_from_list_of_characters.Error] | ['unmarshall', s_unmarshalled_from_json.Error];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5tYXJzaGFsbF9qc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaXZhdGVfc2NoZW1hcy91bm1hcnNoYWxsX2pzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as p_ from 'pareto-core/interface/schema';
|
|
2
|
-
import type * as s_astn_location from "
|
|
2
|
+
import type * as s_astn_location from "../interface/schemas/location.js";
|
|
3
3
|
export type Error = {
|
|
4
4
|
'type': ['unexpected properties', Unexpected_Properties] | ['multiple properties with this key', string] | ['missing property', string] | [
|
|
5
5
|
'unexpected type',
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/interface/schema';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5tYXJzaGFsbGVkX2Zyb21fanNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcml2YXRlX3NjaGVtYXMvdW5tYXJzaGFsbGVkX2Zyb21fanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFBIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as p_ from 'pareto-core/interface/schema';
|
|
2
|
-
import type * as s_astn_unmarshall from "
|
|
3
|
-
import type * as s_astn_location from "
|
|
2
|
+
import type * as s_astn_unmarshall from "./unmarshall.js";
|
|
3
|
+
import type * as s_astn_location from "../interface/schemas/location.js";
|
|
4
4
|
export type Error = ['astn', s_astn_unmarshall.Error] | ['json', JSON_Unmarshall_Error];
|
|
5
5
|
export type JSON_Unmarshall_Error = {
|
|
6
6
|
'type': ['unexpected properties', p_.Dictionary<s_astn_location.Range>] | ['missing property', string] | ['not a boolean', null] | ['not a null', null] | ['not a number', null] | ['not a string', null];
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/interface/schema';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5tYXJzaGFsbGVkX2Zyb21fcGFyc2VfdHJlZV94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaXZhdGVfc2NoZW1hcy91bm1hcnNoYWxsZWRfZnJvbV9wYXJzZV90cmVlX3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQSJ9
|
package/package.json
CHANGED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type * as p_ from 'pareto-core/interface/refiner';
|
|
2
|
-
import type * as s_out from "../../../interface/schemas/json_with_parse_info.js";
|
|
3
|
-
import type * as s_error from "../../../interface/schemas/json_from_list_of_characters_refiner.js";
|
|
4
|
-
import type * as s_in from "../../../interface/schemas/list_of_characters.js";
|
|
5
|
-
import type * as s_parameters from "../../../interface/schemas/deserialize_parse_tree.js";
|
|
6
|
-
export type Value = p_.Refiner_With_Parameter<s_out.Value, s_error.Error, s_in.List_of_Characters, s_parameters.Parameters>;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9jaGFyYWN0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RlY2xhcmF0aW9ucy9yZWZpbmVycy9qc29uX3dpdGhfcGFyc2VfaW5mby9saXN0X29mX2NoYXJhY3RlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import * as p_ from 'pareto-core/implementation/refiner';
|
|
2
|
-
import p_list_from_text from 'pareto-core/implementation/refiner/specials/list_from_text';
|
|
3
|
-
//dependencies
|
|
4
|
-
import * as r_primitives_from_loc from "../primitives/list_of_characters.js";
|
|
5
|
-
import * as t_astn_parse_tree_to_location from "astn-core/implementation/transformers/parse_tree/full_value_range";
|
|
6
|
-
export const Value = ($, abort) => {
|
|
7
|
-
const range = t_astn_parse_tree_to_location.Value($);
|
|
8
|
-
return {
|
|
9
|
-
'range': range,
|
|
10
|
-
'type': p_.from.state($.type).decide(($) => {
|
|
11
|
-
switch ($[0]) {
|
|
12
|
-
case 'concrete': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
13
|
-
switch ($[0]) {
|
|
14
|
-
case 'dictionary': return p_.option($, ($) => ['object', {
|
|
15
|
-
'dictionary': $,
|
|
16
|
-
'entries': p_.from.list($.entries).map(($) => ({
|
|
17
|
-
'key': $.id,
|
|
18
|
-
'value': p_.from.optional($.assignment).decide(($) => p_.from.optional($.value).decide(($) => Value($, abort), () => abort({
|
|
19
|
-
'range': range,
|
|
20
|
-
'type': ['missing property', null]
|
|
21
|
-
})), () => abort({
|
|
22
|
-
'range': range,
|
|
23
|
-
'type': ['missing property', null]
|
|
24
|
-
})),
|
|
25
|
-
}))
|
|
26
|
-
}]);
|
|
27
|
-
case 'group': return p_.option($, ($) => abort({
|
|
28
|
-
'range': range,
|
|
29
|
-
'type': ['group', null]
|
|
30
|
-
}));
|
|
31
|
-
case 'list': return p_.option($, ($) => ['array', {
|
|
32
|
-
'items': p_.from.list($.items).map(($) => Value($.value, abort))
|
|
33
|
-
}]);
|
|
34
|
-
case 'nothing': return p_.option($, ($) => abort({
|
|
35
|
-
'range': range,
|
|
36
|
-
'type': ['nothing', null]
|
|
37
|
-
}));
|
|
38
|
-
case 'optional': return p_.option($, ($) => abort({
|
|
39
|
-
'range': range,
|
|
40
|
-
'type': ['optional', null]
|
|
41
|
-
}));
|
|
42
|
-
case 'state': return p_.option($, ($) => abort({
|
|
43
|
-
'range': range,
|
|
44
|
-
'type': ['state', null]
|
|
45
|
-
}));
|
|
46
|
-
case 'text': return p_.option($, ($) => {
|
|
47
|
-
const x = $;
|
|
48
|
-
return p_.from.state($.token.type).decide(($) => {
|
|
49
|
-
switch ($[0]) {
|
|
50
|
-
case 'quoted': return p_.option($, ($) => ['string', x]);
|
|
51
|
-
case 'apostrophed': return p_.option($, ($) => abort({
|
|
52
|
-
'range': range,
|
|
53
|
-
'type': ['apostrophed text', null]
|
|
54
|
-
}));
|
|
55
|
-
case 'undelimited': return p_.option($, ($) => {
|
|
56
|
-
return x.token.value === "null"
|
|
57
|
-
? ['null', x]
|
|
58
|
-
: x.token.value === "true"
|
|
59
|
-
? ['boolean', { 'text': x, 'value': true }]
|
|
60
|
-
: x.token.value === "false"
|
|
61
|
-
? ['boolean', { 'text': x, 'value': false }]
|
|
62
|
-
: ['number', {
|
|
63
|
-
'text': x, 'value': r_primitives_from_loc.Number(p_list_from_text(x.token.value, ($) => $), ($) => abort({
|
|
64
|
-
'range': range,
|
|
65
|
-
'type': ['undelimited text', null]
|
|
66
|
-
}))
|
|
67
|
-
}];
|
|
68
|
-
});
|
|
69
|
-
case 'backticked': return p_.option($, ($) => abort({
|
|
70
|
-
'range': range,
|
|
71
|
-
'type': ['backticked text', null]
|
|
72
|
-
}));
|
|
73
|
-
default: return p_.exhaustive($[0]);
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
default: return p_.exhaustive($[0]);
|
|
78
|
-
}
|
|
79
|
-
}));
|
|
80
|
-
case 'include': return p_.option($, ($) => abort({
|
|
81
|
-
'range': range,
|
|
82
|
-
'type': ['include', null]
|
|
83
|
-
}));
|
|
84
|
-
case 'missing': return p_.option($, ($) => abort({
|
|
85
|
-
'range': range,
|
|
86
|
-
'type': ['missing data', null]
|
|
87
|
-
}));
|
|
88
|
-
default: return p_.exhaustive($[0]);
|
|
89
|
-
}
|
|
90
|
-
})
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0bl9wYXJzZV90cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL3JlZmluZXJzL2pzb25fd2l0aF9wYXJzZV9pbmZvL2FzdG5fcGFyc2VfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBRXhELE9BQU8sZ0JBQWdCLE1BQU0sNERBQTRELENBQUE7QUFPekYsY0FBYztBQUNkLE9BQU8sS0FBSyxxQkFBcUIsTUFBTSxxQ0FBcUMsQ0FBQTtBQUM1RSxPQUFPLEtBQUssNkJBQTZCLE1BQU0sbUVBQW1FLENBQUE7QUFFbEgsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUlkLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ2IsTUFBTSxLQUFLLEdBQUcsNkJBQTZCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3BELE9BQU87UUFDSCxPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUNoQyxDQUFDLENBQUMsRUFBb0IsRUFBRTtZQUNwQixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNYLEtBQUssVUFBVSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUMvRCxDQUFDLENBQUMsRUFBb0IsRUFBRTtvQkFDcEIsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDWCxLQUFLLFlBQVksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxD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
|