pareto-core 0.1.57 → 0.1.59
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 +7 -6
- package/dist/__internals/sync/assign/decide.js +26 -13
- 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=
|
|
@@ -38,12 +38,13 @@ export declare namespace decide {
|
|
|
38
38
|
namespace dictionary {
|
|
39
39
|
const has_entries: <T, RT>(dictionary: _pi.Dictionary<T>, if_true: ($: _pi.Dictionary<T>) => RT, if_not_true: () => RT) => RT;
|
|
40
40
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
const list: <T>(list: _pi.List<T>) => {
|
|
42
|
+
has_first_item: <RT>(if_true: ($: T, rest: _pi.List<T>) => RT, if_not_true: () => RT) => RT;
|
|
43
|
+
has_items: <RT>(if_true: ($: _pi.List<T>) => RT, if_not_true: () => RT) => RT;
|
|
44
|
+
has_last_item: <RT>(if_true: ($: T, rest: _pi.List<T>) => RT, if_not_true: () => RT) => RT;
|
|
45
|
+
has_match: <RT>(test: ($: T) => _pi.Optional_Value<RT>) => _pi.Optional_Value<RT>;
|
|
46
|
+
has_single_item: <RT>(if_true: ($: T) => RT, if_multiple: ($: _pi.List<T>) => RT, if_none: () => RT) => RT;
|
|
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;
|
|
49
50
|
const text: <RT>(text: string, assign: (output: string) => 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 ('$')
|
|
@@ -52,19 +53,31 @@ var decide;
|
|
|
52
53
|
? if_true(dictionary)
|
|
53
54
|
: if_not_true();
|
|
54
55
|
})(dictionary = decide.dictionary || (decide.dictionary = {}));
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
decide.list = (list) => {
|
|
57
|
+
return {
|
|
58
|
+
has_first_item: (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
|
+
has_items: (if_true, if_not_true) => list.__get_number_of_items() !== 0
|
|
60
|
+
? if_true(list)
|
|
61
|
+
: if_not_true(),
|
|
62
|
+
has_last_item: (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
|
+
has_match: (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
|
+
},
|
|
74
|
+
has_single_item: (if_true, if_multiple, if_none) => {
|
|
75
|
+
return list.__get_number_of_items() > 2
|
|
76
|
+
? if_multiple(list)
|
|
77
|
+
: list.__deprecated_get_possible_item_at(0).__decide(($) => if_true($), () => if_none());
|
|
78
|
+
}
|
|
62
79
|
};
|
|
63
|
-
|
|
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
|
-
})(list = decide.list || (decide.list = {}));
|
|
80
|
+
};
|
|
68
81
|
decide.optional = (optional, if_set, if_not_set) => optional.__decide(if_set, if_not_set);
|
|
69
82
|
decide.state = (state, assign) => {
|
|
70
83
|
return assign(state);
|
|
@@ -73,4 +86,4 @@ var decide;
|
|
|
73
86
|
return assign(text);
|
|
74
87
|
};
|
|
75
88
|
})(decide || (exports.decide = decide = {}));
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL19faW50ZXJuYWxzL3N5bmMvYXNzaWduL2RlY2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1QkEsZ0JBSUM7QUFnQkQsZ0JBSUM7QUE5Q0QsMENBQTRDO0FBQzVDLGtEQUE0RDtBQUk1RDs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILFNBQWdCLEVBQUUsQ0FDZCxNQUFpQixFQUNqQixFQUFnQjtJQUNoQixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUN4QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILFNBQWdCLEVBQUUsQ0FDZCxFQUFTO0lBRVQsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNsQyxDQUFDO0FBRUQsSUFBaUIsTUFBTSxDQXNHdEI7QUF0R0QsV0FBaUIsTUFBTTtJQUVOLGNBQU8sR0FBRyxDQUNuQixhQUFzQixFQUN0QixPQUFpQixFQUNqQixRQUFrQixFQUNoQixFQUFFLENBQUMsYUFBYTtRQUNkLENBQUMsQ0FBQyxPQUFPLEVBQUU7UUFDWCxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUE7SUFFcEIsSUFBaUIsVUFBVSxDQVUxQjtJQVZELFdBQWlCLFlBQVU7UUFFVix3QkFBVyxHQUFHLENBQ3ZCLFVBQTZCLEVBQzdCLE9BQXFDLEVBQ3JDLFdBQXFCLEVBQ25CLEVBQUUsQ0FBQyxVQUFVLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDO1lBQzNDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUUzQixDQUFDLEVBVmdCLFVBQVUsR0FBVixpQkFBVSxLQUFWLGlCQUFVLFFBVTFCO0lBRVksV0FBSSxHQUFHLENBQ2hCLElBQWlCLEVBQ25CLEVBQUU7UUFDQSxPQUFPO1lBRUgsY0FBYyxFQUFF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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
|
}
|