pareto-json 0.3.89 → 0.3.90
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/api.js +4 -4
- package/dist/interface/api.d.ts +6 -6
- package/dist/interface/api.js +6 -6
- package/dist/modules/deserialization/implementation/refiners/model/astn_parse_tree.d.ts +5 -0
- package/dist/modules/deserialization/implementation/refiners/model/astn_parse_tree.js +93 -0
- package/dist/modules/deserialization/implementation/refiners/model/list_of_characters.d.ts +10 -0
- package/dist/modules/deserialization/implementation/refiners/model/list_of_characters.js +5 -0
- package/dist/{_implementation → modules/deserialization/implementation}/refiners/primitives/list_of_characters.d.ts +1 -1
- package/dist/modules/deserialization/implementation/refiners/primitives/list_of_characters.js +83 -0
- package/dist/{_implementation/serializers/deserialize_json.d.ts → modules/deserialization/implementation/serializers/deserialization.d.ts} +1 -1
- package/dist/modules/deserialization/implementation/serializers/deserialization.js +26 -0
- package/dist/modules/deserialization/schemas/astn_parse_tree_deserialization.d.ts +1 -0
- package/dist/modules/deserialization/schemas/astn_parse_tree_deserialization.js +2 -0
- package/dist/modules/deserialization/schemas/deserialization.js +2 -0
- package/dist/modules/deserialization/schemas/list_of_characters.d.ts +1 -0
- package/dist/modules/deserialization/schemas/list_of_characters.js +2 -0
- package/dist/modules/deserialization/schemas/location.d.ts +1 -0
- package/dist/modules/deserialization/schemas/location.js +2 -0
- package/dist/modules/deserialization/schemas/model.js +2 -0
- package/dist/modules/deserialization/schemas/parse_tree.d.ts +1 -0
- package/dist/modules/deserialization/schemas/parse_tree.js +2 -0
- package/dist/modules/serialization/implementation/serializers/primitives.js +225 -0
- package/dist/{_implementation/transformers/json_with_guaranteed_unique_keys → modules/serialization/implementation/transformers/with_guaranteed_unique_keys}/paragraph.d.ts +2 -2
- package/dist/modules/serialization/implementation/transformers/with_guaranteed_unique_keys/paragraph.js +41 -0
- package/dist/{_implementation/transformers/json_without_guaranteed_unique_keys → modules/serialization/implementation/transformers/without_guaranteed_unique_keys}/paragraph.d.ts +2 -2
- package/dist/modules/serialization/implementation/transformers/without_guaranteed_unique_keys/paragraph.js +41 -0
- package/dist/{interface → modules/serialization}/schemas/paragraph.js +1 -1
- package/dist/modules/serialization/schemas/with_guaranteed_unique_keys.js +2 -0
- package/dist/modules/serialization/schemas/without_guaranteed_unique_keys.js +2 -0
- package/dist/{_implementation → modules/unmarshalling/implemenation}/refiners/unmarshalled/astn_parse_tree.js +1 -1
- package/dist/{_implementation → modules/unmarshalling/implemenation}/refiners/unmarshalled_json_value/json_with_parse_info.d.ts +3 -3
- package/dist/modules/unmarshalling/implemenation/refiners/unmarshalled_json_value/json_with_parse_info.js +118 -0
- package/dist/{_implementation/serializers/unmarshalled_from_json.d.ts → modules/unmarshalling/implemenation/serializers/json_value_unmarshalling.d.ts} +2 -2
- package/dist/modules/unmarshalling/implemenation/serializers/json_value_unmarshalling.js +31 -0
- package/dist/modules/unmarshalling/schemas/astn_value_unmarshalling.d.ts +1 -0
- package/dist/modules/unmarshalling/schemas/astn_value_unmarshalling.js +2 -0
- package/dist/modules/unmarshalling/schemas/json_value_unmarshalling.js +2 -0
- package/dist/modules/unmarshalling/schemas/location.d.ts +1 -0
- package/dist/modules/unmarshalling/schemas/location.js +2 -0
- package/dist/modules/unmarshalling/schemas/paragraph.d.ts +1 -0
- package/dist/modules/unmarshalling/schemas/paragraph.js +2 -0
- package/dist/{private_schemas/unmarshalled_from_parse_tree_x.d.ts → modules/unmarshalling/schemas/unmarshalled_from_parse_tree.d.ts} +2 -2
- package/dist/modules/unmarshalling/schemas/unmarshalled_from_parse_tree.js +2 -0
- package/dist/{interface → modules/unmarshalling}/schemas/unmarshalled_json_value.d.ts +1 -1
- package/dist/modules/unmarshalling/schemas/unmarshalled_json_value.js +2 -0
- package/package.json +1 -1
- package/dist/_implementation/refiners/json_with_parse_info/astn_parse_tree.d.ts +0 -5
- 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 -10
- package/dist/_implementation/refiners/json_with_parse_info/list_of_characters.js +0 -5
- package/dist/_implementation/refiners/json_y/json_with_parse_info.d.ts +0 -1
- package/dist/_implementation/refiners/json_y/json_with_parse_info.js +0 -4
- package/dist/_implementation/refiners/primitives/list_of_characters.js +0 -83
- package/dist/_implementation/refiners/unmarshalled_json_value/json_with_parse_info.js +0 -118
- package/dist/_implementation/serializers/deserialize_json.js +0 -26
- package/dist/_implementation/serializers/primitives.js +0 -225
- package/dist/_implementation/serializers/unmarshalled_from_json.js +0 -31
- package/dist/_implementation/serializers/unmarshalled_from_parse_tree.d.ts +0 -1
- package/dist/_implementation/serializers/unmarshalled_from_parse_tree.js +0 -21
- package/dist/_implementation/transformers/json_with_guaranteed_unique_keys/paragraph.js +0 -41
- package/dist/_implementation/transformers/json_without_guaranteed_unique_keys/paragraph.js +0 -41
- package/dist/declarations/refiners/json_with_parse_info/astn_parse_tree.d.ts +0 -1
- package/dist/declarations/refiners/json_with_parse_info/astn_parse_tree.js +0 -2
- package/dist/declarations/refiners/json_x/json_with_parse_info.d.ts +0 -1
- package/dist/declarations/refiners/json_x/json_with_parse_info.js +0 -2
- package/dist/declarations/refiners/json_y/json_with_parse_info.d.ts +0 -1
- package/dist/declarations/refiners/json_y/json_with_parse_info.js +0 -2
- package/dist/declarations/refiners/primitives/list_of_characters.d.ts +0 -1
- package/dist/declarations/refiners/primitives/list_of_characters.js +0 -2
- package/dist/declarations/refiners/unmarshalled/astn_parse_tree.d.ts +0 -1
- package/dist/declarations/refiners/unmarshalled/astn_parse_tree.js +0 -2
- package/dist/declarations/refiners/unmarshalled/text.d.ts +0 -1
- package/dist/declarations/refiners/unmarshalled/text.js +0 -2
- package/dist/interface/schemas/astn_parse_tree_deserialization.d.ts +0 -1
- package/dist/interface/schemas/astn_parse_tree_deserialization.js +0 -2
- package/dist/interface/schemas/deserialize_json.js +0 -2
- package/dist/interface/schemas/json_unmarshalling.js +0 -2
- package/dist/interface/schemas/json_with_guaranteed_unique_keys.js +0 -2
- package/dist/interface/schemas/json_with_parse_info.js +0 -2
- package/dist/interface/schemas/json_without_guaranteed_unique_keys.js +0 -2
- package/dist/interface/schemas/list_of_characters.d.ts +0 -1
- package/dist/interface/schemas/list_of_characters.js +0 -2
- package/dist/interface/schemas/location.d.ts +0 -1
- package/dist/interface/schemas/location.js +0 -2
- package/dist/interface/schemas/parse_tree.d.ts +0 -1
- package/dist/interface/schemas/parse_tree.js +0 -2
- package/dist/interface/schemas/unmarshalled_json_value.js +0 -2
- package/dist/private_schemas/unmarshall_json.d.ts +0 -3
- package/dist/private_schemas/unmarshall_json.js +0 -2
- package/dist/private_schemas/unmarshalled_from_parse_tree_x.js +0 -2
- package/dist/private_schemas/value_unmarshalling.d.ts +0 -1
- package/dist/private_schemas/value_unmarshalling.js +0 -2
- /package/dist/{interface/schemas/deserialize_json.d.ts → modules/deserialization/schemas/deserialization.d.ts} +0 -0
- /package/dist/{interface/schemas/json_with_parse_info.d.ts → modules/deserialization/schemas/model.d.ts} +0 -0
- /package/dist/{_implementation → modules/serialization/implementation}/serializers/primitives.d.ts +0 -0
- /package/dist/{interface → modules/serialization}/schemas/paragraph.d.ts +0 -0
- /package/dist/{interface/schemas/json_with_guaranteed_unique_keys.d.ts → modules/serialization/schemas/with_guaranteed_unique_keys.d.ts} +0 -0
- /package/dist/{interface/schemas/json_without_guaranteed_unique_keys.d.ts → modules/serialization/schemas/without_guaranteed_unique_keys.d.ts} +0 -0
- /package/dist/{_implementation → modules/unmarshalling/implemenation}/refiners/unmarshalled/astn_parse_tree.d.ts +0 -0
- /package/dist/{interface/schemas/json_unmarshalling.d.ts → modules/unmarshalling/schemas/json_value_unmarshalling.d.ts} +0 -0
package/dist/api.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as interface_ from "./interface/api.js";
|
|
2
|
-
import * as r_json_with_parse_info_from_list_of_characters from "./
|
|
3
|
-
import * as ser_json_without_guaranteed_unique_keys_to_list_of_characters from "./
|
|
4
|
-
import * as ser_json_with_guaranteed_unique_keys_to_list_of_characters from "./
|
|
2
|
+
import * as r_json_with_parse_info_from_list_of_characters from "./modules/deserialization/implementation/refiners/model/list_of_characters.js";
|
|
3
|
+
import * as ser_json_without_guaranteed_unique_keys_to_list_of_characters from "./modules/serialization/implementation/transformers/without_guaranteed_unique_keys/paragraph.js";
|
|
4
|
+
import * as ser_json_with_guaranteed_unique_keys_to_list_of_characters from "./modules/serialization/implementation/transformers/with_guaranteed_unique_keys/paragraph.js";
|
|
5
5
|
export const api = {
|
|
6
6
|
'serializers': {},
|
|
7
7
|
'transformers': {
|
|
@@ -24,4 +24,4 @@ export const api = {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLG9CQUFvQixDQUFBO0FBRWhELE9BQU8sS0FBSyw4Q0FBOEMsTUFBTSwrRUFBK0UsQ0FBQTtBQUMvSSxPQUFPLEtBQUssNkRBQTZELE1BQU0saUdBQWlHLENBQUE7QUFDaEwsT0FBTyxLQUFLLDBEQUEwRCxNQUFNLDhGQUE4RixDQUFBO0FBRTFLLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBbUI7SUFDL0IsYUFBYSxFQUFFLEVBQ2Q7SUFDRCxjQUFjLEVBQUU7UUFFWiwwQkFBMEIsRUFBRTtZQUN4QixXQUFXLEVBQUU7Z0JBRVQsVUFBVSxFQUFFLDZEQUE2RCxDQUFDLFFBQVE7YUFDckY7U0FDSjtRQUNELHVCQUF1QixFQUFFO1lBQ3JCLFdBQVcsRUFBRTtnQkFFVCxVQUFVLEVBQUUsMERBQTBELENBQUMsUUFBUTthQUNsRjtTQUNKO0tBRUo7SUFDRCxVQUFVLEVBQUU7UUFDUixzQkFBc0IsRUFBRTtZQUNwQixvQkFBb0IsRUFBRTtnQkFFbEIsT0FBTyxFQUFFLDhDQUE4QyxDQUFDLEtBQUs7YUFDaEU7U0FDSjtLQUNKO0NBQ0osQ0FBQSJ9
|
package/dist/interface/api.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as p_t from 'pareto-core/interface/transformer';
|
|
2
2
|
import * as p_r from 'pareto-core/interface/refiner';
|
|
3
|
-
import * as s_deserialize_json from "
|
|
4
|
-
import * as s_list_of_characters from "
|
|
5
|
-
import * as s_json_with_guaranteed_unique_keys from "
|
|
6
|
-
import * as s_json_with_parse_info from "
|
|
7
|
-
import * as s_json_without_guaranteed_unique_keys from "
|
|
8
|
-
import type * as s_paragraph from "
|
|
3
|
+
import * as s_deserialize_json from "../modules/deserialization/schemas/deserialization.js";
|
|
4
|
+
import * as s_list_of_characters from "../modules/deserialization/schemas/list_of_characters.js";
|
|
5
|
+
import * as s_json_with_guaranteed_unique_keys from "../modules/serialization/schemas/with_guaranteed_unique_keys.js";
|
|
6
|
+
import * as s_json_with_parse_info from "../modules/deserialization/schemas/model.js";
|
|
7
|
+
import * as s_json_without_guaranteed_unique_keys from "../modules/serialization/schemas/without_guaranteed_unique_keys.js";
|
|
8
|
+
import type * as s_paragraph from "../modules/serialization/schemas/paragraph.js";
|
|
9
9
|
export type API = {
|
|
10
10
|
'serializers': {};
|
|
11
11
|
'transformers': {
|
package/dist/interface/api.js
CHANGED
|
@@ -2,9 +2,9 @@ import * as p_t from 'pareto-core/interface/transformer';
|
|
|
2
2
|
import * as p_r from 'pareto-core/interface/refiner';
|
|
3
3
|
import * as p_s from 'pareto-core/implementation/serializer';
|
|
4
4
|
//schemas
|
|
5
|
-
import * as s_deserialize_json from "
|
|
6
|
-
import * as s_list_of_characters from "
|
|
7
|
-
import * as s_json_with_guaranteed_unique_keys from "
|
|
8
|
-
import * as s_json_with_parse_info from "
|
|
9
|
-
import * as s_json_without_guaranteed_unique_keys from "
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
import * as s_deserialize_json from "../modules/deserialization/schemas/deserialization.js";
|
|
6
|
+
import * as s_list_of_characters from "../modules/deserialization/schemas/list_of_characters.js";
|
|
7
|
+
import * as s_json_with_guaranteed_unique_keys from "../modules/serialization/schemas/with_guaranteed_unique_keys.js";
|
|
8
|
+
import * as s_json_with_parse_info from "../modules/deserialization/schemas/model.js";
|
|
9
|
+
import * as s_json_without_guaranteed_unique_keys from "../modules/serialization/schemas/without_guaranteed_unique_keys.js";
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZS9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEdBQUcsTUFBTSxtQ0FBbUMsQ0FBQTtBQUN4RCxPQUFPLEtBQUssR0FBRyxNQUFNLCtCQUErQixDQUFBO0FBQ3BELE9BQU8sS0FBSyxHQUFHLE1BQU0sdUNBQXVDLENBQUE7QUFFNUQsU0FBUztBQUNULE9BQU8sS0FBSyxrQkFBa0IsTUFBTSx1REFBdUQsQ0FBQTtBQUMzRixPQUFPLEtBQUssb0JBQW9CLE1BQU0sMERBQTBELENBQUE7QUFDaEcsT0FBTyxLQUFLLGtDQUFrQyxNQUFNLGlFQUFpRSxDQUFBO0FBQ3JILE9BQU8sS0FBSyxzQkFBc0IsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNyRixPQUFPLEtBQUsscUNBQXFDLE1BQU0sb0VBQW9FLENBQUEifQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type * as p_i from 'pareto-core/interface/refiner';
|
|
2
|
+
import type * as s_in from "../../../schemas/parse_tree.js";
|
|
3
|
+
import type * as s_out from "../../../schemas/model.js";
|
|
4
|
+
import type * as s_error from "../../../schemas/deserialization.js";
|
|
5
|
+
export declare const Value: p_i.Refiner<s_out.Value, s_error.JSONify_Error, s_in.Value>;
|
|
@@ -0,0 +1,93 @@
|
|
|
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 api_astn_core from "astn-core/api";
|
|
5
|
+
import * as r_primitives_from_loc from "../../refiners/primitives/list_of_characters.js";
|
|
6
|
+
export const Value = ($, abort) => {
|
|
7
|
+
const range = api_astn_core.api.deserialization.transformers['parse tree']['full value range'].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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0bl9wYXJzZV90cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZGVzZXJpYWxpemF0aW9uL2ltcGxlbWVudGF0aW9uL3JlZmluZXJzL21vZGVsL2FzdG5fcGFyc2VfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBRXhELE9BQU8sZ0JBQWdCLE1BQU0sNERBQTRELENBQUE7QUFPekYsY0FBYztBQUNkLE9BQU8sS0FBSyxhQUFhLE1BQU0sZUFBZSxDQUFBO0FBQzlDLE9BQU8sS0FBSyxxQkFBcUIsTUFBTSxpREFBaUQsQ0FBQTtBQUV4RixNQUFNLENBQUMsTUFBTSxLQUFLLEdBSWQsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDYixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdkcsT0FBTztRQUNILE9BQU8sRUFBRSxLQUFLO1FBQ2QsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQ2hDLENBQUMsQ0FBQyxFQUFvQixFQUFFO1lBQ3BCLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQy9ELENBQUMsQ0FBQyxFQUFvQixFQUFFO29CQUNwQixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNYLEtBQUssWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0NBQ3JELFlBQVksRUFBRSxDQUFDO2dDQUNmLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUNsQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQ0FDSixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUU7b0NBQ1gsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQzFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUNuQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFDdEIsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO3dDQUNSLE9BQU8sRUFBRSxLQUFLO3dDQUNkLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQztxQ0FDckMsQ0FBQyxDQUNMLEVBQ0QsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO3dDQUNSLE9BQU8sRUFBRSxLQUFLO3dDQUNkLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQztxQ0FDckMsQ0FBQyxDQUNMO2lDQUNKLENBQUMsQ0FBQzs2QkFDVixDQUFDLENBQUMsQ0FBQTt3QkFDSCxLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQzs0QkFDM0MsT0FBTyxFQUFFLEtBQUs7NEJBQ2QsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQzt5QkFDMUIsQ0FBQyxDQUFDLENBQUE7d0JBQ0gsS0FBSyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQ0FDOUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQzlCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQzs2QkFDcEMsQ0FBQyxDQUFDLENBQUE7d0JBQ0gsS0FBSyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUM7NEJBQzdDLE9BQU8sRUFBRSxLQUFLOzRCQUNkLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7eUJBQzVCLENBQUMsQ0FBQyxDQUFBO3dCQUNILEtBQUssVUFBVSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDOzRCQUM5QyxPQUFPLEVBQUUsS0FBSzs0QkFDZCxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO3lCQUM3QixDQUFDLENBQUMsQ0FBQTt3QkFDSCxLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQzs0QkFDM0MsT0FBTyxFQUFFLEtBQUs7NEJBQ2QsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQzt5QkFDMUIsQ0FBQyxDQUFDLENBQUE7d0JBQ0gsS0FBSyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFvQixFQUFFOzRCQUNyRCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7NEJBQ1gsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FDckMsQ0FBQyxDQUFDLEVBQW9CLEVBQUU7Z0NBQ3BCLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0NBQ1gsS0FBSyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO29DQUN4RCxLQUFLLGFBQWEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQzt3Q0FDakQsT0FBTyxFQUFFLEtBQUs7d0NBQ2QsTUFBTSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDO3FDQUNyQyxDQUFDLENBQUMsQ0FBQTtvQ0FDSCxLQUFLLGFBQWEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQW9CLEVBQUU7d0NBQzVELE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssTUFBTTs0Q0FDM0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQzs0Q0FDYixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssTUFBTTtnREFDdEIsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0RBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxPQUFPO29EQUN2QixDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztvREFDNUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFOzREQUNULE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixDQUFDLE1BQU0sQ0FDNUMsZ0JBQWdCLENBQ1osQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQ2IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDWCxFQUNELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUM7Z0VBQ1QsT0FBTyxFQUFFLEtBQUs7Z0VBQ2QsTUFBTSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDOzZEQUNyQyxDQUFDLENBQ0w7eURBQ0osQ0FBQyxDQUFBO29DQUNsQixDQUFDLENBQUMsQ0FBQTtvQ0FDRixLQUFLLFlBQVksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQzt3Q0FDaEQsT0FBTyxFQUFFLEtBQUs7d0NBQ2QsTUFBTSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO3FDQUNwQyxDQUFDLENBQUMsQ0FBQTtvQ0FDSCxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0NBQ3ZDLENBQUM7NEJBQ0wsQ0FBQyxDQUFDLENBQUE7d0JBQ1YsQ0FBQyxDQUFDLENBQUE7d0JBQ0YsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUN2QyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ1AsS0FBSyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7aUJBQzVCLENBQUMsQ0FBQyxDQUFBO2dCQUNILEtBQUssU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO29CQUM3QyxPQUFPLEVBQUUsS0FBSztvQkFDZCxNQUFNLEVBQUUsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDO2lCQUNqQyxDQUFDLENBQUMsQ0FBQTtnQkFDSCxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDdkMsQ0FBQztRQUNMLENBQUMsQ0FBQztLQUNULENBQUE7QUFDTCxDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type * as p_ from 'pareto-core/implementation/refiner';
|
|
2
|
+
import type * as s_out from "../../../schemas/model.js";
|
|
3
|
+
import type * as s_error from "../../../schemas/deserialization.js";
|
|
4
|
+
import type * as s_parameters from "../../../schemas/astn_parse_tree_deserialization.js";
|
|
5
|
+
import type * as s_in from "../../../schemas/list_of_characters.js";
|
|
6
|
+
declare namespace declarations {
|
|
7
|
+
type Value = p_.Refiner_With_Parameter<s_out.Value, s_error.Error, s_in.List_Of_Characters, s_parameters.Parameters>;
|
|
8
|
+
}
|
|
9
|
+
export declare const Value: declarations.Value;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
//dependencies
|
|
2
|
+
import * as r_from_parse_tree from "./astn_parse_tree.js";
|
|
3
|
+
import * as api_astn_core from "astn-core/api";
|
|
4
|
+
export const Value = ($, abort, $p) => r_from_parse_tree.Value(api_astn_core.api.deserialization.refiners['parse tree']['list of characters'].Document($, ($) => abort(['deserialize astn parse tree', $]), $p).content, ($) => abort(['jsonify', $]));
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9jaGFyYWN0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZGVzZXJpYWxpemF0aW9uL2ltcGxlbWVudGF0aW9uL3JlZmluZXJzL21vZGVsL2xpc3Rfb2ZfY2hhcmFjdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsY0FBYztBQUNkLE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxzQkFBc0IsQ0FBQTtBQUN6RCxPQUFPLEtBQUssYUFBYSxNQUFNLGVBQWUsQ0FBQTtBQUU5QyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQXVCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FDOUUsYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxDQUNuRixDQUFDLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLDZCQUE2QixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ2hELEVBQUUsQ0FDTCxDQUFDLE9BQU8sRUFDVCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQy9CLENBQUEifQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import * as p_ from 'pareto-core/implementation/refiner';
|
|
2
|
-
import * as s_list_of_characters from "../../../
|
|
2
|
+
import * as s_list_of_characters from "../../../schemas/list_of_characters.js";
|
|
3
3
|
export declare const Number: p_.Refiner<number, string, s_list_of_characters.List_Of_Characters>;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/refiner';
|
|
2
|
+
import * as p_t from 'pareto-core/implementation/transformer';
|
|
3
|
+
import * as s_list_of_characters from "../../../schemas/list_of_characters.js";
|
|
4
|
+
export const Number = ($, abort) => {
|
|
5
|
+
const characters = $;
|
|
6
|
+
let result = 0;
|
|
7
|
+
let isNegative = false;
|
|
8
|
+
let startIndex = 0;
|
|
9
|
+
let decimalPart = 0;
|
|
10
|
+
let decimalDivisor = 1;
|
|
11
|
+
let exponent = 0;
|
|
12
|
+
let isExponentNegative = false;
|
|
13
|
+
let hasDecimal = false;
|
|
14
|
+
let inExponent = false;
|
|
15
|
+
const get_character_at = (index) => p_t.from.optional(characters.__deprecated_get_possible_item_at(index)).decide(($) => $, () => abort("index out of bounds"));
|
|
16
|
+
// Check for negative sign
|
|
17
|
+
if (p_t.from.list(characters).amount_of_items() > 0 && get_character_at(0) === 45) { // '-'
|
|
18
|
+
isNegative = true;
|
|
19
|
+
startIndex = 1;
|
|
20
|
+
}
|
|
21
|
+
// Parse the number
|
|
22
|
+
for (let i = startIndex; i < p_t.from.list(characters).amount_of_items(); i++) {
|
|
23
|
+
const charCode = get_character_at(i);
|
|
24
|
+
if (charCode === 46) { // '.'
|
|
25
|
+
if (hasDecimal || inExponent) {
|
|
26
|
+
abort("Invalid decimal format: multiple decimal points or decimal in exponent");
|
|
27
|
+
}
|
|
28
|
+
hasDecimal = true;
|
|
29
|
+
}
|
|
30
|
+
else if (charCode === 101 || charCode === 69) { // 'e' or 'E'
|
|
31
|
+
if (inExponent) {
|
|
32
|
+
abort("Invalid decimal format: multiple exponent markers");
|
|
33
|
+
}
|
|
34
|
+
inExponent = true;
|
|
35
|
+
// Check for exponent sign
|
|
36
|
+
if (i + 1 < p_t.from.list(characters).amount_of_items()) {
|
|
37
|
+
const nextChar = get_character_at(i + 1);
|
|
38
|
+
if (nextChar === 45) { // '-'
|
|
39
|
+
isExponentNegative = true;
|
|
40
|
+
i++;
|
|
41
|
+
}
|
|
42
|
+
else if (nextChar === 43) { // '+'
|
|
43
|
+
i++;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (charCode >= 48 && charCode <= 57) { // '0'-'9'
|
|
48
|
+
const digit = charCode - 48;
|
|
49
|
+
if (inExponent) {
|
|
50
|
+
exponent = exponent * 10 + digit;
|
|
51
|
+
}
|
|
52
|
+
else if (hasDecimal) {
|
|
53
|
+
decimalPart = decimalPart * 10 + digit;
|
|
54
|
+
decimalDivisor = decimalDivisor * 10;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
result = result * 10 + digit;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
abort("Invalid character in decimal string");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Combine integer and decimal parts
|
|
65
|
+
let finalResult = result + (decimalPart / decimalDivisor);
|
|
66
|
+
// Apply exponent
|
|
67
|
+
if (isExponentNegative) {
|
|
68
|
+
exponent = -exponent;
|
|
69
|
+
}
|
|
70
|
+
// Apply exponent by multiplying/dividing by 10
|
|
71
|
+
if (exponent > 0) {
|
|
72
|
+
for (let i = 0; i < exponent; i++) {
|
|
73
|
+
finalResult = finalResult * 10;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else if (exponent < 0) {
|
|
77
|
+
for (let i = 0; i < -exponent; i++) {
|
|
78
|
+
finalResult = finalResult / 10;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return isNegative ? -finalResult : finalResult;
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9jaGFyYWN0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZGVzZXJpYWxpemF0aW9uL2ltcGxlbWVudGF0aW9uL3JlZmluZXJzL3ByaW1pdGl2ZXMvbGlzdF9vZl9jaGFyYWN0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDeEQsT0FBTyxLQUFLLEdBQUcsTUFBTSx3Q0FBd0MsQ0FBQTtBQUU3RCxPQUFPLEtBQUssb0JBQW9CLE1BQU0sd0NBQXdDLENBQUE7QUFFOUUsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUlmLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ2IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFBO0lBQ3BCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUNkLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQTtJQUN0QixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUE7SUFDbEIsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFBO0lBQ25CLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQTtJQUN0QixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUE7SUFDaEIsSUFBSSxrQkFBa0IsR0FBRyxLQUFLLENBQUE7SUFDOUIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFBO0lBQ3RCLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQTtJQUV0QixNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBYSxFQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsaUNBQWlDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQzdILENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQ1IsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQ3JDLENBQUE7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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as p_ from 'pareto-core/implementation/serializer';
|
|
2
|
-
import type * as s_in from "../../
|
|
2
|
+
import type * as s_in from "../../schemas/deserialization.js";
|
|
3
3
|
declare namespace declarations {
|
|
4
4
|
type Error = p_.Serializer<s_in.Error>;
|
|
5
5
|
type JSONify_Error = p_.Serializer<s_in.JSONify_Error>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/serializer';
|
|
2
|
+
//dependencies
|
|
3
|
+
import * as api_astn_core from "astn-core/api";
|
|
4
|
+
export const Error = ($) => p_.from.state($).decide(($) => {
|
|
5
|
+
switch ($[0]) {
|
|
6
|
+
case 'deserialize astn parse tree': return p_.option($, ($) => api_astn_core.api.deserialization.serializers['parse tree deserialization'].Error($));
|
|
7
|
+
case 'jsonify': return p_.option($, ($) => JSONify_Error($));
|
|
8
|
+
default: return p_.exhaustive($[0]);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export const JSONify_Error = ($) => p_.from.state($.type).decide(($) => {
|
|
12
|
+
switch ($[0]) {
|
|
13
|
+
case 'missing property': return p_.option($, ($) => p_.ph.literal("missing property"));
|
|
14
|
+
case 'apostrophed text': return p_.option($, ($) => p_.ph.literal("apostrophed text"));
|
|
15
|
+
case 'backticked text': return p_.option($, ($) => p_.ph.literal("backticked text"));
|
|
16
|
+
case 'undelimited text': return p_.option($, ($) => p_.ph.literal("undelimited text"));
|
|
17
|
+
case 'group': return p_.option($, ($) => p_.ph.literal("group"));
|
|
18
|
+
case 'include': return p_.option($, ($) => p_.ph.literal("include"));
|
|
19
|
+
case 'missing data': return p_.option($, ($) => p_.ph.literal("missing data"));
|
|
20
|
+
case 'nothing': return p_.option($, ($) => p_.ph.literal("nothing"));
|
|
21
|
+
case 'optional': return p_.option($, ($) => p_.ph.literal("optional"));
|
|
22
|
+
case 'state': return p_.option($, ($) => p_.ph.literal("state"));
|
|
23
|
+
default: return p_.exhaustive($[0]);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZGVzZXJpYWxpemF0aW9uL2ltcGxlbWVudGF0aW9uL3NlcmlhbGl6ZXJzL2Rlc2VyaWFsaXphdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBYzNELGNBQWM7QUFDZCxPQUFPLEtBQUssYUFBYSxNQUFNLGVBQWUsQ0FBQTtBQUU5QyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQXVCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQ25FLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1gsS0FBSyw2QkFBNkIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3BKLEtBQUssU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDNUQsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7QUFDTCxDQUFDLENBQ0osQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBK0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQ3hGLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1gsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtRQUN0RixLQUFLLGtCQUFrQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFBO1FBQ3RGLEtBQUssaUJBQWlCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUE7UUFDcEYsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtRQUN0RixLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFDaEUsS0FBSyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO1FBQ3BFLEtBQUssY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQTtRQUM5RSxLQUFLLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7UUFDcEUsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO1FBQ3RFLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUVoRSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdkMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFBIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "astn-core/modules/deserialization/schemas/parse_tree_deserialization";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "astn-core/modules/deserialization/schemas/parse_tree_deserialization";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0bl9wYXJzZV90cmVlX2Rlc2VyaWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2Rlc2VyaWFsaXphdGlvbi9zY2hlbWFzL2FzdG5fcGFyc2VfdHJlZV9kZXNlcmlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzRUFBc0UsQ0FBQSJ9
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZGVzZXJpYWxpemF0aW9uL3NjaGVtYXMvZGVzZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "astn-core/modules/deserialization/schemas/list_of_characters";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "astn-core/modules/deserialization/schemas/list_of_characters";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9jaGFyYWN0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZGVzZXJpYWxpemF0aW9uL3NjaGVtYXMvbGlzdF9vZl9jaGFyYWN0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOERBQThELENBQUEifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "astn-core/modules/deserialization/schemas/location";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "astn-core/modules/deserialization/schemas/location";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kZXNlcmlhbGl6YXRpb24vc2NoZW1hcy9sb2NhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9EQUFvRCxDQUFBIn0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/interface/schema';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kZXNlcmlhbGl6YXRpb24vc2NoZW1hcy9tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFBIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "astn-core/modules/deserialization/schemas/parse_tree";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "astn-core/modules/deserialization/schemas/parse_tree";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VfdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2Rlc2VyaWFsaXphdGlvbi9zY2hlbWFzL3BhcnNlX3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzREFBc0QsQ0FBQSJ9
|
|
@@ -0,0 +1,225 @@
|
|
|
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
|
+
export const Float = ($, $p) => p_.ph.list_of_characters(p_list_build_deprecated(($i) => {
|
|
6
|
+
// Handle special case for zero in scientific notation
|
|
7
|
+
if ($ === 0) {
|
|
8
|
+
$i['add item'](48); // '0'
|
|
9
|
+
// Add decimal point if we have more than 1 digit
|
|
10
|
+
if ($p.digits > 1) {
|
|
11
|
+
$i['add item'](46); // '.'
|
|
12
|
+
// Add the required number of zeros after decimal point
|
|
13
|
+
for (let i = 0; i < $p.digits - 1; i++) {
|
|
14
|
+
$i['add item'](48); // '0'
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
// Add exponent part for zero: e+0
|
|
18
|
+
$i['add item'](101); // 'e'
|
|
19
|
+
$i['add item'](43); // '+'
|
|
20
|
+
$i['add item'](48); // '0'
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
// Handle negative numbers
|
|
24
|
+
if ($ < 0) {
|
|
25
|
+
$i['add item'](45); // '-'
|
|
26
|
+
$ = -$;
|
|
27
|
+
}
|
|
28
|
+
// Calculate exponent and mantissa for scientific notation
|
|
29
|
+
let exponent = 0;
|
|
30
|
+
let mantissa = $;
|
|
31
|
+
// Normalize to range [1, 10)
|
|
32
|
+
if (mantissa >= 10) {
|
|
33
|
+
while (mantissa >= 10) {
|
|
34
|
+
mantissa = mantissa / 10;
|
|
35
|
+
exponent++;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else if (mantissa < 1) {
|
|
39
|
+
while (mantissa < 1) {
|
|
40
|
+
mantissa = mantissa * 10;
|
|
41
|
+
exponent--;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Create scale factor by multiplying
|
|
45
|
+
let scale_factor = 1;
|
|
46
|
+
for (let i = 0; i < $p.digits - 1; i++) {
|
|
47
|
+
scale_factor = scale_factor * 10;
|
|
48
|
+
}
|
|
49
|
+
// Simple rounding using integer operations
|
|
50
|
+
const mantissa_scaled = p_.from.number(mantissa * scale_factor + 0.5).divide(1, ['towards zero', null], {
|
|
51
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 1")
|
|
52
|
+
});
|
|
53
|
+
// Convert mantissa to string
|
|
54
|
+
const digits = p_list_build_deprecated(($i) => {
|
|
55
|
+
let temp = mantissa_scaled;
|
|
56
|
+
// temp is always > 0 here since mantissa_scaled = integer_division(mantissa * scale_factor + 0.5, 1)
|
|
57
|
+
// where mantissa >= 1.0 (normalized) and scale_factor >= 1, so result >= 1
|
|
58
|
+
do {
|
|
59
|
+
const digit = temp % 10;
|
|
60
|
+
$i['add item'](digit);
|
|
61
|
+
temp = p_.from.number(temp).divide(10, ['towards zero', null], {
|
|
62
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
|
|
63
|
+
});
|
|
64
|
+
} while (temp > 0);
|
|
65
|
+
});
|
|
66
|
+
// Add leading digit
|
|
67
|
+
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"));
|
|
68
|
+
$i['add item'](48 + first_digit); // First digit
|
|
69
|
+
// Add decimal point if we have more digits
|
|
70
|
+
if ($p.digits > 1 && p_.from.list(digits).amount_of_items() > 1) {
|
|
71
|
+
$i['add item'](46); // '.'
|
|
72
|
+
// Add remaining digits in reverse order
|
|
73
|
+
for (let j = p_.from.list(digits).amount_of_items() - 2; j >= 0; j--) {
|
|
74
|
+
const digit = p_.from.optional(digits.__deprecated_get_possible_item_at(j)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds"));
|
|
75
|
+
$i['add item'](48 + digit);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// Add exponent part
|
|
79
|
+
$i['add item'](101); // 'e'
|
|
80
|
+
if (exponent < 0) {
|
|
81
|
+
$i['add item'](45); // '-'
|
|
82
|
+
exponent = -exponent;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
$i['add item'](43); // '+'
|
|
86
|
+
}
|
|
87
|
+
// Convert exponent to string
|
|
88
|
+
const exp_digits = p_list_build_deprecated(($i) => {
|
|
89
|
+
if (exponent === 0) {
|
|
90
|
+
$i['add item'](0);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
do {
|
|
94
|
+
const digit = exponent % 10;
|
|
95
|
+
$i['add item'](digit);
|
|
96
|
+
exponent = p_.from.number(exponent).divide(10, ['towards zero', null], {
|
|
97
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
|
|
98
|
+
});
|
|
99
|
+
} while (exponent > 0);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
// Add exponent digits in reverse order
|
|
103
|
+
for (let j = p_.from.list(exp_digits).amount_of_items() - 1; j >= 0; j--) {
|
|
104
|
+
const digit = p_.from.optional(exp_digits.__deprecated_get_possible_item_at(j)).decide(($) => $, () => p_unreachable_code_path("index cannot be out of bounds"));
|
|
105
|
+
$i['add item'](48 + digit);
|
|
106
|
+
}
|
|
107
|
+
}));
|
|
108
|
+
export const Fractional_Decimal = ($, $p) => p_.ph.list_of_characters(p_list_build_deprecated(($i) => {
|
|
109
|
+
let value = $;
|
|
110
|
+
// Handle negative numbers
|
|
111
|
+
if (value < 0) {
|
|
112
|
+
$i['add item'](45); // '-'
|
|
113
|
+
value = -value;
|
|
114
|
+
}
|
|
115
|
+
// Calculate the divisor for the fractional part (10^fractionalDigits)
|
|
116
|
+
let divisor = 1;
|
|
117
|
+
for (let i = 0; i < $p['number of fractional digits']; i++) {
|
|
118
|
+
divisor *= 10;
|
|
119
|
+
}
|
|
120
|
+
// Split into integer and fractional parts
|
|
121
|
+
const integerPart = p_.from.number(value).divide(divisor, ['towards zero', null], {
|
|
122
|
+
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")
|
|
123
|
+
});
|
|
124
|
+
const fractionalPart = value % divisor;
|
|
125
|
+
// Generate integer part digits
|
|
126
|
+
const $v_integer_digits = p_list_build_deprecated(($i) => {
|
|
127
|
+
let temp = integerPart;
|
|
128
|
+
if (temp === 0) {
|
|
129
|
+
$i['add item'](0);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
while (temp > 0) {
|
|
133
|
+
const digit = temp % 10;
|
|
134
|
+
$i['add item'](digit);
|
|
135
|
+
temp = p_.from.number(temp).divide(10, ['towards zero', null], {
|
|
136
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
// Add integer part (reverse order)
|
|
142
|
+
for (let j = p_.from.list($v_integer_digits).amount_of_items() - 1; j >= 0; j--) {
|
|
143
|
+
$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")));
|
|
144
|
+
}
|
|
145
|
+
// Add decimal point
|
|
146
|
+
$i['add item'](46); // '.'
|
|
147
|
+
// Generate fractional part digits
|
|
148
|
+
const fractionalDigits_list = p_list_build_deprecated(($i) => {
|
|
149
|
+
let temp = fractionalPart;
|
|
150
|
+
for (let i = 0; i < $p['number of fractional digits']; i++) {
|
|
151
|
+
const digit = temp % 10;
|
|
152
|
+
$i['add item'](digit);
|
|
153
|
+
temp = p_.from.number(temp).divide(10, ['towards zero', null], {
|
|
154
|
+
divided_by_zero: () => p_unreachable_code_path("the divisor is hardcoded to 10")
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
// Add fractional part (reverse order)
|
|
159
|
+
for (let j = p_.from.list(fractionalDigits_list).amount_of_items() - 1; j >= 0; j--) {
|
|
160
|
+
$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")));
|
|
161
|
+
}
|
|
162
|
+
}));
|
|
163
|
+
export const String = ($) => p_.ph.list_of_characters(p_.literal.segmented_list([
|
|
164
|
+
p_.literal.list([
|
|
165
|
+
0x22, // "
|
|
166
|
+
]),
|
|
167
|
+
p_.from.list(p_list_from_text($, ($) => $)).flatten(($) => {
|
|
168
|
+
switch ($) {
|
|
169
|
+
case 0x2F: // slap_.(\/)
|
|
170
|
+
return p_.literal.list([
|
|
171
|
+
0x5c, // \
|
|
172
|
+
0x2f, // /
|
|
173
|
+
]);
|
|
174
|
+
case 0x22: // " (\")
|
|
175
|
+
return p_.literal.list([
|
|
176
|
+
0x5C, // \
|
|
177
|
+
0x22, // "
|
|
178
|
+
]);
|
|
179
|
+
case 0x5C: // \ (\\)
|
|
180
|
+
return p_.literal.list([
|
|
181
|
+
0x5C, // \
|
|
182
|
+
0x5C, // \
|
|
183
|
+
]);
|
|
184
|
+
case 0x08: // backspace (\b)
|
|
185
|
+
return p_.literal.list([
|
|
186
|
+
0x5C, // \
|
|
187
|
+
0x62, // b
|
|
188
|
+
]);
|
|
189
|
+
case 0x0C: // form feed (\f)
|
|
190
|
+
return p_.literal.list([
|
|
191
|
+
0x5C, // \
|
|
192
|
+
0x66, // f
|
|
193
|
+
]);
|
|
194
|
+
case 0x0A: // line feed (\n)
|
|
195
|
+
return p_.literal.list([
|
|
196
|
+
0x5C, // \
|
|
197
|
+
0x6E, // n
|
|
198
|
+
]);
|
|
199
|
+
case 0x0D: // carriage return (\r)
|
|
200
|
+
return p_.literal.list([
|
|
201
|
+
0x5C, // \
|
|
202
|
+
0x72, // r
|
|
203
|
+
]);
|
|
204
|
+
case 0x09: // horizontal tab (\t)
|
|
205
|
+
return p_.literal.list([
|
|
206
|
+
0x5C, // \
|
|
207
|
+
0x74, // t
|
|
208
|
+
]);
|
|
209
|
+
case 0x0B: // vertical tab (\v)
|
|
210
|
+
return p_.literal.list([
|
|
211
|
+
0x5C, // \
|
|
212
|
+
0x76, // v
|
|
213
|
+
]);
|
|
214
|
+
default: {
|
|
215
|
+
return p_.literal.list([
|
|
216
|
+
$,
|
|
217
|
+
]);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}),
|
|
221
|
+
p_.literal.list([
|
|
222
|
+
0x22, // "
|
|
223
|
+
])
|
|
224
|
+
]));
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3NlcmlhbGl6YXRpb24vaW1wbGVtZW50YXRpb24vc2VyaWFsaXplcnMvcHJpbWl0aXZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBRTNELE9BQU8sZ0JBQWdCLE1BQU0sNERBQTRELENBQUE7QUFDekYsT0FBTyx1QkFBdUIsTUFBTSx1RUFBdUUsQ0FBQTtBQUMzRyxPQUFPLHVCQUF1QixNQUFNLG1FQUFtRSxDQUFBO0FBeUJ2RyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQXVCLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FDeEUsdUJBQXVCLENBQ25CLENBQUMsRUFBRSxFQUFFLEVBQUU7SUFDSCxzREFBc0Q7SUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDVixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxNQUFNO1FBRXpCLGlEQUFpRDtRQUNqRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsTUFBTTtZQUV6Qix1REFBdUQ7WUFDdkQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3JDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLE1BQU07WUFDN0IsQ0FBQztRQUNMLENBQUM7UUFFRCxrQ0FBa0M7UUFDbEMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsTUFBTTtRQUMxQixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBRSxNQUFNO1FBQzFCLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFFLE1BQU07UUFDMUIsT0FBTTtJQUNWLENBQUM7SUFFRCwwQkFBMEI7SUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDUixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxNQUFNO1FBQ3pCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNWLENBQUM7SUFFRCwwREFBMEQ7SUFDMUQsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQTtJQUVoQiw2QkFBNkI7SUFDN0IsSUFBSSxRQUFRLElBQUksRUFBRSxFQUFFLENBQUM7UUFDakIsT0FBTyxRQUFRLElBQUksRUFBRSxFQUFFLENBQUM7WUFDcEIsUUFBUSxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUE7WUFDeEIsUUFBUSxFQUFFLENBQUE7UUFDZCxDQUFDO0lBQ0wsQ0FBQztTQUFNLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xCLFFBQVEsR0FBRyxRQUFRLEdBQUcsRUFBRSxDQUFBO1lBQ3hCLFFBQVEsRUFBRSxDQUFBO1FBQ2QsQ0FBQztJQUNMLENBQUM7SUFFRCxxQ0FBcUM7SUFDckMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFBO0lBQ3BCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3JDLFlBQVksR0FBRyxZQUFZLEdBQUcsRUFBRSxDQUFBO0lBQ3BDLENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQ3hFLENBQUMsRUFDRCxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFDdEI7UUFDSSxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsK0JBQStCLENBQUM7S0FDbEYsQ0FDSixDQUFBO0lBRUQsNkJBQTZCO0lBQzdCLE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUNsQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ0gsSUFBSSxJQUFJLEdBQUcsZUFBZSxDQUFBO1FBQzFCLHFHQUFxRztRQUNyRywyRUFBMkU7UUFDM0UsR0FBRyxDQUFDO1lBQ0EsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQTtZQUN2QixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDckIsSUFBSSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUNqQixJQUFJLENBQ1AsQ0FBQyxNQUFNLENBQ0osRUFBRSxFQUNGLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxFQUN0QjtnQkFDSSxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsZ0NBQWdDLENBQUM7YUFDbkYsQ0FDSixDQUFBO1FBQ0wsQ0FBQyxRQUFRLElBQUksR0FBRyxDQUFDLEVBQUM7SUFDdEIsQ0FBQyxDQUNKLENBQUE7SUFFRCxvQkFBb0I7SUFDcEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUM3SCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUNSLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDLCtCQUErQixDQUFDLENBQ2pFLENBQUE7SUFDRCxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFBLENBQUMsY0FBYztJQUUvQywyQ0FBMkM7SUFDM0MsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM5RCxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxNQUFNO1FBRXpCLHdDQUF3QztRQUN4QyxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbkUsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUM5RSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUNSLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDLCtCQUErQixDQUFDLENBQ2pFLENBQUE7WUFDRCxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFBO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFDLE1BQU07SUFDMUIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDZixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxNQUFNO1FBQ3pCLFFBQVEsR0FBRyxDQUFDLFFBQVEsQ0FBQTtJQUN4QixDQUFDO1NBQU0sQ0FBQztRQUNKLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLE1BQU07SUFDN0IsQ0FBQztJQUVELDZCQUE2QjtJQUM3QixNQUFNLFVBQVUsR0FBRyx1QkFBdUIsQ0FDdEMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtRQUNILElBQUksUUFBUSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pCLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNKLEdBQUcsQ0FBQztnQkFDQSxNQUFNLEtBQUssR0FBRyxRQUFRLEdBQUcsRUFBRSxDQUFBO2dCQUMzQixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ3JCLFFBQVEsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQ3RDLEVBQUUsRUFDRixDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFDdEI7b0JBQ0ksZUFBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDLGdDQUFnQyxDQUFDO2lCQUNuRixDQUNKLENBQUE7WUFDTCxDQUFDLFFBQVEsUUFBUSxHQUFHLENBQUMsRUFBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQyxDQUNKLENBQUE7SUFFRCx1Q0FBdUM7SUFDdkMsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3ZFLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDbEYsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDUixHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQywrQkFBK0IsQ0FBQyxDQUNqRSxDQUFBO1FBQ0QsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQTtJQUM5QixDQUFDO0FBQ0wsQ0FBQyxDQUNKLENBQ0osQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFvQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQ2xHLHVCQUF1QixDQUNuQixDQUFDLEVBQUUsRUFBRSxFQUFFO0lBQ0gsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBRWIsMEJBQTBCO0lBQzFCLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ1osRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsTUFBTTtRQUN6QixLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUE7SUFDbEIsQ0FBQztJQUVELHNFQUFzRTtJQUN0RSxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUE7SUFDZixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLDZCQUE2QixDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN6RCxPQUFPLElBQUksRUFBRSxDQUFBO0lBQ2pCLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUM1QyxPQUFPLEVBQ1AsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEVBQ3RCO1FBQ0ksZUFBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDLDhGQUE4RixDQUFDO0tBQ2pKLENBQ0osQ0FBQTtJQUNELE1BQU0sY0FBYyxHQUFHLEtBQUssR0FBRyxPQUFPLENBQUE7SUFFdEMsK0JBQStCO0lBQy9CLE1BQU0saUJBQWlCLEdBQUcsdUJBQXVCLENBQzdDLENBQUMsRUFBRSxFQUFFLEVBQUU7UUFDSCxJQUFJLElBQUksR0FBRyxXQUFXLENBQUE7UUFDdEIsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDYixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDckIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDZCxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO2dCQUN2QixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ3JCLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQzlCLEVBQUUsRUFDRixDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFDdEI7b0JBQ0ksZUFBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDLGdDQUFnQyxDQUFDO2lCQUNuRixDQUNKLENBQUE7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFBO0lBRU4sbUNBQW1DO0lBQ25DLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzlFLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQy9GLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQ1IsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsK0JBQStCLENBQUMsQ0FDakUsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELG9CQUFvQjtJQUNwQixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxNQUFNO0lBRXpCLGtDQUFrQztJQUNsQyxNQUFNLHFCQUFxQixHQUFHLHVCQUF1QixDQUNqRCxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ0gsSUFBSSxJQUFJLEdBQUcsY0FBYyxDQUFBO1FBQ3pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsNkJBQTZCLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3pELE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7WUFDdkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3JCLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQzlCLEVBQUUsRUFDRixDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFDdEI7Z0JBQ0ksZUFBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDLGdDQUFnQyxDQUFDO2FBQ25GLENBQ0osQ0FBQTtRQUNMLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQTtJQUVOLHNDQUFzQztJQUN0QyxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNsRixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUNuRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUNSLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDLCtCQUErQixDQUFDLENBQ2pFLENBQUMsQ0FBQTtJQUNOLENBQUM7QUFDTCxDQUFDLENBQ0osQ0FDSixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUF3QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FDdEUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7SUFDdEIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDWixJQUFJLEVBQUUsSUFBSTtLQUNiLENBQUM7SUFDRixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FDekIsQ0FBQyxFQUNELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQ1gsQ0FDQSxDQUFDLE9BQU8sQ0FDTCxDQUFDLENBQUMsRUFBcUIsRUFBRTtRQUNyQixRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ1IsS0FBSyxJQUFJLEVBQUUsYUFBYTtnQkFDcEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDbkIsSUFBSSxFQUFFLElBQUk7b0JBQ1YsSUFBSSxFQUFFLElBQUk7aUJBQ2IsQ0FBQyxDQUFBO1lBQ04sS0FBSyxJQUFJLEVBQUUsU0FBUztnQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDbkIsSUFBSSxFQUFFLElBQUk7b0JBQ1YsSUFBSSxFQUFFLElBQUk7aUJBQ2IsQ0FBQyxDQUFBO1lBQ04sS0FBSyxJQUFJLEVBQUUsU0FBUztnQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDbkIsSUFBSSxFQUFFLElBQUk7b0JBQ1YsSUFBSSxFQUFFLElBQUk7aUJBQ2IsQ0FBQyxDQUFBO1lBQ04sS0FBSyxJQUFJLEVBQUUsaUJBQWlCO2dCQUN4QixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNuQixJQUFJLEVBQUUsSUFBSTtvQkFDVixJQUFJLEVBQUUsSUFBSTtpQkFDYixDQUFDLENBQUE7WUFDTixLQUFLLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3hCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ25CLElBQUksRUFBRSxJQUFJO29CQUNWLElBQUksRUFBRSxJQUFJO2lCQUNiLENBQUMsQ0FBQTtZQUNOLEtBQUssSUFBSSxFQUFFLGlCQUFpQjtnQkFDeEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDbkIsSUFBSSxFQUFFLElBQUk7b0JBQ1YsSUFBSSxFQUFFLElBQUk7aUJBQ2IsQ0FBQyxDQUFBO1lBQ04sS0FBSyxJQUFJLEVBQUUsdUJBQXVCO2dCQUM5QixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNuQixJQUFJLEVBQUUsSUFBSTtvQkFDVixJQUFJLEVBQUUsSUFBSTtpQkFDYixDQUFDLENBQUE7WUFDTixLQUFLLElBQUksRUFBRSxzQkFBc0I7Z0JBQzdCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ25CLElBQUksRUFBRSxJQUFJO29CQUNWLElBQUksRUFBRSxJQUFJO2lCQUNiLENBQUMsQ0FBQTtZQUNOLEtBQUssSUFBSSxFQUFFLG9CQUFvQjtnQkFDM0IsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDbkIsSUFBSSxFQUFFLElBQUk7b0JBQ1YsSUFBSSxFQUFFLElBQUk7aUJBQ2IsQ0FBQyxDQUFBO1lBQ04sT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNuQixDQUFDO2lCQUNKLENBQUMsQ0FBQTtZQUNOLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQyxDQUNKO0lBQ0QsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDWixJQUFJLEVBQUUsSUFBSTtLQUNiLENBQUM7Q0FDTCxDQUFDLENBQ0wsQ0FBQSJ9
|