exupery-core-async 0.3.28 → 0.3.29
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.
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
import * as _et from 'exupery-core-types';
|
|
2
|
-
export type Assert_Async_Error<Assertion_Error, Procedure_Error> = ['assertion error', Assertion_Error] | ['assertion failed', null] | ['procedure error', Procedure_Error];
|
|
3
|
-
export type Assert_Sync_Error<Procedure_Error> = ['assertion failed', null] | ['procedure error', Procedure_Error];
|
|
4
|
-
export type Conditional_Multiple_Error<Precondition_Error, Procedure_Error> = ['preconditions', _et.Dictionary<Precondition_Error>] | ['procedure', Procedure_Error];
|
|
5
|
-
export type Dictionary_Serie_Error<Err> = {
|
|
6
|
-
'error': Err;
|
|
7
|
-
'step': string;
|
|
8
|
-
};
|
|
9
2
|
export declare namespace p {
|
|
10
3
|
const array_parallel: <Error, Element_Error>(the_array: _et.Array<_et.Procedure_Promise<Element_Error>>, aggregate_errors: _et.Transformer_Without_Parameters<_et.Array<Element_Error>, Error>) => _et.Procedure_Promise<Error>;
|
|
11
4
|
const array_serie: <Error>(array: _et.Array<_et.Procedure_Promise<Error>>) => _et.Procedure_Promise<Error>;
|
|
12
|
-
const assert_async: <
|
|
13
|
-
const assert_sync: <
|
|
5
|
+
const assert_async: <Error>(assertion: _et.Query_Promise<boolean, Error>, error_if_failed: Error) => _et.Procedure_Promise<Error>;
|
|
6
|
+
const assert_sync: <Error>(assertion: boolean, error_if_failed: Error) => _et.Procedure_Promise<Error>;
|
|
14
7
|
const conditional_async: <Error>(precondition: _et.Query_Promise<boolean, Error>, procedure: _et.Procedure_Promise<Error>) => _et.Procedure_Promise<Error>;
|
|
15
|
-
const conditional_multiple: <Precondition_Error, Procedure_Error>(preconditions: _et.Dictionary<_et.Query_Promise<boolean, Precondition_Error>>, procedure: _et.Procedure_Promise<Procedure_Error>) => _et.Procedure_Promise<Conditional_Multiple_Error<Precondition_Error, Procedure_Error>>;
|
|
16
8
|
const conditional_sync: <Error>(precondition: boolean, procedure: _et.Procedure_Promise<Error>) => _et.Procedure_Promise<Error>;
|
|
17
|
-
const dictionary_serie: <
|
|
18
|
-
const dictionary_parallel_without_error_aggregation: <Error>(dictionary: _et.Dictionary<_et.Procedure_Promise<Error>>) => _et.Procedure_Promise<_et.Dictionary<Error>>;
|
|
9
|
+
const dictionary_serie: <Error, Entry_Error>(dictionary: _et.Dictionary<_et.Procedure_Promise<Entry_Error>>, transform_error: _et.Transformer_Without_Parameters<_et.Key_Value_Pair<Entry_Error>, Error>) => _et.Procedure_Promise<Error>;
|
|
19
10
|
const dictionary_parallel: <Error, Entry_Error>(dictionary: _et.Dictionary<_et.Procedure_Promise<Entry_Error>>, aggregate_errors: _et.Transformer_Without_Parameters<_et.Dictionary<Entry_Error>, Error>) => _et.Procedure_Promise<Error>;
|
|
20
11
|
const execute_with_async_data: <Parameters, Error>(procedure: _et.Procedure_Primed_With_Resources<Parameters, Error>, query: _et.Query_Promise<Parameters, Error>) => _et.Procedure_Promise<Error>;
|
|
21
12
|
const sequence: <Error>(steps: _et.Procedure_Promise<Error>[]) => _et.Procedure_Promise<Error>;
|
|
@@ -26,7 +26,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.p = void 0;
|
|
27
27
|
const _ei = __importStar(require("exupery-core-internals"));
|
|
28
28
|
const create_procedure_promise_1 = require("../algorithms/procedure/create_procedure_promise");
|
|
29
|
-
const query_1 = require("./query");
|
|
30
29
|
const create_asynchronous_processes_monitor_1 = require("../create_asynchronous_processes_monitor");
|
|
31
30
|
var p;
|
|
32
31
|
(function (p) {
|
|
@@ -73,34 +72,30 @@ var p;
|
|
|
73
72
|
}
|
|
74
73
|
});
|
|
75
74
|
};
|
|
76
|
-
p.assert_async = (assertion,
|
|
75
|
+
p.assert_async = (assertion, error_if_failed) => {
|
|
77
76
|
return (0, create_procedure_promise_1.__create_procedure_promise)({
|
|
78
77
|
'execute': (on_success, on_error) => {
|
|
79
78
|
assertion.__start(($) => {
|
|
80
79
|
if ($) {
|
|
81
|
-
|
|
82
|
-
on_error(['procedure error', $]);
|
|
83
|
-
});
|
|
80
|
+
on_success();
|
|
84
81
|
}
|
|
85
82
|
else {
|
|
86
|
-
on_error(
|
|
83
|
+
on_error(error_if_failed);
|
|
87
84
|
}
|
|
88
85
|
}, ($) => {
|
|
89
|
-
on_error(
|
|
86
|
+
on_error($);
|
|
90
87
|
});
|
|
91
88
|
}
|
|
92
89
|
});
|
|
93
90
|
};
|
|
94
|
-
p.assert_sync = (assertion,
|
|
91
|
+
p.assert_sync = (assertion, error_if_failed) => {
|
|
95
92
|
return (0, create_procedure_promise_1.__create_procedure_promise)({
|
|
96
93
|
'execute': (on_success, on_error) => {
|
|
97
94
|
if (!assertion) {
|
|
98
|
-
on_error(
|
|
95
|
+
on_error(error_if_failed);
|
|
99
96
|
return;
|
|
100
97
|
}
|
|
101
|
-
|
|
102
|
-
on_error(['procedure error', $]);
|
|
103
|
-
});
|
|
98
|
+
on_success();
|
|
104
99
|
}
|
|
105
100
|
});
|
|
106
101
|
};
|
|
@@ -118,32 +113,6 @@ var p;
|
|
|
118
113
|
}
|
|
119
114
|
});
|
|
120
115
|
};
|
|
121
|
-
p.conditional_multiple = (preconditions, procedure) => {
|
|
122
|
-
return (0, create_procedure_promise_1.__create_procedure_promise)({
|
|
123
|
-
'execute': (on_success, on_error) => {
|
|
124
|
-
query_1.q.dictionary_parallel_without_error_aggregation(preconditions).__start(($) => {
|
|
125
|
-
let has_errors = false;
|
|
126
|
-
$.map(($) => {
|
|
127
|
-
if (!$) {
|
|
128
|
-
has_errors = true;
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
if (!has_errors) {
|
|
132
|
-
// all preconditions passed
|
|
133
|
-
procedure.__start(on_success, (e) => {
|
|
134
|
-
on_error(['procedure', e]);
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
//the preconditions failed, so we are *successfully* skipping the procedure
|
|
139
|
-
on_success();
|
|
140
|
-
}
|
|
141
|
-
}, ($) => {
|
|
142
|
-
on_error(['preconditions', $]);
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
};
|
|
147
116
|
p.conditional_sync = (precondition, procedure) => {
|
|
148
117
|
return (0, create_procedure_promise_1.__create_procedure_promise)({
|
|
149
118
|
'execute': (on_success, on_error) => {
|
|
@@ -156,7 +125,7 @@ var p;
|
|
|
156
125
|
}
|
|
157
126
|
});
|
|
158
127
|
};
|
|
159
|
-
p.dictionary_serie = (dictionary) => {
|
|
128
|
+
p.dictionary_serie = (dictionary, transform_error) => {
|
|
160
129
|
return (0, create_procedure_promise_1.__create_procedure_promise)({
|
|
161
130
|
'execute': (on_success, on_error) => {
|
|
162
131
|
const op_dictionary_to_list_based_on_insertion_order = (dict) => {
|
|
@@ -175,10 +144,10 @@ var p;
|
|
|
175
144
|
$.value.__start(() => {
|
|
176
145
|
do_next();
|
|
177
146
|
}, ($) => {
|
|
178
|
-
on_error({
|
|
179
|
-
'
|
|
180
|
-
'
|
|
181
|
-
});
|
|
147
|
+
on_error(transform_error({
|
|
148
|
+
'value': $,
|
|
149
|
+
'key': key,
|
|
150
|
+
}));
|
|
182
151
|
});
|
|
183
152
|
}, () => {
|
|
184
153
|
on_success();
|
|
@@ -188,35 +157,6 @@ var p;
|
|
|
188
157
|
}
|
|
189
158
|
});
|
|
190
159
|
};
|
|
191
|
-
p.dictionary_parallel_without_error_aggregation = (dictionary) => {
|
|
192
|
-
return (0, create_procedure_promise_1.__create_procedure_promise)({
|
|
193
|
-
'execute': (on_success, on_error) => {
|
|
194
|
-
let count_down = dictionary.__get_number_of_entries();
|
|
195
|
-
let has_errors = false;
|
|
196
|
-
const errors = {};
|
|
197
|
-
const decrement_and_wrap_up_if_done = () => {
|
|
198
|
-
count_down -= 1;
|
|
199
|
-
if (count_down === 0) {
|
|
200
|
-
if (has_errors) {
|
|
201
|
-
on_error(_ei.dictionary_literal(errors));
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
on_success();
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
};
|
|
208
|
-
dictionary.map(($, key) => {
|
|
209
|
-
$.__start(() => {
|
|
210
|
-
decrement_and_wrap_up_if_done();
|
|
211
|
-
}, (e) => {
|
|
212
|
-
has_errors = true;
|
|
213
|
-
errors[key] = e;
|
|
214
|
-
decrement_and_wrap_up_if_done();
|
|
215
|
-
});
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
};
|
|
220
160
|
p.dictionary_parallel = (dictionary, aggregate_errors) => {
|
|
221
161
|
return (0, create_procedure_promise_1.__create_procedure_promise)({
|
|
222
162
|
'execute': (on_success, on_error) => {
|