exupery-core-async 0.3.7 → 0.3.9

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.
Files changed (41) hide show
  1. package/dist/algorithms/procedure/{initialize_unguaranteed_procedure.d.ts → initialize_procedure.d.ts} +1 -1
  2. package/dist/algorithms/procedure/{initialize_unguaranteed_procedure.js → initialize_procedure.js} +3 -3
  3. package/dist/algorithms/query/{create_unguaranteed_query.d.ts → create_query.d.ts} +1 -1
  4. package/dist/algorithms/query/{create_unguaranteed_query.js → create_query.js} +5 -24
  5. package/dist/index.d.ts +16 -14
  6. package/dist/index.js +30 -33
  7. package/dist/procedure/assert_async.d.ts +3 -0
  8. package/dist/procedure/assert_async.js +23 -0
  9. package/dist/procedure/assert_sync.d.ts +3 -0
  10. package/dist/procedure/assert_sync.js +18 -0
  11. package/dist/procedure/conditional_async.d.ts +4 -0
  12. package/dist/procedure/conditional_async.js +23 -0
  13. package/dist/procedure/conditional_multiple.d.ts +4 -0
  14. package/dist/procedure/conditional_multiple.js +32 -0
  15. package/dist/procedure/conditional_sync.d.ts +2 -0
  16. package/dist/procedure/conditional_sync.js +17 -0
  17. package/dist/procedure/sequence.d.ts +6 -0
  18. package/dist/procedure/sequence.js +61 -0
  19. package/dist/procedure/three_steps.d.ts +3 -0
  20. package/dist/procedure/three_steps.js +22 -0
  21. package/dist/procedure/two_steps.d.ts +3 -0
  22. package/dist/procedure/two_steps.js +18 -0
  23. package/dist/procedure/unguaranteed_procedure_dictionary.d.ts +2 -0
  24. package/dist/procedure/unguaranteed_procedure_dictionary.js +58 -0
  25. package/dist/query/transform_query.d.ts +3 -0
  26. package/dist/query/transform_query.js +16 -0
  27. package/dist/query/unguaranteed_query_dictionary.d.ts +3 -0
  28. package/dist/query/unguaranteed_query_dictionary.js +60 -0
  29. package/dist/shorthands.d.ts +8 -60
  30. package/dist/shorthands.js +7 -110
  31. package/dist/types/{Basic_Unguaranteed_Query.d.ts → Basic_Query.d.ts} +1 -1
  32. package/package.json +1 -1
  33. package/dist/algorithms/procedure/initialize_guaranteed_procedure.d.ts +0 -11
  34. package/dist/algorithms/procedure/initialize_guaranteed_procedure.js +0 -19
  35. package/dist/algorithms/query/create_guaranteed_query.d.ts +0 -11
  36. package/dist/algorithms/query/create_guaranteed_query.js +0 -37
  37. package/dist/algorithms/query/merge_2_guaranteed_queries.d.ts +0 -6
  38. package/dist/algorithms/query/merge_2_guaranteed_queries.js +0 -29
  39. package/dist/types/Basic_Guaranteed_Query.d.ts +0 -3
  40. package/dist/types/Basic_Unguaranteed_Query.js +0 -2
  41. /package/dist/types/{Basic_Guaranteed_Query.js → Basic_Query.js} +0 -0
