pareto-json 0.3.78 → 0.3.79
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/{manual/refiners → 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 +2 -0
- package/dist/implementation/refiners/json_with_parse_info/list_of_characters.js +5 -0
- package/dist/implementation/{manual/refiners → refiners}/json_x/json_with_parse_info.d.ts +3 -3
- package/dist/implementation/refiners/json_x/json_with_parse_info.js +108 -0
- package/dist/implementation/{manual/refiners → refiners}/json_y/json_with_parse_info.d.ts +3 -3
- package/dist/implementation/refiners/json_y/json_with_parse_info.js +15 -0
- package/dist/implementation/refiners/primitives/list_of_characters.js +81 -0
- package/dist/implementation/{manual/refiners → refiners}/unmarshalled/astn_parse_tree.js +1 -1
- package/dist/implementation/{manual/refiners → refiners}/unmarshalled/text.js +1 -1
- package/dist/implementation/transformers/json_from_list_of_characters_refiner/prose.d.ts +2 -0
- package/dist/implementation/transformers/json_from_list_of_characters_refiner/prose.js +12 -0
- package/dist/implementation/transformers/json_from_parse_tree_refiner/prose.d.ts +2 -0
- package/dist/implementation/transformers/json_from_parse_tree_refiner/prose.js +19 -0
- package/dist/implementation/transformers/json_with_guaranteed_unique_keys/deprecated_list_of_characters.d.ts +2 -0
- package/dist/implementation/transformers/json_with_guaranteed_unique_keys/deprecated_list_of_characters.js +5 -0
- package/dist/implementation/{manual/transformers → transformers}/json_with_guaranteed_unique_keys/prose.d.ts +1 -1
- package/dist/implementation/transformers/json_with_guaranteed_unique_keys/prose.js +45 -0
- package/dist/implementation/transformers/json_with_guaranteed_unique_keys/text.d.ts +2 -0
- package/dist/implementation/transformers/json_with_guaranteed_unique_keys/text.js +5 -0
- package/dist/implementation/transformers/json_without_guaranteed_unique_keys/deprecated_list_of_characters.d.ts +2 -0
- package/dist/implementation/transformers/json_without_guaranteed_unique_keys/deprecated_list_of_characters.js +5 -0
- package/dist/implementation/{manual/transformers → transformers}/json_without_guaranteed_unique_keys/prose.d.ts +1 -1
- package/dist/implementation/transformers/json_without_guaranteed_unique_keys/prose.js +45 -0
- package/dist/implementation/transformers/json_without_guaranteed_unique_keys/text.d.ts +2 -0
- package/dist/implementation/transformers/json_without_guaranteed_unique_keys/text.js +5 -0
- package/dist/implementation/transformers/primitives/deprecated_list_of_characters.js +229 -0
- package/dist/implementation/transformers/unmarshalled_from_json/prose.d.ts +2 -0
- package/dist/implementation/transformers/unmarshalled_from_json/prose.js +31 -0
- package/dist/implementation/transformers/unmarshalled_from_parse_tree/prose.d.ts +2 -0
- package/dist/implementation/transformers/unmarshalled_from_parse_tree/prose.js +12 -0
- package/package.json +1 -1
- package/dist/implementation/manual/refiners/json_with_parse_info/astn_parse_tree.js +0 -93
- package/dist/implementation/manual/refiners/json_with_parse_info/list_of_characters.d.ts +0 -2
- package/dist/implementation/manual/refiners/json_with_parse_info/list_of_characters.js +0 -5
- package/dist/implementation/manual/refiners/json_x/json_with_parse_info.js +0 -108
- package/dist/implementation/manual/refiners/json_y/json_with_parse_info.js +0 -15
- package/dist/implementation/manual/refiners/primitives/list_of_characters.js +0 -81
- package/dist/implementation/manual/transformers/json_from_list_of_characters_refiner/prose.d.ts +0 -2
- package/dist/implementation/manual/transformers/json_from_list_of_characters_refiner/prose.js +0 -12
- package/dist/implementation/manual/transformers/json_from_parse_tree_refiner/prose.d.ts +0 -2
- package/dist/implementation/manual/transformers/json_from_parse_tree_refiner/prose.js +0 -19
- package/dist/implementation/manual/transformers/json_with_guaranteed_unique_keys/deprecated_list_of_characters.d.ts +0 -2
- package/dist/implementation/manual/transformers/json_with_guaranteed_unique_keys/deprecated_list_of_characters.js +0 -5
- package/dist/implementation/manual/transformers/json_with_guaranteed_unique_keys/prose.js +0 -45
- package/dist/implementation/manual/transformers/json_with_guaranteed_unique_keys/text.d.ts +0 -2
- package/dist/implementation/manual/transformers/json_with_guaranteed_unique_keys/text.js +0 -5
- package/dist/implementation/manual/transformers/json_without_guaranteed_unique_keys/deprecated_list_of_characters.d.ts +0 -2
- package/dist/implementation/manual/transformers/json_without_guaranteed_unique_keys/deprecated_list_of_characters.js +0 -5
- package/dist/implementation/manual/transformers/json_without_guaranteed_unique_keys/prose.js +0 -45
- package/dist/implementation/manual/transformers/json_without_guaranteed_unique_keys/text.d.ts +0 -2
- package/dist/implementation/manual/transformers/json_without_guaranteed_unique_keys/text.js +0 -5
- package/dist/implementation/manual/transformers/primitives/deprecated_list_of_characters.js +0 -229
- package/dist/implementation/manual/transformers/unmarshalled_from_json/prose.d.ts +0 -2
- package/dist/implementation/manual/transformers/unmarshalled_from_json/prose.js +0 -31
- package/dist/implementation/manual/transformers/unmarshalled_from_parse_tree/prose.d.ts +0 -2
- package/dist/implementation/manual/transformers/unmarshalled_from_parse_tree/prose.js +0 -12
- /package/dist/implementation/{manual/refiners → refiners}/primitives/list_of_characters.d.ts +0 -0
- /package/dist/implementation/{manual/refiners → refiners}/unmarshalled/astn_parse_tree.d.ts +0 -0
- /package/dist/implementation/{manual/refiners → refiners}/unmarshalled/text.d.ts +0 -0
- /package/dist/implementation/{manual/transformers → transformers}/primitives/deprecated_list_of_characters.d.ts +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/transformer';
|
|
2
|
+
//shorthands
|
|
3
|
+
import * as sh from "pareto-fountain-pen/shorthands/prose/deprecated";
|
|
4
|
+
//dependencies
|
|
5
|
+
import * as t_primitives_to_loc from "../primitives/deprecated_list_of_characters.js";
|
|
6
|
+
const String = ($) => sh.ph.serialize(t_primitives_to_loc.String($));
|
|
7
|
+
export const Value = ($) => p_.from.state($).decide(($) => {
|
|
8
|
+
switch ($[0]) {
|
|
9
|
+
case 'object': return p_.option($, ($) => sh.ph.composed([
|
|
10
|
+
sh.ph.literal("{"),
|
|
11
|
+
sh.ph.indent(sh.pg.rich(p_.from.list($).map(($) => sh.sentence([
|
|
12
|
+
String($.key),
|
|
13
|
+
sh.ph.literal(": "),
|
|
14
|
+
Value($.value)
|
|
15
|
+
])), null, false, null, sh.ph.literal(","), null)),
|
|
16
|
+
sh.ph.literal("}"),
|
|
17
|
+
]));
|
|
18
|
+
case 'array': return p_.option($, ($) => sh.ph.composed([
|
|
19
|
+
sh.ph.literal("["),
|
|
20
|
+
sh.ph.rich(p_.from.list($).map(($) => sh.ph.composed([
|
|
21
|
+
sh.ph.literal(" "),
|
|
22
|
+
Value($),
|
|
23
|
+
])), sh.ph.nothing(), sh.ph.nothing(), sh.ph.literal(","), sh.ph.nothing()),
|
|
24
|
+
sh.ph.literal(" ]"),
|
|
25
|
+
]));
|
|
26
|
+
case 'null': return p_.option($, ($) => sh.ph.literal("null"));
|
|
27
|
+
case 'boolean': return p_.option($, ($) => sh.ph.literal($ ? "true" : "false"));
|
|
28
|
+
case 'null': return p_.option($, ($) => sh.ph.literal("null"));
|
|
29
|
+
case 'number': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
30
|
+
switch ($[0]) {
|
|
31
|
+
case 'integer': return p_.option($, ($) => sh.ph.serialize(t_primitives_to_loc.Fractional_Decimal($, { 'number of fractional digits': 0 })));
|
|
32
|
+
case 'float': return p_.option($, ($) => sh.ph.serialize(t_primitives_to_loc.Float($, { 'digits': 15 })));
|
|
33
|
+
default: return p_.exhaustive($[0]);
|
|
34
|
+
}
|
|
35
|
+
}));
|
|
36
|
+
case 'string': return p_.option($, ($) => String($));
|
|
37
|
+
default: return p_.exhaustive($[0]);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
export const Document = ($) => sh.pg.sentences([
|
|
41
|
+
sh.sentence([
|
|
42
|
+
Value($)
|
|
43
|
+
])
|
|
44
|
+
]);
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW1wbGVtZW50YXRpb24vdHJhbnNmb3JtZXJzL2pzb25fd2l0aG91dF9ndWFyYW50ZWVkX3VuaXF1ZV9rZXlzL3Byb3NlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUEwQjVELFlBQVk7QUFDWixPQUFPLEtBQUssRUFBRSxNQUFNLGlEQUFpRCxDQUFBO0FBRXJFLGNBQWM7QUFDZCxPQUFPLEtBQUssbUJBQW1CLE1BQU0sZ0RBQWdELENBQUE7QUFFckYsTUFBTSxNQUFNLEdBQXNCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUV2RixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQXFCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQ2pFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1gsS0FBSyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUNyRCxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDbEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQ04sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUNmLENBQUMsQ0FBQyxFQUFFLEVB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
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
//dependencies
|
|
2
|
+
import * as t_to_prose from "./prose.js";
|
|
3
|
+
import * as t_prose_to_text from "pareto-fountain-pen/implementation/transformers/prose/text";
|
|
4
|
+
export const Value = ($, $p) => t_prose_to_text.Phrase(t_to_prose.Value($), $p);
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi90cmFuc2Zvcm1lcnMvanNvbl93aXRob3V0X2d1YXJhbnRlZWRfdW5pcXVlX2tleXMvdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxjQUFjO0FBQ2QsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxLQUFLLGVBQWUsTUFBTSw0REFBNEQsQ0FBQTtBQUc3RixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQXFCLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FDcEUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDbkIsRUFBRSxDQUNMLENBQUEifQ==
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/transformer';
|
|
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
|
+
export const Float = ($, $p) => {
|
|
6
|
+
return p_list_build_deprecated(($i) => {
|
|
7
|
+
// Handle special case for zero in scientific notation
|
|
8
|
+
if ($ === 0) {
|
|
9
|
+
$i['add item'](48); // '0'
|
|
10
|
+
// Add decimal point if we have more than 1 digit
|
|
11
|
+
if ($p.digits > 1) {
|
|
12
|
+
$i['add item'](46); // '.'
|
|
13
|
+
// Add the required number of zeros after decimal point
|
|
14
|
+
for (let i = 0; i < $p.digits - 1; i++) {
|
|
15
|
+
$i['add item'](48); // '0'
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
// Add exponent part for zero: e+0
|
|
19
|
+
$i['add item'](101); // 'e'
|
|
20
|
+
$i['add item'](43); // '+'
|
|
21
|
+
$i['add item'](48); // '0'
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
// Handle negative numbers
|
|
25
|
+
if ($ < 0) {
|
|
26
|
+
$i['add item'](45); // '-'
|
|
27
|
+
$ = -$;
|
|
28
|
+
}
|
|
29
|
+
// Calculate exponent and mantissa for scientific notation
|
|
30
|
+
let exponent = 0;
|
|
31
|
+
let mantissa = $;
|
|
32
|
+
// Normalize to range [1, 10)
|
|
33
|
+
if (mantissa >= 10) {
|
|
34
|
+
while (mantissa >= 10) {
|
|
35
|
+
mantissa = mantissa / 10;
|
|
36
|
+
exponent++;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else if (mantissa < 1) {
|
|
40
|
+
while (mantissa < 1) {
|
|
41
|
+
mantissa = mantissa * 10;
|
|
42
|
+
exponent--;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Create scale factor by multiplying
|
|
46
|
+
let scale_factor = 1;
|
|
47
|
+
for (let i = 0; i < $p.digits - 1; i++) {
|
|
48
|
+
scale_factor = scale_factor * 10;
|
|
49
|
+
}
|
|
50
|
+
// Simple rounding using integer operations
|
|
51
|
+
const mantissa_scaled = p_.from.number(mantissa * scale_factor + 0.5).divide(1, ['towards zero', null], {
|
|
52
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 1")
|
|
53
|
+
});
|
|
54
|
+
// Convert mantissa to string
|
|
55
|
+
const digits = p_list_build_deprecated(($i) => {
|
|
56
|
+
let temp = mantissa_scaled;
|
|
57
|
+
// temp is always > 0 here since mantissa_scaled = integer_division(mantissa * scale_factor + 0.5, 1)
|
|
58
|
+
// where mantissa >= 1.0 (normalized) and scale_factor >= 1, so result >= 1
|
|
59
|
+
do {
|
|
60
|
+
const digit = temp % 10;
|
|
61
|
+
$i['add item'](digit);
|
|
62
|
+
temp = p_.from.number(temp).divide(10, ['towards zero', null], {
|
|
63
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
|
|
64
|
+
});
|
|
65
|
+
} while (temp > 0);
|
|
66
|
+
});
|
|
67
|
+
// Add leading digit
|
|
68
|
+
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"));
|
|
69
|
+
$i['add item'](48 + first_digit); // First digit
|
|
70
|
+
// Add decimal point if we have more digits
|
|
71
|
+
if ($p.digits > 1 && p_.from.list(digits).amount_of_items() > 1) {
|
|
72
|
+
$i['add item'](46); // '.'
|
|
73
|
+
// Add remaining digits in reverse order
|
|
74
|
+
for (let j = p_.from.list(digits).amount_of_items() - 2; j >= 0; j--) {
|
|
75
|
+
const digit = p_.from.optional(digits.__deprecated_get_possible_item_at(j)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds"));
|
|
76
|
+
$i['add item'](48 + digit);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// Add exponent part
|
|
80
|
+
$i['add item'](101); // 'e'
|
|
81
|
+
if (exponent < 0) {
|
|
82
|
+
$i['add item'](45); // '-'
|
|
83
|
+
exponent = -exponent;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
$i['add item'](43); // '+'
|
|
87
|
+
}
|
|
88
|
+
// Convert exponent to string
|
|
89
|
+
const exp_digits = p_list_build_deprecated(($i) => {
|
|
90
|
+
if (exponent === 0) {
|
|
91
|
+
$i['add item'](0);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
do {
|
|
95
|
+
const digit = exponent % 10;
|
|
96
|
+
$i['add item'](digit);
|
|
97
|
+
exponent = p_.from.number(exponent).divide(10, ['towards zero', null], {
|
|
98
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
|
|
99
|
+
});
|
|
100
|
+
} while (exponent > 0);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
// Add exponent digits in reverse order
|
|
104
|
+
for (let j = p_.from.list(exp_digits).amount_of_items() - 1; j >= 0; j--) {
|
|
105
|
+
const digit = p_.from.optional(exp_digits.__deprecated_get_possible_item_at(j)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds"));
|
|
106
|
+
$i['add item'](48 + digit);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
export const Fractional_Decimal = ($, $p) => {
|
|
111
|
+
return 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
|
+
};
|
|
167
|
+
export const String = ($) => p_.literal.segmented_list([
|
|
168
|
+
p_.literal.list([
|
|
169
|
+
0x22, // "
|
|
170
|
+
]),
|
|
171
|
+
p_.from.list(p_list_from_text($, ($) => $)).flatten(($) => {
|
|
172
|
+
switch ($) {
|
|
173
|
+
case 0x2F: // slash (\/)
|
|
174
|
+
return p_.literal.list([
|
|
175
|
+
0x5c, // \
|
|
176
|
+
0x2f, // /
|
|
177
|
+
]);
|
|
178
|
+
case 0x22: // " (\")
|
|
179
|
+
return p_.literal.list([
|
|
180
|
+
0x5C, // \
|
|
181
|
+
0x22, // "
|
|
182
|
+
]);
|
|
183
|
+
case 0x5C: // \ (\\)
|
|
184
|
+
return p_.literal.list([
|
|
185
|
+
0x5C, // \
|
|
186
|
+
0x5C, // \
|
|
187
|
+
]);
|
|
188
|
+
case 0x08: // backspace (\b)
|
|
189
|
+
return p_.literal.list([
|
|
190
|
+
0x5C, // \
|
|
191
|
+
0x62, // b
|
|
192
|
+
]);
|
|
193
|
+
case 0x0C: // form feed (\f)
|
|
194
|
+
return p_.literal.list([
|
|
195
|
+
0x5C, // \
|
|
196
|
+
0x66, // f
|
|
197
|
+
]);
|
|
198
|
+
case 0x0A: // line feed (\n)
|
|
199
|
+
return p_.literal.list([
|
|
200
|
+
0x5C, // \
|
|
201
|
+
0x6E, // n
|
|
202
|
+
]);
|
|
203
|
+
case 0x0D: // carriage return (\r)
|
|
204
|
+
return p_.literal.list([
|
|
205
|
+
0x5C, // \
|
|
206
|
+
0x72, // r
|
|
207
|
+
]);
|
|
208
|
+
case 0x09: // horizontal tab (\t)
|
|
209
|
+
return p_.literal.list([
|
|
210
|
+
0x5C, // \
|
|
211
|
+
0x74, // t
|
|
212
|
+
]);
|
|
213
|
+
case 0x0B: // vertical tab (\v)
|
|
214
|
+
return p_.literal.list([
|
|
215
|
+
0x5C, // \
|
|
216
|
+
0x76, // v
|
|
217
|
+
]);
|
|
218
|
+
default: {
|
|
219
|
+
return p_.literal.list([
|
|
220
|
+
$,
|
|
221
|
+
]);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}),
|
|
225
|
+
p_.literal.list([
|
|
226
|
+
0x22, // "
|
|
227
|
+
])
|
|
228
|
+
]);
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlZF9saXN0X29mX2NoYXJhY3RlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW1wbGVtZW50YXRpb24vdHJhbnNmb3JtZXJzL3ByaW1pdGl2ZXMvZGVwcmVjYXRlZF9saXN0X29mX2NoYXJhY3RlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUc1RCxPQUFPLGdCQUFnQixNQUFNLDREQUE0RCxDQUFBO0FBQ3pGLE9BQU8sdUJBQXVCLE1BQU0sdUVBQXVFLENBQUE7QUFDM0csT0FBTyx1QkFBdUIsTUFBTSxtRUFBbUUsQ0FBQTtBQThCdkcsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFxQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUM3QyxPQUFPLHVCQUF1QixDQUMxQixDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ0gsc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ1YsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsTUFBTTtZQUV6QixpREFBaUQ7WUFDakQsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNoQixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxNQUFNO2dCQUV6Qix1REFBdUQ7Z0JBQ3ZELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUNyQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxNQUFNO2dCQUM3QixDQUFDO1lBQ0wsQ0FBQztZQUVELGtDQUFrQztZQUNsQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsR0FB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
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/transformer';
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW1wbGVtZW50YXRpb24vdHJhbnNmb3JtZXJzL3VubWFyc2hhbGxlZF9mcm9tX2pzb24vcHJvc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUU1RCxZQUFZO0FBQ1osT0FBTyxLQUFLLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUlyRSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQXFCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUN0RSxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ0YsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNYLEtBQUssdUJBQXVCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUNwRSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQztZQUN2QyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FDUixFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FDMUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNwQixFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQ2xCLHVCQUF1QjtnQkFDdkIseUVBQXlFO2FBQzVFLENBQUMsQ0FBQyxDQUFDLENBQ1g7U0FDSixDQUFDLENBQUMsQ0FBQTtRQUNILEtBQUssa0JBQWtCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUE7UUFDdEYsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQzlELEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDO1lBQzNDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUNSLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUNYLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQ3hCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNmLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUNuQixDQUFDLENBQ0wsQ0FDSixDQUNKO1NBQ0osQ0FBQyxDQUFDLENBQUE7UUFDSCxLQUFLLHVCQUF1QixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDcEUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsa0NBQWtDLENBQUM7WUFDakQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FDeEMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2YsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQ1g7U0FDSixDQUFDLENBQUMsQ0FBQTtRQUNILEtBQUssbUNBQW1DLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTlILE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/transformer';
|
|
2
|
+
//dependencies
|
|
3
|
+
import * as t_json_from_parse_tree_to_prose from "../json_from_parse_tree_refiner/prose.js";
|
|
4
|
+
import * as t_unmarshalled_from_json_to_prose from "../unmarshalled_from_json/prose.js";
|
|
5
|
+
export const Error = ($) => p_.from.state($).decide(($) => {
|
|
6
|
+
switch ($[0]) {
|
|
7
|
+
case 'json': return p_.option($, ($) => t_json_from_parse_tree_to_prose.Error($));
|
|
8
|
+
case 'unmarshall': return p_.option($, ($) => t_unmarshalled_from_json_to_prose.Error($));
|
|
9
|
+
default: return p_.exhaustive($[0]);
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW1wbGVtZW50YXRpb24vdHJhbnNmb3JtZXJzL3VubWFyc2hhbGxlZF9mcm9tX3BhcnNlX3RyZWUvcHJvc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUk1RCxjQUFjO0FBQ2QsT0FBTyxLQUFLLCtCQUErQixNQUFNLDBDQUEwQyxDQUFBO0FBQzNGLE9BQU8sS0FBSyxpQ0FBaUMsTUFBTSxvQ0FBb0MsQ0FBQTtBQUt2RixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQXFCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQ2pFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1gsS0FBSyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNqRixLQUFLLFlBQVksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRXpGLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUEifQ==
|
package/package.json
CHANGED
|
@@ -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/manual/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0bl9wYXJzZV90cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL21hbnVhbC9yZWZpbmVycy9qc29uX3dpdGhfcGFyc2VfaW5mby9hc3RuX3BhcnNlX3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUV4RCxPQUFPLGdCQUFnQixNQUFNLDREQUE0RCxDQUFBO0FBT3pGLGNBQWM7QUFDZCxPQUFPLEtBQUsscUJBQXFCLE1BQU0scUNBQXFDLENBQUE7QUFDNUUsT0FBTyxLQUFLLDZCQUE2QixNQUFNLDBFQUEwRSxDQUFBO0FBRXpILE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FJZCxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUNiLE1BQU0sS0FBSyxHQUFHLDZCQUE2QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNwRCxPQUFPO1FBQ0gsT0FBTyxFQUFFLEtBQUs7UUFDZCxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FDaEMsQ0FBQyxDQUFDLEVBQW9CLEVBQUU7WUFDcEIsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDL0QsQ0FBQyxDQUFDLEVBQW9CLEVBQUU7b0JBQ3BCLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ1gsS0FBSyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtnQ0FDckQsWUFBWSxFQUFFLENBQUM7Z0NBQ2YsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQ2xDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29DQUNKLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRTtvQ0FDWCxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FDMUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQ25DLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN0QixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7d0NBQ1IsT0FBTyxFQUFFLEtBQUs7d0NBQ2QsTUFBTSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDO3FDQUNyQyxDQUFDLENBQ0wsRUFDRCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7d0NBQ1IsT0FBTyxFQUFFLEtBQUs7d0NBQ2QsTUFBTSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDO3FDQUNyQyxDQUFDLENBQ0w7aUNBQ0osQ0FBQyxDQUFDOzZCQUNWLENBQUMsQ0FBQyxDQUFBO3dCQUNILEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDOzRCQUMzQyxPQUFPLEVBQUUsS0FBSzs0QkFDZCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO3lCQUMxQixDQUFDLENBQUMsQ0FBQTt3QkFDSCxLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO2dDQUM5QyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FDOUIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDOzZCQUNwQyxDQUFDLENBQUMsQ0FBQTt3QkFDSCxLQUFLLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQzs0QkFDN0MsT0FBTyxFQUFFLEtBQUs7NEJBQ2QsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQzt5QkFDNUIsQ0FBQyxDQUFDLENBQUE7d0JBQ0gsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUM7NEJBQzlDLE9BQU8sRUFBRSxLQUFLOzRCQUNkLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7eUJBQzdCLENBQUMsQ0FBQyxDQUFBO3dCQUNILEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDOzRCQUMzQyxPQUFPLEVBQUUsS0FBSzs0QkFDZCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO3lCQUMxQixDQUFDLENBQUMsQ0FBQTt3QkFDSCxLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQW9CLEVBQUU7NEJBQ3JELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTs0QkFDWCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUNyQyxDQUFDLENBQUMsRUFBb0IsRUFBRTtnQ0FDcEIsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQ0FDWCxLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7b0NBQ3hELEtBQUssYUFBYSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO3dDQUNqRCxPQUFPLEVBQUUsS0FBSzt3Q0FDZCxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUM7cUNBQ3JDLENBQUMsQ0FBQyxDQUFBO29DQUNILEtBQUssYUFBYSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBb0IsRUFBRTt3Q0FDNUQsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxNQUFNOzRDQUMzQixDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDOzRDQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxNQUFNO2dEQUN0QixDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztnREFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLE9BQU87b0RBQ3ZCLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO29EQUM1QyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7NERBQ1QsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLENBQUMsTUFBTSxDQUM1QyxnQkFBZ0IsQ0FDWixDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFDYixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNYLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQztnRUFDVCxPQUFPLEVBQUUsS0FBSztnRUFDZCxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUM7NkRBQ3JDLENBQUMsQ0FDTDt5REFDSixDQUFDLENBQUE7b0NBQ2xCLENBQUMsQ0FBQyxDQUFBO29DQUNGLEtBQUssWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO3dDQUNoRCxPQUFPLEVBQUUsS0FBSzt3Q0FDZCxNQUFNLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUM7cUNBQ3BDLENBQUMsQ0FBQyxDQUFBO29DQUNILE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQ0FDdkMsQ0FBQzs0QkFDTCxDQUFDLENBQUMsQ0FBQTt3QkFDVixDQUFDLENBQUMsQ0FBQTt3QkFDRixPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQ3ZDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDUCxLQUFLLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQztvQkFDN0MsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztpQkFDNUIsQ0FBQyxDQUFDLENBQUE7Z0JBQ0gsS0FBSyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUM7aUJBQ2pDLENBQUMsQ0FBQyxDQUFBO2dCQUNILE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN2QyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO0tBQ1QsQ0FBQTtBQUNMLENBQUMsQ0FBQSJ9
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
//dependencies
|
|
2
|
-
import * as r_from_parse_tree from "./astn_parse_tree.js";
|
|
3
|
-
import * as r_astn_parse_tree_from_list_of_characters from "astn-core/implementation/manual/refiners/parse_tree/list_of_characters";
|
|
4
|
-
export const Value = ($, abort, $p) => r_from_parse_tree.Value(r_astn_parse_tree_from_list_of_characters.Document($, ($) => abort(['deserialize astn parse tree', $]), $p).content, ($) => abort(['jsonify', $]));
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9jaGFyYWN0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL21hbnVhbC9yZWZpbmVycy9qc29uX3dpdGhfcGFyc2VfaW5mby9saXN0X29mX2NoYXJhY3RlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsY0FBYztBQUNkLE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxzQkFBc0IsQ0FBQTtBQUN6RCxPQUFPLEtBQUsseUNBQXlDLE1BQU0sd0VBQXdFLENBQUE7QUFFbkksTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFxQixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQzVFLHlDQUF5QyxDQUFDLFFBQVEsQ0FDOUMsQ0FBQyxFQUNELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUNoRCxFQUFFLENBQ0wsQ0FBQyxPQUFPLEVBQ1QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUMvQixDQUFBIn0=
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import * as p_ from 'pareto-core/implementation/refiner';
|
|
2
|
-
import * as p_t from 'pareto-core/implementation/transformer';
|
|
3
|
-
//dependencies
|
|
4
|
-
import * as r_json_y from "../json_y/json_with_parse_info.js";
|
|
5
|
-
export const Array = ($, abort) => {
|
|
6
|
-
const value = $;
|
|
7
|
-
return p_.from.state($.type).decide(($) => {
|
|
8
|
-
switch ($[0]) {
|
|
9
|
-
case 'array': return p_.option($, ($) => $);
|
|
10
|
-
default: return abort({
|
|
11
|
-
'type': ['unexpected type', { 'expected': p_.literal.list(["array"]) }],
|
|
12
|
-
'range': value.range,
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
export const Boolean = ($, abort) => {
|
|
18
|
-
const value = $;
|
|
19
|
-
return p_.from.state($.type).decide(($) => {
|
|
20
|
-
switch ($[0]) {
|
|
21
|
-
case 'boolean': return p_.option($, ($) => $);
|
|
22
|
-
default: return abort({
|
|
23
|
-
'type': ['unexpected type', { 'expected': p_.literal.list(["boolean"]) }],
|
|
24
|
-
'range': value.range,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
export const Null = ($, abort) => {
|
|
30
|
-
const value = $;
|
|
31
|
-
return p_.from.state($.type).decide(($) => {
|
|
32
|
-
switch ($[0]) {
|
|
33
|
-
case 'null': return p_.option($, ($) => $);
|
|
34
|
-
default: return abort({
|
|
35
|
-
'type': ['unexpected type', { 'expected': p_.literal.list(["null"]) }],
|
|
36
|
-
'range': value.range,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
export const Number = ($, abort) => {
|
|
42
|
-
const value = $;
|
|
43
|
-
return p_.from.state($.type).decide(($) => {
|
|
44
|
-
switch ($[0]) {
|
|
45
|
-
case 'number': return p_.option($, ($) => $);
|
|
46
|
-
default: return abort({
|
|
47
|
-
'type': ['unexpected type', { 'expected': p_.literal.list(["number"]) }],
|
|
48
|
-
'range': value.range,
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
export const Object = ($, abort) => {
|
|
54
|
-
const value = $;
|
|
55
|
-
return p_.from.state($.type).decide(($) => {
|
|
56
|
-
switch ($[0]) {
|
|
57
|
-
case 'object': return p_.option($, ($) => $);
|
|
58
|
-
default: return abort({
|
|
59
|
-
'type': ['unexpected type', { 'expected': p_.literal.list(["object"]) }],
|
|
60
|
-
'range': value.range,
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
export const Object_No_Unexpected_Properties_From_Value = ($, abort, $p) => Object_No_Unexpected_Properties_From_Object(Object($, abort), abort, $p);
|
|
66
|
-
export const Object_No_Unexpected_Properties_From_Object = ($, abort, $p) => {
|
|
67
|
-
const object = r_json_y.Object_With_Unique_Keys_From_Object($, abort);
|
|
68
|
-
//fixme: use p_assert
|
|
69
|
-
const $v_unexpected_properties = p_t.from.dictionary(p_t.from.dictionary(object.properties).join($p['expected properties'], ($, other, id) => p_t.from.optional(other).decide(() => p_.literal.not_set(), () => p_.literal.set($.key.range)))).map_optionally(($) => $);
|
|
70
|
-
return p_t.from.dictionary($v_unexpected_properties).on_has_entries(($) => abort({
|
|
71
|
-
'type': ['unexpected properties', {
|
|
72
|
-
'expected properties': $p['expected properties'],
|
|
73
|
-
'unexpected properties': $v_unexpected_properties,
|
|
74
|
-
}],
|
|
75
|
-
'range': object.range,
|
|
76
|
-
}), () => object);
|
|
77
|
-
};
|
|
78
|
-
export const String = ($, abort) => {
|
|
79
|
-
const value = $;
|
|
80
|
-
return p_.from.state($.type).decide(($) => {
|
|
81
|
-
switch ($[0]) {
|
|
82
|
-
case 'string': return p_.option($, ($) => $);
|
|
83
|
-
default: return abort({
|
|
84
|
-
'type': ['unexpected type', { 'expected': p_.literal.list(["string"]) }],
|
|
85
|
-
'range': value.range,
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
};
|
|
90
|
-
export const Property = ($, abort, $p) => {
|
|
91
|
-
const range = $.range;
|
|
92
|
-
return p_.from.dictionary($.properties).get_entry($p.key, {
|
|
93
|
-
'no_such_entry': () => abort({
|
|
94
|
-
'type': ['missing property', $p.key],
|
|
95
|
-
'range': range,
|
|
96
|
-
})
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
export const Nullable_Value = ($) => {
|
|
100
|
-
const value = $;
|
|
101
|
-
return p_.from.state($.type).decide(($) => {
|
|
102
|
-
switch ($[0]) {
|
|
103
|
-
case 'null': return p_.literal.not_set();
|
|
104
|
-
default: return p_.literal.set(value);
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
};
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbl93aXRoX3BhcnNlX2luZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW1wbGVtZW50YXRpb24vbWFudWFsL3JlZmluZXJzL2pzb25feC9qc29uX3dpdGhfcGFyc2VfaW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3hELE9BQU8sS0FBSyxHQUFHLE1BQU0sd0NBQXdDLENBQUE7QUFVN0QsY0FBYztBQUNkLE9BQU8sS0FBSyxRQUFRLE1BQU0sbUNBQW1DLENBQUE7QUFHN0QsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUlkLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ2IsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBQ2YsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUMvQixDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ0YsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNYLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDM0MsT0FBTyxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUM7Z0JBQ2xCLE1BQU0sRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN2RSxPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUs7YUFDdkIsQ0FBQyxDQUFBO1FBQ04sQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFBO0FBQ1YsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUloQixD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
|