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.
@@ -37,4 +37,4 @@ var from;
37
37
  };
38
38
  };
39
39
  })(from || (exports.from = from = {}));
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvX19pbnRlcm5hbHMvc3luYy9hc3NpZ24vY29uc3RydWN0L29wdGlvbmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHNCQUlDO0FBTkQsbURBQWlGO0FBRWpGLFNBQWdCLEtBQUssQ0FDakIscUJBQW1EO0lBRW5ELE9BQU8scUJBQXFCLEVBQUUsQ0FBQTtBQUNsQyxDQUFDO0FBRUQsSUFBaUIsT0FBTyxDQWF2QjtBQWJELFdBQWlCLE9BQU87SUFFUCxXQUFHLEdBQUcsQ0FDZixLQUFRLEVBQ2EsRUFBRTtRQUN2QixPQUFPLElBQUksNkJBQWtCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEMsQ0FBQyxDQUFBO0lBRVksZUFBTyxHQUFHLEdBQ0UsRUFBRTtRQUN2QixPQUFPLElBQUksaUNBQXNCLEVBQUssQ0FBQTtJQUMxQyxDQUFDLENBQUE7QUFFTCxDQUFDLEVBYmdCLE9BQU8sdUJBQVAsT0FBTyxRQWF2QjtBQUVELElBQWlCLElBQUksQ0F5Q3BCO0FBekNELFdBQWlCLElBQUk7SUFFSixZQUFPLEdBQUcsQ0FDbkIsYUFBc0IsRUFDeEIsRUFBRTtRQUNBLE9BQU87WUFFSCxPQUFPLEVBQUUsQ0FDTCxVQUFtQixFQUNFLEVBQUU7Z0JBQ3ZCLElBQUksYUFBYSxFQUFFLENBQUM7b0JBQ2hCLE9BQU8sSUFBSSw2QkFBa0IsQ0FBSSxVQUFVLEVBQUUsQ0FBQyxDQUFBO2dCQUNsRCxDQUFDO3FCQUFNLENBQUM7b0JBQ0osT0FBTyxJQUFJLGlDQUFzQixFQUFLLENBQUE7Z0JBQzFDLENBQUM7WUFDTCxDQUFDO1NBR0osQ0FBQTtJQUNMLENBQUMsQ0FBQTtJQUVZLGFBQVEsR0FBRyxDQUNwQixjQUFxQyxFQUN2QyxFQUFFO1FBQ0EsT0FBTztZQUVILEdBQUcsRUFBRSxDQUNELGdCQUVhLEVBQ2UsRUFBRTtnQkFDOUIsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUMxQixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSw2QkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUMxRCxHQUFHLEVBQUUsQ0FBQyxJQUFJLGlDQUFzQixFQUFFLENBQ3JDLENBQUE7WUFDTCxDQUFDO1NBRUosQ0FBQTtJQUVMLENBQUMsQ0FBQTtBQUVMLENBQUMsRUF6Q2dCLElBQUksb0JBQUosSUFBSSxRQXlDcEIifQ==
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL19faW50ZXJuYWxzL3N5bmMvYXNzaWduL2RlY2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFzQkEsZ0JBSUM7QUFnQkQsZ0JBSUM7QUE3Q0QsMENBQTRDO0FBSTVDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsU0FBZ0IsRUFBRSxDQUNkLE1BQWlCLEVBQ2pCLEVBQWdCO0lBQ2hCLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3hCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsU0FBZ0IsRUFBRSxDQUNkLEVBQVM7SUFFVCxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ2xDLENBQUM7QUFFRCxJQUFpQixNQUFNLENBd0Z0QjtBQXhGRCxXQUFpQixNQUFNO0lBRU4sY0FBTyxHQUFHLENBQ25CLGFBQXNCLEVBQ3RCLE9BQWlCLEVBQ2pCLFFBQWtCLEVBQ2hCLEVBQUUsQ0FBQyxhQUFhO1FBQ2QsQ0FBQyxDQUFDLE9BQU8sRUFBRTtRQUNYLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUVwQixJQUFpQixVQUFVLENBVTFCO0lBVkQsV0FBaUIsWUFBVTtRQUVWLHdCQUFXLEdBQUcsQ0FDdkIsVUFBNkIsRUFDN0IsT0FBcUMsRUFDckMsV0FBcUIsRUFDbkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUM7WUFDM0MsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDckIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBRTNCLENBQUMsRUFWZ0IsVUFBVSxHQUFWLGlCQUFVLEtBQVYsaUJBQVUsUUFVMUI7SUFFRCxJQUFpQixJQUFJLENBMENwQjtJQTFDRCxXQUFpQixNQUFJO1FBRUoscUJBQWMsR0FBRyxDQUMxQixJQUFpQixFQUNqQixPQUF3QyxFQUN4QyxXQUFxQixFQUNuQixFQUFFLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FDdkQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxpQkFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNqRSxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FDdEIsQ0FBQTtRQUVZLHNCQUFlLEdBQUcsQ0FDM0IsSUFBaUIsRUFDakIsT0FBcUIsRUFDckIsV0FBcUIsRUFDckIsT0FBaUIsRUFDZixFQUFFO1lBQ0osT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsR0FBRyxDQUFDO2dCQUNuQyxDQUFDLENBQUMsV0FBVyxFQUFFO2dCQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUNoRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUNqQixHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FDbEIsQ0FBQTtRQUNULENBQUMsQ0FBQTtRQUVZLG9CQUFhLEdBQUcsQ0FDekIsSUFBaUIsRUFDakIsT0FBd0MsRUFDeEMsV0FBcUIsRUFDbkIsRUFBRSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQ3RGLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksaUJBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDckUsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQ3RCLENBQUE7UUFFWSxnQkFBUyxHQUFHLENBQ3JCLElBQWlCLEVBQ2pCLE9BQStCLEVBQy9CLFdBQXFCLEVBQ25CLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2YsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBRTNCLENBQUMsRUExQ2dCLElBQUksR0FBSixXQUFJLEtBQUosV0FBSSxRQTBDcEI7SUFFWSxlQUFRLEdBQUcsQ0FDcEIsUUFBK0IsRUFDL0IsTUFBb0IsRUFDcEIsVUFBb0IsRUFDbEIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBRWpDLFlBQUssR0FBRyxDQUNqQixLQUFRLEVBQ1IsTUFBeUIsRUFDdkIsRUFBRTtRQUNKLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3hCLENBQUMsQ0FBQTtJQUVZLFdBQUksR0FBRyxDQUNoQixJQUFZLEVBQ1osTUFFTyxFQUNMLEVBQUU7UUFDSixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN2QixDQUFDLENBQUE7QUFFTCxDQUFDLEVBeEZnQixNQUFNLHNCQUFOLE1BQU0sUUF3RnRCIn0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvX19pbnRlcm5hbHMvc3luYy9hc3NpZ24vbGl0ZXJhbHMvT3B0aW9uYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBYSxzQkFBc0I7SUFFeEIsUUFBUSxDQUNYLEdBQWlCLEVBQ2pCLE9BQWlCO1FBRWpCLE9BQU8sT0FBTyxFQUFFLENBQUE7SUFDcEIsQ0FBQztJQUVNLGNBQWMsQ0FDakIsR0FBbUIsRUFDbkIsT0FBbUI7UUFFbkIsT0FBTyxFQUFFLENBQUE7SUFDYixDQUFDO0NBQ0o7QUFmRCx3REFlQztBQUVELE1BQWEsa0JBQWtCO0lBRTNCLFlBQVksTUFBUztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQTtJQUN2QixDQUFDO0lBRU0sUUFBUSxDQUNYLEdBQWlCLEVBQ2pCLE9BQWlCO1FBRWpCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRU0sY0FBYyxDQUNqQixHQUFtQixFQUNuQixPQUFtQjtRQUVuQixHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ25CLENBQUM7Q0FHSjtBQXJCRCxnREFxQkMifQ==
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pareto-core",
3
- "version": "0.1.56",
3
+ "version": "0.1.58",
4
4
  "license": "ISC",
5
5
  "description": "the core language constructs for the Pareto programming language (in TypeScript)",
6
6
  "author": "Corno",