pareto-core 0.1.189 → 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.
- package/dist/implementation/__internal/sync/primitives/Optional.d.ts +1 -2
- package/dist/implementation/__internal/sync/primitives/Optional.js +1 -3
- package/dist/implementation/refiner/specials/iterate safe.d.ts +3 -0
- package/dist/implementation/refiner/specials/iterate safe.js +136 -0
- package/dist/implementation/refiner/specials/iterate.d.ts +2 -1
- package/dist/implementation/refiner/specials/iterate.js +94 -88
- package/dist/interface/production/__internal/Iterator.d.ts +4 -8
- package/dist/interface/production/__internal/Safe_Iterator.d.ts +18 -0
- package/dist/interface/production/__internal/Safe_Iterator.js +3 -0
- package/dist/interface/production/index.d.ts +6 -4
- package/package.json +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as p_di from "../../../../interface/data";
|
|
2
2
|
import { Raw_Optional_Value } from "../../../../interface/__internal/Raw_Optional_Value";
|
|
3
3
|
export declare class Not_Set_Optional_Value<T extends p_di.Value> implements p_di.Optional_Value<T> {
|
|
4
|
-
constructor();
|
|
5
4
|
readonly __optional_value = true;
|
|
6
5
|
__extract_data(set: ($: T) => undefined, not_set: () => undefined): undefined;
|
|
7
6
|
__get_raw(): null;
|
|
@@ -9,7 +8,7 @@ export declare class Not_Set_Optional_Value<T extends p_di.Value> implements p_d
|
|
|
9
8
|
export declare class Set_Optional_Value<T extends p_di.Value> implements p_di.Optional_Value<T> {
|
|
10
9
|
constructor(source: T);
|
|
11
10
|
readonly __optional_value = true;
|
|
11
|
+
value: T;
|
|
12
12
|
__extract_data(set: ($: T) => undefined, not_set: () => undefined): undefined;
|
|
13
13
|
__get_raw(): Raw_Optional_Value<T>;
|
|
14
|
-
value: T;
|
|
15
14
|
}
|
|
@@ -4,7 +4,6 @@ exports.Set_Optional_Value = exports.Not_Set_Optional_Value = void 0;
|
|
|
4
4
|
class Not_Set_Optional_Value {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.__optional_value = true;
|
|
7
|
-
this.__optional_value = true;
|
|
8
7
|
}
|
|
9
8
|
__extract_data(set, not_set) {
|
|
10
9
|
return not_set();
|
|
@@ -18,7 +17,6 @@ class Set_Optional_Value {
|
|
|
18
17
|
constructor(source) {
|
|
19
18
|
this.__optional_value = true;
|
|
20
19
|
this.value = source;
|
|
21
|
-
this.__optional_value = true;
|
|
22
20
|
}
|
|
23
21
|
__extract_data(set, not_set) {
|
|
24
22
|
return set(this.value);
|
|
@@ -28,4 +26,4 @@ class Set_Optional_Value {
|
|
|
28
26
|
}
|
|
29
27
|
}
|
|
30
28
|
exports.Set_Optional_Value = Set_Optional_Value;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW1wbGVtZW50YXRpb24vX19pbnRlcm5hbC9zeW5jL3ByaW1pdGl2ZXMvT3B0aW9uYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsTUFBYSxzQkFBc0I7SUFBbkM7UUFFb0IscUJBQWdCLEdBQUcsSUFBSSxDQUFBO0lBWTNDLENBQUM7SUFWVSxjQUFjLENBQ2pCLEdBQXdCLEVBQ3hCLE9BQXdCO1FBRXhCLE9BQU8sT0FBTyxFQUFFLENBQUE7SUFDcEIsQ0FBQztJQUVNLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7Q0FDSjtBQWRELHdEQWNDO0FBRUQsTUFBYSxrQkFBa0I7SUFFM0IsWUFBWSxNQUFTO1FBSUwscUJBQWdCLEdBQUcsSUFBSSxDQUFBO1FBSG5DLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFBO0lBQ3ZCLENBQUM7SUFNTSxjQUFjLENBQ2pCLEdBQXdCLEVBQ3hCLE9BQXdCO1FBRXhCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRU0sU0FBUztRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkIsQ0FBQztDQUNKO0FBcEJELGdEQW9CQyJ9
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import * as p_di from "../../../interface/data";
|
|
2
|
+
import * as p_pi from "../../../interface/production";
|
|
3
|
+
export default function iterate_safe<Item extends p_di.Value, End_Info extends p_di.Value, Return_Type extends p_di.Value>(list: p_di.List<Item>, end_info: End_Info, assign: ($iter: p_pi.Safe_Iterator<Item, End_Info>) => Return_Type): Return_Type;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.default = iterate_safe;
|
|
37
|
+
const lit = __importStar(require("../../__internal/sync/literal"));
|
|
38
|
+
function iterate_safe(list, end_info, assign) {
|
|
39
|
+
const raw = list.__get_raw();
|
|
40
|
+
const length = raw.length;
|
|
41
|
+
let position = 0;
|
|
42
|
+
const look_raw = () => {
|
|
43
|
+
if (position < 0 || position >= raw.length) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
return [raw[position]];
|
|
47
|
+
};
|
|
48
|
+
const result = assign({
|
|
49
|
+
// assert_finished: (
|
|
50
|
+
// assign,
|
|
51
|
+
// abort
|
|
52
|
+
// ) => {
|
|
53
|
+
// const result = assign()
|
|
54
|
+
// if (position < length) {
|
|
55
|
+
// return abort.not_finished(null)
|
|
56
|
+
// }
|
|
57
|
+
// return result
|
|
58
|
+
// },
|
|
59
|
+
consume: (assign, no_item) => {
|
|
60
|
+
const this_list_raw = list.__get_raw();
|
|
61
|
+
const currentx = look_raw();
|
|
62
|
+
if (currentx === null) {
|
|
63
|
+
return no_item();
|
|
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
|
+
get_end_info: () => end_info,
|
|
76
|
+
// discard_after: <T>(
|
|
77
|
+
// assign: () => T
|
|
78
|
+
// ) => {
|
|
79
|
+
// const value = assign()
|
|
80
|
+
// position += 1
|
|
81
|
+
// return value
|
|
82
|
+
// },
|
|
83
|
+
// get_position: () => {
|
|
84
|
+
// return position
|
|
85
|
+
// },
|
|
86
|
+
list: ($x) => {
|
|
87
|
+
const raw = [];
|
|
88
|
+
while (true) {
|
|
89
|
+
const next_element = look_raw();
|
|
90
|
+
if (next_element === null) {
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
else if (!$x.has_more_items(next_element[0])) {
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
raw.push($x.handle(next_element[0]));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return lit.list(raw);
|
|
101
|
+
},
|
|
102
|
+
look: (item, no_item) => {
|
|
103
|
+
const next = look_raw();
|
|
104
|
+
if (next === null) {
|
|
105
|
+
return no_item(end_info);
|
|
106
|
+
}
|
|
107
|
+
return item(next[0]);
|
|
108
|
+
},
|
|
109
|
+
look_raw: () => {
|
|
110
|
+
if (position < 0 || position >= raw.length) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
return [raw[position]];
|
|
114
|
+
},
|
|
115
|
+
look_ahead_raw: (offset) => {
|
|
116
|
+
if (position + offset < 0 || position + offset >= raw.length) {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
return [raw[position + offset]];
|
|
120
|
+
},
|
|
121
|
+
optional: ($i) => {
|
|
122
|
+
const next = look_raw();
|
|
123
|
+
if (next === null) {
|
|
124
|
+
return lit.not_set();
|
|
125
|
+
}
|
|
126
|
+
return $i.item(next[0]);
|
|
127
|
+
},
|
|
128
|
+
wrap_up: (callback, post) => {
|
|
129
|
+
const result = callback();
|
|
130
|
+
post();
|
|
131
|
+
return result;
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0ZSBzYWZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL3JlZmluZXIvc3BlY2lhbHMvaXRlcmF0ZSBzYWZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0EsK0JBMEhDO0FBL0hELG1FQUFvRDtBQUtwRCxTQUF3QixZQUFZLENBS2hDLElBQXFCLEVBQ3JCLFFBQWtCLEVBQ2xCLE1BQWtFO0lBR2xFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUU1QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQTtJQUVoQixNQUFNLFFBQVEsR0FBRyxHQUE2QixFQUFFO1FBQzVDLElBQUksUUFBUSxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFBO1FBQ2YsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUMxQixDQUFDLENBQUE7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDbEIscUJBQXFCO1FBQ3JCLGNBQWM7UUFDZCxZQUFZO1FBQ1osU0FBUztRQUNULDhCQUE4QjtRQUM5QiwrQkFBK0I7UUFDL0IsMENBQTBDO1FBQzFDLFFBQVE7UUFDUixvQkFBb0I7UUFDcEIsS0FBSztRQUNMLE9BQU8sRUFBRSxDQUNMLE1BQU0sRUFDTixPQUFPLEVBQ1QsRUFBRTtZQUNBLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtZQUN0QyxNQUFNLFFBQVEsR0FBRyxRQUFRLEVBQUUsQ0FBQTtZQUMzQixJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxPQUFP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
|
|
@@ -1,3 +1,4 @@
|
|
|
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
|
+
export default function iterate<Item extends p_di.Value, Error extends p_di.Value, End_Info extends p_di.Value, Return_Type extends p_di.Value>(list: p_di.List<Item>, end_info: End_Info, not_finised_error: p_di.Optional_Value<Error>, abort: Abort<Error>, assign: ($iter: p_pi.Iterator<Item, End_Info, Error>) => Return_Type): Return_Type;
|
|
@@ -35,7 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.default = iterate;
|
|
37
37
|
const lit = __importStar(require("../../__internal/sync/literal"));
|
|
38
|
-
function iterate(list, end_info, assign) {
|
|
38
|
+
function iterate(list, end_info, not_finised_error, abort, assign) {
|
|
39
39
|
const raw = list.__get_raw();
|
|
40
40
|
const length = raw.length;
|
|
41
41
|
let position = 0;
|
|
@@ -45,95 +45,101 @@ function iterate(list, end_info, assign) {
|
|
|
45
45
|
}
|
|
46
46
|
return [raw[position]];
|
|
47
47
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
position += 1;
|
|
66
|
-
return assign(this_list_raw[position - 1]); // position was already incremented, so we need to return the previous item
|
|
67
|
-
},
|
|
68
|
-
discard: (assign) => {
|
|
69
|
-
position += 1;
|
|
70
|
-
assign();
|
|
71
|
-
},
|
|
72
|
-
expect: ($i) => {
|
|
73
|
-
const next = look_raw();
|
|
74
|
-
if (next === null) {
|
|
75
|
-
return $i.abort($i.get_error(lit.not_set()));
|
|
76
|
-
}
|
|
77
|
-
return $i.item(next[0], () => $i.abort($i.get_error(lit.set(next[0]))));
|
|
78
|
-
},
|
|
79
|
-
get_end_info: () => end_info,
|
|
80
|
-
// discard_after: <T>(
|
|
81
|
-
// assign: () => T
|
|
82
|
-
// ) => {
|
|
83
|
-
// const value = assign()
|
|
84
|
-
// position += 1
|
|
85
|
-
// return value
|
|
86
|
-
// },
|
|
87
|
-
// get_position: () => {
|
|
88
|
-
// return position
|
|
89
|
-
// },
|
|
90
|
-
list: ($x) => {
|
|
91
|
-
const raw = [];
|
|
92
|
-
while (true) {
|
|
93
|
-
const next_element = look_raw();
|
|
94
|
-
if (next_element === null) {
|
|
95
|
-
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();
|
|
96
65
|
}
|
|
97
|
-
|
|
98
|
-
|
|
66
|
+
if (position > this_list_raw.length - 1) {
|
|
67
|
+
throw new Error("just checked that position is in bounds");
|
|
99
68
|
}
|
|
100
|
-
|
|
101
|
-
|
|
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)));
|
|
102
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($)));
|
|
103
132
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
return null;
|
|
116
|
-
}
|
|
117
|
-
return [raw[position]];
|
|
118
|
-
},
|
|
119
|
-
look_ahead_raw: (offset) => {
|
|
120
|
-
if (position + offset < 0 || position + offset >= raw.length) {
|
|
121
|
-
return null;
|
|
122
|
-
}
|
|
123
|
-
return [raw[position + offset]];
|
|
124
|
-
},
|
|
125
|
-
optional: ($i) => {
|
|
126
|
-
const next = look_raw();
|
|
127
|
-
if (next === null) {
|
|
128
|
-
return lit.not_set();
|
|
129
|
-
}
|
|
130
|
-
return $i.item(next[0]);
|
|
131
|
-
},
|
|
132
|
-
wrap_up: (callback, post) => {
|
|
133
|
-
const result = callback();
|
|
134
|
-
post();
|
|
135
|
-
return result;
|
|
136
|
-
},
|
|
137
|
-
});
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
const result = assign(create_iterator(($) => $));
|
|
136
|
+
if (position < length) {
|
|
137
|
+
not_finised_error.__extract_data(($) => {
|
|
138
|
+
abort($);
|
|
139
|
+
}, () => {
|
|
140
|
+
// do nothing
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
return result;
|
|
138
144
|
}
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9yZWZpbmVyL3NwZWNpYWxzL2l0ZXJhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQSwwQkE2SkM7QUFsS0QsbUVBQW9EO0FBS3BELFNBQXdCLE9BQU8sQ0FNM0IsSUFBcUIsRUFDckIsUUFBa0IsRUFDbEIsaUJBQTZDLEVBQzdDLEtBQW1CLEVBQ25CLE1BQW9FO0lBR3BFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUU1QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQTtJQUVoQixNQUFNLFFBQVEsR0FBRyxHQUE2QixFQUFFO1FBQzVDLElBQUksUUFBUSxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFBO1FBQ2YsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUMxQixDQUFDLENBQUE7SUFFRCxNQUFNLGVBQWUsR0FBRyxDQUNwQixtQkFBNEMsRUFDSixFQUFFO1FBQzFDLE9BQU87WUFDSCxxQkFBcUI7WUFDckIsY0FBYztZQUNkLFlBQVk7WUFDWixTQUFTO1lBQ1QsOEJBQThCO1lBQzlCLCtCQUErQjtZQUMvQiwwQ0FBMEM7WUFDMUMsUUFBUTtZQUNSLG9CQUFvQjtZQUNwQixLQUFLO1lBQ0wsT0FBTyxFQUFFLENBQ0wsTUFBTSxFQUNOLE9BQU8sRUFDVCxFQUFFO2dCQUNBLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtnQkFDdEMsTUFBTSxRQUFRLEdBQUcsUUFBUSxFQUFFLENBQUE7Z0JBQzNCLElBQUksUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNwQixPQUFPLE9BQU8sRUFBRSxDQUFBO2dCQUNwQixDQUFDO2dCQUNELElBQUksUUFBUSxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQTtnQkFDOUQsQ0FBQztnQkFDRCxRQUFRLElBQUksQ0FBQyxDQUFBO2dCQUNiLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLDJFQUEyRTtZQUMxSCxDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQ0wsTUFBZSxFQUNqQixFQUFFO2dCQUNBLFFBQVEsSUFBSSxDQUFDLENBQUE7Z0JBQ2IsTUFBTSxFQUFFLENBQUE7WUFDWixDQUFDO1lBQ0QsTUFBTSxFQUFFLENBQ0osRUFBRSxFQUNKLEVBQUU7Z0JBQ0EsTUFBTSxJQUFJLEdBQUcsUUFBUSxFQUFFLENBQUE7Z0JBQ3ZCLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNoQixPQUFPLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUN6QyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQ2IsUUFBUSxDQUNYLENBQUMsQ0FBQyxDQUFBO2dCQUNQLENBQUM7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQ1AsbUJBQW1CLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FDNUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDaEIsUUFBUSxDQUNYLENBQUMsQ0FDTCxDQUNKLENBQUE7WUFDTCxDQUFDO1lBQ0QsSUFBSSxFQUFFLENBQStCLEVBR3BDLEVBQXdCLEVBQUU7Z0JBQ3ZCLE1BQU0sR0FBRyxHQUFnQixFQUFFLENBQUE7Z0JBRTNCLE9BQU8sSUFBSSxFQUFFLENBQUM7b0JBQ1YsTUFBTSxZQUFZLEdBQUcsUUFBUSxFQUFFLENBQUE7b0JBQy9CLElBQUksWUFBWSxLQUFLLElBQUksRUFBRSxDQUFDO3dCQUN4QixNQUFLO29CQUNULENBQUM7eUJBQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDN0MsTUFBSztvQkFDVCxDQUFDO3lCQUFNLENBQUM7d0JBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQ3hDLENBQUM7Z0JBQ0wsQ0FBQztnQkFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDeEIsQ0FBQztZQUNELElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtnQkFDcEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxFQUFFLENBQUE7Z0JBQ3ZCLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNoQixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDNUIsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN4QixDQUFDO1lBQ0QsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDWCxJQUFJLFFBQVEsR0FBRyxDQUFDLElBQUksUUFBUSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDekMsT0FBTyxJQUFJLENBQUE7Z0JBQ2YsQ0FBQztnQkFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7WUFDMUIsQ0FBQztZQUNELGNBQWMsRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO2dCQUMvQixJQUFJLFFBQVEsR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLFFBQVEsR0FBRyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUMzRCxPQUFPLElBQUksQ0FBQTtnQkFDZixDQUFDO2dCQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUE7WUFDbkMsQ0FBQztZQUNELFFBQVEsRUFBRSxDQUNOLEVBQUUsRUFDSixFQUFFO2dCQUNBLE1BQU0sSUFBSSxHQUFHLFFBQVEsRUFBRSxDQUFBO2dCQUN2QixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDaEIsT0FBTyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUE7Z0JBQ3hCLENBQUM7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDVixDQUFBO1lBRUwsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDeEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxFQUFFLENBQUE7Z0JBQ3pCLElBQUksRUFBRSxDQUFBO2dCQUNOLE9BQU8sTUFBTSxDQUFBO1lBQ2pCLENBQUM7WUFDRCxlQUFlLEVBQUUsQ0FDYixlQUE0QyxFQUM5QyxFQUFFO2dCQUNBLE9BQU8sZUFBZSxDQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3JGLENBQUM7U0FDSixDQUFBO0lBQ0wsQ0FBQyxDQUFBO0lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FDakMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDWCxDQUFDLENBQUE7SUFDRixJQUFJLFFBQVEsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNwQixpQkFBaUIsQ0FBQyxjQUFjLENBQzVCLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDRixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDWixDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0QsYUFBYTtRQUNqQixDQUFDLENBQ0osQ0FBQTtJQUNMLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQTtBQUNqQixDQUFDIn0=
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
import * as p_di from "../../data";
|
|
2
2
|
import { Abort } from "../../__internal/Abort";
|
|
3
3
|
import { Raw_Optional_Value } from "../../__internal/Raw_Optional_Value";
|
|
4
|
-
export type Iterator<Item extends p_di.Value, End_Info extends p_di.Value> = {
|
|
5
|
-
assert_finished: <T>(assign: () => T, abort: {
|
|
6
|
-
not_finished: Abort<null>;
|
|
7
|
-
}) => T;
|
|
4
|
+
export type Iterator<Item extends p_di.Value, End_Info extends p_di.Value, Error extends p_di.Value> = {
|
|
8
5
|
consume: <T extends p_di.Value>(callback: (token: Item) => T, no_item: () => T) => T;
|
|
9
6
|
discard: <T extends p_di.Value>(callback: () => T) => undefined;
|
|
10
|
-
expect: <T extends p_di.Value
|
|
11
|
-
|
|
12
|
-
get_error: ($: p_di.Optional_Value<Item>) => Error;
|
|
7
|
+
expect: <T extends p_di.Value>($: {
|
|
8
|
+
get_error: ($: p_di.Optional_Value<Item>, end_info: End_Info) => Error;
|
|
13
9
|
item: (token: Item, abort: Abort<null>) => T;
|
|
14
10
|
}) => T;
|
|
15
|
-
get_end_info: () => End_Info;
|
|
16
11
|
list: <List_Item extends p_di.Value>($: {
|
|
17
12
|
has_more_items: ($: Item) => boolean;
|
|
18
13
|
handle: ($: Item) => List_Item;
|
|
@@ -24,4 +19,5 @@ export type Iterator<Item extends p_di.Value, End_Info extends p_di.Value> = {
|
|
|
24
19
|
item: (token: Item) => p_di.Optional_Value<T>;
|
|
25
20
|
}) => p_di.Optional_Value<T>;
|
|
26
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>;
|
|
27
23
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as p_di from "../../data";
|
|
2
|
+
import { Raw_Optional_Value } from "../../__internal/Raw_Optional_Value";
|
|
3
|
+
export type 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) => undefined;
|
|
6
|
+
get_end_info: () => End_Info;
|
|
7
|
+
list: <List_Item extends p_di.Value>($: {
|
|
8
|
+
has_more_items: ($: Item) => boolean;
|
|
9
|
+
handle: ($: Item) => List_Item;
|
|
10
|
+
}) => p_di.List<List_Item>;
|
|
11
|
+
look: <T extends p_di.Value>(item: (token: Item) => T, no_item: (end_info: End_Info) => T) => T;
|
|
12
|
+
look_raw: () => Raw_Optional_Value<Item>;
|
|
13
|
+
look_ahead_raw: (offset: number) => Raw_Optional_Value<Item>;
|
|
14
|
+
optional: <T extends p_di.Value>($: {
|
|
15
|
+
item: (token: Item) => p_di.Optional_Value<T>;
|
|
16
|
+
}) => p_di.Optional_Value<T>;
|
|
17
|
+
wrap_up: <T extends p_di.Value>(callback: () => T, post: () => any) => T;
|
|
18
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2FmZV9JdGVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcmZhY2UvcHJvZHVjdGlvbi9fX2ludGVybmFsL1NhZmVfSXRlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Abort } from "../__internal/Abort";
|
|
2
2
|
import { Iterator } from "./__internal/Iterator";
|
|
3
|
+
import { Safe_Iterator } from "./__internal/Safe_Iterator";
|
|
3
4
|
import * as p_di from "../data";
|
|
4
5
|
export { Iterator } from "./__internal/Iterator";
|
|
5
|
-
export
|
|
6
|
-
export type
|
|
7
|
-
export type
|
|
8
|
-
export type
|
|
6
|
+
export { Safe_Iterator } from "./__internal/Safe_Iterator";
|
|
7
|
+
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, Error>, abort: Abort<Error>) => Result;
|
|
8
|
+
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, Error>, abort: Abort<Error>, $p: Parameter) => Result;
|
|
9
|
+
export type Production_Without_Error<Result extends p_di.Value, Iterator_Item extends p_di.Value, End_Info extends p_di.Value> = (iterator: Safe_Iterator<Iterator_Item, End_Info>) => Result;
|
|
10
|
+
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: Safe_Iterator<Iterator_Item, End_Info>, $p: Parameter) => Result;
|