pareto-core 0.1.60 → 0.1.62
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.
|
@@ -37,12 +37,13 @@ export declare namespace decide {
|
|
|
37
37
|
const boolean: <RT>(boolean_value: boolean, if_true: () => RT, if_false: () => RT) => RT;
|
|
38
38
|
const dictionary: <T>(dictionary: _pi.Dictionary<T>) => {
|
|
39
39
|
has_entries: <RT>(if_true: ($: _pi.Dictionary<T>) => RT, if_not_true: () => RT) => RT;
|
|
40
|
+
has_single_entry: <RT>(if_true: ($: T, id: string) => RT, if_multiple: ($: _pi.Dictionary<T>) => RT, if_none: () => RT) => RT;
|
|
40
41
|
};
|
|
41
42
|
const list: <T>(list: _pi.List<T>) => {
|
|
42
43
|
has_first_item: <RT>(if_true: ($: T, rest: _pi.List<T>) => RT, if_not_true: () => RT) => RT;
|
|
43
44
|
has_items: <RT>(if_true: ($: _pi.List<T>) => RT, if_not_true: () => RT) => RT;
|
|
44
45
|
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
|
|
46
|
+
has_match: <RT>(test: ($: T) => _pi.Optional_Value<RT>, if_no_match: () => RT) => RT;
|
|
46
47
|
has_single_item: <RT>(if_true: ($: T) => RT, if_multiple: ($: _pi.List<T>) => RT, if_none: () => RT) => RT;
|
|
47
48
|
};
|
|
48
49
|
const optional: <T, RT>(optional: _pi.Optional_Value<T>, if_set: ($: T) => RT, if_not_set: () => RT) => RT;
|
|
@@ -4,7 +4,6 @@ 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");
|
|
8
7
|
/**
|
|
9
8
|
* ss means 'switch state'.
|
|
10
9
|
* used to make the value T the context variable ('$')
|
|
@@ -51,7 +50,10 @@ var decide;
|
|
|
51
50
|
return {
|
|
52
51
|
has_entries: (if_true, if_not_true) => dictionary.__get_number_of_entries() !== 0
|
|
53
52
|
? if_true(dictionary)
|
|
54
|
-
: if_not_true()
|
|
53
|
+
: if_not_true(),
|
|
54
|
+
has_single_entry: (if_true, if_multiple, if_none) => {
|
|
55
|
+
return decide.list(dictionary.__to_list(($, id) => ({ 'id': id, 'value': $ }))).has_single_item((item) => if_true(item.value, item.id), () => if_multiple(dictionary), if_none);
|
|
56
|
+
}
|
|
55
57
|
};
|
|
56
58
|
};
|
|
57
59
|
decide.list = (list) => {
|
|
@@ -61,22 +63,22 @@ var decide;
|
|
|
61
63
|
? if_true(list)
|
|
62
64
|
: if_not_true(),
|
|
63
65
|
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()),
|
|
64
|
-
has_match: (test) => {
|
|
66
|
+
has_match: (test, if_no_match) => {
|
|
65
67
|
const raw = list.__get_raw_copy();
|
|
66
68
|
for (let i = 0; i < raw.length; i++) {
|
|
67
69
|
const item = raw[i];
|
|
68
|
-
const result = test(item);
|
|
69
|
-
if (result
|
|
70
|
-
return result;
|
|
70
|
+
const result = test(item).__get_raw();
|
|
71
|
+
if (result !== null) {
|
|
72
|
+
return result[0];
|
|
71
73
|
}
|
|
72
74
|
}
|
|
73
|
-
return
|
|
75
|
+
return if_no_match();
|
|
74
76
|
},
|
|
75
77
|
has_single_item: (if_true, if_multiple, if_none) => {
|
|
76
78
|
return list.__get_number_of_items() > 2
|
|
77
79
|
? if_multiple(list)
|
|
78
80
|
: list.__deprecated_get_possible_item_at(0).__decide(($) => if_true($), () => if_none());
|
|
79
|
-
}
|
|
81
|
+
},
|
|
80
82
|
};
|
|
81
83
|
};
|
|
82
84
|
decide.optional = (optional, if_set, if_not_set) => optional.__decide(if_set, if_not_set);
|
|
@@ -87,4 +89,4 @@ var decide;
|
|
|
87
89
|
return assign(text);
|
|
88
90
|
};
|
|
89
91
|
})(decide || (exports.decide = decide = {}));
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL19faW50ZXJuYWxzL3N5bmMvYXNzaWduL2RlY2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1QkEsZ0JBSUM7QUFnQkQsZ0JBSUM7QUE5Q0QsMENBQTRDO0FBSzVDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsU0FBZ0IsRUFBRSxDQUNkLE1BQWlCLEVBQ2pCLEVBQWdCO0lBQ2hCLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3hCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsU0FBZ0IsRUFBRSxDQUNkLEVBQVM7SUFFVCxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ2xDLENBQUM7QUFFRCxJQUFpQixNQUFNLENBd0h0QjtBQXhIRCxXQUFpQixNQUFNO0lBRU4sY0FBTyxHQUFHLENBQ25CLGFBQXNCLEVBQ3RCLE9BQWlCLEVBQ2pCLFFBQWtCLEVBQ2hCLEVBQUUsQ0FBQyxhQUFhO1FBQ2QsQ0FBQyxDQUFDLE9BQU8sRUFBRTtRQUNYLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUlQLGlCQUFVLEdBQUcsQ0FDdEIsVUFBNkIsRUFDL0IsRUFBRTtRQUNBLE9BQU87WUFFSCxXQUFXLEVBQUUsQ0FDVCxPQUFxQyxFQUNyQyxXQUFxQixFQUNuQixFQUFFLENBQUMsVUFBVSxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7Z0JBQ3JCLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFFdkIsZ0JBQWdCLEVBQUUsQ0FDZCxPQUFpQyxFQUNqQyxXQUF5QyxFQUN6QyxPQUFpQixFQUNmLEVBQUU7Z0JBQ0osT0FBTyxPQUFBLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFB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
|