pareto-core 0.1.206 → 0.1.209
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 +32 -30
- package/dist/implementation/refiner/specials/iterate.js +56 -36
- package/dist/interface/production/__internal/Guaranteed_Value_Iterator.d.ts +16 -0
- package/dist/interface/production/__internal/Guaranteed_Value_Iterator.js +3 -0
- package/dist/interface/production/__internal/Iterator.d.ts +21 -5
- package/dist/interface/production/index.d.ts +4 -4
- package/package.json +1 -1
- package/dist/interface/production/__internal/Safe_Iterator.d.ts +0 -17
- package/dist/interface/production/__internal/Safe_Iterator.js +0 -3
|
@@ -37,7 +37,6 @@ exports.default = iterate_safe;
|
|
|
37
37
|
const lit = __importStar(require("../../__internal/sync/literal"));
|
|
38
38
|
function iterate_safe(list, end_info, assign) {
|
|
39
39
|
const raw = list.__get_raw();
|
|
40
|
-
const length = raw.length;
|
|
41
40
|
let position = 0;
|
|
42
41
|
const look_raw = () => {
|
|
43
42
|
if (position < 0 || position >= raw.length) {
|
|
@@ -46,11 +45,30 @@ function iterate_safe(list, end_info, assign) {
|
|
|
46
45
|
return [raw[position]];
|
|
47
46
|
};
|
|
48
47
|
const result = assign({
|
|
49
|
-
|
|
48
|
+
deprecated_look: (item, no_item) => {
|
|
49
|
+
const next = look_raw();
|
|
50
|
+
if (next === null) {
|
|
51
|
+
return no_item(end_info);
|
|
52
|
+
}
|
|
53
|
+
return item(next[0]);
|
|
54
|
+
},
|
|
55
|
+
deprecated_look_raw: () => {
|
|
56
|
+
if (position < 0 || position >= raw.length) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
return [raw[position]];
|
|
60
|
+
},
|
|
61
|
+
deprecated_look_ahead_raw: (offset) => {
|
|
62
|
+
if (position + offset < 0 || position + offset >= raw.length) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
return [raw[position + offset]];
|
|
66
|
+
},
|
|
67
|
+
text: (assign, no_item) => {
|
|
50
68
|
const this_list_raw = list.__get_raw();
|
|
51
69
|
const currentx = look_raw();
|
|
52
70
|
if (currentx === null) {
|
|
53
|
-
return no_item();
|
|
71
|
+
return no_item(end_info);
|
|
54
72
|
}
|
|
55
73
|
if (position > this_list_raw.length - 1) {
|
|
56
74
|
throw new Error("just checked that position is in bounds");
|
|
@@ -58,9 +76,17 @@ function iterate_safe(list, end_info, assign) {
|
|
|
58
76
|
position += 1;
|
|
59
77
|
return assign(this_list_raw[position - 1]); // position was already incremented, so we need to return the previous item
|
|
60
78
|
},
|
|
61
|
-
|
|
79
|
+
number: (assign, no_item) => {
|
|
80
|
+
const this_list_raw = list.__get_raw();
|
|
81
|
+
const currentx = look_raw();
|
|
82
|
+
if (currentx === null) {
|
|
83
|
+
return no_item(end_info);
|
|
84
|
+
}
|
|
85
|
+
if (position > this_list_raw.length - 1) {
|
|
86
|
+
throw new Error("just checked that position is in bounds");
|
|
87
|
+
}
|
|
62
88
|
position += 1;
|
|
63
|
-
return assign();
|
|
89
|
+
return assign(this_list_raw[position - 1]); // position was already incremented, so we need to return the previous item
|
|
64
90
|
},
|
|
65
91
|
list: ($x) => {
|
|
66
92
|
const raw = [];
|
|
@@ -78,25 +104,6 @@ function iterate_safe(list, end_info, assign) {
|
|
|
78
104
|
}
|
|
79
105
|
return lit.list(raw);
|
|
80
106
|
},
|
|
81
|
-
look: (item, no_item) => {
|
|
82
|
-
const next = look_raw();
|
|
83
|
-
if (next === null) {
|
|
84
|
-
return no_item(end_info);
|
|
85
|
-
}
|
|
86
|
-
return item(next[0]);
|
|
87
|
-
},
|
|
88
|
-
look_raw: () => {
|
|
89
|
-
if (position < 0 || position >= raw.length) {
|
|
90
|
-
return null;
|
|
91
|
-
}
|
|
92
|
-
return [raw[position]];
|
|
93
|
-
},
|
|
94
|
-
look_ahead_raw: (offset) => {
|
|
95
|
-
if (position + offset < 0 || position + offset >= raw.length) {
|
|
96
|
-
return null;
|
|
97
|
-
}
|
|
98
|
-
return [raw[position + offset]];
|
|
99
|
-
},
|
|
100
107
|
optional: ($i) => {
|
|
101
108
|
const next = look_raw();
|
|
102
109
|
if (next === null) {
|
|
@@ -104,12 +111,7 @@ function iterate_safe(list, end_info, assign) {
|
|
|
104
111
|
}
|
|
105
112
|
return $i.item(next[0]);
|
|
106
113
|
},
|
|
107
|
-
wrap_up: (callback, post) => {
|
|
108
|
-
const result = callback();
|
|
109
|
-
post();
|
|
110
|
-
return result;
|
|
111
|
-
},
|
|
112
114
|
});
|
|
113
115
|
return result;
|
|
114
116
|
}
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0ZSBzYWZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL3JlZmluZXIvc3BlY2lhbHMvaXRlcmF0ZSBzYWZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0EsK0JBeUdDO0FBOUdELG1FQUFvRDtBQUtwRCxTQUF3QixZQUFZLENBS2hDLElBQXFCLEVBQ3JCLFFBQWtCLEVBQ2xCLE1BQWtFO0lBR2xFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUU1QixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUE7SUFFaEIsTUFBTSxRQUFRLEdBQUcsR0FBNkIsRUFBRTtRQUM1QyxJQUFJLFFBQVEsR0FBRyxDQUFDLElBQUksUUFBUSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6QyxPQUFPLElBQUksQ0FBQTtRQUNmLENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFDMUIsQ0FBQyxDQUFBO0lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRWxCLGVBQWUsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUMvQixNQUFNLElBQUksR0FBRyxRQUFRLEVBQUUsQ0FBQTtZQUN2QixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDNUIsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3hCLENBQUM7UUFDRCxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7WUFDdEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxJQUFJLFFBQVEsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sSUFB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
|
|
@@ -37,7 +37,6 @@ exports.default = iterate;
|
|
|
37
37
|
const lit = __importStar(require("../../__internal/sync/literal"));
|
|
38
38
|
function iterate($$) {
|
|
39
39
|
const raw = $$.list.__get_raw();
|
|
40
|
-
const length = raw.length;
|
|
41
40
|
let position = 0;
|
|
42
41
|
const look_raw = () => {
|
|
43
42
|
if (position < 0 || position >= raw.length) {
|
|
@@ -47,14 +46,39 @@ function iterate($$) {
|
|
|
47
46
|
};
|
|
48
47
|
const create_iterator = (transform_the_error, create_expectation_error) => {
|
|
49
48
|
return {
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
deprecated_abort: ($) => {
|
|
50
|
+
$$.abort(transform_the_error($));
|
|
51
|
+
},
|
|
52
|
+
deprecated_look: (item, no_item) => {
|
|
53
|
+
const next = look_raw();
|
|
54
|
+
if (next === null) {
|
|
55
|
+
return no_item($$.end_info);
|
|
56
|
+
}
|
|
57
|
+
return item(next[0]);
|
|
58
|
+
},
|
|
59
|
+
deprecated_look_raw: () => {
|
|
60
|
+
if (position < 0 || position >= raw.length) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
return [raw[position]];
|
|
64
|
+
},
|
|
65
|
+
deprecated_look_ahead_raw: (offset) => {
|
|
66
|
+
if (position + offset < 0 || position + offset >= raw.length) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
return [raw[position + offset]];
|
|
70
|
+
},
|
|
71
|
+
deprecated_expect: ($i) => {
|
|
52
72
|
const next = look_raw();
|
|
53
73
|
if (next === null) {
|
|
54
74
|
return $$.abort(transform_the_error(create_expectation_error($i.expected, ['end', $$.end_info])));
|
|
55
75
|
}
|
|
56
|
-
|
|
57
|
-
|
|
76
|
+
return $i.item(next[0], ($) => $$.abort(transform_the_error(create_expectation_error($i.expected, ['item', next[0]]))));
|
|
77
|
+
},
|
|
78
|
+
state_based_on_strategy: ($i) => {
|
|
79
|
+
const next = look_raw();
|
|
80
|
+
if (next === null) {
|
|
81
|
+
return $$.abort(transform_the_error(create_expectation_error($i.expected, ['end', $$.end_info])));
|
|
58
82
|
}
|
|
59
83
|
return $i.item(next[0], ($) => $$.abort(transform_the_error(create_expectation_error($i.expected, ['item', next[0]]))));
|
|
60
84
|
},
|
|
@@ -62,21 +86,41 @@ function iterate($$) {
|
|
|
62
86
|
return create_iterator(($) => transform_the_error(transform_error($)), cee);
|
|
63
87
|
},
|
|
64
88
|
//methods inherited from Safe_Iterator
|
|
65
|
-
|
|
89
|
+
simple_state: (assign, no_item) => {
|
|
66
90
|
const this_list_raw = $$.list.__get_raw();
|
|
67
91
|
const currentx = look_raw();
|
|
68
92
|
if (currentx === null) {
|
|
69
|
-
return no_item();
|
|
93
|
+
return no_item($$.end_info, ($) => $$.abort(transform_the_error($)));
|
|
70
94
|
}
|
|
71
95
|
if (position > this_list_raw.length - 1) {
|
|
72
96
|
throw new Error("just checked that position is in bounds");
|
|
73
97
|
}
|
|
74
98
|
position += 1;
|
|
75
|
-
return assign(this_list_raw[position - 1]); // position was already incremented, so we need to return the previous item
|
|
99
|
+
return assign(this_list_raw[position - 1], ($) => $$.abort(transform_the_error($))); // position was already incremented, so we need to return the previous item
|
|
76
100
|
},
|
|
77
|
-
|
|
101
|
+
text: (assign, no_item) => {
|
|
102
|
+
const this_list_raw = $$.list.__get_raw();
|
|
103
|
+
const currentx = look_raw();
|
|
104
|
+
if (currentx === null) {
|
|
105
|
+
return no_item($$.end_info, ($) => $$.abort(transform_the_error($)));
|
|
106
|
+
}
|
|
107
|
+
if (position > this_list_raw.length - 1) {
|
|
108
|
+
throw new Error("just checked that position is in bounds");
|
|
109
|
+
}
|
|
110
|
+
position += 1;
|
|
111
|
+
return assign(this_list_raw[position - 1], ($) => $$.abort(transform_the_error($))); // position was already incremented, so we need to return the previous item
|
|
112
|
+
},
|
|
113
|
+
number: (assign, no_item) => {
|
|
114
|
+
const this_list_raw = $$.list.__get_raw();
|
|
115
|
+
const currentx = look_raw();
|
|
116
|
+
if (currentx === null) {
|
|
117
|
+
return no_item($$.end_info, ($) => $$.abort(transform_the_error($)));
|
|
118
|
+
}
|
|
119
|
+
if (position > this_list_raw.length - 1) {
|
|
120
|
+
throw new Error("just checked that position is in bounds");
|
|
121
|
+
}
|
|
78
122
|
position += 1;
|
|
79
|
-
return assign();
|
|
123
|
+
return assign(this_list_raw[position - 1], ($) => $$.abort(transform_the_error($))); // position was already incremented, so we need to return the previous item
|
|
80
124
|
},
|
|
81
125
|
list: ($x) => {
|
|
82
126
|
const raw = [];
|
|
@@ -94,25 +138,6 @@ function iterate($$) {
|
|
|
94
138
|
}
|
|
95
139
|
return lit.list(raw);
|
|
96
140
|
},
|
|
97
|
-
look: (item, no_item) => {
|
|
98
|
-
const next = look_raw();
|
|
99
|
-
if (next === null) {
|
|
100
|
-
return no_item($$.end_info);
|
|
101
|
-
}
|
|
102
|
-
return item(next[0]);
|
|
103
|
-
},
|
|
104
|
-
look_raw: () => {
|
|
105
|
-
if (position < 0 || position >= raw.length) {
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
return [raw[position]];
|
|
109
|
-
},
|
|
110
|
-
look_ahead_raw: (offset) => {
|
|
111
|
-
if (position + offset < 0 || position + offset >= raw.length) {
|
|
112
|
-
return null;
|
|
113
|
-
}
|
|
114
|
-
return [raw[position + offset]];
|
|
115
|
-
},
|
|
116
141
|
optional: ($i) => {
|
|
117
142
|
const next = look_raw();
|
|
118
143
|
if (next === null) {
|
|
@@ -120,15 +145,10 @@ function iterate($$) {
|
|
|
120
145
|
}
|
|
121
146
|
return $i.item(next[0]);
|
|
122
147
|
},
|
|
123
|
-
wrap_up: (callback, post) => {
|
|
124
|
-
const result = callback();
|
|
125
|
-
post();
|
|
126
|
-
return result;
|
|
127
|
-
},
|
|
128
148
|
};
|
|
129
149
|
};
|
|
130
150
|
const result = $$.assign(create_iterator(($) => $, $$.create_expectation_error));
|
|
131
|
-
if (position < length - 1) {
|
|
151
|
+
if (position < raw.length - 1) {
|
|
132
152
|
$$.create_dangling_item_error(raw[position]).__extract_data(($) => {
|
|
133
153
|
$$.abort($);
|
|
134
154
|
}, () => {
|
|
@@ -137,4 +157,4 @@ function iterate($$) {
|
|
|
137
157
|
}
|
|
138
158
|
return result;
|
|
139
159
|
}
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9yZWZpbmVyL3NwZWNpYWxzL2l0ZXJhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVQSwwQkE2UEM7QUFyUUQsbUVBQW9EO0FBUXBELFNBQXdCLE9BQU8sQ0FNN0IsRUFXRDtJQUVHLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7SUFFL0IsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBRWhCLE1BQU0sUUFBUSxHQUFHLEdBQTZCLEVBQUU7UUFDNUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxJQUFJLFFBQVEsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUE7UUFDZixDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO0lBQzFCLENBQUMsQ0FBQTtJQUVELE1BQU0sZUFBZSxHQUFHLENBSXBCLG1CQUE0QyxFQUM1Qyx3QkFLQyxFQUtILEVBQUU7UUFDQSxPQUFPO1lBQ0gsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDcEIsRUFBRSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3BDLENBQUM7WUFDRCxlQUFlLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQy9CLE1BQU0sSUFBSSxHQUFHLFFBQVEsRUFBRSxDQUFBO2dCQUN2QixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDaEIsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUMvQixDQUFDO2dCQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMs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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as p_di from "../../data";
|
|
2
|
+
import { Raw_Optional_Value } from "../../__internal/Raw_Optional_Value";
|
|
3
|
+
export interface Guaranteed_Value_Iterator<Item extends p_di.Value, End_Info extends p_di.Value> {
|
|
4
|
+
deprecated_look: <T extends p_di.Value>(item: (token: Item) => T, no_item: (end_info: End_Info) => T) => T;
|
|
5
|
+
deprecated_look_raw: () => Raw_Optional_Value<Item>;
|
|
6
|
+
deprecated_look_ahead_raw: (offset: number) => Raw_Optional_Value<Item>;
|
|
7
|
+
text: (callback: (token: Item) => string, no_item: (end_info: End_Info) => string) => string;
|
|
8
|
+
number: (callback: (token: Item) => number, no_item: (end_info: End_Info) => number) => number;
|
|
9
|
+
list: <List_Item extends p_di.Value>($: {
|
|
10
|
+
has_more_items: ($: Item) => boolean;
|
|
11
|
+
handle: ($: Item) => List_Item;
|
|
12
|
+
}) => p_di.List<List_Item>;
|
|
13
|
+
optional: <T extends p_di.Value>($: {
|
|
14
|
+
item: (token: Item) => p_di.Optional_Value<T>;
|
|
15
|
+
}) => p_di.Optional_Value<T>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VhcmFudGVlZF9WYWx1ZV9JdGVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcmZhY2UvcHJvZHVjdGlvbi9fX2ludGVybmFsL0d1YXJhbnRlZWRfVmFsdWVfSXRlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,13 +1,29 @@
|
|
|
1
1
|
import * as p_di from "../../data";
|
|
2
2
|
import { Abort } from "../../__internal/Abort";
|
|
3
|
-
import {
|
|
3
|
+
import { Raw_Optional_Value } from "../../__internal/Raw_Optional_Value";
|
|
4
4
|
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;
|
|
5
|
-
export interface Iterator<Item extends p_di.Value, End_Info extends p_di.Value, Error extends p_di.Value, Expected extends p_di.Value>
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export interface Iterator<Item extends p_di.Value, End_Info extends p_di.Value, Error extends p_di.Value, Expected extends p_di.Value> {
|
|
6
|
+
deprecated_abort: Abort<Error>;
|
|
7
|
+
deprecated_look_raw: () => Raw_Optional_Value<Item>;
|
|
8
|
+
deprecated_look_ahead_raw: (offset: number) => Raw_Optional_Value<Item>;
|
|
9
|
+
deprecated_expect: <T extends p_di.Value>($: {
|
|
8
10
|
expected: Expected;
|
|
9
|
-
discard: boolean;
|
|
10
11
|
item: (token: Item, abort: Abort<null>) => T;
|
|
11
12
|
}) => T;
|
|
13
|
+
deprecated_look: <T extends p_di.Value>(item: (token: Item) => T, no_item: (end_info: End_Info) => T) => T;
|
|
14
|
+
simple_state: <State extends p_di.State>(callback: (token: Item, abort: Abort<Error>) => State, no_item: (end_info: End_Info, abort: Abort<Error>) => State) => State;
|
|
15
|
+
text: (callback: (token: Item, abort: Abort<Error>) => string, no_item: (end_info: End_Info, abort: Abort<Error>) => string) => string;
|
|
16
|
+
number: (callback: (token: Item, abort: Abort<Error>) => number, no_item: (end_info: End_Info, abort: Abort<Error>) => number) => number;
|
|
17
|
+
list: <List_Item extends p_di.Value>($: {
|
|
18
|
+
has_more_items: ($: Item) => boolean;
|
|
19
|
+
handle: ($: Item) => List_Item;
|
|
20
|
+
}) => p_di.List<List_Item>;
|
|
21
|
+
optional: <T extends p_di.Value>($: {
|
|
22
|
+
item: (token: Item) => p_di.Optional_Value<T>;
|
|
23
|
+
}) => p_di.Optional_Value<T>;
|
|
24
|
+
state_based_on_strategy: <State extends p_di.State>($: {
|
|
25
|
+
expected: Expected;
|
|
26
|
+
item: (token: Item, abort: Abort<null>) => State;
|
|
27
|
+
}) => State;
|
|
12
28
|
to_new_iterator: <New_Error extends p_di.Value, New_Expected extends p_di.Value>(transform_error: ($: New_Error) => Error, create_expectation_error: Create_Expectation_Error<New_Error, New_Expected, Item, End_Info>) => Iterator<Item, End_Info, New_Error, New_Expected>;
|
|
13
29
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Iterator } from "./__internal/Iterator";
|
|
2
|
-
import {
|
|
2
|
+
import { Guaranteed_Value_Iterator } from "./__internal/Guaranteed_Value_Iterator";
|
|
3
3
|
import * as p_di from "../data";
|
|
4
4
|
export { Iterator } from "./__internal/Iterator";
|
|
5
|
-
export { Safe_Iterator } from "./__internal/
|
|
5
|
+
export { Guaranteed_Value_Iterator as Safe_Iterator } from "./__internal/Guaranteed_Value_Iterator";
|
|
6
6
|
export type Production<Result extends p_di.Value, Error extends p_di.Value, Expected extends p_di.Value, Iterator_Item extends p_di.Value, End_Info extends p_di.Value> = (iterator: Iterator<Iterator_Item, End_Info, Error, Expected>) => Result;
|
|
7
7
|
export type Production_With_Parameter<Result extends p_di.Value, Error extends p_di.Value, Expected 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, Error, Expected>, $p: Parameter) => Result;
|
|
8
|
-
export type Production_Without_Error<Result extends p_di.Value, Iterator_Item extends p_di.Value, End_Info extends p_di.Value> = (iterator:
|
|
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:
|
|
8
|
+
export type Production_Without_Error<Result extends p_di.Value, Iterator_Item extends p_di.Value, End_Info extends p_di.Value> = (iterator: Guaranteed_Value_Iterator<Iterator_Item, End_Info>) => Result;
|
|
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;
|
package/package.json
CHANGED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import * as p_di from "../../data";
|
|
2
|
-
import { Raw_Optional_Value } from "../../__internal/Raw_Optional_Value";
|
|
3
|
-
export interface Safe_Iterator<Item extends p_di.Value, End_Info extends p_di.Value> {
|
|
4
|
-
consume: <T extends p_di.Value>(callback: (token: Item) => T, no_item: () => T) => T;
|
|
5
|
-
discard: <T extends p_di.Value>(callback: () => T) => T;
|
|
6
|
-
list: <List_Item extends p_di.Value>($: {
|
|
7
|
-
has_more_items: ($: Item) => boolean;
|
|
8
|
-
handle: ($: Item) => List_Item;
|
|
9
|
-
}) => p_di.List<List_Item>;
|
|
10
|
-
look: <T extends p_di.Value>(item: (token: Item) => T, no_item: (end_info: End_Info) => T) => T;
|
|
11
|
-
look_raw: () => Raw_Optional_Value<Item>;
|
|
12
|
-
look_ahead_raw: (offset: number) => Raw_Optional_Value<Item>;
|
|
13
|
-
optional: <T extends p_di.Value>($: {
|
|
14
|
-
item: (token: Item) => p_di.Optional_Value<T>;
|
|
15
|
-
}) => p_di.Optional_Value<T>;
|
|
16
|
-
wrap_up: <T extends p_di.Value>(callback: () => T, post: () => any) => T;
|
|
17
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2FmZV9JdGVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcmZhY2UvcHJvZHVjdGlvbi9fX2ludGVybmFsL1NhZmVfSXRlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|