astn-core 0.5.150 → 0.5.151
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 +61 -49
- package/dist/interface/api.d.ts +48 -36
- package/dist/{_implementation → modules/deserialization/implementation}/refiners/annotated_characters/list_of_characters.d.ts +3 -3
- package/dist/modules/deserialization/implementation/refiners/annotated_characters/list_of_characters.js +68 -0
- package/dist/{_implementation → modules/deserialization/implementation}/refiners/parse_tree/list_of_characters.d.ts +3 -3
- package/dist/modules/deserialization/implementation/refiners/parse_tree/list_of_characters.js +23 -0
- package/dist/{_implementation → modules/deserialization/implementation}/refiners/parse_tree/tokenizer_result.d.ts +5 -5
- package/dist/modules/deserialization/implementation/refiners/parse_tree/tokenizer_result.js +211 -0
- package/dist/{_implementation → modules/deserialization/implementation}/refiners/token/annotated_character.d.ts +4 -4
- package/dist/{_implementation → modules/deserialization/implementation}/refiners/token/annotated_character.js +1 -1
- package/dist/{_implementation → modules/deserialization/implementation}/serializers/location.d.ts +2 -2
- package/dist/modules/deserialization/implementation/serializers/location.js +33 -0
- package/dist/{_implementation → modules/deserialization/implementation}/serializers/parse_tree_deserialization.d.ts +1 -1
- package/dist/modules/deserialization/implementation/serializers/parse_tree_deserialization.js +63 -0
- package/dist/{_implementation → modules/deserialization/implementation}/transformers/parse_tree/full_value_range.d.ts +2 -2
- package/dist/modules/deserialization/implementation/transformers/parse_tree/full_value_range.js +70 -0
- package/dist/{_implementation → modules/deserialization/implementation}/transformers/parse_tree/start_token_range.d.ts +2 -2
- package/dist/modules/deserialization/implementation/transformers/parse_tree/start_token_range.js +34 -0
- package/dist/{_implementation/transformers/unmarshalling_deprecated → modules/deserialization/implementation/transformers/parse_tree_deserialization}/location.d.ts +2 -2
- package/dist/modules/deserialization/implementation/transformers/parse_tree_deserialization/location.js +20 -0
- package/dist/{private_schemas → modules/deserialization/schemas}/annotated_characters.d.ts +1 -1
- package/dist/modules/deserialization/schemas/annotated_characters.js +2 -0
- package/dist/modules/deserialization/schemas/full_value_range.js +2 -0
- package/dist/modules/deserialization/schemas/list_of_characters.js +2 -0
- package/dist/{interface → modules/deserialization}/schemas/location.js +1 -1
- package/dist/modules/deserialization/schemas/location_serialization.js +2 -0
- package/dist/{interface → modules/deserialization}/schemas/parse_tree.js +1 -1
- package/dist/modules/deserialization/schemas/parse_tree_deserialization.js +4 -0
- package/dist/modules/deserialization/schemas/start_token_range.js +2 -0
- package/dist/{interface → modules/deserialization}/schemas/token.js +1 -1
- package/dist/{_implementation → modules/serialization/implementation}/serializers/primitives.d.ts +1 -1
- package/dist/modules/serialization/implementation/serializers/primitives.js +87 -0
- package/dist/{_implementation → modules/serialization/implementation}/transformers/sealed_target/paragraph.d.ts +2 -2
- package/dist/modules/serialization/implementation/transformers/sealed_target/paragraph.js +88 -0
- package/dist/{_implementation → modules/serialization/implementation}/transformers/sealed_target/serialized_paragraph.d.ts +2 -2
- package/dist/modules/serialization/implementation/transformers/sealed_target/serialized_paragraph.js +6 -0
- package/dist/{interface → modules/serialization}/schemas/paragraph.js +1 -1
- package/dist/{interface → modules/serialization}/schemas/paragraph_serialization.js +1 -1
- package/dist/{private_schemas → modules/serialization/schemas}/primitives.js +1 -1
- package/dist/{interface → modules/serialization}/schemas/sealed_target.js +1 -1
- package/dist/{interface → modules/serialization}/schemas/serialized_paragraph.js +1 -1
- package/dist/{_implementation → modules/unmarshalling/implementation}/refiners/unmarshalled/parse_tree.d.ts +3 -3
- package/dist/modules/unmarshalling/implementation/refiners/unmarshalled/parse_tree.js +253 -0
- package/dist/{_implementation → modules/unmarshalling/implementation}/serializers/unmarshalling_deprecated.d.ts +1 -1
- package/dist/modules/unmarshalling/implementation/serializers/unmarshalling_deprecated.js +12 -0
- package/dist/{_implementation → modules/unmarshalling/implementation}/serializers/value_unmarshalling.d.ts +1 -1
- package/dist/modules/unmarshalling/implementation/serializers/value_unmarshalling.js +74 -0
- package/dist/{_implementation/transformers/parse_tree_deserialization → modules/unmarshalling/implementation/transformers/unmarshalling_deprecated}/location.d.ts +2 -2
- package/dist/modules/unmarshalling/implementation/transformers/unmarshalling_deprecated/location.js +12 -0
- package/dist/{_implementation → modules/unmarshalling/implementation}/transformers/value_unmarshalling/location.d.ts +2 -2
- package/dist/modules/unmarshalling/implementation/transformers/value_unmarshalling/location.js +3 -0
- package/dist/modules/unmarshalling/schemas/parse_tree.d.ts +1 -0
- package/dist/modules/unmarshalling/schemas/parse_tree.js +2 -0
- package/dist/{interface → modules/unmarshalling}/schemas/unmarshalled_value.d.ts +1 -1
- package/dist/modules/unmarshalling/schemas/unmarshalled_value.js +2 -0
- package/dist/{interface → modules/unmarshalling}/schemas/unmarshalling_deprecated.d.ts +1 -1
- package/dist/modules/unmarshalling/schemas/unmarshalling_deprecated.js +2 -0
- package/dist/{interface → modules/unmarshalling}/schemas/value_unmarshalling.d.ts +1 -1
- package/dist/modules/unmarshalling/schemas/value_unmarshalling.js +2 -0
- package/package.json +1 -1
- package/dist/_implementation/refiners/annotated_characters/list_of_characters.js +0 -68
- package/dist/_implementation/refiners/parse_tree/list_of_characters.js +0 -23
- package/dist/_implementation/refiners/parse_tree/tokenizer_result.js +0 -211
- package/dist/_implementation/refiners/unmarshalled/parse_tree.js +0 -253
- package/dist/_implementation/serializers/location.js +0 -33
- package/dist/_implementation/serializers/parse_tree_deserialization.js +0 -63
- package/dist/_implementation/serializers/primitives.js +0 -87
- package/dist/_implementation/serializers/unmarshalling_deprecated.js +0 -12
- package/dist/_implementation/serializers/value_unmarshalling.js +0 -74
- package/dist/_implementation/transformers/parse_tree/full_value_range.js +0 -70
- package/dist/_implementation/transformers/parse_tree/start_token_range.js +0 -34
- package/dist/_implementation/transformers/parse_tree_deserialization/location.js +0 -20
- package/dist/_implementation/transformers/sealed_target/paragraph.js +0 -88
- package/dist/_implementation/transformers/sealed_target/serialized_paragraph.js +0 -6
- package/dist/_implementation/transformers/unmarshalling_deprecated/location.js +0 -12
- package/dist/_implementation/transformers/value_unmarshalling/location.js +0 -3
- package/dist/interface/schemas/full_value_range.js +0 -2
- package/dist/interface/schemas/list_of_characters.js +0 -2
- package/dist/interface/schemas/location_serialization.js +0 -2
- package/dist/interface/schemas/parse_tree_deserialization.js +0 -4
- package/dist/interface/schemas/start_token_range.js +0 -2
- package/dist/interface/schemas/unmarshalled_value.js +0 -2
- package/dist/interface/schemas/unmarshalling_deprecated.js +0 -2
- package/dist/interface/schemas/value_unmarshalling.js +0 -2
- package/dist/private_schemas/annotated_characters.js +0 -2
- /package/dist/{interface → modules/deserialization}/schemas/full_value_range.d.ts +0 -0
- /package/dist/{interface → modules/deserialization}/schemas/list_of_characters.d.ts +0 -0
- /package/dist/{interface → modules/deserialization}/schemas/location.d.ts +0 -0
- /package/dist/{interface → modules/deserialization}/schemas/location_serialization.d.ts +0 -0
- /package/dist/{interface → modules/deserialization}/schemas/parse_tree.d.ts +0 -0
- /package/dist/{interface → modules/deserialization}/schemas/parse_tree_deserialization.d.ts +0 -0
- /package/dist/{interface → modules/deserialization}/schemas/start_token_range.d.ts +0 -0
- /package/dist/{interface → modules/deserialization}/schemas/token.d.ts +0 -0
- /package/dist/{interface → modules/serialization}/schemas/paragraph.d.ts +0 -0
- /package/dist/{interface → modules/serialization}/schemas/paragraph_serialization.d.ts +0 -0
- /package/dist/{private_schemas → modules/serialization/schemas}/primitives.d.ts +0 -0
- /package/dist/{interface → modules/serialization}/schemas/sealed_target.d.ts +0 -0
- /package/dist/{interface → modules/serialization}/schemas/serialized_paragraph.d.ts +0 -0
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
import * as p_ from 'pareto-core/implementation/refiner';
|
|
2
|
-
import p_iterate from 'pareto-core/implementation/refiner/specials/iterate';
|
|
3
|
-
import p_unreachable_code_path from 'pareto-core/implementation/transformer/specials/unreachable_code_path';
|
|
4
|
-
export const create_missing_token = ($, $p) => ({
|
|
5
|
-
'expected': $,
|
|
6
|
-
'cause': ['missing token', {
|
|
7
|
-
'end': $p['end location'],
|
|
8
|
-
}]
|
|
9
|
-
});
|
|
10
|
-
export const create_unexpected_token = ($, $p) => ({
|
|
11
|
-
'expected': $,
|
|
12
|
-
'cause': ['unexpected token', {
|
|
13
|
-
'found': $p.found,
|
|
14
|
-
}]
|
|
15
|
-
});
|
|
16
|
-
export const Value = (iterator, abort) => ({
|
|
17
|
-
'type': iterator.peek_with_expectation(p_.literal.list([
|
|
18
|
-
['any value', null]
|
|
19
|
-
]), ($, expected) => abort(create_missing_token(expected, { 'end location': $ })), ($, expected) => {
|
|
20
|
-
const token = $;
|
|
21
|
-
return p_.from.state($.type).decide(($) => {
|
|
22
|
-
switch ($[0]) {
|
|
23
|
-
case 'text': return p_.option($, ($) => ['concrete',
|
|
24
|
-
['text', Text(iterator, abort, { 'token': token, 'text': $ })]
|
|
25
|
-
]);
|
|
26
|
-
case '{': return p_.option($, ($) => ['concrete', ['dictionary', {
|
|
27
|
-
'{': Guaranteed_Structural_Token(iterator, abort, { 'token': token }),
|
|
28
|
-
'entries': ID_Value_Pairs(iterator, abort, { 'end token': ['}', null] }),
|
|
29
|
-
'}': Possible_Structural_Token(iterator, abort, { 'expected token': ['}', null] }),
|
|
30
|
-
}]]);
|
|
31
|
-
case '(': return p_.option($, ($) => ['concrete', ['group', ['verbose', {
|
|
32
|
-
'(': Guaranteed_Structural_Token(iterator, abort, { 'token': token }),
|
|
33
|
-
'properties': ID_Value_Pairs(iterator, abort, { 'end token': [')', null] }),
|
|
34
|
-
')': Possible_Structural_Token(iterator, abort, { 'expected token': [')', null] })
|
|
35
|
-
}]]]);
|
|
36
|
-
case '[': return p_.option($, ($) => ['concrete', ['list', {
|
|
37
|
-
'[': Guaranteed_Structural_Token(iterator, abort, { 'token': token }),
|
|
38
|
-
'items': Items(iterator, abort, { 'end token': [']', null] }),
|
|
39
|
-
']': Possible_Structural_Token(iterator, abort, { 'expected token': [']', null] })
|
|
40
|
-
}]]);
|
|
41
|
-
case '<': return p_.option($, ($) => ['concrete', ['group', ['concise', {
|
|
42
|
-
'<': Guaranteed_Structural_Token(iterator, abort, { 'token': token }),
|
|
43
|
-
'properties': Items(iterator, abort, { 'end token': ['>', null] }),
|
|
44
|
-
'>': Possible_Structural_Token(iterator, abort, { 'expected token': ['>', null] })
|
|
45
|
-
}]]]);
|
|
46
|
-
case '@': return p_.option($, ($) => ['include', {
|
|
47
|
-
'@': Guaranteed_Structural_Token(iterator, abort, { 'token': token }),
|
|
48
|
-
'path': iterator.peek_with_expectation(p_.literal.list([
|
|
49
|
-
['a text value', null]
|
|
50
|
-
]), (end_info, expected) => abort(create_missing_token(expected, { 'end location': end_info })), ($, expected) => $.type[0] === 'text'
|
|
51
|
-
? Text(iterator, abort, { 'token': $, 'text': $.type[1] })
|
|
52
|
-
: abort(create_unexpected_token(expected, { 'found': $ })))
|
|
53
|
-
}]);
|
|
54
|
-
case '~': return p_.option($, ($) => ['concrete', ['nothing', {
|
|
55
|
-
'~': Guaranteed_Structural_Token(iterator, abort, { 'token': token }),
|
|
56
|
-
}]]);
|
|
57
|
-
case '|': return p_.option($, ($) => ['concrete', ['state', {
|
|
58
|
-
'|': Guaranteed_Structural_Token(iterator, abort, { 'token': token }),
|
|
59
|
-
'status': iterator.peek_with_expectation(p_.literal.list([
|
|
60
|
-
['a text value', null],
|
|
61
|
-
['#', null]
|
|
62
|
-
]), ($, expected) => abort(create_missing_token(expected, { 'end location': $ })), ($, expected) => {
|
|
63
|
-
const token = $;
|
|
64
|
-
return p_.from.state($.type).decide(($) => {
|
|
65
|
-
switch ($[0]) {
|
|
66
|
-
case 'text': return p_.option($, ($) => ['set', {
|
|
67
|
-
'option': Text(iterator, abort, { 'token': token, 'text': $ }),
|
|
68
|
-
'value': Value(iterator, abort)
|
|
69
|
-
}]);
|
|
70
|
-
case '#': return p_.option($, ($) => ['missing', {
|
|
71
|
-
'#': Guaranteed_Structural_Token(iterator, abort, { 'token': token }),
|
|
72
|
-
}]);
|
|
73
|
-
default: return abort(create_unexpected_token(expected, { 'found': token }));
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
})
|
|
77
|
-
}]]);
|
|
78
|
-
case '_': return p_.option($, ($) => ['concrete', ['optional', ['not set', {
|
|
79
|
-
'_': Guaranteed_Structural_Token(iterator, abort, { 'token': token }),
|
|
80
|
-
}]]]);
|
|
81
|
-
case '*': return p_.option($, ($) => ['concrete', ['optional', ['set', {
|
|
82
|
-
'*': Guaranteed_Structural_Token(iterator, abort, { 'token': token }),
|
|
83
|
-
'value': Value(iterator, abort)
|
|
84
|
-
}]]]);
|
|
85
|
-
case '#': return p_.option($, ($) => ['missing', {
|
|
86
|
-
'#': Guaranteed_Structural_Token(iterator, abort, { 'token': token }),
|
|
87
|
-
}]);
|
|
88
|
-
//unexpected tokens
|
|
89
|
-
// case '!': return p_.option($, ($) => iterator.unexpected_token(token, p_.literal.list([
|
|
90
|
-
// ['any value', null]
|
|
91
|
-
// ])))
|
|
92
|
-
// case ':': return p_.option($, ($) => iterator.unexpected_token(token, p_.literal.list([
|
|
93
|
-
// ['any value', null]
|
|
94
|
-
// ])))
|
|
95
|
-
// case ')': return p_.option($, ($) => iterator.unexpected_token(token, p_.literal.list([
|
|
96
|
-
// ['any value', null]
|
|
97
|
-
// ])))
|
|
98
|
-
// case '>': return p_.option($, ($) => iterator.unexpected_token(token, p_.literal.list([
|
|
99
|
-
// ['any value', null]
|
|
100
|
-
// ])))
|
|
101
|
-
// case ']': return p_.option($, ($) => iterator.unexpected_token(token, p_.literal.list([
|
|
102
|
-
// ['any value', null]
|
|
103
|
-
// ])))
|
|
104
|
-
// case '}': return p_.option($, ($) => iterator.unexpected_token(token, p_.literal.list([
|
|
105
|
-
// ['any value', null]
|
|
106
|
-
// ])))
|
|
107
|
-
default: return abort(create_unexpected_token(expected, { 'found': token }));
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
})
|
|
111
|
-
});
|
|
112
|
-
export const Guaranteed_Structural_Token = (iterator, abort, $p) => {
|
|
113
|
-
iterator.consume(() => p_unreachable_code_path("guaranteed"), () => null); //make this a 'discard' operation
|
|
114
|
-
return {
|
|
115
|
-
'trailing trivia': $p.token['trailing trivia'],
|
|
116
|
-
'range': {
|
|
117
|
-
'start': $p.token['start'],
|
|
118
|
-
'end': $p.token['end']
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
};
|
|
122
|
-
export const Possible_Structural_Token = (iterator, abort, $p) => iterator.peek_with_expectation(p_.literal.list([
|
|
123
|
-
$p['expected token']
|
|
124
|
-
]), ($, expected) => abort(create_missing_token(expected, { 'end location': $ })), ($, expected) => {
|
|
125
|
-
const token = $;
|
|
126
|
-
if ($.type[0] !== $p['expected token'][0]) {
|
|
127
|
-
return abort(create_unexpected_token(expected, { 'found': token }));
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
return iterator.consume(//discard
|
|
131
|
-
() => p_unreachable_code_path("peeked (with 'expected')"), () => ({
|
|
132
|
-
'trailing trivia': token['trailing trivia'],
|
|
133
|
-
'range': {
|
|
134
|
-
'start': token['start'],
|
|
135
|
-
'end': token['end']
|
|
136
|
-
}
|
|
137
|
-
}));
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
export const Text = (iterator, abort, $p) => {
|
|
141
|
-
return iterator.consume(() => p_unreachable_code_path("guaranteed (it has a token as parameter)"), ($) => ({
|
|
142
|
-
'range': {
|
|
143
|
-
'start': $['start'],
|
|
144
|
-
'end': $['end']
|
|
145
|
-
},
|
|
146
|
-
'token': $p.text,
|
|
147
|
-
'trailing trivia': $['trailing trivia'],
|
|
148
|
-
}));
|
|
149
|
-
};
|
|
150
|
-
export const Items = (iterator, abort, $p) => iterator.build_list({
|
|
151
|
-
has_more_items: (current_token) => current_token.type[0] !== $p['end token'][0],
|
|
152
|
-
handle: () => iterator.peek(//for the proper error message (any value or end token) we peek instead of processing the token directly
|
|
153
|
-
($) => abort(create_missing_token(p_.literal.list([
|
|
154
|
-
['any value', null],
|
|
155
|
-
$p['end token']
|
|
156
|
-
]), { 'end location': $ })), ($) => ({
|
|
157
|
-
'value': Value(iterator, abort)
|
|
158
|
-
})),
|
|
159
|
-
on_no_progression: () => p_unreachable_code_path("'handle' is expected to always consume at least one token, so this should never happen"),
|
|
160
|
-
});
|
|
161
|
-
export const ID_Value_Pairs = (iterator, abort, $p) => iterator.build_list({
|
|
162
|
-
has_more_items: ($) => $.type[0] !== $p['end token'][0],
|
|
163
|
-
handle: () => ({
|
|
164
|
-
'id': iterator.peek(//to get a better error message (a text value or end token) we peek instead of processing the Text token directly
|
|
165
|
-
() => p_unreachable_code_path("has more items is true"), ($) => $.type[0] === 'text'
|
|
166
|
-
? Text(iterator, abort, {
|
|
167
|
-
'token': $,
|
|
168
|
-
'text': $.type[1]
|
|
169
|
-
})
|
|
170
|
-
: abort(create_unexpected_token(p_.literal.list([
|
|
171
|
-
['a text value', null],
|
|
172
|
-
$p['end token'],
|
|
173
|
-
]), { 'found': $ }))),
|
|
174
|
-
'assignment': iterator.peek_with_expectation(p_.literal.list([
|
|
175
|
-
['a text value', null],
|
|
176
|
-
[':', null],
|
|
177
|
-
$p['end token']
|
|
178
|
-
]), ($, expected) => abort(create_missing_token(expected, { 'end location': $ })), ($, expected) => {
|
|
179
|
-
const token = $;
|
|
180
|
-
return p_.from.state($.type).decide(($) => {
|
|
181
|
-
switch ($[0]) {
|
|
182
|
-
case 'text': return p_.option($, ($) => p_.literal.not_set());
|
|
183
|
-
case ':': return p_.option($, ($) => p_.literal.set({
|
|
184
|
-
':': Guaranteed_Structural_Token(iterator, abort, { 'token': token }),
|
|
185
|
-
'value': p_.literal.set(Value(iterator, abort)) //FIXME determine if it is set... if the next token is a text, we will need to do an extra lookahead if there is a colon
|
|
186
|
-
}));
|
|
187
|
-
default: return $[0] === $p['end token'][0]
|
|
188
|
-
? p_.literal.not_set()
|
|
189
|
-
: abort(create_unexpected_token(expected, { 'found': token }));
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
}),
|
|
193
|
-
// ',': p_.literal.not_set() //FIXME implement optional comma (or keep it as 'whitespace' but then remove this property)
|
|
194
|
-
}),
|
|
195
|
-
on_no_progression: () => p_unreachable_code_path("'handle' is expected to always consume at least one token, so this should never happen"),
|
|
196
|
-
});
|
|
197
|
-
export const Document = ($, abort) => p_iterate({
|
|
198
|
-
list: $.tokens,
|
|
199
|
-
end_info: $.end,
|
|
200
|
-
assign: (iterator) => ({
|
|
201
|
-
'header': iterator.peek(($) => p_.literal.not_set(), ($) => $.type[0] === '!' //header token
|
|
202
|
-
? iterator.consume(() => p_unreachable_code_path("peeked (with 'expected')"), ($) => p_.literal.set({
|
|
203
|
-
'!': Guaranteed_Structural_Token(iterator, abort, { 'token': $ }),
|
|
204
|
-
'value': Value(iterator, abort)
|
|
205
|
-
}))
|
|
206
|
-
: p_.literal.not_set()),
|
|
207
|
-
'content': Value(iterator, abort)
|
|
208
|
-
}),
|
|
209
|
-
on_dangling_item: null, //FIX enable checking for too many tokens
|
|
210
|
-
});
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyX3Jlc3VsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9faW1wbGVtZW50YXRpb24vcmVmaW5lcnMvcGFyc2VfdHJlZS90b2tlbml6ZXJfcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFFeEQsT0FBTyxTQUFTLE1BQU0scURBQXFELENBQUE7QUFDM0UsT0FBTyx1QkFBdUIsTUFBTSx1RUFBdUUsQ0FBQTtBQXdGM0csTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBTTdCLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNaLFVBQVUsRUFBRSxDQUFDO0lBQ2IsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFO1lBQ3ZCLEtBQUssRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDO1NBQzVCLENBQUM7Q0FDTCxDQUFDLENBQUE7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FNaEMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1osVUFBVSxFQUFFLENBQUM7SUFDYixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQixPQUFPLEVBQUUsRUFBRSxDQUFDLEtBQUs7U0FDcEIsQ0FBQztDQUNMLENBQUMsQ0FBQTtBQUVGLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBdUIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNELE1BQU0sRUFBRSxRQUFRLENBQUMscUJBQXFCLENBQ2xDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFvQjtRQUMvQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7S0FDdEIsQ0FBQyxFQUNGLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxFQUFF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
|
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
import * as p_ from 'pareto-core/implementation/refiner';
|
|
2
|
-
import * as p_t from 'pareto-core/implementation/transformer';
|
|
3
|
-
import p_assert from 'pareto-core/implementation/refiner/specials/assert';
|
|
4
|
-
//dependencies
|
|
5
|
-
import * as t_parse_tree_to_location from "../../transformers/parse_tree/start_token_range.js";
|
|
6
|
-
export const Dictionary = ($, abort) => {
|
|
7
|
-
const value = $;
|
|
8
|
-
return p_.from.state($.type).decide(($) => {
|
|
9
|
-
switch ($[0]) {
|
|
10
|
-
case 'concrete': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
11
|
-
switch ($[0]) {
|
|
12
|
-
case 'dictionary': return p_.option($, ($) => ({
|
|
13
|
-
'value': value,
|
|
14
|
-
'entries': p_.from.list($.entries).convert_to_dictionary(($) => $.id.token.value, ($) => $, {
|
|
15
|
-
duplicate_id: ($) => abort({
|
|
16
|
-
'type': ['dictionary', ['duplicate entry', $]],
|
|
17
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
18
|
-
})
|
|
19
|
-
})
|
|
20
|
-
}));
|
|
21
|
-
default: return abort({
|
|
22
|
-
'type': ['wrong value type', {
|
|
23
|
-
'expected': ['dictionary', null],
|
|
24
|
-
}],
|
|
25
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}));
|
|
29
|
-
default: return abort({
|
|
30
|
-
'type': ['wrong value type', {
|
|
31
|
-
'expected': ['dictionary', null],
|
|
32
|
-
}],
|
|
33
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
export const List = ($, abort) => {
|
|
39
|
-
const value = $;
|
|
40
|
-
return p_.from.state($.type).decide(($) => {
|
|
41
|
-
switch ($[0]) {
|
|
42
|
-
case 'concrete': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
43
|
-
switch ($[0]) {
|
|
44
|
-
case 'list': return p_.option($, ($) => ({
|
|
45
|
-
'value': value,
|
|
46
|
-
'items': $.items
|
|
47
|
-
}));
|
|
48
|
-
default: return abort({
|
|
49
|
-
'type': ['wrong value type', {
|
|
50
|
-
'expected': ['list', null],
|
|
51
|
-
}],
|
|
52
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}));
|
|
56
|
-
default: return abort({
|
|
57
|
-
'type': ['wrong value type', {
|
|
58
|
-
'expected': ['list', null],
|
|
59
|
-
}],
|
|
60
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
export const Nothing = ($, abort) => {
|
|
66
|
-
const value = $;
|
|
67
|
-
return p_.from.state($.type).decide(($) => {
|
|
68
|
-
switch ($[0]) {
|
|
69
|
-
case 'concrete': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
70
|
-
switch ($[0]) {
|
|
71
|
-
case 'nothing': return p_.option($, ($) => ({
|
|
72
|
-
'value': value,
|
|
73
|
-
'null': null
|
|
74
|
-
}));
|
|
75
|
-
default: return abort({
|
|
76
|
-
'type': ['wrong value type', {
|
|
77
|
-
'expected': ['nothing', null],
|
|
78
|
-
}],
|
|
79
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
}));
|
|
83
|
-
default: return abort({
|
|
84
|
-
'type': ['wrong value type', {
|
|
85
|
-
'expected': ['nothing', null],
|
|
86
|
-
}],
|
|
87
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
};
|
|
92
|
-
export const Optional = ($, abort) => {
|
|
93
|
-
const value = $;
|
|
94
|
-
return p_.from.state($.type).decide(($) => {
|
|
95
|
-
switch ($[0]) {
|
|
96
|
-
case 'concrete': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
97
|
-
switch ($[0]) {
|
|
98
|
-
case 'optional': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
99
|
-
switch ($[0]) {
|
|
100
|
-
case 'set': return p_.option($, ($) => ({
|
|
101
|
-
'value': value,
|
|
102
|
-
'optional': p_.literal.set($.value)
|
|
103
|
-
}));
|
|
104
|
-
case 'not set': return p_.option($, ($) => ({
|
|
105
|
-
'value': value,
|
|
106
|
-
'optional': p_.literal.not_set()
|
|
107
|
-
}));
|
|
108
|
-
default: return abort({
|
|
109
|
-
'type': ['wrong value type', {
|
|
110
|
-
'expected': ['optional', null],
|
|
111
|
-
}],
|
|
112
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
}));
|
|
116
|
-
default: return abort({
|
|
117
|
-
'type': ['wrong value type', {
|
|
118
|
-
'expected': ['optional', null],
|
|
119
|
-
}],
|
|
120
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
}));
|
|
124
|
-
default: return abort({
|
|
125
|
-
'type': ['wrong value type', {
|
|
126
|
-
'expected': ['optional', null],
|
|
127
|
-
}],
|
|
128
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
};
|
|
133
|
-
export const Property = ($, abort, $p) => {
|
|
134
|
-
return p_.from.dictionary($.properties).get_entry($p.id, {
|
|
135
|
-
no_such_entry: () => abort({
|
|
136
|
-
'range': t_parse_tree_to_location.Value($.value),
|
|
137
|
-
'type': ['type', ['missing property', $p.id]]
|
|
138
|
-
})
|
|
139
|
-
});
|
|
140
|
-
};
|
|
141
|
-
export const State = ($, abort) => {
|
|
142
|
-
const value = $;
|
|
143
|
-
return p_.from.state($.type).decide(($) => {
|
|
144
|
-
switch ($[0]) {
|
|
145
|
-
case 'concrete': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
146
|
-
switch ($[0]) {
|
|
147
|
-
case 'state': return p_.option($, ($) => p_.from.state($.status).decide(($) => {
|
|
148
|
-
switch ($[0]) {
|
|
149
|
-
case 'set': return p_.option($, ($) => $);
|
|
150
|
-
default: return abort({
|
|
151
|
-
'type': ['wrong value type', {
|
|
152
|
-
'expected': ['state', null],
|
|
153
|
-
}],
|
|
154
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
}));
|
|
158
|
-
default: return abort({
|
|
159
|
-
'type': ['wrong value type', {
|
|
160
|
-
'expected': ['state', null],
|
|
161
|
-
}],
|
|
162
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
}));
|
|
166
|
-
default: return abort({
|
|
167
|
-
'type': ['wrong value type', {
|
|
168
|
-
'expected': ['state', null],
|
|
169
|
-
}],
|
|
170
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
};
|
|
175
|
-
export const Text = ($, abort) => {
|
|
176
|
-
const value = $;
|
|
177
|
-
return p_.from.state($.type).decide(($) => {
|
|
178
|
-
switch ($[0]) {
|
|
179
|
-
case 'concrete': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
180
|
-
switch ($[0]) {
|
|
181
|
-
case 'text': return p_.option($, ($) => $);
|
|
182
|
-
default: return abort({
|
|
183
|
-
'type': ['wrong value type', {
|
|
184
|
-
'expected': ['text', null],
|
|
185
|
-
}],
|
|
186
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
}));
|
|
190
|
-
default: return abort({
|
|
191
|
-
'type': ['wrong value type', {
|
|
192
|
-
'expected': ['text', null],
|
|
193
|
-
}],
|
|
194
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
};
|
|
199
|
-
export const Verbose_Group = ($, abort, $p) => {
|
|
200
|
-
const value = $;
|
|
201
|
-
return {
|
|
202
|
-
'value': $,
|
|
203
|
-
'properties': p_.from.state($.type).decide(($) => {
|
|
204
|
-
switch ($[0]) {
|
|
205
|
-
case 'concrete': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
206
|
-
switch ($[0]) {
|
|
207
|
-
case 'group': return p_.option($, ($) => p_.from.state($).decide(($) => {
|
|
208
|
-
switch ($[0]) {
|
|
209
|
-
// case 'concise':
|
|
210
|
-
case 'verbose': return p_.option($, ($) => {
|
|
211
|
-
const xxx = p_.from.list($.properties).convert_to_dictionary(($) => $.id.token.value, ($) => $, {
|
|
212
|
-
duplicate_id: ($) => abort({
|
|
213
|
-
'type': ['type', ['duplicate property', $]],
|
|
214
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
215
|
-
})
|
|
216
|
-
});
|
|
217
|
-
return p_assert(abort, () => {
|
|
218
|
-
return p_t.from.dictionary(p_t.from.dictionary(p_t.from.dictionary(xxx).join($p['expected properties'], ($, other, id) => p_t.from.optional(other).decide(($) => p_.literal.not_set(), () => p_.literal.set($.id.range)))).map_optionally(($) => $)).on_has_entries(($) => p_.literal.set({
|
|
219
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
220
|
-
'type': ['type', ['unexpected properties', {
|
|
221
|
-
'found': $,
|
|
222
|
-
'expected': $p['expected properties'],
|
|
223
|
-
}]]
|
|
224
|
-
}), () => p_.literal.not_set());
|
|
225
|
-
}, () => xxx);
|
|
226
|
-
});
|
|
227
|
-
default: return abort({
|
|
228
|
-
'type': ['wrong value type', {
|
|
229
|
-
'expected': ['verbose group', null],
|
|
230
|
-
}],
|
|
231
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
}));
|
|
235
|
-
default: return abort({
|
|
236
|
-
'type': ['wrong value type', {
|
|
237
|
-
'expected': ['verbose group', null],
|
|
238
|
-
}],
|
|
239
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
}));
|
|
243
|
-
default: return abort({
|
|
244
|
-
'type': ['wrong value type', {
|
|
245
|
-
'expected': ['verbose group', null],
|
|
246
|
-
}],
|
|
247
|
-
'range': t_parse_tree_to_location.Value(value),
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
})
|
|
251
|
-
};
|
|
252
|
-
};
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VfdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9faW1wbGVtZW50YXRpb24vcmVmaW5lcnMvdW5tYXJzaGFsbGVkL3BhcnNlX3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN4RCxPQUFPLEtBQUssR0FBRyxNQUFNLHdDQUF3QyxDQUFBO0FBRTdELE9BQU8sUUFBUSxNQUFNLG9EQUFvRCxDQUFBO0FBaUV6RSxjQUFjO0FBQ2QsT0FBTyxLQUFLLHdCQUF3QixNQUFNLG9EQUFvRCxDQUFBO0FBRTlGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBNEIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDNUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBQ2YsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUMvQixDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ0YsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNYLEtBQUssVUFBVSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUMvRCxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNGLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ1gsS0FBSyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFvQixFQUFFLENBQUMsQ0FBQzt3QkFDN0QsT0FBTyxFQUFFLEtBQUs7d0JBQ2QsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFB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
|
|
@@ -1,33 +0,0 @@
|
|
|
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
|
-
//shorthands
|
|
4
|
-
import * as sh from "pareto-fountain-pen/shorthands/rich_phrase/deprecated";
|
|
5
|
-
//dependencies
|
|
6
|
-
import * as ser_rich_phrase from "pareto-fountain-pen/_implementation/serializers/rich_phrase";
|
|
7
|
-
const temp_serialize_number = (n) => {
|
|
8
|
-
return `${n}`;
|
|
9
|
-
};
|
|
10
|
-
export const Range = ($, $p) => ser_rich_phrase.Phrase(sh.ph.composed([
|
|
11
|
-
sh.ph.text(temp_serialize_number($.start.relative.line + p_.from.state($p['character location reporting']).decide(($) => ($[0] === 'zero based' ? 0 : 1)))),
|
|
12
|
-
sh.ph.text(":"),
|
|
13
|
-
sh.ph.text(temp_serialize_number($.start.relative.column + p_.from.state($p['character location reporting']).decide(($) => ($[0] === 'zero based' ? 0 : 1)))),
|
|
14
|
-
sh.ph.text("-"),
|
|
15
|
-
sh.ph.text(temp_serialize_number($.end.relative.line + p_.from.state($p['character location reporting']).decide(($) => ($[0] === 'zero based' ? 0 : 1)))),
|
|
16
|
-
sh.ph.text(":"),
|
|
17
|
-
sh.ph.text(temp_serialize_number($.end.relative.column + p_.from.state($p['character location reporting']).decide(($) => ($[0] === 'zero based' ? 0 : 1))))
|
|
18
|
-
]));
|
|
19
|
-
export const Possible_Range = ($, $p) => p_.from.state($).decide(($) => {
|
|
20
|
-
switch ($[0]) {
|
|
21
|
-
case 'range': return p_.option($, ($) => Range($, $p));
|
|
22
|
-
case 'end of document': return p_.option($, ($) => Location($.end, $p));
|
|
23
|
-
default: return p_.exhaustive($[0]);
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
export const Location = ($, $p) => {
|
|
27
|
-
return ser_rich_phrase.Phrase(sh.ph.composed([
|
|
28
|
-
sh.ph.text(temp_serialize_number($.relative.line + p_.from.state($p['character location reporting']).decide(($) => ($[0] === 'zero based' ? 0 : 1)))),
|
|
29
|
-
sh.ph.text(":"),
|
|
30
|
-
sh.ph.text(temp_serialize_number($.relative.column + p_.from.state($p['character location reporting']).decide(($) => ($[0] === 'zero based' ? 0 : 1)))),
|
|
31
|
-
]));
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvX2ltcGxlbWVudGF0aW9uL3NlcmlhbGl6ZXJzL2xvY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDM0QsT0FBTyxnQkFBZ0IsTUFBTSw0REFBNEQsQ0FBQTtBQXNCekYsWUFBWTtBQUNaLE9BQU8sS0FBSyxFQUFFLE1BQU0sdURBQXVELENBQUE7QUFFM0UsY0FBYztBQUNkLE9BQU8sS0FBSyxlQUFlLE1BQU0sNkRBQTZELENBQUE7QUFFOUYsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLENBQVMsRUFBVSxFQUFFO0lBQ2hELE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQTtBQUNqQixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQXVCLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUN0RixFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQzdHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNmLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxL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
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import * as p_ from 'pareto-core/implementation/serializer';
|
|
2
|
-
import p_text_from_list from 'pareto-core/implementation/transformer/specials/text_from_list';
|
|
3
|
-
//schemas
|
|
4
|
-
import * as s_out from "pareto-fountain-pen/interface/schemas/rich_phrase";
|
|
5
|
-
//shorthands
|
|
6
|
-
import * as sh from "pareto-fountain-pen/shorthands/rich_phrase/deprecated";
|
|
7
|
-
import * as ser_rich_phrase from "pareto-fountain-pen/_implementation/serializers/rich_phrase";
|
|
8
|
-
export const Error = ($) => {
|
|
9
|
-
const Parse_Error_Type = ($) => p_.from.state($).decide(($) => {
|
|
10
|
-
switch ($[0]) {
|
|
11
|
-
case 'lexer': return p_.option($, ($) => p_.from.state($.expected).decide(($) => {
|
|
12
|
-
switch ($[0]) {
|
|
13
|
-
case 'unicode character': return sh.ph.text("found invalid unicode escape sequence");
|
|
14
|
-
case 'no end of line in text': return p_.option($, ($) => sh.ph.text("no end of line in text"));
|
|
15
|
-
case 'escape character': return p_.option($, ($) => sh.ph.composed([
|
|
16
|
-
sh.ph.text("escape character (), but found "),
|
|
17
|
-
p_.from.optional($.found).decide(($) => sh.ph.text(p_text_from_list(p_.literal.list([$]), ($) => $)), () => sh.ph.text("nothing")),
|
|
18
|
-
]));
|
|
19
|
-
case 'block comment termination': return p_.option($, ($) => sh.ph.text("block comment termination: */"));
|
|
20
|
-
case 'text termination': return p_.option($, ($) => sh.ph.text("text delimiter: \" or ' or `"));
|
|
21
|
-
default: return p_.exhaustive($[0]);
|
|
22
|
-
}
|
|
23
|
-
}));
|
|
24
|
-
case 'parser': return p_.option($, ($) => sh.ph.composed([
|
|
25
|
-
sh.ph.text("expected "),
|
|
26
|
-
sh.ph.rich_phrase(p_.from.list($.expected).map(($) => sh.ph.text(p_.from.state($).decide(($) => {
|
|
27
|
-
switch ($[0]) {
|
|
28
|
-
case '!': return "'!'";
|
|
29
|
-
case ')': return "')'";
|
|
30
|
-
case ',': return "','";
|
|
31
|
-
case ':': return "':'";
|
|
32
|
-
case '>': return "'>'";
|
|
33
|
-
case '@': return "'@'";
|
|
34
|
-
case ']': return "']'";
|
|
35
|
-
case 'a text value': return "a text value";
|
|
36
|
-
case 'any value': return "any value";
|
|
37
|
-
case '}': return "'}'";
|
|
38
|
-
case '#': return "'#'";
|
|
39
|
-
default: return p_.exhaustive($[0]);
|
|
40
|
-
}
|
|
41
|
-
}))), sh.ph.text("something"), null, sh.ph.text(" or "), null),
|
|
42
|
-
sh.ph.text(", found "),
|
|
43
|
-
p_.from.state($.cause).decide(($) => {
|
|
44
|
-
switch ($[0]) {
|
|
45
|
-
case 'unexpected token': return p_.option($, ($) => sh.ph.composed([
|
|
46
|
-
sh.ph.text("'"),
|
|
47
|
-
sh.ph.text($.found.type[0]),
|
|
48
|
-
sh.ph.text("'")
|
|
49
|
-
]));
|
|
50
|
-
case 'missing token': return p_.option($, ($) => sh.ph.text("nothing"));
|
|
51
|
-
default: return p_.exhaustive($[0]);
|
|
52
|
-
}
|
|
53
|
-
})
|
|
54
|
-
]));
|
|
55
|
-
default: return p_.exhaustive($[0]);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
return ser_rich_phrase.Phrase(sh.ph.composed([
|
|
59
|
-
sh.ph.text("failed to parse ASTN: "),
|
|
60
|
-
Parse_Error_Type($['type']),
|
|
61
|
-
]));
|
|
62
|
-
};
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VfdHJlZV9kZXNlcmlhbGl6YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvX2ltcGxlbWVudGF0aW9uL3NlcmlhbGl6ZXJzL3BhcnNlX3RyZWVfZGVzZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDM0QsT0FBTyxnQkFBZ0IsTUFBTSxnRUFBZ0UsQ0FBQTtBQUU3RixTQUFTO0FBQ1QsT0FBTyxLQUFLLEtBQUssTUFBTSxtREFBbUQsQ0FBQTtBQVUxRSxZQUFZO0FBQ1osT0FBTyxLQUFLLEVBQUUsTUFBTSx1REFBdUQsQ0FBQTtBQUUzRSxPQUFPLEtBQUssZUFBZSxNQUFNLDZEQUE2RCxDQUFBO0FBRTlGLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBdUIsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUMzQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBbUIsRUFBZ0IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDbkYsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNGLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDWCxLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQ3JFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ0YsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDWCxLQUFLLG1CQUFtQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFBO29CQUNwRixL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
|