@dereekb/util 9.25.15 → 10.0.0
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 +12 -0
- package/fetch/CHANGELOG.md +12 -0
- package/fetch/package.json +2 -14
- package/fetch/src/lib/fetch.d.ts +5 -5
- package/fetch/src/lib/fetch.type.d.ts +3 -3
- package/fetch/src/lib/json.d.ts +8 -8
- package/fetch/src/lib/timeout.js +3 -2
- package/fetch/src/lib/timeout.js.map +1 -1
- package/fetch/src/lib/url.d.ts +10 -10
- package/package.json +5 -8
- package/src/lib/array/array.boolean.d.ts +3 -3
- package/src/lib/array/array.d.ts +25 -6
- package/src/lib/array/array.factory.d.ts +4 -4
- package/src/lib/array/array.filter.d.ts +1 -1
- package/src/lib/array/array.find.d.ts +2 -2
- package/src/lib/array/array.index.d.ts +3 -3
- package/src/lib/array/array.indexed.d.ts +6 -6
- package/src/lib/array/array.js +31 -11
- package/src/lib/array/array.js.map +1 -1
- package/src/lib/array/array.make.d.ts +1 -1
- package/src/lib/array/array.number.d.ts +2 -2
- package/src/lib/array/array.random.d.ts +1 -1
- package/src/lib/array/array.string.d.ts +8 -5
- package/src/lib/array/array.string.js +6 -6
- package/src/lib/array/array.string.js.map +1 -1
- package/src/lib/array/array.unique.d.ts +3 -11
- package/src/lib/array/array.unique.js +1 -10
- package/src/lib/array/array.unique.js.map +1 -1
- package/src/lib/assertion/assertion.d.ts +2 -2
- package/src/lib/auth/auth.role.claims.d.ts +12 -12
- package/src/lib/auth/auth.role.d.ts +2 -2
- package/src/lib/boolean.d.ts +2 -2
- package/src/lib/contact/domain.d.ts +1 -1
- package/src/lib/contact/email.d.ts +3 -3
- package/src/lib/contact/phone.d.ts +5 -5
- package/src/lib/contact/random.d.ts +2 -2
- package/src/lib/date/date.d.ts +22 -22
- package/src/lib/date/date.time.d.ts +4 -4
- package/src/lib/date/date.time.js +1 -1
- package/src/lib/date/date.time.js.map +1 -1
- package/src/lib/date/hour.d.ts +1 -1
- package/src/lib/date/week.d.ts +10 -10
- package/src/lib/date/week.js +1 -1
- package/src/lib/date/week.js.map +1 -1
- package/src/lib/error/error.d.ts +5 -5
- package/src/lib/error/error.server.d.ts +1 -1
- package/src/lib/file/xml.d.ts +1 -1
- package/src/lib/filter/filter.d.ts +2 -2
- package/src/lib/function/function.boolean.d.ts +1 -1
- package/src/lib/function/function.forward.d.ts +2 -2
- package/src/lib/getter/getter.cache.d.ts +2 -2
- package/src/lib/getter/getter.d.ts +13 -13
- package/src/lib/getter/getter.map.d.ts +1 -1
- package/src/lib/getter/getter.util.d.ts +1 -1
- package/src/lib/getter/type.d.ts +1 -1
- package/src/lib/grouping.d.ts +4 -2
- package/src/lib/grouping.js +9 -6
- package/src/lib/grouping.js.map +1 -1
- package/src/lib/hash.d.ts +2 -2
- package/src/lib/iterable/iterable.d.ts +1 -1
- package/src/lib/iterate.d.ts +2 -2
- package/src/lib/key.d.ts +6 -6
- package/src/lib/key.js +1 -1
- package/src/lib/key.js.map +1 -1
- package/src/lib/lifecycle.d.ts +1 -1
- package/src/lib/map/map.intersection.js +1 -1
- package/src/lib/map/map.intersection.js.map +1 -1
- package/src/lib/map/map.key.d.ts +2 -2
- package/src/lib/model/id.batch.d.ts +3 -9
- package/src/lib/model/id.batch.js +2 -2
- package/src/lib/model/id.batch.js.map +1 -1
- package/src/lib/model/model.conversion.d.ts +32 -32
- package/src/lib/model/model.copy.d.ts +3 -3
- package/src/lib/model/model.d.ts +11 -11
- package/src/lib/model/model.modify.d.ts +4 -4
- package/src/lib/nodejs/stream.d.ts +1 -1
- package/src/lib/number/bitwise.dencoder.d.ts +10 -10
- package/src/lib/number/bitwise.dencoder.js +1 -1
- package/src/lib/number/bitwise.dencoder.js.map +1 -1
- package/src/lib/number/bound.d.ts +3 -3
- package/src/lib/number/dollar.d.ts +4 -4
- package/src/lib/number/factory.d.ts +1 -1
- package/src/lib/number/number.d.ts +5 -5
- package/src/lib/number/pay.d.ts +2 -2
- package/src/lib/number/random.d.ts +2 -2
- package/src/lib/number/round.d.ts +11 -11
- package/src/lib/number/sort.d.ts +1 -1
- package/src/lib/number/transform.d.ts +2 -2
- package/src/lib/object/object.array.delta.d.ts +4 -4
- package/src/lib/object/object.d.ts +2 -2
- package/src/lib/object/object.equal.d.ts +1 -1
- package/src/lib/object/object.filter.pojo.d.ts +16 -16
- package/src/lib/object/object.filter.tuple.d.ts +5 -5
- package/src/lib/object/object.filter.tuple.js +1 -1
- package/src/lib/object/object.filter.tuple.js.map +1 -1
- package/src/lib/object/object.map.d.ts +5 -5
- package/src/lib/page/page.d.ts +1 -1
- package/src/lib/path/path.d.ts +13 -13
- package/src/lib/path/path.js +1 -1
- package/src/lib/path/path.js.map +1 -1
- package/src/lib/promise/callback.d.ts +2 -2
- package/src/lib/promise/index.d.ts +1 -0
- package/src/lib/promise/index.js +1 -0
- package/src/lib/promise/index.js.map +1 -1
- package/src/lib/promise/map.d.ts +1 -1
- package/src/lib/promise/promise.d.ts +82 -37
- package/src/lib/promise/promise.js +173 -106
- package/src/lib/promise/promise.js.map +1 -1
- package/src/lib/promise/promise.loop.d.ts +2 -2
- package/src/lib/promise/promise.ref.d.ts +2 -2
- package/src/lib/promise/promise.type.d.ts +11 -0
- package/src/lib/promise/promise.type.js +14 -0
- package/src/lib/promise/promise.type.js.map +1 -0
- package/src/lib/promise/use.d.ts +1 -1
- package/src/lib/relation/relation.d.ts +8 -8
- package/src/lib/relation/relation.js +1 -1
- package/src/lib/relation/relation.js.map +1 -1
- package/src/lib/service/handler.config.d.ts +6 -6
- package/src/lib/service/handler.d.ts +7 -7
- package/src/lib/set/set.d.ts +6 -18
- package/src/lib/set/set.decision.d.ts +1 -1
- package/src/lib/set/set.delta.d.ts +2 -2
- package/src/lib/set/set.delta.js +1 -1
- package/src/lib/set/set.delta.js.map +1 -1
- package/src/lib/set/set.js +5 -18
- package/src/lib/set/set.js.map +1 -1
- package/src/lib/set/set.mode.d.ts +1 -1
- package/src/lib/set/set.selection.d.ts +1 -1
- package/src/lib/sort.d.ts +9 -9
- package/src/lib/sort.js.map +1 -1
- package/src/lib/storage/storage.d.ts +2 -2
- package/src/lib/string/char.d.ts +1 -1
- package/src/lib/string/dencoder.d.ts +7 -7
- package/src/lib/string/html.d.ts +2 -2
- package/src/lib/string/password.d.ts +1 -1
- package/src/lib/string/replace.d.ts +5 -5
- package/src/lib/string/search.d.ts +3 -3
- package/src/lib/string/sort.d.ts +1 -1
- package/src/lib/string/string.d.ts +4 -4
- package/src/lib/string/transform.d.ts +4 -4
- package/src/lib/string/url.d.ts +14 -14
- package/src/lib/string/url.js.map +1 -1
- package/src/lib/tree/tree.array.d.ts +1 -1
- package/src/lib/tree/tree.d.ts +1 -1
- package/src/lib/tree/tree.expand.d.ts +1 -1
- package/src/lib/tree/tree.flatten.d.ts +1 -1
- package/src/lib/type.d.ts +51 -51
- package/src/lib/value/address.d.ts +7 -7
- package/src/lib/value/bound.d.ts +13 -13
- package/src/lib/value/build.d.ts +2 -2
- package/src/lib/value/comparator.d.ts +47 -1
- package/src/lib/value/comparator.js +35 -1
- package/src/lib/value/comparator.js.map +1 -1
- package/src/lib/value/cron.d.ts +1 -1
- package/src/lib/value/decision.d.ts +3 -3
- package/src/lib/value/equal.d.ts +2 -8
- package/src/lib/value/indexed.d.ts +21 -21
- package/src/lib/value/indexed.js.map +1 -1
- package/src/lib/value/map.d.ts +15 -9
- package/src/lib/value/map.js.map +1 -1
- package/src/lib/value/maybe.type.d.ts +4 -4
- package/src/lib/value/modifier.d.ts +3 -3
- package/src/lib/value/pixel.d.ts +2 -2
- package/src/lib/value/point.d.ts +22 -26
- package/src/lib/value/sync.d.ts +2 -2
- package/src/lib/value/sync.js +1 -1
- package/src/lib/value/sync.js.map +1 -1
- package/src/lib/value/use.d.ts +8 -8
- package/src/lib/value/vector.d.ts +5 -5
- package/src/lib/value/zoom.d.ts +1 -1
- package/test/CHANGELOG.md +12 -0
- package/test/package.json +2 -14
- package/test/src/lib/jest.d.ts +5 -5
- package/test/src/lib/jest.fail.d.ts +5 -5
- package/test/src/lib/jest.function.d.ts +7 -7
- package/test/src/lib/jest.wrap.d.ts +1 -1
|
@@ -2,16 +2,16 @@ import { MapFunction } from '../value/map';
|
|
|
2
2
|
/**
|
|
3
3
|
* An object with values of a specific type keyed by either string or number or symbols.
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
5
|
+
export type ObjectMap<T, K extends keyof any = string | number | symbol> = Record<K, T>;
|
|
6
6
|
/**
|
|
7
7
|
* An object with values of a specific type keyed to string values.
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export type StringObjectMap<T> = {
|
|
10
10
|
[key: string]: T;
|
|
11
11
|
[key: number]: never;
|
|
12
12
|
[key: symbol]: never;
|
|
13
13
|
};
|
|
14
|
-
export
|
|
14
|
+
export type MappedObjectMap<M extends object, O> = {
|
|
15
15
|
[key in keyof M]: O;
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
@@ -31,7 +31,7 @@ export declare function objectToTuples<T>(object: ObjectMap<T>): [string, T][];
|
|
|
31
31
|
/**
|
|
32
32
|
* Maps an ObjectMap of one type to another ObjectMap with the mapped values.
|
|
33
33
|
*/
|
|
34
|
-
export
|
|
34
|
+
export type MapObjectMapFunction<M extends ObjectMap<I>, I = unknown, O = unknown> = MapFunction<M, MappedObjectMap<M, O>>;
|
|
35
35
|
/**
|
|
36
36
|
* Creates a MapObjectMapFunction that calls mapObjectMap().
|
|
37
37
|
*
|
|
@@ -39,7 +39,7 @@ export declare type MapObjectMapFunction<M extends ObjectMap<I>, I = unknown, O
|
|
|
39
39
|
* @returns
|
|
40
40
|
*/
|
|
41
41
|
export declare function mapObjectMapFunction<M extends ObjectMap<I>, I = unknown, O = unknown>(mapFn: MapObjectMapValueFunction<M, I, O>): MapObjectMapFunction<M, I, O>;
|
|
42
|
-
export
|
|
42
|
+
export type MapObjectMapValueFunction<M extends ObjectMap<I>, I = unknown, O = unknown> = <K extends keyof M>(value: M[K], key: K) => O;
|
|
43
43
|
/**
|
|
44
44
|
* Maps the values of an ObjectMap from one type to another and returns an ObjectMap containing that type.
|
|
45
45
|
*
|
package/src/lib/page/page.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare const FIRST_PAGE = 0;
|
|
|
11
11
|
* Page value used when there are no elements left to load.
|
|
12
12
|
*/
|
|
13
13
|
export declare const FINAL_PAGE = -2;
|
|
14
|
-
export
|
|
14
|
+
export type PageNumber = number;
|
|
15
15
|
/**
|
|
16
16
|
* Represents a page number.
|
|
17
17
|
*/
|
package/src/lib/path/path.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ import { IndexRangeInput, Maybe } from '../value';
|
|
|
4
4
|
import { FactoryWithRequiredInput } from '../getter/getter';
|
|
5
5
|
export declare const SLASH_PATH_SEPARATOR = "/";
|
|
6
6
|
export declare const SLASH_PATH_FILE_TYPE_SEPARATOR = ".";
|
|
7
|
-
export
|
|
8
|
-
export
|
|
7
|
+
export type SlashPathSeparatorString = typeof SLASH_PATH_SEPARATOR;
|
|
8
|
+
export type SlashFileTypeSeparatorString = typeof SLASH_PATH_FILE_TYPE_SEPARATOR;
|
|
9
9
|
export declare const DEFAULT_SLASH_PATH_ILLEGAL_CHARACTERS: string[];
|
|
10
10
|
/**
|
|
11
11
|
* Default replacement character for illegal characters.
|
|
@@ -14,23 +14,23 @@ export declare const DEFAULT_SLASH_PATH_ILLEGAL_CHARACTER_REPLACEMENT = "_";
|
|
|
14
14
|
/**
|
|
15
15
|
* A forward-slash path string.
|
|
16
16
|
*/
|
|
17
|
-
export
|
|
17
|
+
export type SlashPathFolder = `${SlashPathSeparatorString}${string}${SlashPathSeparatorString}` | `${string}${SlashPathSeparatorString}`;
|
|
18
18
|
/**
|
|
19
19
|
* A file name without a type.
|
|
20
20
|
*/
|
|
21
|
-
export
|
|
21
|
+
export type SlashPathFile = string;
|
|
22
22
|
/**
|
|
23
23
|
* A file name
|
|
24
24
|
*/
|
|
25
|
-
export
|
|
25
|
+
export type SlashPathTypedFile = `${string}${SlashFileTypeSeparatorString}${string}`;
|
|
26
26
|
/**
|
|
27
27
|
* A simple path made up of UTF-8 characters and slashes
|
|
28
28
|
*/
|
|
29
|
-
export
|
|
29
|
+
export type SlashPath = SlashPathFolder | SlashPathFile | SlashPathTypedFile;
|
|
30
30
|
/**
|
|
31
31
|
* Function that modifies the input SlashPath
|
|
32
32
|
*/
|
|
33
|
-
export
|
|
33
|
+
export type SlashPathFunction = MapSameFunction<SlashPath>;
|
|
34
34
|
/**
|
|
35
35
|
* Slash path type
|
|
36
36
|
* - folder: is a folder
|
|
@@ -38,7 +38,7 @@ export declare type SlashPathFunction = MapSameFunction<SlashPath>;
|
|
|
38
38
|
* - typedfile: is a file with a type
|
|
39
39
|
* - invalid: is an invalid slash path that might contain multiple '.' values, or is an empty string.
|
|
40
40
|
*/
|
|
41
|
-
export
|
|
41
|
+
export type SlashPathType = 'folder' | 'file' | 'typedfile' | 'invalid';
|
|
42
42
|
/**
|
|
43
43
|
* Returns the SlashPathType for the input.
|
|
44
44
|
*
|
|
@@ -69,11 +69,11 @@ export declare function slashPathParts(slashPath: SlashPath): string[];
|
|
|
69
69
|
* - absolute: path that starts with a slash
|
|
70
70
|
* - any: either relative or absolute
|
|
71
71
|
*/
|
|
72
|
-
export
|
|
72
|
+
export type SlashPathStartType = 'relative' | 'absolute' | 'any';
|
|
73
73
|
/**
|
|
74
74
|
* Factory use to set the slash path type of the input.
|
|
75
75
|
*/
|
|
76
|
-
export
|
|
76
|
+
export type SlashPathStartTypeFactory = SlashPathFunction;
|
|
77
77
|
export declare function slashPathStartTypeFactory(type: SlashPathStartType): SlashPathStartTypeFactory;
|
|
78
78
|
export declare const LEADING_SLASHES_REGEX: RegExp;
|
|
79
79
|
export declare const TRAILING_SLASHES_REGEX: RegExp;
|
|
@@ -111,7 +111,7 @@ export declare function replaceInvalidFilePathTypeSeparatorsInSlashPathFunction(
|
|
|
111
111
|
/**
|
|
112
112
|
* Factory used to validate and fix invalid SlashPath input.
|
|
113
113
|
*/
|
|
114
|
-
export
|
|
114
|
+
export type SlashPathValidationFactory = SlashPathFunction;
|
|
115
115
|
export interface SlashPathValidationFactoryConfig {
|
|
116
116
|
/**
|
|
117
117
|
* Set of illegal characters to find/replace. If not provided, used the DEFAULT_SLASH_PATH_ILLEGAL_CHARACTERS
|
|
@@ -140,7 +140,7 @@ export declare function slashPathValidationFactory(config?: SlashPathValidationF
|
|
|
140
140
|
/**
|
|
141
141
|
* Factory use to generate/merge file paths together.
|
|
142
142
|
*/
|
|
143
|
-
export
|
|
143
|
+
export type SlashPathFactory = FactoryWithRequiredInput<SlashPath, ArrayOrValue<Maybe<SlashPath>>>;
|
|
144
144
|
export interface SlashPathFactoryConfig {
|
|
145
145
|
/**
|
|
146
146
|
* SlashPath start type to enforce
|
|
@@ -186,7 +186,7 @@ export interface IsolateSlashPathFunctionConfig {
|
|
|
186
186
|
*
|
|
187
187
|
* Path start type is retained. I.E. If a relative path is input, a relative path will be returned.
|
|
188
188
|
*/
|
|
189
|
-
export
|
|
189
|
+
export type IsolateSlashPathFunction = (path: SlashPath) => SlashPath;
|
|
190
190
|
/**
|
|
191
191
|
* Creates an IsolateSlashPathFunction.
|
|
192
192
|
*
|
package/src/lib/path/path.js
CHANGED
|
@@ -219,7 +219,7 @@ function slashPathFactory(config) {
|
|
|
219
219
|
const validationFactory = validate ? (typeof validate === 'boolean' ? slashPathValidationFactory() : slashPathValidationFactory(validate)) : null;
|
|
220
220
|
const finalizeFn = (0, value_1.chainMapFunction)(typeFactory, validationFactory);
|
|
221
221
|
return (paths) => {
|
|
222
|
-
const merged = mergeSlashPaths((0, array_1.
|
|
222
|
+
const merged = mergeSlashPaths((0, array_1.pushItemOrArrayItemsIntoArray)([basePath], paths));
|
|
223
223
|
return finalizeFn(merged);
|
|
224
224
|
};
|
|
225
225
|
}
|
package/src/lib/path/path.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/path/path.ts"],"names":[],"mappings":";;;AAAA,sCAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/path/path.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Maybe } from '../value/maybe.type';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
2
|
+
export type PromiseCallback = (err?: Maybe<Error>) => void;
|
|
3
|
+
export type UsePromiseCallback = (cb: PromiseCallback) => void;
|
|
4
4
|
export declare function useCallback(use: UsePromiseCallback): Promise<void>;
|
package/src/lib/promise/index.js
CHANGED
|
@@ -8,6 +8,7 @@ tslib_1.__exportStar(require("./map"), exports);
|
|
|
8
8
|
tslib_1.__exportStar(require("./promise"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./promise.loop"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./promise.ref"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./promise.type"), exports);
|
|
11
12
|
tslib_1.__exportStar(require("./wait"), exports);
|
|
12
13
|
tslib_1.__exportStar(require("./use"), exports);
|
|
13
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,+CAAqB;AACrB,iDAAuB;AACvB,gDAAsB;AACtB,oDAA0B;AAC1B,yDAA+B;AAC/B,wDAA8B;AAC9B,iDAAuB;AACvB,gDAAsB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,+CAAqB;AACrB,iDAAuB;AACvB,gDAAsB;AACtB,oDAA0B;AAC1B,yDAA+B;AAC/B,wDAA8B;AAC9B,yDAA+B;AAC/B,iDAAuB;AACvB,gDAAsB"}
|
package/src/lib/promise/map.d.ts
CHANGED
|
@@ -1,53 +1,98 @@
|
|
|
1
|
+
import { Milliseconds } from '../date/date';
|
|
2
|
+
import { IndexNumber } from '../value';
|
|
1
3
|
import { Maybe } from '../value/maybe.type';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
export type RunAsyncTaskForValueConfig<T = unknown> = Omit<PerformAsyncTaskConfig<T>, 'throwError'>;
|
|
5
|
+
export type RunAsyncTasksForValuesConfig<T = unknown> = Omit<PerformAsyncTasksConfig<T>, 'throwError'>;
|
|
6
|
+
/**
|
|
7
|
+
* Runs the task using the input config, and returns the value. Is always configured to throw the error if it fails.
|
|
8
|
+
*/
|
|
9
|
+
export declare function runAsyncTaskForValue<O>(taskFn: () => Promise<O>, config?: RunAsyncTaskForValueConfig<0>): Promise<Maybe<O>>;
|
|
10
|
+
/**
|
|
11
|
+
* Returns the task for each input value, and returns the values. Is always configured to throw the error if it fails.
|
|
12
|
+
*
|
|
13
|
+
* @param input
|
|
14
|
+
* @param taskFn
|
|
15
|
+
* @param config
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
export declare function runAsyncTasksForValues<T, K = unknown>(input: T[], taskFn: PromiseAsyncTaskFn<T, K>, config?: RunAsyncTasksForValuesConfig<T>): Promise<K[]>;
|
|
19
|
+
export type PromiseAsyncTaskFn<T, K = unknown> = (value: T, tryNumber?: number) => Promise<K>;
|
|
20
|
+
export interface PerformAsyncTaskResult<O> {
|
|
21
|
+
readonly value: Maybe<O>;
|
|
22
|
+
readonly success: boolean;
|
|
8
23
|
}
|
|
9
|
-
export interface
|
|
10
|
-
succeded:
|
|
11
|
-
failed:
|
|
12
|
-
results: [
|
|
24
|
+
export interface PerformAsyncTasksResult<I, O> {
|
|
25
|
+
readonly succeded: I[];
|
|
26
|
+
readonly failed: I[];
|
|
27
|
+
readonly results: [I, O][];
|
|
28
|
+
readonly errors: [I, unknown][];
|
|
13
29
|
}
|
|
14
|
-
export interface
|
|
15
|
-
throwError?: boolean;
|
|
16
|
-
retriesAllowed?: number;
|
|
17
|
-
retryWait?: number;
|
|
30
|
+
export interface PerformAsyncTaskConfig<I = unknown> {
|
|
18
31
|
/**
|
|
19
|
-
*
|
|
32
|
+
* Whether or not to throw an error if the task fails. Defaults to true.
|
|
33
|
+
*
|
|
34
|
+
* If retries are allowed, this will throw the final error from the final try.
|
|
20
35
|
*/
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
export declare type ValueTaskConfig<T = unknown> = Omit<PerformTaskConfig<T>, 'throwError'>;
|
|
24
|
-
export interface PerformTasksConfig<T = unknown> extends PerformTaskConfig<T> {
|
|
36
|
+
readonly throwError?: boolean;
|
|
25
37
|
/**
|
|
26
|
-
* Whether or not
|
|
38
|
+
* Whether or not retries are allowed. Defaults to false/0.
|
|
39
|
+
*/
|
|
40
|
+
readonly retriesAllowed?: number | false;
|
|
41
|
+
/**
|
|
42
|
+
* The amount of time to wait between retries. Defaults to 100 ms.
|
|
43
|
+
*/
|
|
44
|
+
readonly retryWait?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Optional function to use before a retry.
|
|
27
47
|
*/
|
|
28
|
-
|
|
48
|
+
readonly beforeRetry?: (value: I, tryNumber?: number) => void | Promise<void>;
|
|
29
49
|
}
|
|
30
|
-
export
|
|
31
|
-
|
|
50
|
+
export interface PerformAsyncTasksConfig<I = unknown> extends PerformAsyncTaskConfig<I>, Omit<PerformTasksInParallelFunctionConfig<I>, 'taskFactory'> {
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Performs the input tasks, and will retry tasks if they fail, up to a certain point.
|
|
54
|
+
*
|
|
55
|
+
* This is useful for retrying sections that may experience optimistic concurrency collisions.
|
|
56
|
+
*/
|
|
57
|
+
export declare function performAsyncTasks<I, O = unknown>(input: I[], taskFn: PromiseAsyncTaskFn<I, O>, config?: PerformAsyncTasksConfig<I>): Promise<PerformAsyncTasksResult<I, O>>;
|
|
58
|
+
export declare function performAsyncTask<O>(taskFn: () => Promise<O>, config?: PerformAsyncTaskConfig<0>): Promise<PerformAsyncTaskResult<O>>;
|
|
59
|
+
export interface PerformTasksInParallelFunctionConfig<I> {
|
|
32
60
|
/**
|
|
33
|
-
*
|
|
61
|
+
* Creates a promise from the input.
|
|
34
62
|
*/
|
|
35
|
-
|
|
63
|
+
readonly taskFactory: (input: I, value: IndexNumber) => Promise<void>;
|
|
36
64
|
/**
|
|
37
|
-
*
|
|
65
|
+
* Whether or not tasks are performed sequentially or if tasks are all done in "parellel".
|
|
38
66
|
*
|
|
39
|
-
*
|
|
40
|
-
* @param taskFn
|
|
41
|
-
* @param config
|
|
42
|
-
* @returns
|
|
67
|
+
* Is ignored if maxParallelTasks is set.
|
|
43
68
|
*/
|
|
44
|
-
|
|
69
|
+
readonly sequential?: boolean;
|
|
45
70
|
/**
|
|
46
|
-
*
|
|
47
|
-
|
|
48
|
-
|
|
71
|
+
* The maximum number of items to process in parallel. If there is no max, then all items will be processed in parallel.
|
|
72
|
+
*/
|
|
73
|
+
readonly maxParallelTasks?: number;
|
|
74
|
+
/**
|
|
75
|
+
* Optional amount of time to wait between each task.
|
|
49
76
|
*/
|
|
50
|
-
|
|
51
|
-
static performTask<O>(taskFn: () => Promise<O>, config?: PerformTaskConfig<0>): Promise<PerformTaskResult<O>>;
|
|
52
|
-
static _performTask<I, O>(value: I, taskFn: PromiseTaskFn<I, O>, { throwError, retriesAllowed, retryWait, beforeRetry }?: PerformTaskConfig<I>): Promise<[I, O, boolean]>;
|
|
77
|
+
readonly waitBetweenTasks?: Milliseconds;
|
|
53
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Function that awaits a promise generate from each of the input values.
|
|
81
|
+
*
|
|
82
|
+
* Will throw an error if any error is encountered as soon as it is encountered. No further tasks will be dispatched, but tasks that have already been dispatched will continue to run.
|
|
83
|
+
*/
|
|
84
|
+
export type PerformTasksInParallelFunction<I> = (input: I[]) => Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Convenience function for calling performTasksInParallelFunction() with the given input.
|
|
87
|
+
*
|
|
88
|
+
* @param input
|
|
89
|
+
* @param config
|
|
90
|
+
* @returns
|
|
91
|
+
*/
|
|
92
|
+
export declare function performTasksInParallel<I>(input: I[], config: PerformTasksInParallelFunctionConfig<I>): Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Creates a function that performs tasks in parallel.
|
|
95
|
+
*
|
|
96
|
+
* @param config
|
|
97
|
+
*/
|
|
98
|
+
export declare function performTasksInParallelFunction<I>(config: PerformTasksInParallelFunctionConfig<I>): PerformTasksInParallelFunction<I>;
|