pareto-core 0.1.219 → 0.1.221
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/implementation/refiner/specials/iterate safe.js +16 -4
- package/dist/implementation/refiner/specials/iterate.d.ts +2 -4
- package/dist/implementation/refiner/specials/iterate.js +36 -33
- package/dist/interface/production/__internal/Guaranteed_Value_Iterator.d.ts +1 -0
- package/dist/interface/production/__internal/Iterator.d.ts +14 -15
- package/dist/interface/production/index.d.ts +5 -6
- package/package.json +1 -1
|
@@ -38,11 +38,12 @@ const lit = __importStar(require("../../__internal/sync/literal"));
|
|
|
38
38
|
function iterate_safe(list, end_info, assign) {
|
|
39
39
|
const raw = list.__get_raw();
|
|
40
40
|
let position = 0;
|
|
41
|
-
const look_raw = () => {
|
|
42
|
-
|
|
41
|
+
const look_raw = (ahead) => {
|
|
42
|
+
const pos = position + (ahead !== null && ahead !== void 0 ? ahead : 0);
|
|
43
|
+
if (pos < 0 || pos >= raw.length) {
|
|
43
44
|
return null;
|
|
44
45
|
}
|
|
45
|
-
return [raw[
|
|
46
|
+
return [raw[pos]];
|
|
46
47
|
};
|
|
47
48
|
const result = assign({
|
|
48
49
|
consume: {
|
|
@@ -113,6 +114,17 @@ function iterate_safe(list, end_info, assign) {
|
|
|
113
114
|
}
|
|
114
115
|
return assign(this_list_raw[position]);
|
|
115
116
|
},
|
|
117
|
+
peek_ahead: (offset, assign, no_item) => {
|
|
118
|
+
const this_list_raw = list.__get_raw();
|
|
119
|
+
const currentx = look_raw(offset);
|
|
120
|
+
if (currentx === null) {
|
|
121
|
+
return no_item(end_info);
|
|
122
|
+
}
|
|
123
|
+
if (position > this_list_raw.length - 1) {
|
|
124
|
+
throw new Error("just checked that position is in bounds");
|
|
125
|
+
}
|
|
126
|
+
return assign(this_list_raw[position]);
|
|
127
|
+
},
|
|
116
128
|
build_segmented_list: ($x) => {
|
|
117
129
|
const raw = [];
|
|
118
130
|
while (true) {
|
|
@@ -132,4 +144,4 @@ function iterate_safe(list, end_info, assign) {
|
|
|
132
144
|
});
|
|
133
145
|
return result;
|
|
134
146
|
}
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0ZSBzYWZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL3JlZmluZXIvc3BlY2lhbHMvaXRlcmF0ZSBzYWZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0EsK0JBK0tDO0FBcExELG1FQUFvRDtBQUtwRCxTQUF3QixZQUFZLENBS2hDLElBQXFCLEVBQ3JCLFFBQWtCLEVBQ2xCLE1BQWtFO0lBR2xFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUU1QixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUE7SUFFaEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFjLEVBQTRCLEVBQUU7UUFDMUQsTUFBTSxHQUFHLEdBQUcsUUFBUSxHQUFHLENBQUMsS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksQ0FBQyxDQUFDLENBQUE7UUFDbkMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0IsT0FBTyxJQUFJLENBQUE7UUFDZixDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ3JCLENBQUMsQ0FBQTtJQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVsQixPQUFPLEVBQUU7WUFFTCxPQUFPLEVBQUUsQ0FDTCxNQUFNLEVBQ04sT0FBTyxFQUNULEVBQUU7Z0JBQ0EsTUFBTSxRQUFRLEdBQUcsUUFBUSxFQUFFLENBQUE7Z0JBQzNCLElBQUksUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNwQixPQUFPLE9BQU8sQ0FDVixRQUFRLENBQ1gsQ0FBQTtnQkFDTCxDQUFDO2dCQUNELFFBQVEsSUFBSSxDQUFDLENBQUE7Z0JBQ2IsT0FBTyxNQUFNLENBQ1QsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUNkLENBQUE7WUFDTCxDQUFDO1lBRUQsT0FBTyxFQUFFLENBQ0wsTUFBTSxFQUNOLE9BQU8sRUFDVCxFQUFFO2dCQUNBLE1BQU0sUUFBUSxHQUFHLFFBQVEsRUFBRSxDQUFBO2dCQUMzQixJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDcEIsT0FBTyxPQUFPLENBQ1YsUUFBUSxDQUNYLENBQUE7Z0JBQ0wsQ0FBQztnQkFDRCxRQUFRLElBQUksQ0FBQyxDQUFBO2dCQUNiLE9BQU8sTUFBTSxDQUNULFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDZCxDQUFBO1lBQ0wsQ0FBQztZQUVELE1BQU0sRUFBRSxDQUNKLE1BQU0sRUFDTixPQUFPLEVBQ1QsRUFBRTtnQkFDQSxNQUFNLFFBQVEsR0FBRyxRQUFRLEVBQUUsQ0FBQTtnQkFDM0IsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ3BCLE9BQU8sT0FBTyxDQUNWLFFBQVEsQ0FDWCxDQUFBO2dCQUNMLENBQUM7Z0JBQ0QsUUFBUSxJQUFJLENBQUMsQ0FBQTtnQkFDYixPQUFPLE1BQU0sQ0FDVCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQ2QsQ0FBQTtZQUNMLENBQUM7WUFFRCxRQUFRLEVBQUUsQ0FDTixFQUFFLEVBQ0osRUFBRTtnQkFDQSxNQUFNLElBQUksR0FBRyxRQUFRLEVBQUUsQ0FBQTtnQkFDdkIsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ2hCLE9BQU8sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFBO2dCQUN4QixDQUFDO2dCQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FDVixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1YsQ0FBQTtZQUNMLENBQUM7WUFFRCxJQUFJLEVBQUUsQ0FDRixNQUFNLEVBQ04sT0FBTyxFQUNULEVBQUU7Z0JBQ0EsTUFBTSxRQUFRLEdBQUcsUUFBUSxFQUFFLENBQUE7Z0JBQzNCLElBQUksUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNwQixPQUFPLE9BQU8sQ0FDVixRQUFRLENBQ1gsQ0FBQTtnQkFDTCxDQUFDO2dCQUNELFFBQVEsSUFBSSxDQUFDLENBQUE7Z0JBQ2IsT0FBTyxNQUFNLENBQ1QsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUNkLENBQUE7WUFDTCxDQUFDO1NBRUo7UUFFRCxVQUFVLEVBQUUsQ0FBK0IsRUFHMUMsRUFBd0IsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBZ0IsRUFBRSxDQUFBO1lBRTNCLE9BQU8sSUFBSSxFQUFFLENBQUM7Z0JBQ1YsTUFBTSxZQUFZLEdBQUcsUUFBUSxFQUFFLENBQUE7Z0JBQy9CLElBQUksWUFBWSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUN4QixNQUFLO2dCQUNULENBQUM7cUJBQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDN0MsTUFBSztnQkFDVCxDQUFDO3FCQUFNLENBQUM7b0JBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQTtnQkFDekIsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDeEIsQ0FBQztRQUVELElBQUksRUFBRSxDQUNGLE1BQU0sRUFDTixPQUFPLEVBQ1QsRUFBRTtZQUNBLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtZQUN0QyxNQUFNLFFBQVEsR0FBRyxRQUFRLEVBQUUsQ0FBQTtZQUMzQixJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDNUIsQ0FBQztZQUNELElBQUksUUFBUSxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQTtZQUM5RCxDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7UUFDMUMsQ0FBQztRQUVELFVBQVUsRUFBRSxDQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sT0FBTyxFQUNULEVBQUU7WUFDQSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7WUFDdEMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ2pDLElBQUksUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNwQixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUM1QixDQUFDO1lBQ0QsSUFBSSxRQUFRLEdBQUcsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFBO1lBQzlELENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtRQUMxQyxDQUFDO1FBRUQsb0JBQW9CLEVBQUUsQ0FBK0IsRUFHcEQsRUFBd0IsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBZ0IsRUFBRSxDQUFBO1lBRTNCLE9BQU8sSUFBSSxFQUFFLENBQUM7Z0JBQ1YsTUFBTSxZQUFZLEdBQUcsUUFBUSxFQUFFLENBQUE7Z0JBQy9CLElBQUksWUFBWSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUN4QixNQUFLO2dCQUNULENBQUM7cUJBQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDN0MsTUFBSztnQkFDVCxDQUFDO3FCQUFNLENBQUM7b0JBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO2dCQUN4QyxDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN4QixDQUFDO0tBRUosQ0FBQyxDQUFBO0lBQ0YsT0FBTyxNQUFNLENBQUE7QUFDakIsQ0FBQyJ9
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import * as p_di from "../../../interface/data";
|
|
2
2
|
import * as p_pi from "../../../interface/production";
|
|
3
3
|
import { Abort } from "../../../interface/__internal/Abort";
|
|
4
|
-
import { Create_Expectation_Error } from "../../../interface/production/__internal/Iterator";
|
|
5
4
|
export default function iterate<Return_Type extends p_di.Value, Error extends p_di.Value, Expected extends p_di.Value, Item extends p_di.Value, End_Info extends p_di.Value>($$: {
|
|
6
5
|
list: p_di.List<Item>;
|
|
7
6
|
end_info: End_Info;
|
|
8
7
|
abort: Abort<Error>;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
assign: ($iter: p_pi.Iterator<Item, End_Info, Error, Expected>, abort: Abort<Error>) => Return_Type;
|
|
8
|
+
on_dangling_item: null | Abort<Item>;
|
|
9
|
+
assign: ($iter: p_pi.Iterator<Item, End_Info>) => Return_Type;
|
|
12
10
|
}): Return_Type;
|
|
@@ -38,46 +38,47 @@ const lit = __importStar(require("../../__internal/sync/literal"));
|
|
|
38
38
|
function iterate($$) {
|
|
39
39
|
const raw = $$.list.__get_raw();
|
|
40
40
|
let position = 0;
|
|
41
|
-
const look_raw = () => {
|
|
42
|
-
|
|
41
|
+
const look_raw = (ahead) => {
|
|
42
|
+
const pos = position + (ahead !== null && ahead !== void 0 ? ahead : 0);
|
|
43
|
+
if (pos < 0 || pos >= raw.length) {
|
|
43
44
|
return null;
|
|
44
45
|
}
|
|
45
|
-
return [raw[
|
|
46
|
+
return [raw[pos]];
|
|
46
47
|
};
|
|
47
|
-
const create_iterator = (
|
|
48
|
+
const create_iterator = () => {
|
|
48
49
|
return {
|
|
49
50
|
consume: {
|
|
50
51
|
boolean: (assign, no_item) => {
|
|
51
52
|
const currentx = look_raw();
|
|
52
53
|
if (currentx === null) {
|
|
53
|
-
return no_item($$.end_info
|
|
54
|
+
return no_item($$.end_info);
|
|
54
55
|
}
|
|
55
56
|
position += 1;
|
|
56
|
-
return assign(currentx[0]
|
|
57
|
+
return assign(currentx[0]);
|
|
57
58
|
},
|
|
58
59
|
list: (assign, no_item) => {
|
|
59
60
|
const currentx = look_raw();
|
|
60
61
|
if (currentx === null) {
|
|
61
|
-
return no_item($$.end_info
|
|
62
|
+
return no_item($$.end_info);
|
|
62
63
|
}
|
|
63
64
|
position += 1;
|
|
64
|
-
return assign(currentx[0]
|
|
65
|
+
return assign(currentx[0]);
|
|
65
66
|
},
|
|
66
67
|
nothing: (assign, no_item) => {
|
|
67
68
|
const currentx = look_raw();
|
|
68
69
|
if (currentx === null) {
|
|
69
|
-
return no_item($$.end_info
|
|
70
|
+
return no_item($$.end_info);
|
|
70
71
|
}
|
|
71
72
|
position += 1;
|
|
72
|
-
return assign(currentx[0]
|
|
73
|
+
return assign(currentx[0]);
|
|
73
74
|
},
|
|
74
75
|
number: (assign, no_item) => {
|
|
75
76
|
const currentx = look_raw();
|
|
76
77
|
if (currentx === null) {
|
|
77
|
-
return no_item($$.end_info
|
|
78
|
+
return no_item($$.end_info);
|
|
78
79
|
}
|
|
79
80
|
position += 1;
|
|
80
|
-
return assign(currentx[0]
|
|
81
|
+
return assign(currentx[0]);
|
|
81
82
|
},
|
|
82
83
|
optional: ($i) => {
|
|
83
84
|
const next = look_raw();
|
|
@@ -89,18 +90,18 @@ function iterate($$) {
|
|
|
89
90
|
state: (assign, no_item) => {
|
|
90
91
|
const currentx = look_raw();
|
|
91
92
|
if (currentx === null) {
|
|
92
|
-
return no_item($$.end_info
|
|
93
|
+
return no_item($$.end_info);
|
|
93
94
|
}
|
|
94
95
|
position += 1;
|
|
95
|
-
return assign(currentx[0]
|
|
96
|
+
return assign(currentx[0]);
|
|
96
97
|
},
|
|
97
98
|
text: (assign, no_item) => {
|
|
98
99
|
const currentx = look_raw();
|
|
99
100
|
if (currentx === null) {
|
|
100
|
-
return no_item($$.end_info
|
|
101
|
+
return no_item($$.end_info);
|
|
101
102
|
}
|
|
102
103
|
position += 1;
|
|
103
|
-
return assign(currentx[0]
|
|
104
|
+
return assign(currentx[0]);
|
|
104
105
|
},
|
|
105
106
|
},
|
|
106
107
|
build_list: ($x) => {
|
|
@@ -119,7 +120,7 @@ function iterate($$) {
|
|
|
119
120
|
}
|
|
120
121
|
return lit.list(raw);
|
|
121
122
|
},
|
|
122
|
-
|
|
123
|
+
build_list_with_segments: ($x) => {
|
|
123
124
|
const raw = [];
|
|
124
125
|
while (true) {
|
|
125
126
|
const next_element = look_raw();
|
|
@@ -138,30 +139,32 @@ function iterate($$) {
|
|
|
138
139
|
peek: (item, no_item) => {
|
|
139
140
|
const next = look_raw();
|
|
140
141
|
if (next === null) {
|
|
141
|
-
return no_item($$.end_info
|
|
142
|
+
return no_item($$.end_info);
|
|
142
143
|
}
|
|
143
|
-
return item(next[0]
|
|
144
|
+
return item(next[0]);
|
|
144
145
|
},
|
|
145
|
-
|
|
146
|
-
const next = look_raw();
|
|
146
|
+
peek_ahead: (offset, item, no_item) => {
|
|
147
|
+
const next = look_raw(offset);
|
|
147
148
|
if (next === null) {
|
|
148
|
-
return
|
|
149
|
+
return no_item($$.end_info);
|
|
149
150
|
}
|
|
150
|
-
return
|
|
151
|
+
return item(next[0]);
|
|
151
152
|
},
|
|
152
|
-
|
|
153
|
-
|
|
153
|
+
expect: ($i) => {
|
|
154
|
+
const next = look_raw();
|
|
155
|
+
if (next === null) {
|
|
156
|
+
return $i.no_item($$.end_info, $i.expected);
|
|
157
|
+
}
|
|
158
|
+
return $i.item(next[0], $i.expected);
|
|
154
159
|
},
|
|
155
160
|
};
|
|
156
161
|
};
|
|
157
|
-
const result = $$.assign(create_iterator(
|
|
158
|
-
if (
|
|
159
|
-
|
|
160
|
-
$$.
|
|
161
|
-
}
|
|
162
|
-
// do nothing
|
|
163
|
-
});
|
|
162
|
+
const result = $$.assign(create_iterator());
|
|
163
|
+
if ($$.on_dangling_item !== null) {
|
|
164
|
+
if (position < raw.length - 1) {
|
|
165
|
+
$$.on_dangling_item(raw[position]);
|
|
166
|
+
}
|
|
164
167
|
}
|
|
165
168
|
return result;
|
|
166
169
|
}
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9yZWZpbmVyL3NwZWNpYWxzL2l0ZXJhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSwwQkE4T0M7QUFwUEQsbUVBQW9EO0FBTXBELFNBQXdCLE9BQU8sQ0FNN0IsRUFRRDtJQUVHLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7SUFFL0IsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBRWhCLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBYyxFQUE0QixFQUFFO1FBQzFELE1BQU0sR0FBRyxHQUFHLFFBQVEsR0FBRyxDQUFDLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ25DLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9CLE9BQU8sSUFBSSxDQUFBO1FBQ2YsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNyQixDQUFDLENBQUE7SUFFRCxNQUFNLGVBQWUsR0FBRyxHQUl0QixFQUFFO1FBQ0EsT0FBTztZQUVILE9BQU8sRUFBRTtnQkFFTCxPQUFPLEVBQUUsQ0FDTCxNQUFNLEVBQ04sT0FBTyxFQUNULEVBQUU7b0JBQ0EsTUFBTSxRQUFRLEdBQUcsUUFBUSxFQUFFLENBQUE7b0JBQzNCLElBQUksUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO3dCQUNwQixPQUFPLE9BQU8sQ0FDVixFQUFFLENBQUMsUUFBUSxDQUNkLENBQUE7b0JBQ0wsQ0FBQztvQkFDRCxRQUFRLElBQUksQ0FBQyxDQUFBO29CQUNiLE9BQU8sTUFBTSxDQUNULFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDZCxDQUFBO2dCQUNMLENBQUM7Z0JBRUQsSUFBSSxFQUFFLENBQ0YsTUFBTSxFQUNOLE9BQU8sRUFDVCxFQUFFO29CQUNBLE1BQU0sUUFBUSxHQUFHLFFBQVEsRUFBRSxDQUFBO29CQUMzQixJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQzt3QkFDcEIsT0FBTyxPQUFPLENBQ1YsRUFBRSxDQUFDLFFBQVEsQ0FDZCxDQUFBO29CQUNMLENBQUM7b0JBQ0QsUUFBUSxJQUFJLENBQUMsQ0FBQTtvQkFDYixPQUFPLE1BQU0sQ0FDVCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQ2QsQ0FBQTtnQkFDTCxDQUFDO2dCQUVELE9BQU8sRUFBRSxDQUNMLE1BQU0sRUFDTixPQUFPLEVBQ1QsRUFBRTtvQkFDQSxNQUFNLFFBQVEsR0FBRyxRQUFRLEVBQUUsQ0FBQTtvQkFDM0IsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFLENBQUM7d0JBQ3BCLE9BQU8sT0FBTyxDQUNWLEVBQUUsQ0FBQyxRQUFRLENBQ2QsQ0FBQTtvQkFDTCxDQUFDO29CQUNELFFBQVEsSUFBSSxDQUFDLENBQUE7b0JBQ2IsT0FBTyxNQUFNLENBQ1QsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUNkLENBQUE7Z0JBQ0wsQ0FBQztnQkFFRCxNQUFNLEVBQUUsQ0FDSixNQUFNLEVBQ04sT0FBTyxFQUNULEVBQUU7b0JBQ0EsTUFBTSxRQUFRLEdBQUcsUUFBUSxFQUFFLENBQUE7b0JBQzNCLElBQUksUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO3dCQUNwQixPQUFPLE9BQU8sQ0FDVixFQUFFLENBQUMsUUFBUSxDQUNkLENBQUE7b0JBQ0wsQ0FBQztvQkFDRCxRQUFRLElBQUksQ0FBQyxDQUFBO29CQUNiLE9BQU8sTUFBTSxDQUNULFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDZCxDQUFBO2dCQUNMLENBQUM7Z0JBRUQsUUFBUSxFQUFFLENBQ04sRUFBRSxFQUNKLEVBQUU7b0JBQ0EsTUFBTSxJQUFJLEdBQUcsUUFBUSxFQUFFLENBQUE7b0JBQ3ZCLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO3dCQUNoQixPQUFPLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtvQkFDeEIsQ0FBQztvQkFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQ1YsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWLENBQUE7Z0JBRUwsQ0FBQztnQkFFRCxLQUFLLEVBQUUsQ0FDSCxNQUFNLEVBQ04sT0FBTyxFQUNULEVBQUU7b0JBQ0EsTUFBTSxRQUFRLEdBQUcsUUFBUSxFQUFFLENBQUE7b0JBQzNCLElBQUksUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO3dCQUNwQixPQUFPLE9BQU8sQ0FDVixFQUFFLENBQUMsUUFBUSxDQUNkLENBQUE7b0JBQ0wsQ0FBQztvQkFDRCxRQUFRLElBQUksQ0FBQyxDQUFBO29CQUNiLE9BQU8sTUFBTSxDQUNULFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDZCxDQUFBO2dCQUNMLENBQUM7Z0JBRUQsSUFBSSxFQUFFLENBQ0YsTUFBTSxFQUNOLE9BQU8sRUFDVCxFQUFFO29CQUNBLE1BQU0sUUFBUSxHQUFHLFFBQVEsRUFBRSxDQUFBO29CQUMzQixJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQzt3QkFDcEIsT0FBTyxPQUFPLENBQ1YsRUFBRSxDQUFDLFFBQVEsQ0FDZCxDQUFBO29CQUNMLENBQUM7b0JBQ0QsUUFBUSxJQUFJLENBQUMsQ0FBQTtvQkFDYixPQUFPLE1BQU0sQ0FDVCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQ2QsQ0FBQTtnQkFDTCxDQUFDO2FBRUo7WUFFRCxVQUFVLEVBQUUsQ0FBK0IsRUFHMUMsRUFBd0IsRUFBRTtnQkFDdkIsTUFBTSxHQUFHLEdBQWdCLEVBQUUsQ0FBQTtnQkFFM0IsT0FBTyxJQUFJLEVBQUUsQ0FBQztvQkFDVixNQUFNLFlBQVksR0FBRyxRQUFRLEVBQUUsQ0FBQTtvQkFDL0IsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFLENBQUM7d0JBQ3hCLE1BQUs7b0JBQ1QsQ0FBQzt5QkFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUM3QyxNQUFLO29CQUNULENBQUM7eUJBQU0sQ0FBQzt3QkFDSixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO29CQUN6QixDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3hCLENBQUM7WUFFRCx3QkFBd0IsRUFBRSxDQUErQixFQUd4RCxFQUF3QixFQUFFO2dCQUN2QixNQUFNLEdBQUcsR0FBZ0IsRUFBRSxDQUFBO2dCQUUzQixPQUFPLElBQUksRUFBRSxDQUFDO29CQUNWLE1BQU0sWUFBWSxHQUFHLFFBQVEsRUFBRSxDQUFBO29CQUMvQixJQUFJLFlBQVksS0FBSyxJQUFJLEVBQUUsQ0FBQzt3QkFDeEIsTUFBSztvQkFDVCxDQUFDO3lCQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQzdDLE1BQUs7b0JBQ1QsQ0FBQzt5QkFBTSxDQUFDO3dCQUNKLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtvQkFDeEMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUN4QixDQUFDO1lBRUQsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO2dCQUNwQixNQUFNLElBQUksR0FBRyxRQUFRLEVBQUUsQ0FBQTtnQkFDdkIsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ2hCLE9BQU8sT0FBTyxDQUNWLEVBQUUsQ0FBQyxRQUFRLENBQ2QsQ0FBQTtnQkFDTCxDQUFDO2dCQUNELE9BQU8sSUFBSSxDQUNQLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDVixDQUFBO1lBQ0wsQ0FBQztZQUVELFVBQVUsRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQ2xDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtnQkFDN0IsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ2hCLE9BQU8sT0FBTyxDQUNWLEVBQUUsQ0FBQyxRQUFRLENBQ2QsQ0FBQTtnQkFDTCxDQUFDO2dCQUNELE9BQU8sSUFBSSxDQUNQLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDVixDQUFBO1lBQ0wsQ0FBQztZQUVELE1BQU0sRUFBRSxDQUNKLEVBQUUsRUFDSixFQUFFO2dCQUNBLE1BQU0sSUFBSSxHQUFHLFFBQVEsRUFBRSxDQUFBO2dCQUN2QixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUNiLEVBQUUsQ0FBQyxRQUFRLEVBQ1gsRUFBRSxDQUFDLFFBQVEsQ0FDZCxDQUFBO2dCQUNMLENBQUM7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxFQUFFLENBQUMsUUFBUSxDQUNkLENBQUE7WUFDTCxDQUFDO1NBRUosQ0FBQTtJQUNMLENBQUMsQ0FBQTtJQUVELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQ3BCLGVBQWUsRUFBSSxDQUN0QixDQUFBO0lBQ0QsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QixFQUFFLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7UUFDdEMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQTtBQUNqQixDQUFDIn0=
|
|
@@ -14,6 +14,7 @@ export interface Guaranteed_Value_Iterator<Item extends p_di.Value, End_Info ext
|
|
|
14
14
|
handle: () => List_Item;
|
|
15
15
|
}) => p_di.List<List_Item>;
|
|
16
16
|
peek: <T extends p_di.Value>(item: (token: Item) => T, no_item: (end_info: End_Info) => T) => T;
|
|
17
|
+
peek_ahead: <T extends p_di.Value>(offset: number, item: (token: Item) => T, no_item: (end_info: End_Info) => T) => T;
|
|
17
18
|
build_segmented_list: <List_Item extends p_di.Value>($: {
|
|
18
19
|
has_more_items: ($: Item) => boolean;
|
|
19
20
|
handle: () => p_di.List<List_Item>;
|
|
@@ -1,30 +1,29 @@
|
|
|
1
1
|
import * as p_di from "../../data";
|
|
2
|
-
|
|
3
|
-
export type Create_Expectation_Error<Error extends p_di.Value, Expected extends p_di.Value, Item extends p_di.Value, End_Info extends p_di.Value> = (expected: Expected, found: ['item', Item] | ['end', End_Info]) => Error;
|
|
4
|
-
export interface Iterator<Item extends p_di.Value, End_Info extends p_di.Value, Error extends p_di.Value, Expected extends p_di.Value> {
|
|
2
|
+
export interface Iterator<Item extends p_di.Value, End_Info extends p_di.Value> {
|
|
5
3
|
consume: {
|
|
6
|
-
boolean: (callback: (token: Item
|
|
7
|
-
list: <T extends p_di.Value>(callback: (token: Item
|
|
8
|
-
nothing: (callback: (token: Item
|
|
9
|
-
number: (callback: (token: Item
|
|
4
|
+
boolean: (callback: (token: Item) => boolean, no_item: (end_info: End_Info) => boolean) => boolean;
|
|
5
|
+
list: <T extends p_di.Value>(callback: (token: Item) => p_di.List<T>, no_item: (end_info: End_Info) => p_di.List<T>) => p_di.List<T>;
|
|
6
|
+
nothing: (callback: (token: Item) => null, no_item: (end_info: End_Info) => null) => null;
|
|
7
|
+
number: (callback: (token: Item) => number, no_item: (end_info: End_Info) => number) => number;
|
|
10
8
|
optional: <T extends p_di.Value>($: {
|
|
11
9
|
item: (token: Item) => p_di.Optional_Value<T>;
|
|
12
10
|
}) => p_di.Optional_Value<T>;
|
|
13
|
-
state: <State extends p_di.State>(callback: (token: Item
|
|
14
|
-
text: (callback: (token: Item
|
|
11
|
+
state: <State extends p_di.State>(callback: (token: Item) => State, no_item: (end_info: End_Info) => State) => State;
|
|
12
|
+
text: (callback: (token: Item) => string, no_item: (end_info: End_Info) => string) => string;
|
|
15
13
|
};
|
|
16
14
|
build_list: <List_Item extends p_di.Value>($: {
|
|
17
15
|
has_more_items: ($: Item) => boolean;
|
|
18
16
|
handle: () => List_Item;
|
|
19
17
|
}) => p_di.List<List_Item>;
|
|
20
|
-
|
|
18
|
+
build_list_with_segments: <List_Item extends p_di.Value>($: {
|
|
21
19
|
has_more_items: ($: Item) => boolean;
|
|
22
20
|
handle: () => p_di.List<List_Item>;
|
|
23
21
|
}) => p_di.List<List_Item>;
|
|
24
|
-
peek: <T extends p_di.Value>(item: (token: Item
|
|
25
|
-
|
|
22
|
+
peek: <T extends p_di.Value>(item: (token: Item) => T, no_item: (end_info: End_Info) => T) => T;
|
|
23
|
+
peek_ahead: <T extends p_di.Value>(offset: number, item: (token: Item) => T, no_item: (end_info: End_Info) => T) => T;
|
|
24
|
+
expect: <Expected extends p_di.Value, Value extends p_di.Value>($: {
|
|
26
25
|
expected: Expected;
|
|
27
|
-
item: (token: Item,
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
item: (token: Item, expected: Expected) => Value;
|
|
27
|
+
no_item: (end_info: End_Info, expected: Expected) => Value;
|
|
28
|
+
}) => Value;
|
|
30
29
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Iterator } from "./__internal/Iterator";
|
|
2
|
-
import {
|
|
2
|
+
import { Abort } from "../__internal/Abort";
|
|
3
3
|
import * as p_di from "../data";
|
|
4
4
|
export { Iterator } from "./__internal/Iterator";
|
|
5
|
-
export
|
|
6
|
-
export type
|
|
7
|
-
export type
|
|
8
|
-
export type
|
|
9
|
-
export type Production_Without_Error_With_Parameter<Result extends p_di.Value, Iterator_Item extends p_di.Value, End_Info extends p_di.Value, Parameter extends p_di.Value> = (iterator: Guaranteed_Value_Iterator<Iterator_Item, End_Info>, $p: Parameter) => Result;
|
|
5
|
+
export type Production<Result extends p_di.Value, Error extends p_di.Value, Iterator_Item extends p_di.Value, End_Info extends p_di.Value> = (iterator: Iterator<Iterator_Item, End_Info>, abort: Abort<Error>) => Result;
|
|
6
|
+
export type Production_With_Parameter<Result extends p_di.Value, Error extends p_di.Value, Iterator_Item extends p_di.Value, End_Info extends p_di.Value, Parameter extends p_di.Value> = (iterator: Iterator<Iterator_Item, End_Info>, abort: Abort<Error>, $p: Parameter) => Result;
|
|
7
|
+
export type Production_Without_Error<Result extends p_di.Value, Iterator_Item extends p_di.Value, End_Info extends p_di.Value> = (iterator: Iterator<Iterator_Item, End_Info>) => Result;
|
|
8
|
+
export type Production_Without_Error_With_Parameter<Result extends p_di.Value, Iterator_Item extends p_di.Value, End_Info extends p_di.Value, Parameter extends p_di.Value> = (iterator: Iterator<Iterator_Item, End_Info>, $p: Parameter) => Result;
|