pareto-core-query 0.1.0

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.
@@ -0,0 +1,7 @@
1
+ import * as _pix from 'pareto-core-interface';
2
+ export declare namespace dictionary {
3
+ const parallel: <Result, Error, Entry_Error>(dictionary: _pix.Dictionary<_pix.Query_Result<Result, Entry_Error>>, aggregate_errors: _pix.Transformer<_pix.Dictionary<Entry_Error>, Error>) => _pix.Query_Result<_pix.Dictionary<Result>, Error>;
4
+ const parallel_without_error_aggregation: <Result, Error>($: _pix.Dictionary<_pix.Query_Result<Result, Error>>) => _pix.Query_Result<_pix.Dictionary<Result>, _pix.Dictionary<Error>>;
5
+ }
6
+ export declare const fixed: <Result, Error>(result: Result) => _pix.Query_Result<Result, Error>;
7
+ export declare const raise_error: <T, E>($: E) => _pix.Query_Result<T, E>;
@@ -0,0 +1,99 @@
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.raise_error = exports.fixed = exports.dictionary = void 0;
27
+ const _pinternals = __importStar(require("pareto-core-internals"));
28
+ const create_asynchronous_processes_monitor_1 = require("./create_asynchronous_processes_monitor");
29
+ const create_query_result_1 = require("./create_query_result");
30
+ var dictionary;
31
+ (function (dictionary_1) {
32
+ dictionary_1.parallel = (dictionary, aggregate_errors) => {
33
+ return (0, create_query_result_1.__create_query_result)((on_success, on_error) => {
34
+ let has_errors = false;
35
+ const errors_builder = _pinternals.create_asynchronous_dictionary_builder();
36
+ const results_builder = _pinternals.create_asynchronous_dictionary_builder();
37
+ (0, create_asynchronous_processes_monitor_1.create_asynchronous_processes_monitor)((monitor) => {
38
+ dictionary.map(($, key) => {
39
+ monitor['report process started']();
40
+ $.__extract_data(($) => {
41
+ results_builder['add entry'](key, $);
42
+ monitor['report process finished']();
43
+ }, ($) => {
44
+ has_errors = true;
45
+ errors_builder['add entry'](key, $);
46
+ monitor['report process finished']();
47
+ });
48
+ });
49
+ }, () => {
50
+ if (has_errors) {
51
+ on_error(aggregate_errors(errors_builder['get dictionary']()));
52
+ }
53
+ else {
54
+ on_success(results_builder['get dictionary']());
55
+ }
56
+ });
57
+ });
58
+ };
59
+ dictionary_1.parallel_without_error_aggregation = ($) => {
60
+ return (0, create_query_result_1.__create_query_result)((on_success, on_error) => {
61
+ let has_errors = false;
62
+ const errors_builder = _pinternals.create_asynchronous_dictionary_builder();
63
+ const results_builder = _pinternals.create_asynchronous_dictionary_builder();
64
+ (0, create_asynchronous_processes_monitor_1.create_asynchronous_processes_monitor)((monitor) => {
65
+ $.map(($, key) => {
66
+ monitor['report process started']();
67
+ $.__extract_data(($) => {
68
+ results_builder['add entry'](key, $);
69
+ monitor['report process finished']();
70
+ }, ($) => {
71
+ has_errors = true;
72
+ errors_builder['add entry'](key, $);
73
+ monitor['report process finished']();
74
+ });
75
+ });
76
+ }, () => {
77
+ if (has_errors) {
78
+ on_error(errors_builder['get dictionary']());
79
+ }
80
+ else {
81
+ on_success(results_builder['get dictionary']());
82
+ }
83
+ });
84
+ });
85
+ };
86
+ })(dictionary || (exports.dictionary = dictionary = {}));
87
+ const fixed = (result) => {
88
+ return (0, create_query_result_1.__create_query_result)((on_success, on_error) => {
89
+ on_success(result);
90
+ });
91
+ };
92
+ exports.fixed = fixed;
93
+ const raise_error = ($) => {
94
+ return (0, create_query_result_1.__create_query_result)((on_value, on_error) => {
95
+ on_error($);
96
+ });
97
+ };
98
+ exports.raise_error = raise_error;
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUVBQW9EO0FBRXBELG1HQUErRjtBQUMvRiwrREFBNkQ7QUFHN0QsSUFBaUIsVUFBVSxDQTRFMUI7QUE1RUQsV0FBaUIsWUFBVTtJQUVWLHFCQUFRLEdBQUcsQ0FDcEIsVUFBbUUsRUFDbkUsZ0JBQXVFLEVBRXRCLEVBQUU7UUFDbkQsT0FBTyxJQUFBLDJDQUFxQixFQUFDLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ2xELElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQTtZQUN0QixNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUMsc0NBQXNDLEVBQWUsQ0FBQTtZQUN4RixNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsc0NBQXNDLEVBQVUsQ0FBQTtZQUVwRixJQUFBLDZFQUFxQyxFQUNqQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNSLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUU7b0JBQ3RCLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUE7b0JBQ25DLENBQUMsQ0FBQyxjQUFjLENBQ1osQ0FBQyxDQUFDLEVBQUUsRUFBRTt3QkFDRixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBO3dCQUNwQyxPQUFPLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFBO29CQUN4QyxDQUFDLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRTt3QkFDRixVQUFVLEdBQUcsSUFBSSxDQUFBO3dCQUNqQixjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBO3dCQUNuQyxPQUFPLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFBO29CQUN4QyxDQUFDLENB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
@@ -0,0 +1,15 @@
1
+ export type I_Async_Monitor = {
2
+ readonly 'report process started': () => void;
3
+ readonly 'report process finished': () => void;
4
+ };
5
+ /**
6
+ * this function helps in keeping track of ongoing async operations
7
+ * async operations are registered and when finished reported as such.
8
+ * when all ongoing operations are finished the onEnd callback is called
9
+ *
10
+ * this function is specifically useful for async map functions
11
+ *
12
+ * @param callback this callback creates a scope within which the counter is provided
13
+ * @param onEnd this callback will be called when all ongoing operations are finished
14
+ */
15
+ export declare function create_asynchronous_processes_monitor(monitoring_phase: ($: I_Async_Monitor) => void, on_all_finished: () => void): void;
@@ -0,0 +1,77 @@
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.create_asynchronous_processes_monitor = create_asynchronous_processes_monitor;
27
+ const _pi = __importStar(require("pareto-core-internals"));
28
+ /**
29
+ * this function helps in keeping track of ongoing async operations
30
+ * async operations are registered and when finished reported as such.
31
+ * when all ongoing operations are finished the onEnd callback is called
32
+ *
33
+ * this function is specifically useful for async map functions
34
+ *
35
+ * @param callback this callback creates a scope within which the counter is provided
36
+ * @param onEnd this callback will be called when all ongoing operations are finished
37
+ */
38
+ function create_asynchronous_processes_monitor(monitoring_phase, on_all_finished) {
39
+ let counter = 0;
40
+ /*
41
+ * we need to keep track of if the registration phase is ended or not.
42
+ * it can happen that the counter reaches 0 during the registration phase, specifically if there is no real async calls being made
43
+ * in that case the reportFinished counter is als called during the registration phase.
44
+ * If that happens there should not yet be a call to onEnd().
45
+ */
46
+ let registration_phase_ended = false;
47
+ let on_all_finished_has_been_called = false;
48
+ function checkStatus() {
49
+ if (registration_phase_ended) {
50
+ if (counter === 0) {
51
+ if (on_all_finished_has_been_called === true) {
52
+ _pi.panic("CORE: already ended");
53
+ }
54
+ on_all_finished_has_been_called = true;
55
+ on_all_finished();
56
+ }
57
+ }
58
+ }
59
+ monitoring_phase({
60
+ 'report process started': () => {
61
+ if (on_all_finished_has_been_called) {
62
+ _pi.panic("CORE: async call done after context is ready");
63
+ }
64
+ counter += 1;
65
+ },
66
+ 'report process finished': () => {
67
+ if (counter === 0) {
68
+ _pi.panic("CORE: decrement while counter is 0");
69
+ }
70
+ counter -= 1;
71
+ checkStatus();
72
+ },
73
+ });
74
+ registration_phase_ended = true;
75
+ checkStatus();
76
+ }
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2FzeW5jaHJvbm91c19wcm9jZXNzZXNfbW9uaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVfYXN5bmNocm9ub3VzX3Byb2Nlc3Nlc19tb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQkEsc0ZBOENDO0FBL0RELDJEQUE0QztBQU81Qzs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixxQ0FBcUMsQ0FDakQsZ0JBQThDLEVBQzlDLGVBQTJCO0lBRzNCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQTtJQUVmOzs7OztPQUtHO0lBQ0gsSUFBSSx3QkFBd0IsR0FBRyxLQUFLLENBQUE7SUFDcEMsSUFBSSwrQkFBK0IsR0FBRyxLQUFLLENBQUE7SUFFM0MsU0FBUyxXQUFXO1FBQ2hCLElBQUksd0JBQXdCLEVBQUUsQ0FBQztZQUUzQixJQUFJLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSwrQkFBK0IsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDM0MsR0FBRyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO2dCQUNwQyxDQUFDO2dCQUNELCtCQUErQixHQUFHLElBQUksQ0FBQTtnQkFDdEMsZUFBZSxFQUFFLENBQUE7WUFDckIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUM7UUFDYix3QkFBd0IsRUFBRSxHQUFHLEVBQUU7WUFDM0IsSUFBSSwrQkFBK0IsRUFBRSxDQUFDO2dCQUNsQyxHQUFHLENBQUMsS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUE7WUFDN0QsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLENBQUE7UUFFaEIsQ0FBQztRQUNELHlCQUF5QixFQUFFLEdBQUcsRUFBRTtZQUM1QixJQUFJLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDaEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO1lBQ25ELENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQyxDQUFBO1lBQ1osV0FBVyxFQUFFLENBQUE7UUFDakIsQ0FBQztLQUNKLENBQUMsQ0FBQTtJQUNGLHdCQUF3QixHQUFHLElBQUksQ0FBQTtJQUMvQixXQUFXLEVBQUUsQ0FBQTtBQUNqQixDQUFDIn0=
@@ -0,0 +1,4 @@
1
+ import * as _pi from 'pareto-core-interface';
2
+ type Queryer<Output, Error, Input> = ($: Input) => _pi.Query_Result<Output, Error>;
3
+ export declare const __create_query: <Result, Error, Parameters, Resources>(handler: Queryer<Result, Error, Parameters>) => _pi.Query<Result, Error, Parameters>;
4
+ export {};
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.__create_query = void 0;
4
+ const __create_query = (handler) => {
5
+ return (parameters, error_transformer) => {
6
+ return handler(parameters).deprecated_transform_error(error_transformer);
7
+ };
8
+ };
9
+ exports.__create_query = __create_query;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX3F1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NyZWF0ZV9xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPTyxNQUFNLGNBQWMsR0FBRyxDQUMxQixPQUEyQyxFQUNQLEVBQUU7SUFDdEMsT0FBTyxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxFQUFFO1FBQ3JDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDNUUsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBTlksUUFBQSxjQUFjLGtCQU0xQiJ9
@@ -0,0 +1,2 @@
1
+ import * as _pi from 'pareto-core-interface';
2
+ export declare const create_query_function: <Result, Error, Parameters, Queries>(handler: ($p: Parameters, $q: Queries) => _pi.Query_Result<Result, Error>) => _pi.Query_Function<_pi.Query<Result, Error, Parameters>, Queries>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.create_query_function = void 0;
4
+ const create_query_function = (handler) => {
5
+ return ($q) => ($p, error_transformer) => handler($p, $q).deprecated_transform_error(error_transformer);
6
+ };
7
+ exports.create_query_function = create_query_function;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX3F1ZXJ5X2Z1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NyZWF0ZV9xdWVyeV9mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJTyxNQUFNLHFCQUFxQixHQUFHLENBQ2pDLE9BR29DLEVBQzZCLEVBQUU7SUFDbkUsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtBQUMzRyxDQUFDLENBQUE7QUFQWSxRQUFBLHFCQUFxQix5QkFPakMifQ==
@@ -0,0 +1,10 @@
1
+ import * as _pi from "pareto-core-interface";
2
+ /**
3
+ * this function contains the body in which the async value or error is executed
4
+ * after the execution, either the on_result or on_error callback will be called
5
+ * @param on_result the callback to call when a value is produced
6
+ * @param on_error the callback to call when an error is produced
7
+ */
8
+ type Executer<Output, Error> = (on_result: ($: Output) => void, on_error: ($: Error) => void) => void;
9
+ export declare function __create_query_result<T, E>(executer: Executer<T, E>): _pi.Query_Result<T, E>;
10
+ export {};
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.__create_query_result = __create_query_result;
4
+ class Query_Result_Class {
5
+ constructor(executer) {
6
+ this.executer = executer;
7
+ this.query_result = null;
8
+ }
9
+ transform_result(transformer) {
10
+ return new Query_Result_Class((on_result, on_error) => {
11
+ this.executer(($) => {
12
+ on_result(transformer($));
13
+ }, on_error);
14
+ });
15
+ }
16
+ deprecated_transform_error(error_transformer) {
17
+ return new Query_Result_Class((on_result, on_error) => {
18
+ this.executer(on_result, ($) => {
19
+ on_error(error_transformer($));
20
+ });
21
+ });
22
+ }
23
+ query_without_error_transformation(queryer) {
24
+ return new Query_Result_Class((on_result, on_error) => {
25
+ this.executer(($) => {
26
+ queryer($).__extract_data(on_result, on_error);
27
+ }, on_error);
28
+ });
29
+ }
30
+ query(queryer, error_transformer) {
31
+ return new Query_Result_Class((on_result, on_error) => {
32
+ this.executer(($) => {
33
+ queryer($).__extract_data(on_result, (queryer_error) => {
34
+ on_error(error_transformer(queryer_error));
35
+ });
36
+ }, on_error);
37
+ });
38
+ }
39
+ deprecated_refine_old_without_error_transformation(refiner) {
40
+ return new Query_Result_Class((on_result, on_error) => {
41
+ this.executer(($) => {
42
+ refiner($).__extract_data(on_result, on_error);
43
+ }, on_error);
44
+ });
45
+ }
46
+ deprecated_refine_old(refiner, error_transformer) {
47
+ return new Query_Result_Class((on_result, on_error) => {
48
+ this.executer(($) => {
49
+ refiner($).__extract_data(on_result, (stager_error) => {
50
+ on_error(error_transformer(stager_error));
51
+ });
52
+ }, on_error);
53
+ });
54
+ }
55
+ rework_error_temp(error_reworker, rework_error_transformer) {
56
+ return new Query_Result_Class((on_result, on_error) => {
57
+ this.executer(on_result, ($) => {
58
+ error_reworker($).__extract_data((new_target_error) => {
59
+ on_error(new_target_error);
60
+ }, (rework_error) => {
61
+ on_error(rework_error_transformer(rework_error));
62
+ });
63
+ });
64
+ });
65
+ }
66
+ __extract_data(on_result, on_error) {
67
+ this.executer(on_result, on_error);
68
+ }
69
+ }
70
+ function __create_query_result(executer) {
71
+ return new Query_Result_Class(executer);
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX3F1ZXJ5X3Jlc3VsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVfcXVlcnlfcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBK0pBLHNEQUtDO0FBOUlELE1BQU0sa0JBQWtCO0lBRXBCLFlBQVksUUFBaUM7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUE7SUFDNUIsQ0FBQztJQUtELGdCQUFnQixDQUNaLFdBQWdEO1FBRWhELE9BQU8sSUFBSSxrQkFBa0IsQ0FBb0IsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDckUsSUFBSSxDQUFDLFFBQVEsQ0FDVCxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNGLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM3QixDQUFDLEVBQ0QsUUFBUSxDQUNYLENBQUE7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCwwQkFBMEIsQ0FDdEIsaUJBQW9EO1FBRXBELE9BQU8sSUFBSSxrQkFBa0IsQ0FBb0IsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDckUsSUFBSSxDQUFDLFFBQVEsQ0FDVCxTQUFTLEVBQ1QsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDRixRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNsQyxDQUFDLENBQ0osQ0FBQTtRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELGtDQUFrQyxDQUM5QixPQUEyQztRQUUzQyxPQUFPLElBQUksa0JBQWtCLENBQW9CLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ3JFLElBQUksQ0FBQyxRQUFRLENBQ1QsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDRixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxD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
@@ -0,0 +1,6 @@
1
+ /**
2
+ * these functions coming from core-internals should be exposed for query development
3
+ */
4
+ export { cc, au, ss, } from "pareto-core-internals";
5
+ export * from "./create_query_function";
6
+ export * from "./actions";
package/dist/index.js ADDED
@@ -0,0 +1,27 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.ss = exports.au = exports.cc = void 0;
18
+ /**
19
+ * these functions coming from core-internals should be exposed for query development
20
+ */
21
+ var pareto_core_internals_1 = require("pareto-core-internals");
22
+ Object.defineProperty(exports, "cc", { enumerable: true, get: function () { return pareto_core_internals_1.cc; } });
23
+ Object.defineProperty(exports, "au", { enumerable: true, get: function () { return pareto_core_internals_1.au; } });
24
+ Object.defineProperty(exports, "ss", { enumerable: true, get: function () { return pareto_core_internals_1.ss; } });
25
+ __exportStar(require("./create_query_function"), exports);
26
+ __exportStar(require("./actions"), exports);
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7R0FFRztBQUNILCtEQUs4QjtBQUgxQiwyR0FBQSxFQUFFLE9BQUE7QUFDRiwyR0FBQSxFQUFFLE9BQUE7QUFDRiwyR0FBQSxFQUFFLE9BQUE7QUFHTiwwREFBdUM7QUFDdkMsNENBQXlCIn0=
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "pareto-core-query",
3
+ "version": "0.1.0",
4
+ "license": "ISC",
5
+ "description": "the exupery core package for developing query algorithms",
6
+ "author": "Corno",
7
+ "keywords": [
8
+ "exupery",
9
+ "query algorithm development"
10
+ ],
11
+ "homepage": "https://github.com/corno/pareto-core-query#readme",
12
+ "bugs": {
13
+ "url": "https://github.com/corno/pareto-core-query/issues"
14
+ },
15
+ "main": "./dist/index.js",
16
+ "types": "dist/index.d.ts",
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "dependencies": {
21
+ "pareto-core-internals": "^0.24.6"
22
+ },
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/corno/pareto-core-query.git"
26
+ }
27
+ }