pareto-core 0.1.190 → 0.1.192
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.
|
@@ -45,99 +45,94 @@ function iterate(list, end_info, not_finised_error, abort, assign) {
|
|
|
45
45
|
}
|
|
46
46
|
return [raw[position]];
|
|
47
47
|
};
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
if (position > this_list_raw.length - 1) {
|
|
66
|
-
throw new Error("just checked that position is in bounds");
|
|
67
|
-
}
|
|
68
|
-
position += 1;
|
|
69
|
-
return assign(this_list_raw[position - 1]); // position was already incremented, so we need to return the previous item
|
|
70
|
-
},
|
|
71
|
-
discard: (assign) => {
|
|
72
|
-
position += 1;
|
|
73
|
-
assign();
|
|
74
|
-
},
|
|
75
|
-
expect: ($i) => {
|
|
76
|
-
const next = look_raw();
|
|
77
|
-
if (next === null) {
|
|
78
|
-
return abort($i.get_error(lit.not_set()));
|
|
79
|
-
}
|
|
80
|
-
return $i.item(next[0], () => abort($i.get_error(lit.set(next[0]))));
|
|
81
|
-
},
|
|
82
|
-
get_end_info: () => end_info,
|
|
83
|
-
// discard_after: <T>(
|
|
84
|
-
// assign: () => T
|
|
85
|
-
// ) => {
|
|
86
|
-
// const value = assign()
|
|
87
|
-
// position += 1
|
|
88
|
-
// return value
|
|
89
|
-
// },
|
|
90
|
-
// get_position: () => {
|
|
91
|
-
// return position
|
|
92
|
-
// },
|
|
93
|
-
list: ($x) => {
|
|
94
|
-
const raw = [];
|
|
95
|
-
while (true) {
|
|
96
|
-
const next_element = look_raw();
|
|
97
|
-
if (next_element === null) {
|
|
98
|
-
break;
|
|
48
|
+
const create_iterator = (transform_the_error) => {
|
|
49
|
+
return {
|
|
50
|
+
// assert_finished: (
|
|
51
|
+
// assign,
|
|
52
|
+
// abort
|
|
53
|
+
// ) => {
|
|
54
|
+
// const result = assign()
|
|
55
|
+
// if (position < length) {
|
|
56
|
+
// return abort.not_finished(null)
|
|
57
|
+
// }
|
|
58
|
+
// return result
|
|
59
|
+
// },
|
|
60
|
+
consume: (assign, no_item) => {
|
|
61
|
+
const this_list_raw = list.__get_raw();
|
|
62
|
+
const currentx = look_raw();
|
|
63
|
+
if (currentx === null) {
|
|
64
|
+
return no_item();
|
|
99
65
|
}
|
|
100
|
-
|
|
101
|
-
|
|
66
|
+
if (position > this_list_raw.length - 1) {
|
|
67
|
+
throw new Error("just checked that position is in bounds");
|
|
102
68
|
}
|
|
103
|
-
|
|
104
|
-
|
|
69
|
+
position += 1;
|
|
70
|
+
return assign(this_list_raw[position - 1]); // position was already incremented, so we need to return the previous item
|
|
71
|
+
},
|
|
72
|
+
discard: (assign) => {
|
|
73
|
+
position += 1;
|
|
74
|
+
assign();
|
|
75
|
+
},
|
|
76
|
+
expect: ($i) => {
|
|
77
|
+
const next = look_raw();
|
|
78
|
+
if (next === null) {
|
|
79
|
+
return abort(transform_the_error($i.get_error(lit.not_set(), end_info)));
|
|
105
80
|
}
|
|
81
|
+
return $i.item(next[0], () => abort(transform_the_error($i.get_error(lit.set(next[0]), end_info))));
|
|
82
|
+
},
|
|
83
|
+
list: ($x) => {
|
|
84
|
+
const raw = [];
|
|
85
|
+
while (true) {
|
|
86
|
+
const next_element = look_raw();
|
|
87
|
+
if (next_element === null) {
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
else if (!$x.has_more_items(next_element[0])) {
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
raw.push($x.handle(next_element[0]));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return lit.list(raw);
|
|
98
|
+
},
|
|
99
|
+
look: (item, no_item) => {
|
|
100
|
+
const next = look_raw();
|
|
101
|
+
if (next === null) {
|
|
102
|
+
return no_item(end_info);
|
|
103
|
+
}
|
|
104
|
+
return item(next[0]);
|
|
105
|
+
},
|
|
106
|
+
look_raw: () => {
|
|
107
|
+
if (position < 0 || position >= raw.length) {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
return [raw[position]];
|
|
111
|
+
},
|
|
112
|
+
look_ahead_raw: (offset) => {
|
|
113
|
+
if (position + offset < 0 || position + offset >= raw.length) {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
return [raw[position + offset]];
|
|
117
|
+
},
|
|
118
|
+
optional: ($i) => {
|
|
119
|
+
const next = look_raw();
|
|
120
|
+
if (next === null) {
|
|
121
|
+
return lit.not_set();
|
|
122
|
+
}
|
|
123
|
+
return $i.item(next[0]);
|
|
124
|
+
},
|
|
125
|
+
wrap_up: (callback, post) => {
|
|
126
|
+
const result = callback();
|
|
127
|
+
post();
|
|
128
|
+
return result;
|
|
129
|
+
},
|
|
130
|
+
to_new_iterator: (transform_error) => {
|
|
131
|
+
return create_iterator(($) => transform_the_error(transform_error($)));
|
|
106
132
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const next = look_raw();
|
|
111
|
-
if (next === null) {
|
|
112
|
-
return no_item(end_info);
|
|
113
|
-
}
|
|
114
|
-
return item(next[0]);
|
|
115
|
-
},
|
|
116
|
-
look_raw: () => {
|
|
117
|
-
if (position < 0 || position >= raw.length) {
|
|
118
|
-
return null;
|
|
119
|
-
}
|
|
120
|
-
return [raw[position]];
|
|
121
|
-
},
|
|
122
|
-
look_ahead_raw: (offset) => {
|
|
123
|
-
if (position + offset < 0 || position + offset >= raw.length) {
|
|
124
|
-
return null;
|
|
125
|
-
}
|
|
126
|
-
return [raw[position + offset]];
|
|
127
|
-
},
|
|
128
|
-
optional: ($i) => {
|
|
129
|
-
const next = look_raw();
|
|
130
|
-
if (next === null) {
|
|
131
|
-
return lit.not_set();
|
|
132
|
-
}
|
|
133
|
-
return $i.item(next[0]);
|
|
134
|
-
},
|
|
135
|
-
wrap_up: (callback, post) => {
|
|
136
|
-
const result = callback();
|
|
137
|
-
post();
|
|
138
|
-
return result;
|
|
139
|
-
},
|
|
140
|
-
});
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
const result = assign(create_iterator(($) => $));
|
|
141
136
|
if (position < length) {
|
|
142
137
|
not_finised_error.__extract_data(($) => {
|
|
143
138
|
abort($);
|
|
@@ -147,4 +142,4 @@ function iterate(list, end_info, not_finised_error, abort, assign) {
|
|
|
147
142
|
}
|
|
148
143
|
return result;
|
|
149
144
|
}
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9yZWZpbmVyL3NwZWNpYWxzL2l0ZXJhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQSwwQkE2SkM7QUFsS0QsbUVBQW9EO0FBS3BELFNBQXdCLE9BQU8sQ0FNM0IsSUFBcUIsRUFDckIsUUFBa0IsRUFDbEIsaUJBQTZDLEVBQzdDLEtBQW1CLEVBQ25CLE1BQW9FO0lBR3BFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUU1QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQTtJQUVoQixNQUFNLFFBQVEsR0FBRyxHQUE2QixFQUFFO1FBQzVDLElBQUksUUFBUSxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFBO1FBQ2YsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUMxQixDQUFDLENBQUE7SUFFRCxNQUFNLGVBQWUsR0FBRyxDQUNwQixtQkFBNEMsRUFDSixFQUFFO1FBQzFDLE9BQU87WUFDSCxxQkFBcUI7WUFDckIsY0FBYztZQUNkLFlBQVk7WUFDWixTQUFTO1lBQ1QsOEJBQThCO1lBQzlCLCtCQUErQjtZQUMvQiwwQ0FBMEM7WUFDMUMsUUFBUTtZQUNSLG9CQUFvQjtZQUNwQixLQUFLO1lBQ0wsT0FBTyxFQUFFLENBQ0wsTUFBTSxFQUNOLE9BQU8sRUFDVCxFQUFFO2dCQUNBLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtnQkFDdEMsTUFBTSxRQUFRLEdBQUcsUUFBUSxFQUFFLENBQUE7Z0JBQzNCLElBQUks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
|
|
@@ -5,10 +5,9 @@ export type Iterator<Item extends p_di.Value, End_Info extends p_di.Value, Error
|
|
|
5
5
|
consume: <T extends p_di.Value>(callback: (token: Item) => T, no_item: () => T) => T;
|
|
6
6
|
discard: <T extends p_di.Value>(callback: () => T) => undefined;
|
|
7
7
|
expect: <T extends p_di.Value>($: {
|
|
8
|
-
get_error: ($: p_di.Optional_Value<Item
|
|
8
|
+
get_error: ($: p_di.Optional_Value<Item>, end_info: End_Info) => Error;
|
|
9
9
|
item: (token: Item, abort: Abort<null>) => T;
|
|
10
10
|
}) => T;
|
|
11
|
-
get_end_info: () => End_Info;
|
|
12
11
|
list: <List_Item extends p_di.Value>($: {
|
|
13
12
|
has_more_items: ($: Item) => boolean;
|
|
14
13
|
handle: ($: Item) => List_Item;
|
|
@@ -20,4 +19,5 @@ export type Iterator<Item extends p_di.Value, End_Info extends p_di.Value, Error
|
|
|
20
19
|
item: (token: Item) => p_di.Optional_Value<T>;
|
|
21
20
|
}) => p_di.Optional_Value<T>;
|
|
22
21
|
wrap_up: <T extends p_di.Value>(callback: () => T, post: () => any) => T;
|
|
22
|
+
to_new_iterator: <New_Error extends p_di.Value>(transform_error: ($: New_Error) => Error) => Iterator<Item, End_Info, New_Error>;
|
|
23
23
|
};
|