pareto-core 0.1.56 → 0.1.58
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/__internals/sync/assign/construct/optional.js +1 -1
- package/dist/__internals/sync/assign/decide.d.ts +3 -2
- package/dist/__internals/sync/assign/decide.js +18 -6
- package/dist/__internals/sync/assign/literals/Optional.d.ts +3 -0
- package/dist/__internals/sync/assign/literals/Optional.js +7 -1
- package/dist/interface/data/Optional_Value.d.ts +2 -0
- package/package.json +1 -1
|
@@ -37,4 +37,4 @@ var from;
|
|
|
37
37
|
};
|
|
38
38
|
};
|
|
39
39
|
})(from || (exports.from = from = {}));
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvX19pbnRlcm5hbHMvc3luYy9hc3NpZ24vY29uc3RydWN0L29wdGlvbmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHNCQUlDO0FBTkQsbURBQWlGO0FBRWpGLFNBQWdCLEtBQUssQ0FDakIscUJBQW1EO0lBRW5ELE9BQU8scUJBQXFCLEVBQUUsQ0FBQTtBQUNsQyxDQUFDO0FBRUQsSUFBaUIsT0FBTyxDQWF2QjtBQWJELFdBQWlCLE9BQU87SUFFUCxXQUFHLEdBQUcsQ0FDZixLQUFRLEVBQ2EsRUFBRTtRQUN2QixPQUFPLElBQUksNkJBQWtCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEMsQ0FBQyxDQUFBO0lBRVksZUFBTyxHQUFHLEdBQ0UsRUFBRTtRQUN2QixPQUFPLElBQUksaUNBQXNCLEVBQUssQ0FBQTtJQUMxQyxDQUFDLENBQUE7QUFFTCxDQUFDLEVBYmdCLE9BQU8sdUJBQVAsT0FBTyxRQWF2QjtBQUVELElBQWlCLElBQUksQ0F5Q3BCO0FBekNELFdBQWlCLElBQUk7SUFFSixZQUFPLEdBQUcsQ0FDbkIsYUFBc0IsRUFDeEIsRUFBRTtRQUNBLE9BQU87WUFFSCxPQUFPLEVBQUUsQ0FDTCxVQUFtQixFQUNFLEVBQUU7Z0JBQ3ZCLElBQUksYUFBYSxFQUFFLENBQUM7b0JBQ2hCLE9BQU8sSUFBSSw2QkFBa0IsQ0FBSSxVQUFVLEVBQUUsQ0FBQyxDQUFBO2dCQUNsRCxDQUFDO3FCQUFNLENBQUM7b0JBQ0osT0FBTyxJQUFJLGlDQUFzQixFQUFLLENBQUE7Z0JBQzFDLENBQUM7WUFDTCxDQUFDO1NBR0osQ0FBQTtJQUNMLENBQUMsQ0FBQTtJQUVZLGFBQVEsR0FBRyxDQUNwQixjQUFxQyxFQUN2QyxFQUFFO1FBQ0EsT0FBTztZQUVILEdBQUcsRUFBRSxDQUNELGdCQUVhLEVBQ2UsRUFBRTtnQkFDOUIsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUMxQixDQUFDLEtBQUssRUFBZ0MsRUFBRSxDQUFDLElBQUksNkJBQWtCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDeEYsR0FBRyxFQUFFLENBQUMsSUFBSSxpQ0FBc0IsRUFBRSxDQUNyQyxDQUFBO1lBQ0wsQ0FBQztTQUVKLENBQUE7SUFFTCxDQUFDLENBQUE7QUFFTCxDQUFDLEVBekNnQixJQUFJLG9CQUFKLElBQUksUUF5Q3BCIn0=
|
|
@@ -40,9 +40,10 @@ export declare namespace decide {
|
|
|
40
40
|
}
|
|
41
41
|
namespace list {
|
|
42
42
|
const has_first_item: <T, RT>(list: _pi.List<T>, if_true: ($: T, rest: _pi.List<T>) => RT, if_not_true: () => RT) => RT;
|
|
43
|
-
const has_single_item: <T, RT>(list: _pi.List<T>, if_true: ($: T) => RT, if_multiple: () => RT, if_none: () => RT) => RT;
|
|
44
|
-
const has_last_item: <T, RT>(list: _pi.List<T>, if_true: ($: T, rest: _pi.List<T>) => RT, if_not_true: () => RT) => RT;
|
|
45
43
|
const has_items: <T, RT>(list: _pi.List<T>, if_true: ($: _pi.List<T>) => RT, if_not_true: () => RT) => RT;
|
|
44
|
+
const has_last_item: <T, RT>(list: _pi.List<T>, if_true: ($: T, rest: _pi.List<T>) => RT, if_not_true: () => RT) => RT;
|
|
45
|
+
const has_match: <T, RT>(list: _pi.List<T>, test: ($: T) => _pi.Optional_Value<RT>) => _pi.Optional_Value<RT>;
|
|
46
|
+
const has_single_item: <T, RT>(list: _pi.List<T>, if_true: ($: T) => RT, if_multiple: ($: _pi.List<T>) => RT, if_none: () => RT) => RT;
|
|
46
47
|
}
|
|
47
48
|
const optional: <T, RT>(optional: _pi.Optional_Value<T>, if_set: ($: T) => RT, if_not_set: () => RT) => RT;
|
|
48
49
|
const state: <T extends readonly [string, any], RT>(state: T, assign: (output: T) => RT) => RT;
|
|
@@ -4,6 +4,7 @@ exports.decide = void 0;
|
|
|
4
4
|
exports.ss = ss;
|
|
5
5
|
exports.au = au;
|
|
6
6
|
const List_1 = require("./literals/List");
|
|
7
|
+
const Optional_1 = require("./literals/Optional");
|
|
7
8
|
/**
|
|
8
9
|
* ss means 'switch state'.
|
|
9
10
|
* used to make the value T the context variable ('$')
|
|
@@ -55,15 +56,26 @@ var decide;
|
|
|
55
56
|
let list;
|
|
56
57
|
(function (list_1) {
|
|
57
58
|
list_1.has_first_item = (list, if_true, if_not_true) => list.__deprecated_get_possible_item_at(0).__decide(($) => if_true($, new List_1.List_Class(list.__get_raw_copy().slice(1))), () => if_not_true());
|
|
59
|
+
list_1.has_items = (list, if_true, if_not_true) => list.__get_number_of_items() !== 0
|
|
60
|
+
? if_true(list)
|
|
61
|
+
: if_not_true();
|
|
62
|
+
list_1.has_last_item = (list, if_true, if_not_true) => list.__deprecated_get_possible_item_at(list.__get_number_of_items() - 1).__decide(($) => if_true($, new List_1.List_Class(list.__get_raw_copy().slice(0, -1))), () => if_not_true());
|
|
63
|
+
list_1.has_match = (list, test) => {
|
|
64
|
+
const raw = list.__get_raw_copy();
|
|
65
|
+
for (let i = 0; i < raw.length; i++) {
|
|
66
|
+
const item = raw[i];
|
|
67
|
+
const result = test(item);
|
|
68
|
+
if (result.__get_raw() !== null) {
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return new Optional_1.Not_Set_Optional_Value();
|
|
73
|
+
};
|
|
58
74
|
list_1.has_single_item = (list, if_true, if_multiple, if_none) => {
|
|
59
75
|
return list.__get_number_of_items() > 2
|
|
60
|
-
? if_multiple()
|
|
76
|
+
? if_multiple(list)
|
|
61
77
|
: list.__deprecated_get_possible_item_at(0).__decide(($) => if_true($), () => if_none());
|
|
62
78
|
};
|
|
63
|
-
list_1.has_last_item = (list, if_true, if_not_true) => list.__deprecated_get_possible_item_at(list.__get_number_of_items() - 1).__decide(($) => if_true($, new List_1.List_Class(list.__get_raw_copy().slice(0, -1))), () => if_not_true());
|
|
64
|
-
list_1.has_items = (list, if_true, if_not_true) => list.__get_number_of_items() !== 0
|
|
65
|
-
? if_true(list)
|
|
66
|
-
: if_not_true();
|
|
67
79
|
})(list = decide.list || (decide.list = {}));
|
|
68
80
|
decide.optional = (optional, if_set, if_not_set) => optional.__decide(if_set, if_not_set);
|
|
69
81
|
decide.state = (state, assign) => {
|
|
@@ -73,4 +85,4 @@ var decide;
|
|
|
73
85
|
return assign(text);
|
|
74
86
|
};
|
|
75
87
|
})(decide || (exports.decide = decide = {}));
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL19faW50ZXJuYWxzL3N5bmMvYXNzaWduL2RlY2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1QkEsZ0JBSUM7QUFnQkQsZ0JBSUM7QUE5Q0QsMENBQTRDO0FBQzVDLGtEQUE0RDtBQUk1RDs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILFNBQWdCLEVBQUUsQ0FDZCxNQUFpQixFQUNqQixFQUFnQjtJQUNoQixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUN4QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILFNBQWdCLEVBQUUsQ0FDZCxFQUFTO0lBRVQsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNsQyxDQUFDO0FBRUQsSUFBaUIsTUFBTSxDQXVHdEI7QUF2R0QsV0FBaUIsTUFBTTtJQUVOLGNBQU8sR0FBRyxDQUNuQixhQUFzQixFQUN0QixPQUFpQixFQUNqQixRQUFrQixFQUNoQixFQUFFLENBQUMsYUFBYTtRQUNkLENBQUMsQ0FBQyxPQUFPLEVBQUU7UUFDWCxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUE7SUFFcEIsSUFBaUIsVUFBVSxDQVUxQjtJQVZELFdBQWlCLFlBQVU7UUFFVix3QkFBVyxHQUFHLENBQ3ZCLFVBQTZCLEVBQzdCLE9BQXFDLEVBQ3JDLFdBQXFCLEVBQ25CLEVBQUUsQ0FBQyxVQUFVLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDO1lBQzNDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUUzQixDQUFDLEVBVmdCLFVBQVUsR0FBVixpQkFBVSxLQUFWLGlCQUFVLFFBVTFCO0lBRUQsSUFBaUIsSUFBSSxDQXlEcEI7SUF6REQsV0FBaUIsTUFBSTtRQUVKLHFCQUFjLEdBQUcsQ0FDMUIs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
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import * as _pi from "../../../../interface";
|
|
2
|
+
import { Raw_Optional_Value } from "../../../../interface/Raw_Optional_Value";
|
|
2
3
|
export declare class Not_Set_Optional_Value<T> implements _pi.Optional_Value<T> {
|
|
3
4
|
__decide<NT>(set: ($: T) => NT, not_set: () => NT): NT;
|
|
4
5
|
__extract_data(set: ($: T) => void, not_set: () => void): void;
|
|
6
|
+
__get_raw(): null;
|
|
5
7
|
}
|
|
6
8
|
export declare class Set_Optional_Value<T> implements _pi.Optional_Value<T> {
|
|
7
9
|
constructor(source: T);
|
|
8
10
|
__decide<NT>(set: ($: T) => NT, not_set: () => NT): NT;
|
|
9
11
|
__extract_data(set: ($: T) => void, not_set: () => void): void;
|
|
12
|
+
__get_raw(): Raw_Optional_Value<T>;
|
|
10
13
|
value: T;
|
|
11
14
|
}
|
|
@@ -8,6 +8,9 @@ class Not_Set_Optional_Value {
|
|
|
8
8
|
__extract_data(set, not_set) {
|
|
9
9
|
not_set();
|
|
10
10
|
}
|
|
11
|
+
__get_raw() {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
11
14
|
}
|
|
12
15
|
exports.Not_Set_Optional_Value = Not_Set_Optional_Value;
|
|
13
16
|
class Set_Optional_Value {
|
|
@@ -20,6 +23,9 @@ class Set_Optional_Value {
|
|
|
20
23
|
__extract_data(set, not_set) {
|
|
21
24
|
set(this.value);
|
|
22
25
|
}
|
|
26
|
+
__get_raw() {
|
|
27
|
+
return [this.value];
|
|
28
|
+
}
|
|
23
29
|
}
|
|
24
30
|
exports.Set_Optional_Value = Set_Optional_Value;
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvX19pbnRlcm5hbHMvc3luYy9hc3NpZ24vbGl0ZXJhbHMvT3B0aW9uYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsTUFBYSxzQkFBc0I7SUFFeEIsUUFBUSxDQUNYLEdBQWlCLEVBQ2pCLE9BQWlCO1FBRWpCLE9BQU8sT0FBTyxFQUFFLENBQUE7SUFDcEIsQ0FBQztJQUVNLGNBQWMsQ0FDakIsR0FBbUIsRUFDbkIsT0FBbUI7UUFFbkIsT0FBTyxFQUFFLENBQUE7SUFDYixDQUFDO0lBRU0sU0FBUztRQUNaLE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQztDQUNKO0FBbkJELHdEQW1CQztBQUVELE1BQWEsa0JBQWtCO0lBRTNCLFlBQVksTUFBUztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQTtJQUN2QixDQUFDO0lBRU0sUUFBUSxDQUNYLEdBQWlCLEVBQ2pCLE9BQWlCO1FBRWpCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRU0sY0FBYyxDQUNqQixHQUFtQixFQUNuQixPQUFtQjtRQUVuQixHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ25CLENBQUM7SUFFTSxTQUFTO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2QixDQUFDO0NBR0o7QUF6QkQsZ0RBeUJDIn0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Raw_Optional_Value } from "../Raw_Optional_Value";
|
|
1
2
|
/**
|
|
2
3
|
* Why this type and not use for example 'null | T'?
|
|
3
4
|
* the 'null | T' is vulnerable. If you have a parametrized function 'foo<T>() null | T' and T is null | number,
|
|
@@ -11,4 +12,5 @@ export interface Optional_Value<T> {
|
|
|
11
12
|
*/
|
|
12
13
|
__decide<NT>(set: ($: T) => NT, not_set: () => NT): NT;
|
|
13
14
|
__extract_data(set: ($: T) => void, not_set: () => void): void;
|
|
15
|
+
__get_raw(): Raw_Optional_Value<T>;
|
|
14
16
|
}
|