@dereekb/util 2.1.0 → 4.0.1
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/CHANGELOG.md +39 -0
- package/package.json +13 -5
- package/src/index.d.ts +0 -1
- package/src/index.js +1 -2
- package/src/index.js.map +1 -1
- package/src/lib/array/array.boolean.d.ts +2 -2
- package/src/lib/array/array.boolean.js +1 -1
- package/src/lib/array/array.boolean.js.map +1 -1
- package/src/lib/array/array.d.ts +24 -2
- package/src/lib/array/array.index.d.ts +1 -1
- package/src/lib/array/array.js +37 -2
- package/src/lib/array/array.js.map +1 -1
- package/src/lib/array/array.limit.d.ts +1 -1
- package/src/lib/array/array.make.d.ts +1 -1
- package/src/lib/array/array.make.js +2 -2
- package/src/lib/array/array.make.js.map +1 -1
- package/src/lib/array/array.map.d.ts +1 -1
- package/src/lib/array/array.set.d.ts +2 -16
- package/src/lib/array/array.set.js +21 -55
- package/src/lib/array/array.set.js.map +1 -1
- package/src/lib/array/array.string.d.ts +7 -5
- package/src/lib/array/array.string.js +14 -4
- package/src/lib/array/array.string.js.map +1 -1
- package/src/lib/array/array.unique.d.ts +1 -1
- package/src/lib/array/array.value.d.ts +15 -1
- package/src/lib/array/array.value.js +21 -1
- package/src/lib/array/array.value.js.map +1 -1
- package/src/lib/array/index.js +12 -12
- package/src/lib/array/index.js.map +1 -1
- package/src/lib/assertion/index.js +5 -5
- package/src/lib/assertion/index.js.map +1 -1
- package/src/lib/auth/auth.role.claims.d.ts +98 -0
- package/src/lib/auth/auth.role.claims.js +93 -0
- package/src/lib/auth/auth.role.claims.js.map +1 -0
- package/src/lib/auth/auth.role.d.ts +22 -0
- package/src/lib/auth/auth.role.js +17 -0
- package/src/lib/auth/auth.role.js.map +1 -0
- package/src/lib/auth/index.d.ts +2 -0
- package/src/lib/auth/index.js +6 -0
- package/src/lib/auth/index.js.map +1 -0
- package/src/lib/contact/index.js +3 -3
- package/src/lib/contact/index.js.map +1 -1
- package/src/lib/date/date.d.ts +1 -1
- package/src/lib/date/date.time.d.ts +1 -1
- package/src/lib/date/index.js +2 -2
- package/src/lib/date/index.js.map +1 -1
- package/src/lib/error/error.d.ts +6 -1
- package/src/lib/error/error.js +8 -1
- package/src/lib/error/error.js.map +1 -1
- package/src/lib/error/error.server.d.ts +5 -12
- package/src/lib/error/error.server.js.map +1 -1
- package/src/lib/error/index.js +2 -2
- package/src/lib/error/index.js.map +1 -1
- package/src/lib/filter/index.js +1 -1
- package/src/lib/filter/index.js.map +1 -1
- package/src/lib/function/function.forward.d.ts +9 -0
- package/src/lib/function/function.forward.js +18 -0
- package/src/lib/function/function.forward.js.map +1 -0
- package/src/lib/function/index.d.ts +1 -0
- package/src/lib/function/index.js +5 -0
- package/src/lib/function/index.js.map +1 -0
- package/src/lib/getter/getter.cache.d.ts +38 -0
- package/src/lib/getter/getter.cache.js +23 -0
- package/src/lib/getter/getter.cache.js.map +1 -0
- package/src/lib/getter/getter.d.ts +61 -0
- package/src/lib/getter/getter.js +48 -0
- package/src/lib/getter/getter.js.map +1 -0
- package/src/lib/getter/getter.map.d.ts +15 -0
- package/src/lib/getter/getter.map.js +24 -0
- package/src/lib/getter/getter.map.js.map +1 -0
- package/src/lib/getter/index.d.ts +3 -0
- package/src/lib/getter/index.js +7 -0
- package/src/lib/getter/index.js.map +1 -0
- package/src/lib/grouping.d.ts +4 -4
- package/src/lib/index.d.ts +9 -5
- package/src/lib/index.js +31 -28
- package/src/lib/index.js.map +1 -1
- package/src/lib/iterable/index.d.ts +2 -0
- package/src/lib/iterable/index.js +6 -0
- package/src/lib/iterable/index.js.map +1 -0
- package/src/lib/iterable/iterable.d.ts +53 -0
- package/src/lib/iterable/iterable.js +113 -0
- package/src/lib/iterable/iterable.js.map +1 -0
- package/src/lib/iterable/iterable.map.d.ts +8 -0
- package/src/lib/iterable/iterable.map.js +18 -0
- package/src/lib/iterable/iterable.map.js.map +1 -0
- package/src/lib/iterate.js +1 -1
- package/src/lib/key.d.ts +1 -1
- package/src/lib/map/index.d.ts +2 -0
- package/src/lib/map/index.js +6 -0
- package/src/lib/map/index.js.map +1 -0
- package/src/lib/map/map.d.ts +9 -0
- package/src/lib/map/map.intersection.d.ts +15 -0
- package/src/lib/map/map.intersection.js +24 -0
- package/src/lib/map/map.intersection.js.map +1 -0
- package/src/lib/map/map.js +17 -0
- package/src/lib/map/map.js.map +1 -0
- package/src/lib/misc/host.d.ts +5 -0
- package/src/lib/misc/host.js +13 -0
- package/src/lib/misc/host.js.map +1 -0
- package/src/lib/misc/index.d.ts +1 -0
- package/src/lib/misc/index.js +5 -0
- package/src/lib/misc/index.js.map +1 -0
- package/src/lib/model/index.d.ts +3 -0
- package/src/lib/model/index.js +7 -0
- package/src/lib/model/index.js.map +1 -0
- package/src/lib/model/model.conversion.d.ts +63 -0
- package/src/lib/model/model.conversion.js +66 -0
- package/src/lib/model/model.conversion.js.map +1 -0
- package/src/lib/model/model.copy.d.ts +16 -0
- package/src/lib/model/model.copy.js +20 -0
- package/src/lib/model/model.copy.js.map +1 -0
- package/src/lib/{model.d.ts → model/model.d.ts} +2 -2
- package/src/lib/{model.js → model/model.js} +3 -3
- package/src/lib/model/model.js.map +1 -0
- package/src/lib/number/factory.d.ts +22 -0
- package/src/lib/number/factory.js +22 -0
- package/src/lib/number/factory.js.map +1 -0
- package/src/lib/number/index.d.ts +3 -0
- package/src/lib/number/index.js +7 -0
- package/src/lib/number/index.js.map +1 -0
- package/src/lib/number/random.d.ts +13 -0
- package/src/lib/number/random.js +22 -0
- package/src/lib/number/random.js.map +1 -0
- package/src/lib/{number.d.ts → number/round.d.ts} +0 -13
- package/src/lib/{number.js → number/round.js} +2 -20
- package/src/lib/number/round.js.map +1 -0
- package/src/lib/object/index.d.ts +1 -0
- package/src/lib/object/index.js +4 -3
- package/src/lib/object/index.js.map +1 -1
- package/src/lib/object/object.d.ts +69 -8
- package/src/lib/object/object.equal.d.ts +1 -1
- package/src/lib/object/object.equal.js +3 -3
- package/src/lib/object/object.equal.js.map +1 -1
- package/src/lib/object/object.js +117 -11
- package/src/lib/object/object.js.map +1 -1
- package/src/lib/object/object.map.d.ts +35 -0
- package/src/lib/object/object.map.js +40 -0
- package/src/lib/object/object.map.js.map +1 -0
- package/src/lib/page/index.js +3 -3
- package/src/lib/page/index.js.map +1 -1
- package/src/lib/page/page.d.ts +1 -1
- package/src/lib/page/page.filter.js +1 -1
- package/src/lib/promise/index.d.ts +3 -0
- package/src/lib/promise/index.js +7 -4
- package/src/lib/promise/index.js.map +1 -1
- package/src/lib/promise/is.d.ts +7 -0
- package/src/lib/promise/is.js +15 -0
- package/src/lib/promise/is.js.map +1 -0
- package/src/lib/promise/map.d.ts +10 -0
- package/src/lib/promise/map.js +14 -0
- package/src/lib/promise/map.js.map +1 -0
- package/src/lib/promise/promise.d.ts +13 -1
- package/src/lib/promise/promise.js +26 -8
- package/src/lib/promise/promise.js.map +1 -1
- package/src/lib/promise/promise.loop.d.ts +18 -3
- package/src/lib/promise/promise.loop.js +18 -2
- package/src/lib/promise/promise.loop.js.map +1 -1
- package/src/lib/promise/promise.ref.d.ts +10 -0
- package/src/lib/promise/promise.ref.js +19 -0
- package/src/lib/promise/promise.ref.js.map +1 -0
- package/src/lib/promise/wait.js +2 -2
- package/src/lib/promise/wait.js.map +1 -1
- package/src/lib/relation/index.js +1 -1
- package/src/lib/relation/index.js.map +1 -1
- package/src/lib/relation/relation.js +2 -2
- package/src/lib/set/index.d.ts +4 -0
- package/src/lib/set/index.js +8 -0
- package/src/lib/set/index.js.map +1 -0
- package/src/lib/set/set.allowed.d.ts +23 -0
- package/src/lib/set/set.allowed.js +29 -0
- package/src/lib/set/set.allowed.js.map +1 -0
- package/src/lib/set/set.d.ts +53 -0
- package/src/lib/{set.hashset.d.ts → set/set.hashset.d.ts} +2 -2
- package/src/lib/{set.hashset.js → set/set.hashset.js} +0 -0
- package/src/lib/set/set.hashset.js.map +1 -0
- package/src/lib/set/set.js +114 -0
- package/src/lib/set/set.js.map +1 -0
- package/src/lib/set/set.maybe.d.ts +11 -0
- package/src/lib/set/set.maybe.js +22 -0
- package/src/lib/set/set.maybe.js.map +1 -0
- package/src/lib/sort.d.ts +1 -4
- package/src/lib/sort.js +3 -8
- package/src/lib/sort.js.map +1 -1
- package/src/lib/storage/index.js +4 -4
- package/src/lib/storage/index.js.map +1 -1
- package/src/lib/storage/storage.memory.d.ts +1 -1
- package/src/lib/storage/storage.object.d.ts +1 -1
- package/src/lib/string.d.ts +9 -2
- package/src/lib/string.js +11 -1
- package/src/lib/string.js.map +1 -1
- package/src/lib/tree/index.js +4 -4
- package/src/lib/tree/index.js.map +1 -1
- package/src/lib/tree/tree.expand.d.ts +1 -1
- package/src/lib/type.d.ts +17 -1
- package/src/lib/value/equal.d.ts +41 -0
- package/src/lib/value/equal.js +56 -0
- package/src/lib/value/equal.js.map +1 -0
- package/src/lib/value/index.d.ts +4 -0
- package/src/lib/value/index.js +8 -0
- package/src/lib/value/index.js.map +1 -0
- package/src/lib/value/map.d.ts +13 -0
- package/src/lib/{map.js → value/map.js} +0 -0
- package/src/lib/value/map.js.map +1 -0
- package/src/lib/{value.d.ts → value/maybe.d.ts} +33 -4
- package/src/lib/{value.js → value/maybe.js} +35 -5
- package/src/lib/value/maybe.js.map +1 -0
- package/src/lib/value/modifier.d.ts +58 -0
- package/src/lib/value/modifier.js +69 -0
- package/src/lib/value/modifier.js.map +1 -0
- package/test/CHANGELOG.md +9 -0
- package/test/README.md +11 -0
- package/test/package.json +14 -0
- package/test/src/index.d.ts +1 -0
- package/test/src/index.js +5 -0
- package/test/src/index.js.map +1 -0
- package/{src/test → test/src/lib}/index.d.ts +1 -0
- package/test/src/lib/index.js +7 -0
- package/test/src/lib/index.js.map +1 -0
- package/{src/test → test/src/lib}/jest.d.ts +21 -1
- package/test/src/lib/jest.function.d.ts +9 -0
- package/test/src/lib/jest.function.js +14 -0
- package/test/src/lib/jest.function.js.map +1 -0
- package/test/src/lib/jest.js +108 -0
- package/test/src/lib/jest.js.map +1 -0
- package/{src/test → test/src/lib}/jest.wrap.d.ts +0 -0
- package/{src/test → test/src/lib}/jest.wrap.js +5 -5
- package/test/src/lib/jest.wrap.js.map +1 -0
- package/src/lib/getter.d.ts +0 -26
- package/src/lib/getter.js +0 -13
- package/src/lib/getter.js.map +0 -1
- package/src/lib/map.d.ts +0 -2
- package/src/lib/map.js.map +0 -1
- package/src/lib/model.js.map +0 -1
- package/src/lib/number.js.map +0 -1
- package/src/lib/set.d.ts +0 -0
- package/src/lib/set.hashset.js.map +0 -1
- package/src/lib/set.js +0 -2
- package/src/lib/set.js.map +0 -1
- package/src/lib/value.js.map +0 -1
- package/src/test/index.js +0 -6
- package/src/test/index.js.map +0 -1
- package/src/test/jest.js +0 -80
- package/src/test/jest.js.map +0 -1
- package/src/test/jest.wrap.js.map +0 -1
package/src/lib/object/object.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.overrideInObject = exports.mergeObjects = exports.objectIsEmpty = exports.
|
|
4
|
-
const
|
|
3
|
+
exports.overrideInObject = exports.mergeObjects = exports.objectIsEmpty = exports.filterKeyValueTupleFunction = exports.filterKeyValueTuples = exports.forEachKeyValue = exports.KeyValueTypleValueFilter = exports.allKeyValueTuples = exports.valuesFromPOJO = exports.assignValuesToPOJO = exports.filterFromPOJO = exports.countPOJOKeys = exports.findPOJOKeys = exports.allMaybeSoKeys = exports.allNonUndefinedKeys = exports.filterUndefinedValues = exports.filterNullAndUndefinedValues = exports.mapToObject = exports.applyToMultipleFields = exports.objectHasKey = exports.objectHasNoKeys = void 0;
|
|
4
|
+
const maybe_1 = require("../value/maybe");
|
|
5
5
|
const array_value_1 = require("../array/array.value");
|
|
6
6
|
const filter_1 = require("../filter/filter");
|
|
7
|
+
function objectHasNoKeys(obj) {
|
|
8
|
+
return (Object.keys(obj).length === 0);
|
|
9
|
+
}
|
|
10
|
+
exports.objectHasNoKeys = objectHasNoKeys;
|
|
7
11
|
function objectHasKey(obj, key) {
|
|
8
12
|
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
9
13
|
}
|
|
@@ -24,6 +28,74 @@ function mapToObject(map) {
|
|
|
24
28
|
return object;
|
|
25
29
|
}
|
|
26
30
|
exports.mapToObject = mapToObject;
|
|
31
|
+
/**
|
|
32
|
+
* Returns a copy of the input object with all null and undefined values filtered from it.
|
|
33
|
+
*
|
|
34
|
+
* @param obj
|
|
35
|
+
* @returns
|
|
36
|
+
*/
|
|
37
|
+
function filterNullAndUndefinedValues(obj) {
|
|
38
|
+
return filterUndefinedValues(obj, true);
|
|
39
|
+
}
|
|
40
|
+
exports.filterNullAndUndefinedValues = filterNullAndUndefinedValues;
|
|
41
|
+
/**
|
|
42
|
+
* Returns a copy of the input object with all undefined values filtered from it.
|
|
43
|
+
*
|
|
44
|
+
* @param obj
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
47
|
+
function filterUndefinedValues(obj, filterNull = false) {
|
|
48
|
+
return filterFromPOJO(obj, { copy: true, filter: { valueFilter: (filterNull) ? KeyValueTypleValueFilter.NULL : KeyValueTypleValueFilter.UNDEFINED } });
|
|
49
|
+
}
|
|
50
|
+
exports.filterUndefinedValues = filterUndefinedValues;
|
|
51
|
+
/**
|
|
52
|
+
* Returns all keys that are not associated with an undefined value.
|
|
53
|
+
*
|
|
54
|
+
* @param obj
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
function allNonUndefinedKeys(obj) {
|
|
58
|
+
return findPOJOKeys(obj, { valueFilter: KeyValueTypleValueFilter.UNDEFINED });
|
|
59
|
+
}
|
|
60
|
+
exports.allNonUndefinedKeys = allNonUndefinedKeys;
|
|
61
|
+
function allMaybeSoKeys(obj) {
|
|
62
|
+
return findPOJOKeys(obj, { valueFilter: KeyValueTypleValueFilter.NULL });
|
|
63
|
+
}
|
|
64
|
+
exports.allMaybeSoKeys = allMaybeSoKeys;
|
|
65
|
+
/**
|
|
66
|
+
* Finds keys from the POJO that meet the filter.
|
|
67
|
+
*
|
|
68
|
+
* @param obj
|
|
69
|
+
* @param filter
|
|
70
|
+
* @returns
|
|
71
|
+
*/
|
|
72
|
+
function findPOJOKeys(obj, filter) {
|
|
73
|
+
const keys = [];
|
|
74
|
+
forEachKeyValue(obj, {
|
|
75
|
+
filter,
|
|
76
|
+
forEach: ([key]) => {
|
|
77
|
+
keys.push(key);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
return keys;
|
|
81
|
+
}
|
|
82
|
+
exports.findPOJOKeys = findPOJOKeys;
|
|
83
|
+
/**
|
|
84
|
+
* Finds and counts the number of keys from the POJO that meet the filter.
|
|
85
|
+
*
|
|
86
|
+
* @param obj
|
|
87
|
+
* @param filter
|
|
88
|
+
* @returns
|
|
89
|
+
*/
|
|
90
|
+
function countPOJOKeys(obj, filter = KeyValueTypleValueFilter.UNDEFINED) {
|
|
91
|
+
let count = 0;
|
|
92
|
+
forEachKeyValue(obj, {
|
|
93
|
+
filter,
|
|
94
|
+
forEach: () => count += 1
|
|
95
|
+
});
|
|
96
|
+
return count;
|
|
97
|
+
}
|
|
98
|
+
exports.countPOJOKeys = countPOJOKeys;
|
|
27
99
|
/**
|
|
28
100
|
* Removes values, per the the filter config, from the input object.
|
|
29
101
|
*
|
|
@@ -53,30 +125,64 @@ function assignValuesToPOJO(target, obj, filter = KeyValueTypleValueFilter.UNDEF
|
|
|
53
125
|
return obj;
|
|
54
126
|
}
|
|
55
127
|
exports.assignValuesToPOJO = assignValuesToPOJO;
|
|
128
|
+
/**
|
|
129
|
+
* Reads all values from the pojo based on the filter and puts them into an array.
|
|
130
|
+
*
|
|
131
|
+
* @param target
|
|
132
|
+
* @param filter
|
|
133
|
+
* @returns
|
|
134
|
+
*/
|
|
135
|
+
function valuesFromPOJO(target, filter = KeyValueTypleValueFilter.UNDEFINED) {
|
|
136
|
+
const values = [];
|
|
137
|
+
forEachKeyValue(target, {
|
|
138
|
+
filter,
|
|
139
|
+
forEach: ([key, value]) => {
|
|
140
|
+
values.push(value);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
return values;
|
|
144
|
+
}
|
|
145
|
+
exports.valuesFromPOJO = valuesFromPOJO;
|
|
146
|
+
function allKeyValueTuples(obj) {
|
|
147
|
+
return Object.entries(obj);
|
|
148
|
+
}
|
|
149
|
+
exports.allKeyValueTuples = allKeyValueTuples;
|
|
56
150
|
var KeyValueTypleValueFilter;
|
|
57
151
|
(function (KeyValueTypleValueFilter) {
|
|
152
|
+
/**
|
|
153
|
+
* No filter
|
|
154
|
+
*/
|
|
58
155
|
KeyValueTypleValueFilter[KeyValueTypleValueFilter["NONE"] = 0] = "NONE";
|
|
156
|
+
/**
|
|
157
|
+
* Only undefined values.
|
|
158
|
+
*/
|
|
59
159
|
KeyValueTypleValueFilter[KeyValueTypleValueFilter["UNDEFINED"] = 1] = "UNDEFINED";
|
|
160
|
+
/**
|
|
161
|
+
* All values that are null or undefined.
|
|
162
|
+
*/
|
|
60
163
|
KeyValueTypleValueFilter[KeyValueTypleValueFilter["NULL"] = 2] = "NULL";
|
|
164
|
+
/**
|
|
165
|
+
* All values that are falsy.
|
|
166
|
+
*/
|
|
61
167
|
KeyValueTypleValueFilter[KeyValueTypleValueFilter["FALSY"] = 3] = "FALSY";
|
|
62
168
|
})(KeyValueTypleValueFilter = exports.KeyValueTypleValueFilter || (exports.KeyValueTypleValueFilter = {}));
|
|
63
169
|
function forEachKeyValue(obj, { forEach, filter }) {
|
|
64
|
-
const keyValues =
|
|
170
|
+
const keyValues = filterKeyValueTuples(obj, filter);
|
|
65
171
|
keyValues.forEach(forEach);
|
|
66
172
|
}
|
|
67
173
|
exports.forEachKeyValue = forEachKeyValue;
|
|
68
|
-
function
|
|
69
|
-
let pairs =
|
|
174
|
+
function filterKeyValueTuples(obj, filter) {
|
|
175
|
+
let pairs = allKeyValueTuples(obj);
|
|
70
176
|
if (filter) {
|
|
71
|
-
const filterFn =
|
|
177
|
+
const filterFn = filterKeyValueTupleFunction(filter);
|
|
72
178
|
pairs = pairs.filter(filterFn);
|
|
73
179
|
}
|
|
74
180
|
return pairs;
|
|
75
181
|
}
|
|
76
|
-
exports.
|
|
77
|
-
function
|
|
182
|
+
exports.filterKeyValueTuples = filterKeyValueTuples;
|
|
183
|
+
function filterKeyValueTupleFunction(input) {
|
|
78
184
|
const filter = (typeof input === 'object') ? input : { valueFilter: input };
|
|
79
|
-
const { valueFilter: type, invertFilter: inverseFilter, keysFilter } = filter;
|
|
185
|
+
const { valueFilter: type, invertFilter: inverseFilter = false, keysFilter } = filter;
|
|
80
186
|
let filterFn;
|
|
81
187
|
switch (type) {
|
|
82
188
|
case KeyValueTypleValueFilter.UNDEFINED:
|
|
@@ -100,7 +206,7 @@ function filterKeyValueTuplesFn(input) {
|
|
|
100
206
|
}
|
|
101
207
|
return (0, filter_1.invertFilter)(filterFn, inverseFilter);
|
|
102
208
|
}
|
|
103
|
-
exports.
|
|
209
|
+
exports.filterKeyValueTupleFunction = filterKeyValueTupleFunction;
|
|
104
210
|
/**
|
|
105
211
|
* Recursively function that returns true if the input is not an object or if every key on the object is empty.
|
|
106
212
|
*
|
|
@@ -113,7 +219,7 @@ function objectIsEmpty(obj) {
|
|
|
113
219
|
for (let i = 0; i < keys.length; i += 1) {
|
|
114
220
|
const key = keys[i];
|
|
115
221
|
const value = obj[key];
|
|
116
|
-
const isEmpty = (typeof obj === 'object') ? objectIsEmpty(value) : !(0,
|
|
222
|
+
const isEmpty = (typeof obj === 'object') ? objectIsEmpty(value) : !(0, maybe_1.hasValueOrNotEmpty)(value);
|
|
117
223
|
if (!isEmpty) {
|
|
118
224
|
return false;
|
|
119
225
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/object/object.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/object/object.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An object with values of a specific type keyed by either string or number or symbols.
|
|
3
|
+
*/
|
|
4
|
+
export declare type ObjectMap<T> = {
|
|
5
|
+
[key: string | number | symbol]: T;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* An object with values of a specific type keyed to string values.
|
|
9
|
+
*/
|
|
10
|
+
export declare type StringObjectMap<T> = {
|
|
11
|
+
[key: string]: T;
|
|
12
|
+
};
|
|
13
|
+
export declare type MappedObjectMap<M extends ObjectMap<any>, O> = {
|
|
14
|
+
[key in keyof M]: O;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Converts an ObjectMap into a Map.
|
|
18
|
+
*
|
|
19
|
+
* @param object
|
|
20
|
+
* @returns
|
|
21
|
+
*/
|
|
22
|
+
export declare function objectToMap<T>(object: ObjectMap<T>): Map<string, T>;
|
|
23
|
+
/**
|
|
24
|
+
* Converts an ObjectMap into tuples.
|
|
25
|
+
*
|
|
26
|
+
* @param object
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
export declare function objectToTuples<T>(object: ObjectMap<T>): [string, T][];
|
|
30
|
+
/**
|
|
31
|
+
* Maps the values of an ObjectMap from one type to another and returns an ObjectMap containing that type.
|
|
32
|
+
*
|
|
33
|
+
* @param object
|
|
34
|
+
*/
|
|
35
|
+
export declare function mapObjectMap<M extends ObjectMap<I>, I = any, O = any>(object: M, mapFn: <K extends keyof M>(value: M[K], key: K) => O): MappedObjectMap<M, O>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapObjectMap = exports.objectToTuples = exports.objectToMap = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Converts an ObjectMap into a Map.
|
|
6
|
+
*
|
|
7
|
+
* @param object
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
function objectToMap(object) {
|
|
11
|
+
return new Map(objectToTuples(object));
|
|
12
|
+
}
|
|
13
|
+
exports.objectToMap = objectToMap;
|
|
14
|
+
/**
|
|
15
|
+
* Converts an ObjectMap into tuples.
|
|
16
|
+
*
|
|
17
|
+
* @param object
|
|
18
|
+
* @returns
|
|
19
|
+
*/
|
|
20
|
+
function objectToTuples(object) {
|
|
21
|
+
const keys = Object.keys(object);
|
|
22
|
+
return keys.map(x => ([x, object[x]]));
|
|
23
|
+
}
|
|
24
|
+
exports.objectToTuples = objectToTuples;
|
|
25
|
+
/**
|
|
26
|
+
* Maps the values of an ObjectMap from one type to another and returns an ObjectMap containing that type.
|
|
27
|
+
*
|
|
28
|
+
* @param object
|
|
29
|
+
*/
|
|
30
|
+
function mapObjectMap(object, mapFn) {
|
|
31
|
+
const mappedObject = {};
|
|
32
|
+
const keys = Object.keys(object);
|
|
33
|
+
keys.forEach((key) => {
|
|
34
|
+
const value = object[key];
|
|
35
|
+
mappedObject[key] = mapFn(value, key);
|
|
36
|
+
});
|
|
37
|
+
return mappedObject;
|
|
38
|
+
}
|
|
39
|
+
exports.mapObjectMap = mapObjectMap;
|
|
40
|
+
//# sourceMappingURL=object.map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.map.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/object/object.map.ts"],"names":[],"mappings":";;;AAkBA;;;;;GAKG;AACH,SAAgB,WAAW,CAAI,MAAoB;IACjD,OAAO,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AACzC,CAAC;AAFD,kCAEC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAI,MAAoB;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAHD,wCAGC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAA2C,MAAS,EAAE,KAAoD;IACpI,MAAM,YAAY,GAA0B,EAA2B,CAAC;IAExE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,CAAoB,GAAM,EAAE,EAAE;QACzC,MAAM,KAAK,GAAS,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC;AAVD,oCAUC"}
|
package/src/lib/page/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
tslib_1.__exportStar(require("./page"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./page.calculator"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./page.filter"), exports);
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/page/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/page/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,4DAAkC;AAClC,wDAA8B"}
|
package/src/lib/page/page.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ exports.filteredPage = filteredPage;
|
|
|
27
27
|
*/
|
|
28
28
|
function iterateFilteredPages(inputPage, loadFn, iterFn) {
|
|
29
29
|
var _a, _b;
|
|
30
|
-
return
|
|
30
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
31
31
|
let currentPage = (_a = inputPage === null || inputPage === void 0 ? void 0 : inputPage.page) !== null && _a !== void 0 ? _a : 0;
|
|
32
32
|
let hasMore = true;
|
|
33
33
|
let count = 0;
|
package/src/lib/promise/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
tslib_1.__exportStar(require("./is"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./poll"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./map"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./promise"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./promise.loop"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./promise.ref"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./wait"), exports);
|
|
8
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqB;AACrB,iDAAuB;AACvB,gDAAsB;AACtB,oDAA0B;AAC1B,yDAA+B;AAC/B,wDAA8B;AAC9B,iDAAuB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPromise = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Whether or not the input is function-like.
|
|
6
|
+
*
|
|
7
|
+
* @param obj
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
function isPromise(obj) {
|
|
11
|
+
// https://github.com/then/is-promise
|
|
12
|
+
return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof (obj.then) === 'function';
|
|
13
|
+
}
|
|
14
|
+
exports.isPromise = isPromise;
|
|
15
|
+
//# sourceMappingURL=is.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/is.ts"],"names":[],"mappings":";;;AACA;;;;;GAKG;AACH,SAAgB,SAAS,CAAO,GAAuB;IACrD,qCAAqC;IACrC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,UAAU,CAAC,IAAI,OAAO,CAAE,GAAW,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;AACtH,CAAC;AAHD,8BAGC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PromiseOrValue } from "./promise";
|
|
2
|
+
/**
|
|
3
|
+
* Performs a mapping function on the input PromiseOrValue value.
|
|
4
|
+
*
|
|
5
|
+
* @param input
|
|
6
|
+
* @param mapFn
|
|
7
|
+
*/
|
|
8
|
+
export declare function mapPromiseOrValue<I, O>(input: Promise<I>, mapFn: (input: I) => O): Promise<O>;
|
|
9
|
+
export declare function mapPromiseOrValue<I, O>(input: I, mapFn: (input: I) => O): O;
|
|
10
|
+
export declare function mapPromiseOrValue<I, O>(input: PromiseOrValue<I>, mapFn: (input: I) => O): PromiseOrValue<O>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapPromiseOrValue = void 0;
|
|
4
|
+
const is_1 = require("./is");
|
|
5
|
+
function mapPromiseOrValue(input, mapFn) {
|
|
6
|
+
if ((0, is_1.isPromise)(input)) {
|
|
7
|
+
return input.then(mapFn);
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
return mapFn(input);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.mapPromiseOrValue = mapPromiseOrValue;
|
|
14
|
+
//# sourceMappingURL=map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/map.ts"],"names":[],"mappings":";;;AAAA,6BAAiC;AAYjC,SAAgB,iBAAiB,CAAO,KAAwB,EAAE,KAAsB;IACtF,IAAI,IAAA,cAAS,EAAC,KAAK,CAAC,EAAE;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;SAAM;QACL,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;KACrB;AACH,CAAC;AAND,8CAMC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { Maybe } from "../value";
|
|
1
|
+
import { Maybe } from "../value/maybe";
|
|
2
|
+
export declare type PromiseOrValue<T> = Promise<T> | T;
|
|
3
|
+
export declare function asPromise<T>(input: PromiseOrValue<T>): Promise<T>;
|
|
2
4
|
export declare type PromiseTaskFn<T, K = any> = (value: T, tryNumber?: number) => Promise<K>;
|
|
3
5
|
export interface PerformTaskResult<O> {
|
|
4
6
|
value: Maybe<O>;
|
|
@@ -25,11 +27,21 @@ export interface PerformTasksConfig<T = any> extends PerformTaskConfig<T> {
|
|
|
25
27
|
*/
|
|
26
28
|
sequential?: boolean;
|
|
27
29
|
}
|
|
30
|
+
export declare type ValuesTaskConfig<T = any> = Omit<PerformTasksConfig<T>, 'throwError'>;
|
|
28
31
|
export declare class PromiseUtility {
|
|
29
32
|
/**
|
|
30
33
|
* Runs the task using the input config, and returns the value. Is always configured to throw the error if it fails.
|
|
31
34
|
*/
|
|
32
35
|
static runTaskForValue<O>(taskFn: () => Promise<O>, config?: ValueTaskConfig<0>): Promise<Maybe<O>>;
|
|
36
|
+
/**
|
|
37
|
+
* Returns the task for each input value, and returns the values. Is always configured to throw the error if it fails.
|
|
38
|
+
*
|
|
39
|
+
* @param input
|
|
40
|
+
* @param taskFn
|
|
41
|
+
* @param config
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
static runTasksForValues<T, K = any>(input: T[], taskFn: PromiseTaskFn<T, K>, config?: PerformTasksConfig<T>): Promise<K[]>;
|
|
33
45
|
/**
|
|
34
46
|
* Performs the input tasks, and will retry tasks if they fail, up to a certain point.
|
|
35
47
|
*
|
|
@@ -1,19 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PromiseUtility = void 0;
|
|
3
|
+
exports.PromiseUtility = exports.asPromise = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const wait_1 = require("./wait");
|
|
6
|
+
function asPromise(input) {
|
|
7
|
+
return Promise.resolve(input);
|
|
8
|
+
}
|
|
9
|
+
exports.asPromise = asPromise;
|
|
6
10
|
class PromiseUtility {
|
|
7
11
|
// MARK: Run
|
|
8
12
|
/**
|
|
9
13
|
* Runs the task using the input config, and returns the value. Is always configured to throw the error if it fails.
|
|
10
14
|
*/
|
|
11
15
|
static runTaskForValue(taskFn, config) {
|
|
12
|
-
return
|
|
16
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
13
17
|
const { value } = yield this.performTask(taskFn, Object.assign(Object.assign({}, config), { throwError: true }));
|
|
14
18
|
return value;
|
|
15
19
|
});
|
|
16
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Returns the task for each input value, and returns the values. Is always configured to throw the error if it fails.
|
|
23
|
+
*
|
|
24
|
+
* @param input
|
|
25
|
+
* @param taskFn
|
|
26
|
+
* @param config
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
static runTasksForValues(input, taskFn, config) {
|
|
30
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
const results = yield PromiseUtility.performTasks(input, taskFn, Object.assign(Object.assign({}, config), { throwError: true }));
|
|
32
|
+
return results.results.map(x => x[1]);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
17
35
|
// MARK: Perform
|
|
18
36
|
/**
|
|
19
37
|
* Performs the input tasks, and will retry tasks if they fail, up to a certain point.
|
|
@@ -21,7 +39,7 @@ class PromiseUtility {
|
|
|
21
39
|
* This is useful for retrying sections that may experience optimistic concurrency collisions.
|
|
22
40
|
*/
|
|
23
41
|
static performTasks(input, taskFn, config = { throwError: true }) {
|
|
24
|
-
return
|
|
42
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
43
|
let taskResults;
|
|
26
44
|
if (config.sequential) {
|
|
27
45
|
taskResults = [];
|
|
@@ -55,15 +73,15 @@ class PromiseUtility {
|
|
|
55
73
|
});
|
|
56
74
|
}
|
|
57
75
|
static performTask(taskFn, config) {
|
|
58
|
-
return
|
|
76
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
59
77
|
const [_, value, success] = yield PromiseUtility._performTask(0, () => taskFn(), config);
|
|
60
78
|
return { value, success };
|
|
61
79
|
});
|
|
62
80
|
}
|
|
63
81
|
static _performTask(value, taskFn, { throwError, retriesAllowed = 5, retryWait = 200, beforeRetry } = { throwError: true }) {
|
|
64
|
-
return
|
|
82
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
65
83
|
function tryTask(value, tryNumber) {
|
|
66
|
-
return
|
|
84
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
67
85
|
try {
|
|
68
86
|
const result = yield taskFn(value, tryNumber);
|
|
69
87
|
return [result, true];
|
|
@@ -74,7 +92,7 @@ class PromiseUtility {
|
|
|
74
92
|
});
|
|
75
93
|
}
|
|
76
94
|
function iterateTask(value, tryNumber) {
|
|
77
|
-
return
|
|
95
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
78
96
|
const result = yield tryTask(value, tryNumber);
|
|
79
97
|
const success = result[1];
|
|
80
98
|
if (success) {
|
|
@@ -83,7 +101,7 @@ class PromiseUtility {
|
|
|
83
101
|
const retriesRemaining = retriesAllowed - tryNumber;
|
|
84
102
|
if (retriesRemaining > 0) {
|
|
85
103
|
function doNextTry() {
|
|
86
|
-
return
|
|
104
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
87
105
|
const nextTryNumber = tryNumber + 1;
|
|
88
106
|
if (beforeRetry) {
|
|
89
107
|
yield beforeRetry(value, nextTryNumber);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/promise.ts"],"names":[],"mappings":";;;;AACA,iCAAmC;
|
|
1
|
+
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/promise.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Maybe } from "../value";
|
|
1
|
+
import { Maybe } from "../value/maybe";
|
|
2
2
|
export interface PerformTaskLoopConfig<O> {
|
|
3
3
|
next: (i: number, prev: Maybe<O>) => Promise<O>;
|
|
4
4
|
checkContinue: (prev: Maybe<O>, i: number) => boolean;
|
|
@@ -8,6 +8,21 @@ export interface PerformTaskLoopWithInitConfig<O> {
|
|
|
8
8
|
next: (i: number, prev: O) => Promise<O>;
|
|
9
9
|
checkContinue: (prev: O, i: number) => boolean;
|
|
10
10
|
}
|
|
11
|
-
export declare function performTaskLoop(config: PerformTaskLoopConfig<void>): Promise<void>;
|
|
12
|
-
export declare function performTaskLoop<O>(config: PerformTaskLoopConfig<O>): Promise<Maybe<O>>;
|
|
13
11
|
export declare function performTaskLoop<O>(config: PerformTaskLoopWithInitConfig<O>): Promise<O>;
|
|
12
|
+
export declare function performTaskLoop<O>(config: PerformTaskLoopConfig<O>): Promise<O>;
|
|
13
|
+
export declare function performTaskLoop<O>(config: PerformTaskLoopConfig<O>): Promise<Maybe<O>>;
|
|
14
|
+
export declare function performTaskLoop(config: PerformTaskLoopConfig<void>): Promise<void>;
|
|
15
|
+
export interface PerformTaskCountLoopConfig<O> extends Omit<PerformTaskLoopConfig<O>, 'checkContinue'> {
|
|
16
|
+
count: number;
|
|
17
|
+
}
|
|
18
|
+
export interface PerformTaskCountLoopWithInitConfig<O> extends Omit<PerformTaskLoopWithInitConfig<O>, 'checkContinue'> {
|
|
19
|
+
count: number;
|
|
20
|
+
}
|
|
21
|
+
export declare function performTaskCountLoop<O>(config: PerformTaskCountLoopWithInitConfig<O>): Promise<O>;
|
|
22
|
+
export declare function performTaskCountLoop<O>(config: PerformTaskCountLoopConfig<O>): Promise<Maybe<O>>;
|
|
23
|
+
export declare function performTaskCountLoop(config: PerformTaskCountLoopConfig<void>): Promise<void>;
|
|
24
|
+
export interface PerformMakeLoopConfig<O> {
|
|
25
|
+
make: (i: number, made: O[]) => Promise<O>;
|
|
26
|
+
count: number;
|
|
27
|
+
}
|
|
28
|
+
export declare function performMakeLoop<O>(config: PerformMakeLoopConfig<O>): Promise<O[]>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.performTaskLoop = void 0;
|
|
3
|
+
exports.performMakeLoop = exports.performTaskCountLoop = exports.performTaskLoop = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
function performTaskLoop(config) {
|
|
6
|
-
return new Promise((resolve, reject) =>
|
|
6
|
+
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
7
7
|
try {
|
|
8
8
|
let startLoop = config.initValue == null || config.checkContinue(config.initValue, -1);
|
|
9
9
|
if (startLoop) {
|
|
@@ -27,4 +27,20 @@ function performTaskLoop(config) {
|
|
|
27
27
|
}));
|
|
28
28
|
}
|
|
29
29
|
exports.performTaskLoop = performTaskLoop;
|
|
30
|
+
function performTaskCountLoop(config) {
|
|
31
|
+
return performTaskLoop(Object.assign(Object.assign({}, config), { checkContinue: (_, i) => (i < config.count) }));
|
|
32
|
+
}
|
|
33
|
+
exports.performTaskCountLoop = performTaskCountLoop;
|
|
34
|
+
function performMakeLoop(config) {
|
|
35
|
+
return performTaskCountLoop({
|
|
36
|
+
count: config.count,
|
|
37
|
+
initValue: [],
|
|
38
|
+
next: (i, accumulator) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
const result = yield config.make(i, accumulator);
|
|
40
|
+
accumulator.push(result);
|
|
41
|
+
return accumulator;
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
exports.performMakeLoop = performMakeLoop;
|
|
30
46
|
//# sourceMappingURL=promise.loop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.loop.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/promise.loop.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"promise.loop.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/promise.loop.ts"],"names":[],"mappings":";;;;AAkBA,SAAgB,eAAe,CAAI,MAAW;IAC5C,OAAO,IAAI,OAAO,CAAI,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,IAAI;YACF,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YAEvF,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,IAAI,SAAS,GAAa,MAAM,CAAC,SAAS,CAAC;gBAC3C,IAAI,KAAc,CAAC;gBAEnB,GAAG;oBACD,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;oBAC5C,CAAC,IAAI,CAAC,CAAC;oBACP,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;iBAC5C,QAAQ,KAAK,EAAE;gBAEhB,OAAO,CAAC,SAAU,CAAC,CAAC;aACrB;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aAC3B;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAC,CAAC,CAAC;SACX;IACH,CAAC,CAAA,CAAC,CAAC;AACL,CAAC;AAxBD,0CAwBC;AAcD,SAAgB,oBAAoB,CAAI,MAAW;IACjD,OAAO,eAAe,iCACjB,MAAM,KACT,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IACpC,CAAC;AACZ,CAAC;AALD,oDAKC;AAQD,SAAgB,eAAe,CAAI,MAAgC;IACjE,OAAO,oBAAoB,CAAM;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,EAAS;QACpB,IAAI,EAAE,CAAO,CAAC,EAAE,WAAgB,EAAE,EAAE;YAClC,MAAM,MAAM,GAAM,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACpD,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,OAAO,WAAW,CAAC;QACrB,CAAC,CAAA;KACF,CAAC,CAAC;AACL,CAAC;AAVD,0CAUC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface PromiseFullRef<O = any> {
|
|
2
|
+
readonly promise: Promise<O>;
|
|
3
|
+
readonly resolve: (value: O | PromiseLike<O>) => void;
|
|
4
|
+
readonly reject: (reason?: any) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare type PromiseExecutor<O> = (resolve: (value: O | PromiseLike<O>) => void, reject: (reason?: any) => void) => void;
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new promise and returns the full ref for it.
|
|
9
|
+
*/
|
|
10
|
+
export declare function makePromiseFullRef<O>(executor: PromiseExecutor<O>): PromiseFullRef<O>;
|