@@ -13,5 +13,5 @@ type Executer<E> = {
13
13
  * @param executer the function that produces the eventual value
14
14
  * @returns
15
15
  */
16
- export declare function __create_unguaranteed_procedure<E>(executer: Executer<E>): _et.Unguaranteed_Procedure_Promise<E>;
16
+ export declare function __create_unguaranteed_procedure<E>(executer: Executer<E>): _et.Procedure_Promise<E>;
17
17
  export {};
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.__create_unguaranteed_procedure = __create_unguaranteed_procedure;
4
- class Unguaranteed_Procedure_Promise_Class {
4
+ class Procedure_Promise_Class {
5
5
  constructor(executer) {
6
6
  this.executer = executer;
7
7
  }
@@ -9,7 +9,7 @@ class Unguaranteed_Procedure_Promise_Class {
9
9
  this.executer.execute(on_success, on_exception);
10
10
  }
11
11
  map_error(handle_error) {
12
- return new Unguaranteed_Procedure_Promise_Class({
12
+ return new Procedure_Promise_Class({
13
13
  'execute': (on_success, on_exception) => {
14
14
  this.executer.execute(on_success, (error) => {
15
15
  on_exception(handle_error(error));
@@ -24,5 +24,5 @@ class Unguaranteed_Procedure_Promise_Class {
24
24
  * @returns
25
25
  */
26
26
  function __create_unguaranteed_procedure(executer) {
27
- return new Unguaranteed_Procedure_Promise_Class(executer);
27
+ return new Procedure_Promise_Class(executer);
28
28
  }
@@ -13,5 +13,5 @@ type Executer<T, E> = {
13
13
  * @param executer the function that produces the eventual value
14
14
  * @returns
15
15
  */
16
- export declare function __create_unguaranteed_query<T, E>(executer: Executer<T, E>): _et.Unguaranteed_Query_Promise<T, E>;
16
+ export declare function __create_unguaranteed_query<T, E>(executer: Executer<T, E>): _et.Query_Promise<T, E>;
17
17
  export {};
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.__create_unguaranteed_query = __create_unguaranteed_query;
4
- const create_guaranteed_query_1 = require("./create_guaranteed_query");
5
- class Unguaranteed_Query_Result_Promise_Class {
4
+ class Query_Result_Promise_Class {
6
5
  constructor(executer) {
7
6
  this.executer = executer;
8
7
  }
9
8
  map_(handle_value) {
10
- return new Unguaranteed_Query_Result_Promise_Class({
9
+ return new Query_Result_Promise_Class({
11
10
  'execute': (on_value, on_exception) => {
12
11
  this.executer.execute(($) => {
13
12
  on_value(handle_value($));
@@ -16,16 +15,7 @@ class Unguaranteed_Query_Result_Promise_Class {
16
15
  });
17
16
  }
18
17
  then(handle_value) {
19
- return new Unguaranteed_Query_Result_Promise_Class({
20
- 'execute': (new_on_value, new_on_exception) => {
21
- this.executer.execute(($) => {
22
- handle_value($).__start(new_on_value);
23
- }, new_on_exception);
24
- }
25
- });
26
- }
27
- then_unguaranteed(handle_value) {
28
- return new Unguaranteed_Query_Result_Promise_Class({
18
+ return new Query_Result_Promise_Class({
29
19
  'execute': (new_on_value, new_on_exception) => {
30
20
  this.executer.execute(($) => {
31
21
  handle_value($).__start(new_on_value, new_on_exception);
@@ -34,7 +24,7 @@ class Unguaranteed_Query_Result_Promise_Class {
34
24
  });
35
25
  }
36
26
  map_exception_(handle_exception) {
37
- return new Unguaranteed_Query_Result_Promise_Class({
27
+ return new Query_Result_Promise_Class({
38
28
  'execute': (on_value, on_exception) => {
39
29
  this.executer.execute(on_value, ($) => {
40
30
  on_exception(handle_exception($));
@@ -42,15 +32,6 @@ class Unguaranteed_Query_Result_Promise_Class {
42
32
  }
43
33
  });
44
34
  }
45
- catch_(handle_exception) {
46
- return (0, create_guaranteed_query_1.__create_guaranteed_query)({
47
- 'execute': (on_value) => {
48
- this.executer.execute(on_value, ($) => {
49
- handle_exception($).__start(on_value);
50
- });
51
- }
52
- });
53
- }
54
35
  __start(on_value, on_exception) {
55
36
  this.executer.execute(on_value, on_exception);
56
37
  }
@@ -61,5 +42,5 @@ class Unguaranteed_Query_Result_Promise_Class {
61
42
  * @returns
62
43
  */
63
44
  function __create_unguaranteed_query(executer) {
64
- return new Unguaranteed_Query_Result_Promise_Class(executer);
45
+ return new Query_Result_Promise_Class(executer);
65
46
  }
package/dist/index.d.ts CHANGED
@@ -1,18 +1,20 @@
1
1
  import * as _et from "exupery-core-types";
2
- export * from "./types/Basic_Unguaranteed_Query";
3
- export * from "./types/Basic_Guaranteed_Query";
4
- export * from "./algorithms/query/merge_2_guaranteed_queries";
5
- export * from "./algorithms/query/create_guaranteed_query";
6
- export * from "./algorithms/query/create_unguaranteed_query";
7
- export * from "./algorithms/procedure/initialize_guaranteed_procedure";
8
- export * from "./algorithms/procedure/initialize_unguaranteed_procedure";
2
+ export * from "./types/Basic_Query";
3
+ export * from "./algorithms/query/create_query";
4
+ export * from "./algorithms/procedure/initialize_procedure";
9
5
  export * from "./shorthands";
6
+ export * from "./procedure/assert_async";
7
+ export * from "./procedure/assert_sync";
8
+ export * from "./procedure/conditional_async";
9
+ export * from "./procedure/conditional_multiple";
10
+ export * from "./procedure/conditional_sync";
11
+ export * from "./procedure/sequence";
12
+ export * from "./procedure/three_steps";
13
+ export * from "./procedure/two_steps";
14
+ export * from "./procedure/unguaranteed_procedure_dictionary";
15
+ export * from "./query/transform_query";
16
+ export * from "./query/unguaranteed_query_dictionary";
10
17
  export declare const query: {
11
- guaranteed: {
12
- 'create result': <T>($: T) => _et.Guaranteed_Query_Promise<T>;
13
- };
14
- unguaranteed: {
15
- 'create result': <T, E>($: T) => _et.Unguaranteed_Query_Promise<T, E>;
16
- 'raise exception': <T, E>($: E) => _et.Unguaranteed_Query_Promise<T, E>;
17
- };
18
+ 'create result': <T, E>($: T) => _et.Query_Promise<T, E>;
19
+ 'raise exception': <T, E>($: E) => _et.Query_Promise<T, E>;
18
20
  };
package/dist/index.js CHANGED
@@ -16,41 +16,38 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.query = void 0;
18
18
  //types
19
- __exportStar(require("./types/Basic_Unguaranteed_Query"), exports);
20
- __exportStar(require("./types/Basic_Guaranteed_Query"), exports);
19
+ __exportStar(require("./types/Basic_Query"), exports);
21
20
  //functions
22
- __exportStar(require("./algorithms/query/merge_2_guaranteed_queries"), exports);
23
- __exportStar(require("./algorithms/query/create_guaranteed_query"), exports);
24
- __exportStar(require("./algorithms/query/create_unguaranteed_query"), exports);
25
- __exportStar(require("./algorithms/procedure/initialize_guaranteed_procedure"), exports);
26
- __exportStar(require("./algorithms/procedure/initialize_unguaranteed_procedure"), exports);
21
+ __exportStar(require("./algorithms/query/create_query"), exports);
22
+ __exportStar(require("./algorithms/procedure/initialize_procedure"), exports);
27
23
  __exportStar(require("./shorthands"), exports);
28
- const create_guaranteed_query_1 = require("./algorithms/query/create_guaranteed_query");
29
- const create_unguaranteed_query_1 = require("./algorithms/query/create_unguaranteed_query");
24
+ // procedure exports
25
+ __exportStar(require("./procedure/assert_async"), exports);
26
+ __exportStar(require("./procedure/assert_sync"), exports);
27
+ __exportStar(require("./procedure/conditional_async"), exports);
28
+ __exportStar(require("./procedure/conditional_multiple"), exports);
29
+ __exportStar(require("./procedure/conditional_sync"), exports);
30
+ __exportStar(require("./procedure/sequence"), exports);
31
+ __exportStar(require("./procedure/three_steps"), exports);
32
+ __exportStar(require("./procedure/two_steps"), exports);
33
+ __exportStar(require("./procedure/unguaranteed_procedure_dictionary"), exports);
34
+ // query exports
35
+ __exportStar(require("./query/transform_query"), exports);
36
+ __exportStar(require("./query/unguaranteed_query_dictionary"), exports);
37
+ const create_query_1 = require("./algorithms/query/create_query");
30
38
  exports.query = {
31
- 'guaranteed': {
32
- 'create result': ($) => {
33
- return (0, create_guaranteed_query_1.__create_guaranteed_query)({
34
- 'execute': (on_value) => {
35
- on_value($);
36
- }
37
- });
38
- }
39
- },
40
- 'unguaranteed': {
41
- 'create result': ($) => {
42
- return (0, create_unguaranteed_query_1.__create_unguaranteed_query)({
43
- 'execute': (on_value) => {
44
- on_value($);
45
- }
46
- });
47
- },
48
- 'raise exception': ($) => {
49
- return (0, create_unguaranteed_query_1.__create_unguaranteed_query)({
50
- 'execute': (on_value, on_exception) => {
51
- on_exception($);
52
- }
53
- });
54
- }
39
+ 'create result': ($) => {
40
+ return (0, create_query_1.__create_unguaranteed_query)({
41
+ 'execute': (on_value) => {
42
+ on_value($);
43
+ }
44
+ });
55
45
  },
46
+ 'raise exception': ($) => {
47
+ return (0, create_query_1.__create_unguaranteed_query)({
48
+ 'execute': (on_value, on_exception) => {
49
+ on_exception($);
50
+ }
51
+ });
52
+ }
56
53
  };
@@ -0,0 +1,3 @@
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 declare const assert_async: <Assertion_Error, Procedure_Error>(assertion: _et.Query_Promise<boolean, Assertion_Error>, procedure: _et.Procedure_Promise<Procedure_Error>) => _et.Procedure_Promise<Assert_Async_Error<Assertion_Error, Procedure_Error>>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assert_async = void 0;
4
+ const initialize_procedure_1 = require("../algorithms/procedure/initialize_procedure");
5
+ const assert_async = (assertion, procedure) => {
6
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
7
+ 'execute': (on_success, on_exception) => {
8
+ assertion.__start(($) => {
9
+ if ($) {
10
+ procedure.__start(on_success, ($) => {
11
+ on_exception(['procedure error', $]);
12
+ });
13
+ }
14
+ else {
15
+ on_exception(['assertion failed', null]);
16
+ }
17
+ }, ($) => {
18
+ on_exception(['assertion error', $]);
19
+ });
20
+ }
21
+ });
22
+ };
23
+ exports.assert_async = assert_async;
@@ -0,0 +1,3 @@
1
+ import * as _et from 'exupery-core-types';
2
+ export type Assert_Sync_Error<Procedure_Error> = ['assertion failed', null] | ['procedure error', Procedure_Error];
3
+ export declare const assert_sync: <Assertion_Error, Procedure_Error>(assertion: boolean, procedure: _et.Procedure_Promise<Procedure_Error>) => _et.Procedure_Promise<Assert_Sync_Error<Procedure_Error>>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assert_sync = void 0;
4
+ const initialize_procedure_1 = require("../algorithms/procedure/initialize_procedure");
5
+ const assert_sync = (assertion, procedure) => {
6
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
7
+ 'execute': (on_success, on_exception) => {
8
+ if (!assertion) {
9
+ on_exception(['assertion failed', null]);
10
+ return;
11
+ }
12
+ procedure.__start(on_success, ($) => {
13
+ on_exception(['procedure error', $]);
14
+ });
15
+ }
16
+ });
17
+ };
18
+ exports.assert_sync = assert_sync;
@@ -0,0 +1,4 @@
1
+ import * as _et from 'exupery-core-types';
2
+ import { Basic_Query_Promise } from '../types/Basic_Query';
3
+ export type Conditional_Async_Error<Precondition_Error, Procedure_Error> = ['precondition', Precondition_Error] | ['procedure', Procedure_Error];
4
+ export declare const conditional_async: <Precondition_Error, Procedure_Error>(precondition: Basic_Query_Promise<boolean, Precondition_Error>, procedure: _et.Procedure_Promise<Procedure_Error>) => _et.Procedure_Promise<Conditional_Async_Error<Precondition_Error, Procedure_Error>>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.conditional_async = void 0;
4
+ const initialize_procedure_1 = require("../algorithms/procedure/initialize_procedure");
5
+ const conditional_async = (precondition, procedure) => {
6
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
7
+ 'execute': (on_success, on_exception) => {
8
+ precondition.__start(($) => {
9
+ if ($) {
10
+ procedure.__start(on_success, (e) => {
11
+ on_exception(['procedure', e]);
12
+ });
13
+ }
14
+ else {
15
+ on_success();
16
+ }
17
+ }, ($) => {
18
+ on_exception(['precondition', $]);
19
+ });
20
+ }
21
+ });
22
+ };
23
+ exports.conditional_async = conditional_async;
@@ -0,0 +1,4 @@
1
+ import * as _et from 'exupery-core-types';
2
+ import { Basic_Query_Promise } from '../types/Basic_Query';
3
+ export type Conditional_Multiple_Error<Precondition_Error, Procedure_Error> = ['preconditions', _et.Dictionary<Precondition_Error>] | ['procedure', Procedure_Error];
4
+ export declare const conditional_multiple: <Precondition_Error, Procedure_Error>(preconditions: _et.Dictionary<Basic_Query_Promise<boolean, Precondition_Error>>, procedure: _et.Procedure_Promise<Procedure_Error>) => _et.Procedure_Promise<Conditional_Multiple_Error<Precondition_Error, Procedure_Error>>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.conditional_multiple = void 0;
4
+ const unguaranteed_query_dictionary_1 = require("../query/unguaranteed_query_dictionary");
5
+ const initialize_procedure_1 = require("../algorithms/procedure/initialize_procedure");
6
+ const conditional_multiple = (preconditions, procedure) => {
7
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
8
+ 'execute': (on_success, on_exception) => {
9
+ (0, unguaranteed_query_dictionary_1.unguaranteed_query_dictionary)(preconditions).__start(($) => {
10
+ let has_errors = false;
11
+ $.map(($) => {
12
+ if (!$) {
13
+ has_errors = true;
14
+ }
15
+ });
16
+ if (!has_errors) {
17
+ // all preconditions passed
18
+ procedure.__start(on_success, (e) => {
19
+ on_exception(['procedure', e]);
20
+ });
21
+ }
22
+ else {
23
+ //the preconditions failed, so we are *successfully* skipping the procedure
24
+ on_success();
25
+ }
26
+ }, ($) => {
27
+ on_exception(['preconditions', $]);
28
+ });
29
+ }
30
+ });
31
+ };
32
+ exports.conditional_multiple = conditional_multiple;
@@ -0,0 +1,2 @@
1
+ import * as _et from 'exupery-core-types';
2
+ export declare const conditional_sync: <Procedure_Error>(precondition: boolean, procedure: _et.Procedure_Promise<Procedure_Error>) => _et.Procedure_Promise<Procedure_Error>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.conditional_sync = void 0;
4
+ const initialize_procedure_1 = require("../algorithms/procedure/initialize_procedure");
5
+ const conditional_sync = (precondition, procedure) => {
6
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
7
+ 'execute': (on_success, on_exception) => {
8
+ if (precondition) {
9
+ procedure.__start(on_success, on_exception);
10
+ }
11
+ else {
12
+ on_success();
13
+ }
14
+ }
15
+ });
16
+ };
17
+ exports.conditional_sync = conditional_sync;
@@ -0,0 +1,6 @@
1
+ import * as _et from 'exupery-core-types';
2
+ export type Sequence_Error<Err> = {
3
+ 'error': Err;
4
+ 'step': string;
5
+ };
6
+ export declare const sequence: <Err>(steps: _et.Dictionary<_et.Procedure_Promise<Err>>) => _et.Procedure_Promise<Sequence_Error<Err>>;
@@ -0,0 +1,61 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.sequence = void 0;
27
+ const _ei = __importStar(require("exupery-core-internals"));
28
+ const initialize_procedure_1 = require("../algorithms/procedure/initialize_procedure");
29
+ const op_dictionary_to_list_based_on_insertion_order = (dict) => {
30
+ const temp = [];
31
+ dict.map(($, key) => {
32
+ temp.push({ key, value: $ });
33
+ });
34
+ return _ei.array_literal(temp);
35
+ };
36
+ const sequence = (steps) => {
37
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
38
+ 'execute': (on_success, on_exception) => {
39
+ const as_list = op_dictionary_to_list_based_on_insertion_order(steps);
40
+ let current = 0;
41
+ const do_next = () => {
42
+ as_list.__get_element_at(current).transform(($) => {
43
+ const key = $.key;
44
+ current += 1;
45
+ $.value.__start(() => {
46
+ do_next();
47
+ }, ($) => {
48
+ on_exception({
49
+ 'error': $,
50
+ 'step': key,
51
+ });
52
+ });
53
+ }, () => {
54
+ on_success();
55
+ });
56
+ };
57
+ do_next();
58
+ }
59
+ });
60
+ };
61
+ exports.sequence = sequence;
@@ -0,0 +1,3 @@
1
+ import * as _et from 'exupery-core-types';
2
+ export type Three_Steps_Error<Step_1_Error, Step_2_Error, Step_3_Error> = ['step1', Step_1_Error] | ['step2', Step_2_Error] | ['step3', Step_3_Error];
3
+ export declare const three_steps: <Step_1_Error, Step_2_Error, Step_3_Error>(step_1: _et.Procedure_Promise<Step_1_Error>, step_2: _et.Procedure_Promise<Step_2_Error>, step_3: _et.Procedure_Promise<Step_3_Error>) => _et.Procedure_Promise<Three_Steps_Error<Step_1_Error, Step_2_Error, Step_3_Error>>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.three_steps = void 0;
4
+ const initialize_procedure_1 = require("../algorithms/procedure/initialize_procedure");
5
+ const three_steps = (step_1, step_2, step_3) => {
6
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
7
+ 'execute': (on_success, on_exception) => {
8
+ step_1.__start(() => {
9
+ step_2.__start(() => {
10
+ step_3.__start(on_success, (error) => {
11
+ on_exception(['step3', error]);
12
+ });
13
+ }, (error) => {
14
+ on_exception(['step2', error]);
15
+ });
16
+ }, (error) => {
17
+ on_exception(['step1', error]);
18
+ });
19
+ }
20
+ });
21
+ };
22
+ exports.three_steps = three_steps;
@@ -0,0 +1,3 @@
1
+ import * as _et from 'exupery-core-types';
2
+ export type Two_Steps_Error<Step_1_Error, Step_2_Error> = ['step1', Step_1_Error] | ['step2', Step_2_Error];
3
+ export declare const two_steps: <Step_1_Error, Step_2_Error>(step_1: _et.Procedure_Promise<Step_1_Error>, step_2: _et.Procedure_Promise<Step_2_Error>) => _et.Procedure_Promise<Two_Steps_Error<Step_1_Error, Step_2_Error>>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.two_steps = void 0;
4
+ const initialize_procedure_1 = require("../algorithms/procedure/initialize_procedure");
5
+ const two_steps = (step_1, step_2) => {
6
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
7
+ 'execute': (on_success, on_exception) => {
8
+ step_1.__start(() => {
9
+ step_2.__start(on_success, (error) => {
10
+ on_exception(['step2', error]);
11
+ });
12
+ }, (error) => {
13
+ on_exception(['step1', error]);
14
+ });
15
+ }
16
+ });
17
+ };
18
+ exports.two_steps = two_steps;
@@ -0,0 +1,2 @@
1
+ import * as _et from 'exupery-core-types';
2
+ export declare const unguaranteed_procedure_dictionary: <Error>($: _et.Dictionary<_et.Procedure_Promise<Error>>) => _et.Procedure_Promise<_et.Dictionary<Error>>;
@@ -0,0 +1,58 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.unguaranteed_procedure_dictionary = void 0;
27
+ const _ei = __importStar(require("exupery-core-internals"));
28
+ const initialize_procedure_1 = require("../algorithms/procedure/initialize_procedure");
29
+ const unguaranteed_procedure_dictionary = ($) => {
30
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
31
+ 'execute': (on_success, on_exception) => {
32
+ let count_down = $.__get_number_of_entries();
33
+ let has_errors = false;
34
+ const errors = {};
35
+ const decrement_and_wrap_up_if_done = () => {
36
+ count_down -= 1;
37
+ if (count_down === 0) {
38
+ if (has_errors) {
39
+ on_exception(_ei.dictionary_literal(errors));
40
+ }
41
+ else {
42
+ on_success();
43
+ }
44
+ }
45
+ };
46
+ $.map(($, key) => {
47
+ $.__start(() => {
48
+ decrement_and_wrap_up_if_done();
49
+ }, (e) => {
50
+ has_errors = true;
51
+ errors[key] = e;
52
+ decrement_and_wrap_up_if_done();
53
+ });
54
+ });
55
+ }
56
+ });
57
+ };
58
+ exports.unguaranteed_procedure_dictionary = unguaranteed_procedure_dictionary;
@@ -0,0 +1,3 @@
1
+ import * as _et from 'exupery-core-types';
2
+ import { Basic_Query_Promise } from '../types/Basic_Query';
3
+ export declare const transform_query: <In, Out, Error>(query: Basic_Query_Promise<In, Error>, transform: ($: In) => Out) => _et.Query_Promise<Out, Error>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transform_query = void 0;
4
+ const create_query_1 = require("../algorithms/query/create_query");
5
+ const transform_query = (query, transform) => {
6
+ return (0, create_query_1.__create_unguaranteed_query)({
7
+ 'execute': (on_success, on_exception) => {
8
+ query.__start(($) => {
9
+ on_success(transform($));
10
+ }, (e) => {
11
+ on_exception(e);
12
+ });
13
+ }
14
+ });
15
+ };
16
+ exports.transform_query = transform_query;
@@ -0,0 +1,3 @@
1
+ import * as _et from 'exupery-core-types';
2
+ import { Basic_Query_Promise } from '../types/Basic_Query';
3
+ export declare const unguaranteed_query_dictionary: <Result, Error>($: _et.Dictionary<Basic_Query_Promise<Result, Error>>) => _et.Query_Promise<_et.Dictionary<Result>, _et.Dictionary<Error>>;
@@ -0,0 +1,60 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.unguaranteed_query_dictionary = void 0;
27
+ const _ei = __importStar(require("exupery-core-internals"));
28
+ const create_query_1 = require("../algorithms/query/create_query");
29
+ const unguaranteed_query_dictionary = ($) => {
30
+ return (0, create_query_1.__create_unguaranteed_query)({
31
+ 'execute': (on_success, on_exception) => {
32
+ let count_down = $.__get_number_of_entries();
33
+ let has_errors = false;
34
+ const errors = {};
35
+ const results = {};
36
+ const decrement_and_wrap_up_if_done = () => {
37
+ count_down -= 1;
38
+ if (count_down === 0) {
39
+ if (has_errors) {
40
+ on_exception(_ei.dictionary_literal(errors));
41
+ }
42
+ else {
43
+ on_success(_ei.dictionary_literal(results));
44
+ }
45
+ }
46
+ };
47
+ $.map(($, key) => {
48
+ $.__start(($) => {
49
+ results[key] = $;
50
+ decrement_and_wrap_up_if_done();
51
+ }, ($) => {
52
+ has_errors = true;
53
+ errors[key] = $;
54
+ decrement_and_wrap_up_if_done();
55
+ });
56
+ });
57
+ }
58
+ });
59
+ };
60
+ exports.unguaranteed_query_dictionary = unguaranteed_query_dictionary;
@@ -1,85 +1,40 @@
1
1
  import * as _et from 'exupery-core-types';
2
- import { Basic_Unguaranteed_Query_Promise } from "./types/Basic_Unguaranteed_Query";
3
- import { Basic_Guaranteed_Query_Promise } from "./types/Basic_Guaranteed_Query";
2
+ import { Basic_Query_Promise } from "./types/Basic_Query";
4
3
  import { Error_Handler } from "./types/Error_Handler";
5
- /**
6
- *
7
- * @param action gpi
8
- * @param error_transform gt
9
- */
10
- export declare const eh: <Parameters, Error, Resources>(action: _et.Guaranteed_Procedure<Parameters, Resources>, error_transform: _et.Transformer_Without_Parameters<Error, Parameters>, resources: Resources) => Error_Handler<Error>;
11
- export declare namespace gp {
12
- /**
13
- *
14
- * @param action gpi
15
- * @param query g.q
16
- * @returns
17
- */
18
- const action: <Parameters, Resources>(action: _et.Guaranteed_Procedure<Parameters, Resources>, query: Basic_Guaranteed_Query_Promise<Parameters>, $r: Resources) => _et.Guaranteed_Procedure_Promise;
19
- }
20
- export declare namespace gq {
21
- /**
22
- *
23
- * @param query_result qr
24
- * @returns
25
- */
26
- const fixed: <Query_Result>(query_result: Query_Result) => Basic_Guaranteed_Query_Promise<Query_Result>;
27
- /**
28
- *
29
- * @param the_query gqi
30
- * @param parameters g.q
31
- * @param result_transformation gt
32
- * @returns
33
- */
34
- const g: <Result_After_Transformation, Parameters, Query_Result, Resources>(the_query: _et.Guaranteed_Query<Parameters, Query_Result, Resources>, parameters: Basic_Guaranteed_Query_Promise<Parameters>, result_transformation: _et.Transformer_Without_Parameters<Query_Result, Result_After_Transformation>, resources: Resources) => Basic_Guaranteed_Query_Promise<Result_After_Transformation>;
35
- }
36
- export declare namespace gt {
37
- /**
38
- *
39
- * @param the_transformation gt
40
- * @returns
41
- */
42
- const g: <In, Out>(the_transformation: _et.Transformer_Without_Parameters<In, Out>) => _et.Transformer_Without_Parameters<In, Out>;
43
- }
44
4
  export declare namespace up {
45
5
  /**
46
6
  *
47
7
  * @param action upi
48
8
  * @param query u.q
49
9
  */
50
- const action: <Error, Parameters, Resources>(action: _et.Unguaranteed_Procedure<Parameters, Error, Resources>, query: Basic_Unguaranteed_Query_Promise<Parameters, Error>, resources: Resources) => _et.Unguaranteed_Procedure_Promise<Error>;
10
+ const action: <Error, Parameters, Resources>(action: _et.Procedure<Parameters, Error, Resources>, query: Basic_Query_Promise<Parameters, Error>, resources: Resources) => _et.Procedure_Promise<Error>;
51
11
  /**
52
12
  *
53
13
  * @param steps up[]
54
14
  * @returns
55
15
  */
56
- const sequence: <Error>(steps: _et.Unguaranteed_Procedure_Promise<Error>[]) => _et.Unguaranteed_Procedure_Promise<Error>;
16
+ const sequence: <Error>(steps: _et.Procedure_Promise<Error>[]) => _et.Procedure_Promise<Error>;
57
17
  /**
58
18
  *
59
19
  * @param the_array up[]
60
20
  * @param aggregate_exceptions gt
61
21
  * @returns
62
22
  */
63
- const array: <Error, Element_Error>(the_array: _et.Array<_et.Unguaranteed_Procedure_Promise<Element_Error>>, aggregate_exceptions: _et.Transformer_Without_Parameters<_et.Array<Element_Error>, Error>) => _et.Unguaranteed_Procedure_Promise<Error>;
23
+ const array: <Error, Element_Error>(the_array: _et.Array<_et.Procedure_Promise<Element_Error>>, aggregate_exceptions: _et.Transformer_Without_Parameters<_et.Array<Element_Error>, Error>) => _et.Procedure_Promise<Error>;
64
24
  /**
65
25
  *
66
26
  * @param the_dictionary dict<up>
67
27
  * @param aggregate_exceptions gt
68
28
  * @returns
69
29
  */
70
- const dictionary: <Error, Element_Error>(the_dictionary: _et.Dictionary<_et.Unguaranteed_Procedure_Promise<Element_Error>>, aggregate_exceptions: _et.Transformer_Without_Parameters<_et.Dictionary<Element_Error>, Error>) => _et.Unguaranteed_Procedure_Promise<Error>;
30
+ const dictionary: <Error, Element_Error>(the_dictionary: _et.Dictionary<_et.Procedure_Promise<Element_Error>>, aggregate_exceptions: _et.Transformer_Without_Parameters<_et.Dictionary<Element_Error>, Error>) => _et.Procedure_Promise<Error>;
71
31
  }
72
32
  export declare namespace upi {
73
- /**
74
- *
75
- * @param action gpi
76
- */
77
- const g: <Parameters, Error, Resources>(action: _et.Guaranteed_Procedure<Parameters, Resources>, $r: Resources) => _et.Unguaranteed_Procedure<Parameters, Error, Resources>;
78
33
  /**
79
34
  *
80
35
  * @param action upi
81
36
  */
82
- const u: <Parameters, Error, Action_Error, Resources>(action: _et.Unguaranteed_Procedure<Parameters, Action_Error, Resources>, error_transform: _et.Transformer_Without_Parameters<Action_Error, Error>, error_handler?: Error_Handler<Action_Error>) => _et.Unguaranteed_Procedure<Parameters, Error, Resources>;
37
+ const u: <Parameters, Error, Action_Error, Resources>(action: _et.Procedure<Parameters, Action_Error, Resources>, error_transform: _et.Transformer_Without_Parameters<Action_Error, Error>, error_handler?: Error_Handler<Action_Error>) => _et.Procedure<Parameters, Error, Resources>;
83
38
  }
84
39
  export declare namespace uq {
85
40
  /**
@@ -87,7 +42,7 @@ export declare namespace uq {
87
42
  * @param query_result qr
88
43
  * @returns
89
44
  */
90
- const fixed: <Query_Result, Error>(query_result: Query_Result) => Basic_Unguaranteed_Query_Promise<Query_Result, Error>;
45
+ const fixed: <Query_Result, Error>(query_result: Query_Result) => Basic_Query_Promise<Query_Result, Error>;
91
46
  /**
92
47
  * unguaranteed query
93
48
  * @param the_query uqi
@@ -97,14 +52,7 @@ export declare namespace uq {
97
52
  * @param error_handler eh
98
53
  * @returns
99
54
  */
100
- const u: <Result_After_Transformation, Error, Parameters, Query_Result, Query_Error, Resources>(the_query: _et.Unguaranteed_Query<Parameters, Query_Result, Query_Error, Resources>, parameters: Basic_Unguaranteed_Query_Promise<Parameters, Error>, resources: Resources, result_refinement: _et.Refiner_Without_Parameters<Query_Result, Result_After_Transformation, Error>, error_transform: _et.Transformer_Without_Parameters<Query_Error, Error>, error_handler?: Error_Handler<Query_Error>) => Basic_Unguaranteed_Query_Promise<Result_After_Transformation, Error>;
101
- /**
102
- * guaranteed query
103
- * @param the_query gqi
104
- * @param parameters u.q
105
- * @param result_refinement ut
106
- */
107
- const g: <Result_After_Transformation, Error, Parameters, Query_Result, Resources>(the_query: _et.Guaranteed_Query<Parameters, Query_Result, Resources>, parameters: Basic_Unguaranteed_Query_Promise<Parameters, Error>, result_refinement: _et.Refiner_Without_Parameters<Query_Result, Result_After_Transformation, Error>, resources: Resources) => Basic_Unguaranteed_Query_Promise<Result_After_Transformation, Error>;
55
+ const u: <Result_After_Transformation, Error, Parameters, Query_Result, Query_Error, Resources>(the_query: _et.Query<Parameters, Query_Result, Query_Error, Resources>, parameters: Basic_Query_Promise<Parameters, Error>, resources: Resources, result_refinement: _et.Refiner_Without_Parameters<Query_Result, Result_After_Transformation, Error>, error_transform: _et.Transformer_Without_Parameters<Query_Error, Error>, error_handler?: Error_Handler<Query_Error>) => Basic_Query_Promise<Result_After_Transformation, Error>;
108
56
  }
109
57
  export declare namespace ut {
110
58
  /**
@@ -23,85 +23,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.ut = exports.uq = exports.upi = exports.up = exports.gt = exports.gq = exports.gp = exports.eh = void 0;
26
+ exports.ut = exports.uq = exports.upi = exports.up = void 0;
27
27
  const _ei = __importStar(require("exupery-core-internals"));
28
- const initialize_unguaranteed_procedure_1 = require("./algorithms/procedure/initialize_unguaranteed_procedure");
28
+ const initialize_procedure_1 = require("./algorithms/procedure/initialize_procedure");
29
29
  const create_asynchronous_processes_monitor_1 = require("./create_asynchronous_processes_monitor");
30
- /**
31
- *
32
- * @param action gpi
33
- * @param error_transform gt
34
- */
35
- const eh = (action, error_transform, resources) => {
36
- return ($) => {
37
- action(resources)(error_transform($)).__start(() => { });
38
- };
39
- };
40
- exports.eh = eh;
41
- var gp;
42
- (function (gp) {
43
- /**
44
- *
45
- * @param action gpi
46
- * @param query g.q
47
- * @returns
48
- */
49
- gp.action = (action, query, $r) => {
50
- return {
51
- __start: (on_finished) => {
52
- //run the query
53
- query.__start((query_result) => {
54
- //run the action
55
- action($r)(query_result).__start(on_finished);
56
- });
57
- }
58
- };
59
- };
60
- })(gp || (exports.gp = gp = {}));
61
- var gq;
62
- (function (gq) {
63
- /**
64
- *
65
- * @param query_result qr
66
- * @returns
67
- */
68
- gq.fixed = (query_result) => {
69
- return {
70
- __start: (on_finished) => {
71
- on_finished(query_result);
72
- }
73
- };
74
- };
75
- /**
76
- *
77
- * @param the_query gqi
78
- * @param parameters g.q
79
- * @param result_transformation gt
80
- * @returns
81
- */
82
- gq.g = (the_query, parameters, result_transformation, resources) => {
83
- return {
84
- __start: (on_finished) => {
85
- parameters.__start((qr_in) => {
86
- the_query(resources)(qr_in).__start((result) => {
87
- on_finished(result_transformation(result));
88
- });
89
- });
90
- }
91
- };
92
- };
93
- })(gq || (exports.gq = gq = {}));
94
- var gt;
95
- (function (gt) {
96
- /**
97
- *
98
- * @param the_transformation gt
99
- * @returns
100
- */
101
- gt.g = (the_transformation) => {
102
- return ($) => the_transformation($);
103
- };
104
- })(gt || (exports.gt = gt = {}));
105
30
  var up;
106
31
  (function (up) {
107
32
  /**
@@ -110,7 +35,7 @@ var up;
110
35
  * @param query u.q
111
36
  */
112
37
  up.action = (action, query, resources) => {
113
- return (0, initialize_unguaranteed_procedure_1.__create_unguaranteed_procedure)({
38
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
114
39
  'execute': (on_success, on_error) => {
115
40
  //run the query
116
41
  query.__start((query_result) => {
@@ -129,7 +54,7 @@ var up;
129
54
  * @returns
130
55
  */
131
56
  up.sequence = (steps) => {
132
- return (0, initialize_unguaranteed_procedure_1.__create_unguaranteed_procedure)({
57
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
133
58
  'execute': (on_success, on_error) => {
134
59
  const length = _ei.array_literal(steps).__get_number_of_elements();
135
60
  const runStep = (index) => {
@@ -150,7 +75,7 @@ var up;
150
75
  * @returns
151
76
  */
152
77
  up.array = (the_array, aggregate_exceptions) => {
153
- return (0, initialize_unguaranteed_procedure_1.__create_unguaranteed_procedure)({
78
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
154
79
  'execute': (on_success, on_error) => {
155
80
  const exceptions = [];
156
81
  (0, create_asynchronous_processes_monitor_1.create_asynchronous_processes_monitor)((monitor) => {
@@ -181,7 +106,7 @@ var up;
181
106
  * @returns
182
107
  */
183
108
  up.dictionary = (the_dictionary, aggregate_exceptions) => {
184
- return (0, initialize_unguaranteed_procedure_1.__create_unguaranteed_procedure)({
109
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
185
110
  'execute': (on_success, on_error) => {
186
111
  const exceptions = {};
187
112
  (0, create_asynchronous_processes_monitor_1.create_asynchronous_processes_monitor)((monitor) => {
@@ -208,23 +133,12 @@ var up;
208
133
  })(up || (exports.up = up = {}));
209
134
  var upi;
210
135
  (function (upi) {
211
- /**
212
- *
213
- * @param action gpi
214
- */
215
- upi.g = (action, $r) => () => ($) => {
216
- return (0, initialize_unguaranteed_procedure_1.__create_unguaranteed_procedure)({
217
- 'execute': (on_succes, on_error) => {
218
- action($r)($).__start(on_succes);
219
- }
220
- });
221
- };
222
136
  /**
223
137
  *
224
138
  * @param action upi
225
139
  */
226
140
  upi.u = (action, error_transform, error_handler) => ($r) => ($) => {
227
- return (0, initialize_unguaranteed_procedure_1.__create_unguaranteed_procedure)({
141
+ return (0, initialize_procedure_1.__create_unguaranteed_procedure)({
228
142
  'execute': (on_succes, on_error) => {
229
143
  action($r)($).__start(on_succes, (error) => {
230
144
  if (error_handler !== undefined) {
@@ -275,23 +189,6 @@ var uq;
275
189
  }
276
190
  };
277
191
  };
278
- /**
279
- * guaranteed query
280
- * @param the_query gqi
281
- * @param parameters u.q
282
- * @param result_refinement ut
283
- */
284
- uq.g = (the_query, parameters, result_refinement, resources) => {
285
- return {
286
- __start: (on_success, on_error) => {
287
- parameters.__start((x) => {
288
- the_query(resources)(x).__start(($) => {
289
- result_refinement($).process((x) => on_success(x), on_error);
290
- });
291
- }, on_error);
292
- }
293
- };
294
- };
295
192
  })(uq || (exports.uq = uq = {}));
296
193
  var ut;
297
194
  (function (ut) {
@@ -1,3 +1,3 @@
1
- export type Basic_Unguaranteed_Query_Promise<Result, Error> = {
1
+ export type Basic_Query_Promise<Result, Error> = {
2
2
  __start: (on_success: (result: Result) => void, on_error: (error: Error) => void) => void;
3
3
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exupery-core-async",
3
- "version": "0.3.7",
3
+ "version": "0.3.9",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Corno",
6
6
  "description": "async types for Exupery",
@@ -1,11 +0,0 @@
1
- import * as _et from "exupery-core-types";
2
- type Executer = {
3
- 'execute': (on_finished: () => void) => void;
4
- };
5
- /**
6
- * returns an {@link Async_Value }
7
- * @param executer the function that produces the eventual value
8
- * @returns
9
- */
10
- export declare function __create_guaranted_procedure(executer: Executer): _et.Guaranteed_Procedure_Promise;
11
- export {};
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.__create_guaranted_procedure = __create_guaranted_procedure;
4
- class Guaranteed_Procedure_Promise_Class {
5
- constructor(executer) {
6
- this.executer = executer;
7
- }
8
- __start(on_finished) {
9
- this.executer.execute(on_finished);
10
- }
11
- }
12
- /**
13
- * returns an {@link Async_Value }
14
- * @param executer the function that produces the eventual value
15
- * @returns
16
- */
17
- function __create_guaranted_procedure(executer) {
18
- return new Guaranteed_Procedure_Promise_Class(executer);
19
- }
@@ -1,11 +0,0 @@
1
- import * as _et from "exupery-core-types";
2
- type Executer<T> = {
3
- 'execute': (on_value: ($: T) => void) => void;
4
- };
5
- /**
6
- * returns an {@link Async_Value }
7
- * @param executer the function that produces the eventual value
8
- * @returns
9
- */
10
- export declare function __create_guaranteed_query<T>(executer: Executer<T>): _et.Guaranteed_Query_Promise<T>;
11
- export {};
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.__create_guaranteed_query = __create_guaranteed_query;
4
- class Guaranteed_Query_Result_Promise_Class {
5
- constructor(executer) {
6
- this.executer = executer;
7
- }
8
- map(handle_value) {
9
- return __create_guaranteed_query({
10
- 'execute': (on_value) => {
11
- this.executer.execute((value) => {
12
- on_value(handle_value(value));
13
- });
14
- }
15
- });
16
- }
17
- then(handle_value) {
18
- return __create_guaranteed_query({
19
- 'execute': (on_value) => {
20
- this.executer.execute((value) => {
21
- handle_value(value).__start(on_value);
22
- });
23
- }
24
- });
25
- }
26
- __start(on_value) {
27
- this.executer.execute(on_value);
28
- }
29
- }
30
- /**
31
- * returns an {@link Async_Value }
32
- * @param executer the function that produces the eventual value
33
- * @returns
34
- */
35
- function __create_guaranteed_query(executer) {
36
- return new Guaranteed_Query_Result_Promise_Class(executer);
37
- }
@@ -1,6 +0,0 @@
1
- import * as _et from 'exupery-core-types';
2
- export type Sync_Tuple_2<T1, T2> = {
3
- readonly 'first': T1;
4
- readonly 'second': T2;
5
- };
6
- export declare function merge_2_unguaranteed_queries<T1, T2>(first: _et.Guaranteed_Query_Promise<T1>, second: _et.Guaranteed_Query_Promise<T2>): _et.Guaranteed_Query_Promise<Sync_Tuple_2<T1, T2>>;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.merge_2_unguaranteed_queries = merge_2_unguaranteed_queries;
4
- const create_guaranteed_query_1 = require("./create_guaranteed_query");
5
- function merge_2_unguaranteed_queries(first, second) {
6
- return (0, create_guaranteed_query_1.__create_guaranteed_query)({
7
- 'execute': (on_value) => {
8
- let element_1_is_set = false;
9
- let element_2_is_set = false;
10
- let elem1;
11
- let elem2;
12
- function wrap_up() {
13
- if (element_1_is_set && element_2_is_set) {
14
- on_value({ first: elem1, second: elem2 });
15
- }
16
- }
17
- first.__start((val) => {
18
- elem1 = val;
19
- element_1_is_set = true;
20
- wrap_up();
21
- });
22
- second.__start((val) => {
23
- elem2 = val;
24
- element_2_is_set = true;
25
- wrap_up();
26
- });
27
- }
28
- });
29
- }
@@ -1,3 +0,0 @@
1
- export type Basic_Guaranteed_Query_Promise<Result> = {
2
- __start: (on_finished: (result: Result) => void) => void;
3
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });