@dereekb/util 7.7.0 → 7.9.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.
Files changed (37) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/package.json +1 -1
  3. package/src/lib/array/array.factory.d.ts +23 -0
  4. package/src/lib/array/array.factory.js +25 -0
  5. package/src/lib/array/array.factory.js.map +1 -0
  6. package/src/lib/array/array.make.d.ts +19 -5
  7. package/src/lib/array/array.make.js +16 -10
  8. package/src/lib/array/array.make.js.map +1 -1
  9. package/src/lib/array/index.d.ts +1 -0
  10. package/src/lib/array/index.js +1 -0
  11. package/src/lib/array/index.js.map +1 -1
  12. package/src/lib/getter/getter.d.ts +10 -1
  13. package/src/lib/getter/getter.js +13 -1
  14. package/src/lib/getter/getter.js.map +1 -1
  15. package/src/lib/grouping.d.ts +29 -0
  16. package/src/lib/grouping.js +32 -1
  17. package/src/lib/grouping.js.map +1 -1
  18. package/src/lib/model/model.modify.d.ts +1 -2
  19. package/src/lib/model/model.modify.js.map +1 -1
  20. package/src/lib/number/factory.d.ts +1 -2
  21. package/src/lib/number/factory.js +2 -2
  22. package/src/lib/number/factory.js.map +1 -1
  23. package/src/lib/number/random.d.ts +9 -4
  24. package/src/lib/number/random.js +11 -5
  25. package/src/lib/number/random.js.map +1 -1
  26. package/src/lib/promise/poll.js +2 -2
  27. package/src/lib/promise/poll.js.map +1 -1
  28. package/src/lib/promise/promise.loop.d.ts +11 -1
  29. package/src/lib/promise/promise.loop.js +16 -1
  30. package/src/lib/promise/promise.loop.js.map +1 -1
  31. package/src/lib/service/handler.d.ts +1 -1
  32. package/src/lib/service/handler.js +4 -3
  33. package/src/lib/service/handler.js.map +1 -1
  34. package/src/lib/value/use.d.ts +2 -2
  35. package/src/lib/value/use.js.map +1 -1
  36. package/test/CHANGELOG.md +12 -0
  37. package/test/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,35 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [7.9.0](https://github.com/dereekb/dbx-components/compare/v7.8.1-dev...v7.9.0) (2022-06-11)
6
+
7
+
8
+ ### Features
9
+
10
+ * added arrayFactory() ([5a7ef13](https://github.com/dereekb/dbx-components/commit/5a7ef13116ebbacd8b7a9502e3298fd30708f944))
11
+ * added makeWithFactory() ([4a6f4a0](https://github.com/dereekb/dbx-components/commit/4a6f4a01a04e7800653bc942fe56b27ec457813e))
12
+ * added performBatchLoop() ([7c6c947](https://github.com/dereekb/dbx-components/commit/7c6c9475eacfd3cc7f153ef949fef1187925a8cb))
13
+
14
+
15
+
16
+ ## [7.8.1](https://github.com/dereekb/dbx-components/compare/v7.8.0-dev...v7.8.1) (2022-06-10)
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * useAsync typings fixes with Maybe ([68f38a4](https://github.com/dereekb/dbx-components/commit/68f38a46559e48c61e8449622e69f2e610aeb1b4))
22
+
23
+
24
+
25
+ # [7.8.0](https://github.com/dereekb/dbx-components/compare/v7.7.0-dev...v7.8.0) (2022-06-09)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * import path fixes ([0b72558](https://github.com/dereekb/dbx-components/commit/0b7255845e2502ed28d7f6b81711765acd72b452))
31
+
32
+
33
+
5
34
  # [7.7.0](https://github.com/dereekb/dbx-components/compare/v7.6.0-dev...v7.7.0) (2022-06-09)
6
35
 
7
36
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/util",
3
- "version": "7.7.0",
3
+ "version": "7.9.0",
4
4
  "type": "commonjs",
5
5
  "exports": {
6
6
  ".": {
@@ -0,0 +1,23 @@
1
+ import { Factory, FactoryWithIndex, FactoryWithRequiredInput } from '../getter/getter';
2
+ /**
3
+ * Factory that generates multiple values given a number of items to make.
4
+ */
5
+ export declare type ArrayFactory<T> = FactoryWithRequiredInput<T[], number>;
6
+ /**
7
+ * Factory that generates a value for each input value.
8
+ */
9
+ export declare type ArrayInputFactory<I, O> = FactoryWithRequiredInput<O[], I[]>;
10
+ /**
11
+ * Creates a new ArrayFactory.
12
+ *
13
+ * @param factory
14
+ * @returns
15
+ */
16
+ export declare function arrayFactory<T>(factory: Factory<T> | FactoryWithIndex<T>): ArrayFactory<T>;
17
+ /**
18
+ * Creates a ArrayInputFactory.
19
+ *
20
+ * @param factory
21
+ * @returns
22
+ */
23
+ export declare function arrayInputFactory<O, I>(factory: FactoryWithRequiredInput<O, I>): ArrayInputFactory<I, O>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrayInputFactory = exports.arrayFactory = void 0;
4
+ const getter_1 = require("../getter/getter");
5
+ /**
6
+ * Creates a new ArrayFactory.
7
+ *
8
+ * @param factory
9
+ * @returns
10
+ */
11
+ function arrayFactory(factory) {
12
+ return (count) => (0, getter_1.makeWithFactory)(factory, count);
13
+ }
14
+ exports.arrayFactory = arrayFactory;
15
+ /**
16
+ * Creates a ArrayInputFactory.
17
+ *
18
+ * @param factory
19
+ * @returns
20
+ */
21
+ function arrayInputFactory(factory) {
22
+ return (input) => (0, getter_1.makeWithFactoryInput)(factory, input);
23
+ }
24
+ exports.arrayInputFactory = arrayInputFactory;
25
+ //# sourceMappingURL=array.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.factory.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.factory.ts"],"names":[],"mappings":";;;AAAA,6CAA8H;AAY9H;;;;;GAKG;AACH,SAAgB,YAAY,CAAI,OAAyC;IACvE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,wBAAe,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC;AAFD,oCAEC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAO,OAAuC;IAC7E,OAAO,CAAC,KAAU,EAAE,EAAE,CAAC,IAAA,6BAAoB,EAAO,OAAO,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC;AAFD,8CAEC"}
@@ -1,22 +1,36 @@
1
- import { MakeRandomFunctionInput, RandomNumberFunction } from '../number/random';
1
+ import { FactoryWithInput } from '../getter';
2
+ import { RandomNumberFactoryInput, RandomNumberFactory } from '../number/random';
2
3
  export interface MakeArray<T> {
3
4
  count: number;
4
- make: (i: number) => T;
5
+ /**
6
+ * Makes an item
7
+ */
8
+ make: FactoryWithInput<T, number>;
5
9
  }
6
10
  /**
7
11
  * Makes an array of values of a certain length using a generator function.
8
12
  *
9
13
  * @param param0
10
14
  * @returns
15
+ *
16
+ * @deprecated use makeWithFactory instead.
11
17
  */
12
18
  export declare function makeArray<T>({ count, make }: MakeArray<T>): T[];
13
- export interface MakeArrayRandom<T> extends Omit<MakeArray<T>, 'count'> {
14
- random: RandomNumberFunction | MakeRandomFunctionInput;
19
+ export interface RandomArrayFactoryConfig<T> extends Omit<MakeArray<T>, 'count'> {
20
+ random: RandomNumberFactory | RandomNumberFactoryInput;
15
21
  }
22
+ /**
23
+ * Creates an array of a random size and values.
24
+ */
25
+ export declare type RandomArrayFactory<T> = FactoryWithInput<T[], number>;
16
26
  /**
17
27
  * Makes a function that generates arrays of a random length of a specific type.
18
28
  *
19
29
  * @param config
20
30
  * @returns
21
31
  */
22
- export declare function makeRandomArrayFn<T>(config: MakeArrayRandom<T>): () => T[];
32
+ export declare function randomArrayFactory<T>(config: RandomArrayFactoryConfig<T>): RandomArrayFactory<T>;
33
+ /**
34
+ * @deprecated Use randomArrayFactory instead.
35
+ */
36
+ export declare const makeRandomArrayFn: typeof randomArrayFactory;
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeRandomArrayFn = exports.makeArray = void 0;
3
+ exports.makeRandomArrayFn = exports.randomArrayFactory = exports.makeArray = void 0;
4
+ const getter_1 = require("../getter");
4
5
  const random_1 = require("../number/random");
6
+ const array_factory_1 = require("./array.factory");
5
7
  /**
6
8
  * Makes an array of values of a certain length using a generator function.
7
9
  *
8
10
  * @param param0
9
11
  * @returns
12
+ *
13
+ * @deprecated use makeWithFactory instead.
10
14
  */
11
15
  function makeArray({ count, make }) {
12
- const array = [];
13
- for (let i = 0; i < count; i += 1) {
14
- array.push(make(i));
15
- }
16
- return array;
16
+ return (0, getter_1.makeWithFactory)(make, count);
17
17
  }
18
18
  exports.makeArray = makeArray;
19
19
  /**
@@ -22,9 +22,15 @@ exports.makeArray = makeArray;
22
22
  * @param config
23
23
  * @returns
24
24
  */
25
- function makeRandomArrayFn(config) {
26
- const randomFn = typeof config.random === 'function' ? config.random : (0, random_1.makeRandomFunction)(config.random);
27
- return () => makeArray({ count: Math.abs(randomFn()), make: config.make });
25
+ function randomArrayFactory(config) {
26
+ const randomFn = typeof config.random === 'function' ? config.random : (0, random_1.randomNumberFactory)(config.random);
27
+ const nextRandomCount = () => Math.abs(randomFn());
28
+ const factory = (0, array_factory_1.arrayFactory)(config.make);
29
+ return (count = nextRandomCount()) => factory(count);
28
30
  }
29
- exports.makeRandomArrayFn = makeRandomArrayFn;
31
+ exports.randomArrayFactory = randomArrayFactory;
32
+ /**
33
+ * @deprecated Use randomArrayFactory instead.
34
+ */
35
+ exports.makeRandomArrayFn = randomArrayFactory;
30
36
  //# sourceMappingURL=array.make.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"array.make.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.make.ts"],"names":[],"mappings":";;;AAAA,6CAAqG;AAOrG;;;;;GAKG;AACH,SAAgB,SAAS,CAAI,EAAE,KAAK,EAAE,IAAI,EAAgB;IACxD,MAAM,KAAK,GAAQ,EAAE,CAAC;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE;QACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACrB;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AARD,8BAQC;AAMD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,MAA0B;IAC7D,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,2BAAkB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzG,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7E,CAAC;AAHD,8CAGC"}
1
+ {"version":3,"file":"array.make.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.make.ts"],"names":[],"mappings":";;;AAAA,sCAAuE;AACvE,6CAAsG;AACtG,mDAA+C;AAW/C;;;;;;;GAOG;AACH,SAAgB,SAAS,CAAI,EAAE,KAAK,EAAE,IAAI,EAAgB;IACxD,OAAO,IAAA,wBAAe,EAAC,IAAkB,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC;AAFD,8BAEC;AAYD;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAI,MAAmC;IACvE,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,4BAAmB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1G,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAA,4BAAY,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,CAAC,KAAK,GAAG,eAAe,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AALD,gDAKC;AAED;;GAEG;AACU,QAAA,iBAAiB,GAAG,kBAAkB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './array.boolean';
2
2
  export * from './array.filter';
3
+ export * from './array.factory';
3
4
  export * from './array.index';
4
5
  export * from './array.limit';
5
6
  export * from './array.make';
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./array.boolean"), exports);
5
5
  tslib_1.__exportStar(require("./array.filter"), exports);
6
+ tslib_1.__exportStar(require("./array.factory"), exports);
6
7
  tslib_1.__exportStar(require("./array.index"), exports);
7
8
  tslib_1.__exportStar(require("./array.limit"), exports);
8
9
  tslib_1.__exportStar(require("./array.make"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,yDAA+B;AAC/B,wDAA8B;AAC9B,wDAA8B;AAC9B,uDAA6B;AAC7B,sDAA4B;AAC5B,yDAA+B;AAC/B,sDAA4B;AAC5B,yDAA+B;AAC/B,kDAAwB;AACxB,yDAA+B;AAC/B,wDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,yDAA+B;AAC/B,0DAAgC;AAChC,wDAA8B;AAC9B,wDAA8B;AAC9B,uDAA6B;AAC7B,sDAA4B;AAC5B,yDAA+B;AAC/B,sDAA4B;AAC5B,yDAA+B;AAC/B,kDAAwB;AACxB,yDAA+B;AAC/B,wDAA8B"}
@@ -1,4 +1,6 @@
1
1
  import { PromiseOrValue } from '../promise/promise';
2
+ import { MapFunction } from '../value/map';
3
+ import { Maybe } from '../value/maybe.type';
2
4
  /**
3
5
  * Function that returns a value.
4
6
  */
@@ -14,7 +16,7 @@ export declare type FactoryWithInput<O, I> = (args?: I) => O;
14
16
  /**
15
17
  * Function that returns a value with a single argument.
16
18
  */
17
- export declare type FactoryWithRequiredInput<T, A> = (args: A) => T;
19
+ export declare type FactoryWithRequiredInput<T, A> = MapFunction<A, T>;
18
20
  /**
19
21
  * Either a Getter, or an instance of the item.
20
22
  */
@@ -64,3 +66,10 @@ export declare function asGetter<T>(input: GetterOrValue<T>): Getter<T>;
64
66
  * @returns
65
67
  */
66
68
  export declare function makeGetter<T>(input: T): Getter<T>;
69
+ /**
70
+ * A factory that can take in an index input optionally.
71
+ */
72
+ export declare type FactoryWithIndex<T> = FactoryWithInput<T, number> | FactoryWithRequiredInput<T, number>;
73
+ export declare function makeWithFactory<T>(factory: Factory<T> | FactoryWithIndex<T>, count: number): T[];
74
+ export declare function makeWithFactoryInput<T, A>(factory: FactoryWithInput<T, A>, input: Maybe<A>[]): T[];
75
+ export declare function makeWithFactoryInput<T, A>(factory: FactoryWithRequiredInput<T, A>, input: A[]): T[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeGetter = exports.asGetter = exports.getValueFromGetter = exports.isGetter = void 0;
3
+ exports.makeWithFactoryInput = exports.makeWithFactory = exports.makeGetter = exports.asGetter = exports.getValueFromGetter = exports.isGetter = void 0;
4
4
  /**
5
5
  * Returns true if the input object looks like a Getter (is a function).
6
6
  *
@@ -45,4 +45,16 @@ function makeGetter(input) {
45
45
  return () => input;
46
46
  }
47
47
  exports.makeGetter = makeGetter;
48
+ function makeWithFactory(factory, count) {
49
+ const results = [];
50
+ for (let i = 0; i < count; i += 1) {
51
+ results.push(factory(i));
52
+ }
53
+ return results;
54
+ }
55
+ exports.makeWithFactory = makeWithFactory;
56
+ function makeWithFactoryInput(factory, input) {
57
+ return input.map((x) => factory(x));
58
+ }
59
+ exports.makeWithFactoryInput = makeWithFactoryInput;
48
60
  //# sourceMappingURL=getter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getter.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/getter/getter.ts"],"names":[],"mappings":";;;AA4CA;;;;;GAKG;AACH,SAAgB,QAAQ,CAAc,KAAc;IAClD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAFD,4BAEC;AAaD,SAAgB,kBAAkB,CAAsB,KAAc,EAAE,IAAQ;IAC9E,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;KACpB;SAAM;QACL,OAAO,KAAU,CAAC;KACnB;AACH,CAAC;AAND,gDAMC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAI,KAAuB;IACjD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,OAAO,KAAkB,CAAC;KAC3B;SAAM;QACL,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;KAC1B;AACH,CAAC;AAND,4BAMC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAI,KAAQ;IACpC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;AACrB,CAAC;AAFD,gCAEC"}
1
+ {"version":3,"file":"getter.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/getter/getter.ts"],"names":[],"mappings":";;;AA8CA;;;;;GAKG;AACH,SAAgB,QAAQ,CAAc,KAAc;IAClD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAFD,4BAEC;AAaD,SAAgB,kBAAkB,CAAsB,KAAc,EAAE,IAAQ;IAC9E,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;KACpB;SAAM;QACL,OAAO,KAAU,CAAC;KACnB;AACH,CAAC;AAND,gDAMC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAI,KAAuB;IACjD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,OAAO,KAAkB,CAAC;KAC3B;SAAM;QACL,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;KAC1B;AACH,CAAC;AAND,4BAMC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAI,KAAQ;IACpC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;AACrB,CAAC;AAFD,gCAEC;AAOD,SAAgB,eAAe,CAAI,OAAyC,EAAE,KAAa;IACzF,MAAM,OAAO,GAAQ,EAAE,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE;QACjC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1B;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AARD,0CAQC;AAID,SAAgB,oBAAoB,CAAO,OAAuC,EAAE,KAAU;IAC5F,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAFD,oDAEC"}
@@ -42,6 +42,35 @@ export interface RestoreOrderParams<T, K extends number | string = number | stri
42
42
  * @returns
43
43
  */
44
44
  export declare function batch<T>(array: T[], batchSize: number): T[][];
45
+ export interface BatchCount {
46
+ /**
47
+ * Total number of items to make.
48
+ */
49
+ totalItems: number;
50
+ /**
51
+ * Size of each batch/expected max number of items to create per make call.
52
+ */
53
+ itemsPerBatch: number;
54
+ }
55
+ export interface BatchCalc extends BatchCount {
56
+ batchCount: number;
57
+ /**
58
+ * Total number of full batches.
59
+ */
60
+ fullBatchCount: number;
61
+ /**
62
+ * The number of items not in a full batch.
63
+ */
64
+ remainder: number;
65
+ }
66
+ /**
67
+ * Calculates a BatchCount given the input.
68
+ *
69
+ * @param input
70
+ * @returns
71
+ */
72
+ export declare function batchCalc(input: BatchCount): BatchCalc;
73
+ export declare function itemCountForBatchIndex(index: number, calc: BatchCalc): number;
45
74
  /**
46
75
  * Convenience function for calling restoreOrder with two arrays of values, instead of an array of keys and array of values.
47
76
  *
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeValuesGroupMap = exports.groupValues = exports.separateValues = exports.makeKeyPairs = exports.pairGroupValues = exports.arrayContentsDiffer = exports.restoreOrder = exports.restoreOrderWithValues = exports.batch = void 0;
3
+ exports.makeValuesGroupMap = exports.groupValues = exports.separateValues = exports.makeKeyPairs = exports.pairGroupValues = exports.arrayContentsDiffer = exports.restoreOrder = exports.restoreOrderWithValues = exports.itemCountForBatchIndex = exports.batchCalc = exports.batch = void 0;
4
4
  const object_1 = require("./object");
5
5
  // MARK: Functions
6
6
  /**
@@ -19,6 +19,37 @@ function batch(array, batchSize) {
19
19
  return batch;
20
20
  }
21
21
  exports.batch = batch;
22
+ /**
23
+ * Calculates a BatchCount given the input.
24
+ *
25
+ * @param input
26
+ * @returns
27
+ */
28
+ function batchCalc(input) {
29
+ const { totalItems: total, itemsPerBatch: batchSize } = input;
30
+ const batchCount = Math.ceil(total / batchSize);
31
+ const remainder = total % batchSize;
32
+ const fullBatchCount = remainder ? batchCount - 1 : batchCount;
33
+ return {
34
+ totalItems: input.totalItems,
35
+ itemsPerBatch: input.itemsPerBatch,
36
+ batchCount,
37
+ fullBatchCount,
38
+ remainder
39
+ };
40
+ }
41
+ exports.batchCalc = batchCalc;
42
+ function itemCountForBatchIndex(index, calc) {
43
+ let itemCount;
44
+ if (index < calc.fullBatchCount) {
45
+ itemCount = calc.itemsPerBatch;
46
+ }
47
+ else {
48
+ itemCount = calc.remainder;
49
+ }
50
+ return itemCount;
51
+ }
52
+ exports.itemCountForBatchIndex = itemCountForBatchIndex;
22
53
  /**
23
54
  * Convenience function for calling restoreOrder with two arrays of values, instead of an array of keys and array of values.
24
55
  *
@@ -1 +1 @@
1
- {"version":3,"file":"grouping.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/grouping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grouping.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/grouping.ts"],"names":[],"mappings":";;;AACA,qCAAuC;AA4CvC,kBAAkB;AAClB;;;;;;GAMG;AACH,SAAgB,KAAK,CAAI,KAAU,EAAE,SAAiB;IACpD,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,KAAW,CAAC,CAAC,CAAC,iCAAiC;IACjE,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;KACxC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AATD,sBASC;AAyBD;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,KAAiB;IACzC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;IACpC,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAE/D,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,UAAU;QACV,cAAc;QACd,SAAS;KACV,CAAC;AACJ,CAAC;AAbD,8BAaC;AAED,SAAgB,sBAAsB,CAAC,KAAa,EAAE,IAAe;IACnE,IAAI,SAAiB,CAAC;IAEtB,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE;QAC/B,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;KAChC;SAAM;QACL,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;KAC5B;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAVD,wDAUC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CAA2C,WAAgB,EAAE,MAAW,EAAE,MAAgC;IAC9I,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC3B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,YAAY,CAAC,SAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAJD,wDAIC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAA2C,SAAc,EAAE,MAAW,EAAE,EAAE,OAAO,EAAE,mBAAmB,GAAG,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,GAAG,KAAK,EAA4B;IAClN,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAmB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhF,MAAM,aAAa,GAAQ,IAAI,KAAK,EAAK,CAAC;IAC1C,MAAM,QAAQ,GAAQ,EAAE,CAAC;IAEzB,SAAS,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,GAAa,EAAE,EAAE;QAC/C,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEpC,SAAS,QAAQ;YACf,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,aAAa,CAAC,KAAK,CAAC,GAAG,QAAQ,EAAE,CAAC;SACnC;aAAM,IAAI,CAAC,eAAe,EAAE;YAC3B,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3B;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,2BAA2B;IAC1G,OAAO,MAAM,CAAC;AAChB,CAAC;AAvBD,oCAuBC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAA2C,IAAS,EAAE,EAAE,IAAS,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAsC;IACjK,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;QACzB,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAExD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,kDAAkD;YAClD,YAAY,GAAG,IAAI,CAAC;SACrB;aAAM;YACL,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE;gBAClC,sCAAsC;gBACtC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;oBACpB,YAAY,GAAG,IAAI,CAAC;oBACpB,MAAM;iBACP;aACF;SACF;KACF;SAAM;QACL,YAAY,GAAG,IAAI,CAAC,CAAC,wCAAwC;KAC9D;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAvBD,kDAuBC;AAED,SAAgB,eAAe,CAA2C,MAAW,EAAE,UAAiC;IACtH,MAAM,GAAG,GAAG,kBAAkB,CAAO,MAAM,EAAE,UAAU,CAAC,CAAC;IACzD,MAAM,KAAK,GAAU,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAQ,EAAE,CAAC;IAEzB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;QACrB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAClB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrB;aAAM;YACL,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACf;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,QAAQ;KACT,CAAC;AACJ,CAAC;AAjBD,0CAiBC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAiD,MAAW,EAAE,KAA4B;IACpH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAFD,oCAEC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAI,MAAW,EAAE,cAAiC;IAC9E,MAAM,MAAM,GAA0D,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;QAC9F,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE;KAC3B,CAAC;AACJ,CAAC;AATD,wCASC;AAUD,SAAgB,WAAW,CAA2C,MAAW,EAAE,UAAiC;IAClH,MAAM,GAAG,GAAG,kBAAkB,CAAO,MAAM,EAAE,UAAU,CAAC,CAAC;IACzD,OAAO,IAAA,oBAAW,EAAC,GAA4B,CAAC,CAAC;AACnD,CAAC;AAHD,kCAGC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAA2C,MAAW,EAAE,UAAiC;IACzH,MAAM,GAAG,GAAG,IAAI,GAAG,EAAiB,CAAC;IAErC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE3B,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACf;aAAM;YACL,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SACnB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAfD,gDAeC"}
@@ -1,6 +1,5 @@
1
- import { MaybeMap } from '@dereekb/util';
2
1
  import { ArrayOrValue } from '../array/array';
3
- import { Maybe } from '../value/maybe.type';
2
+ import { Maybe, MaybeMap } from '../value/maybe.type';
4
3
  import { ModifierFunction } from '../value/modifier';
5
4
  import { ModelMapFunction, ModelMapFunctions } from './model.conversion';
6
5
  export declare type ModelInputDataModifier<D extends object> = {
@@ -1 +1 @@
1
- {"version":3,"file":"model.modify.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/model/model.modify.ts"],"names":[],"mappings":";;;AACA,0CAAuD;AACvD,sDAAyD;AAEzD,gDAA0E;AAc1E,SAAgB,wBAAwB,CAAqC,KAA+C;IAC1H,MAAM,SAAS,GAAG,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC;IACjC,MAAM,aAAa,GAAG,IAAA,+BAAiB,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,IAAA,+BAAiB,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,IAAA,8BAAmB,EAAC,aAAa,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAA,8BAAmB,EAAC,cAAc,CAAC,CAAC;IAExD,OAAO;QACL,UAAU;QACV,WAAW;KACZ,CAAC;AACJ,CAAC;AAXD,4DAWC;AA0BD,SAAgB,uBAAuB,CAAqC,MAA2C;IACrH,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACpF,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC;IAClC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAExE,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAEpE,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,EAAE,EAAE,QAAQ;KACb,CAAC;AACJ,CAAC;AAZD,0DAYC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CAAqC,KAA6B,EAAE,WAAuC,EAAE,IAAI,GAAG,IAAI;IAC5J,OAAO,WAAW;QAChB,CAAC,CAAC,CAAC,KAAe,EAAE,MAA0B,EAAE,OAA0C,EAAE,EAAE;YAC1F,MAAM,UAAU,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,mBAAM,KAAK,EAAG,CAAC,CAAC,KAAK,CAAC;YAEhE,IAAI,UAAU,IAAI,IAAI,EAAE;gBACtB,WAAW,CAAC,UAAU,CAAC,CAAC;aACzB;YAED,OAAO,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACH,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC;AAZD,wDAYC"}
1
+ {"version":3,"file":"model.modify.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/model/model.modify.ts"],"names":[],"mappings":";;;AAAA,0CAAuD;AACvD,sDAAyD;AAEzD,gDAA0E;AAc1E,SAAgB,wBAAwB,CAAqC,KAA+C;IAC1H,MAAM,SAAS,GAAG,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC;IACjC,MAAM,aAAa,GAAG,IAAA,+BAAiB,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,IAAA,+BAAiB,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,IAAA,8BAAmB,EAAC,aAAa,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAA,8BAAmB,EAAC,cAAc,CAAC,CAAC;IAExD,OAAO;QACL,UAAU;QACV,WAAW;KACZ,CAAC;AACJ,CAAC;AAXD,4DAWC;AA0BD,SAAgB,uBAAuB,CAAqC,MAA2C;IACrH,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACpF,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC;IAClC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAExE,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAEpE,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,EAAE,EAAE,QAAQ;KACb,CAAC;AACJ,CAAC;AAZD,0DAYC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CAAqC,KAA6B,EAAE,WAAuC,EAAE,IAAI,GAAG,IAAI;IAC5J,OAAO,WAAW;QAChB,CAAC,CAAC,CAAC,KAAe,EAAE,MAA0B,EAAE,OAA0C,EAAE,EAAE;YAC1F,MAAM,UAAU,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,mBAAM,KAAK,EAAG,CAAC,CAAC,KAAK,CAAC;YAEhE,IAAI,UAAU,IAAI,IAAI,EAAE;gBACtB,WAAW,CAAC,UAAU,CAAC,CAAC;aACzB;YAED,OAAO,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACH,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC;AAZD,wDAYC"}
@@ -1,5 +1,4 @@
1
- import { GetterOrValue } from '@dereekb/util';
2
- import { Factory } from './../getter/getter';
1
+ import { Factory, GetterOrValue } from './../getter/getter';
3
2
  /**
4
3
  * incrementingNumberFactory() configuration.
5
4
  */
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.incrementingNumberFactory = void 0;
4
- const util_1 = require("@dereekb/util");
4
+ const getter_1 = require("./../getter/getter");
5
5
  /**
6
6
  * Creates a factory that returns increasing numbers.
7
7
  *
@@ -10,7 +10,7 @@ const util_1 = require("@dereekb/util");
10
10
  */
11
11
  function incrementingNumberFactory(config = {}) {
12
12
  const { startAt: initial, increaseBy: inputIncreaseBy } = config;
13
- const increaseBy = (0, util_1.asGetter)(inputIncreaseBy !== null && inputIncreaseBy !== void 0 ? inputIncreaseBy : 1);
13
+ const increaseBy = (0, getter_1.asGetter)(inputIncreaseBy !== null && inputIncreaseBy !== void 0 ? inputIncreaseBy : 1);
14
14
  let i = initial !== null && initial !== void 0 ? initial : 0;
15
15
  return () => {
16
16
  const x = i;
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/factory.ts"],"names":[],"mappings":";;;AAAA,wCAAwD;AAiBxD;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,SAA0C,EAAE;IACpF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IACjE,MAAM,UAAU,GAAG,IAAA,eAAQ,EAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,CAAC,CAAC,CAAC;IAElD,IAAI,CAAC,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,CAAC;IAErB,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC,IAAI,UAAU,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAXD,8DAWC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/factory.ts"],"names":[],"mappings":";;;AAAA,+CAAsE;AAgBtE;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,SAA0C,EAAE;IACpF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IACjE,MAAM,UAAU,GAAG,IAAA,iBAAQ,EAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,CAAC,CAAC,CAAC;IAElD,IAAI,CAAC,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,CAAC;IAErB,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC,IAAI,UAAU,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAXD,8DAWC"}
@@ -1,13 +1,18 @@
1
- export declare type RandomNumberFunction = () => number;
2
- export interface MakeRandomFunction {
1
+ import { Factory } from './../getter/getter';
2
+ export declare type RandomNumberFactory = Factory<number>;
3
+ export interface RandomNumberFactoryConfig {
3
4
  min?: number;
4
5
  max: number;
5
6
  }
6
- export declare type MakeRandomFunctionInput = number | MakeRandomFunction;
7
+ export declare type RandomNumberFactoryInput = number | RandomNumberFactoryConfig;
7
8
  /**
8
9
  * Used to generate a RandomNumberFunction that returns a number between the input and the maximum.
9
10
  *
10
11
  * @param maxOrArgs
11
12
  * @returns
12
13
  */
13
- export declare function makeRandomFunction(maxOrArgs: MakeRandomFunctionInput): RandomNumberFunction;
14
+ export declare function randomNumberFactory(maxOrArgs: RandomNumberFactoryInput): RandomNumberFactory;
15
+ /**
16
+ * @deprecated use randomNumberFactory() instead.
17
+ */
18
+ export declare const makeRandomFunction: typeof randomNumberFactory;
@@ -1,22 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeRandomFunction = void 0;
3
+ exports.makeRandomFunction = exports.randomNumberFactory = void 0;
4
4
  /**
5
5
  * Used to generate a RandomNumberFunction that returns a number between the input and the maximum.
6
6
  *
7
7
  * @param maxOrArgs
8
8
  * @returns
9
9
  */
10
- function makeRandomFunction(maxOrArgs) {
10
+ function randomNumberFactory(maxOrArgs) {
11
11
  const config = typeof maxOrArgs === 'number' ? { min: 0, max: maxOrArgs } : maxOrArgs;
12
12
  const { min, max } = config;
13
+ let fn;
13
14
  if (min != null) {
14
15
  const range = max - min;
15
- return () => Math.random() * range + min;
16
+ fn = () => Math.random() * range + min;
16
17
  }
17
18
  else {
18
- return () => Math.random() * max;
19
+ fn = () => Math.random() * max;
19
20
  }
21
+ return fn;
20
22
  }
21
- exports.makeRandomFunction = makeRandomFunction;
23
+ exports.randomNumberFactory = randomNumberFactory;
24
+ /**
25
+ * @deprecated use randomNumberFactory() instead.
26
+ */
27
+ exports.makeRandomFunction = randomNumberFactory;
22
28
  //# sourceMappingURL=random.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/random.ts"],"names":[],"mappings":";;;AASA;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,SAAkC;IACnE,MAAM,MAAM,GAAuB,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1G,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAE5B,IAAI,GAAG,IAAI,IAAI,EAAE;QACf,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;QACxB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC;KAC1C;SAAM;QACL,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;KAClC;AACH,CAAC;AAVD,gDAUC"}
1
+ {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/random.ts"],"names":[],"mappings":";;;AAWA;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,SAAmC;IACrE,MAAM,MAAM,GAA8B,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAuB,CAAC;IAE5B,IAAI,GAAG,IAAI,IAAI,EAAE;QACf,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;QACxB,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC;KACxC;SAAM;QACL,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;KAChC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAbD,kDAaC;AAED;;GAEG;AACU,QAAA,kBAAkB,GAAG,mBAAmB,CAAC"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.poll = void 0;
4
- const util_1 = require("@dereekb/util");
4
+ const promise_loop_1 = require("./promise.loop");
5
5
  const wait_1 = require("./wait");
6
6
  /**
7
7
  * Polls every number of ms to check that a condition has been met.
8
8
  */
9
9
  function poll({ check, wait = 250, timesToGiveup = Number.MAX_SAFE_INTEGER }) {
10
- return (0, util_1.performTaskLoop)({
10
+ return (0, promise_loop_1.performTaskLoop)({
11
11
  next: (i) => (i > 0 ? (0, wait_1.waitForMs)(wait) : Promise.resolve()),
12
12
  checkContinue: (_, i) => !check() && timesToGiveup > i
13
13
  });
@@ -1 +1 @@
1
- {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/poll.ts"],"names":[],"mappings":";;;AAAA,wCAAgD;AAChD,iCAAmC;AAiBnC;;GAEG;AACH,SAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,aAAa,GAAG,MAAM,CAAC,gBAAgB,EAAc;IAC7F,OAAO,IAAA,sBAAe,EAAC;QACrB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1D,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,aAAa,GAAG,CAAC;KACvD,CAAC,CAAC;AACL,CAAC;AALD,oBAKC"}
1
+ {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/poll.ts"],"names":[],"mappings":";;;AAAA,iDAAiD;AACjD,iCAAmC;AAiBnC;;GAEG;AACH,SAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,aAAa,GAAG,MAAM,CAAC,gBAAgB,EAAc;IAC7F,OAAO,IAAA,8BAAe,EAAC;QACrB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1D,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,aAAa,GAAG,CAAC;KACvD,CAAC,CAAC;AACL,CAAC;AALD,oBAKC"}
@@ -1,3 +1,4 @@
1
+ import { BatchCount } from '../grouping';
1
2
  import { Maybe } from '../value/maybe.type';
2
3
  export interface PerformTaskLoopConfig<O> {
3
4
  next: (i: number, prev: Maybe<O>) => Promise<O>;
@@ -21,8 +22,17 @@ export interface PerformTaskCountLoopWithInitConfig<O> extends Omit<PerformTaskL
21
22
  export declare function performTaskCountLoop<O>(config: PerformTaskCountLoopWithInitConfig<O>): Promise<O>;
22
23
  export declare function performTaskCountLoop<O>(config: PerformTaskCountLoopConfig<O>): Promise<Maybe<O>>;
23
24
  export declare function performTaskCountLoop(config: PerformTaskCountLoopConfig<void>): Promise<void>;
25
+ export declare type PerformMakeLoopFunction<O> = (i: number, made: O[]) => Promise<O>;
24
26
  export interface PerformMakeLoopConfig<O> {
25
- make: (i: number, made: O[]) => Promise<O>;
27
+ make: PerformMakeLoopFunction<O>;
26
28
  count: number;
27
29
  }
28
30
  export declare function performMakeLoop<O>(config: PerformMakeLoopConfig<O>): Promise<O[]>;
31
+ export declare type PerformBatchLoopFunction<O> = (itemsToMake: number, i: number, made: O[][]) => Promise<O[]>;
32
+ export interface PerformBatchLoopConfig<O> extends BatchCount {
33
+ /**
34
+ * Makes a certain number of items.
35
+ */
36
+ make: PerformBatchLoopFunction<O>;
37
+ }
38
+ export declare function performBatchLoop<O>(config: PerformBatchLoopConfig<O>): Promise<O[][]>;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.performMakeLoop = exports.performTaskCountLoop = exports.performTaskLoop = void 0;
3
+ exports.performBatchLoop = exports.performMakeLoop = exports.performTaskCountLoop = exports.performTaskLoop = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const grouping_1 = require("../grouping");
5
6
  function performTaskLoop(config) {
6
7
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
7
8
  let result;
@@ -41,4 +42,18 @@ function performMakeLoop(config) {
41
42
  });
42
43
  }
43
44
  exports.performMakeLoop = performMakeLoop;
45
+ function performBatchLoop(config) {
46
+ const { make } = config;
47
+ const calc = (0, grouping_1.batchCalc)(config);
48
+ const { batchCount } = calc;
49
+ return performMakeLoop({
50
+ count: batchCount,
51
+ make: (i, made) => tslib_1.__awaiter(this, void 0, void 0, function* () {
52
+ const itemsToMake = (0, grouping_1.itemCountForBatchIndex)(i, calc);
53
+ const batch = yield make(itemsToMake, i, made);
54
+ return batch;
55
+ })
56
+ });
57
+ }
58
+ exports.performBatchLoop = performBatchLoop;
44
59
  //# 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":";;;;AAkBA,SAAsB,eAAe,CAAI,MAAmE;;QAC1G,IAAI,MAAS,CAAC;QACd,MAAM,SAAS,GAAI,MAA2C,CAAC,SAAS,CAAC;QACzE,MAAM,SAAS,GAAG,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QAE3E,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,SAAS,GAAa,SAAS,CAAC;YACpC,IAAI,KAAc,CAAC;YAEnB,GAAG;gBACD,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAC5C,CAAC,IAAI,CAAC,CAAC;gBACP,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;aAC5C,QAAQ,KAAK,EAAE;YAEhB,MAAM,GAAG,SAAS,CAAC;SACpB;aAAM;YACL,MAAM,GAAG,SAAS,CAAC;SACpB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AAtBD,0CAsBC;AAcD,SAAgB,oBAAoB,CAAI,MAA6E;IACnH,OAAO,eAAe,CAAI,gCACrB,MAAM,KACT,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GACd,CAAC,CAAC;AACjC,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"}
1
+ {"version":3,"file":"promise.loop.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/promise.loop.ts"],"names":[],"mappings":";;;;AAAA,0CAAmF;AAmBnF,SAAsB,eAAe,CAAI,MAAmE;;QAC1G,IAAI,MAAS,CAAC;QACd,MAAM,SAAS,GAAI,MAA2C,CAAC,SAAS,CAAC;QACzE,MAAM,SAAS,GAAG,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QAE3E,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,SAAS,GAAa,SAAS,CAAC;YACpC,IAAI,KAAc,CAAC;YAEnB,GAAG;gBACD,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAC5C,CAAC,IAAI,CAAC,CAAC;gBACP,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;aAC5C,QAAQ,KAAK,EAAE;YAEhB,MAAM,GAAG,SAAS,CAAC;SACpB;aAAM;YACL,MAAM,GAAG,SAAS,CAAC;SACpB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AAtBD,0CAsBC;AAcD,SAAgB,oBAAoB,CAAI,MAA6E;IACnH,OAAO,eAAe,CAAI,gCACrB,MAAM,KACT,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GACd,CAAC,CAAC;AACjC,CAAC;AALD,oDAKC;AAUD,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;AAYD,SAAgB,gBAAgB,CAAI,MAAiC;IACnE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,MAAM,IAAI,GAAG,IAAA,oBAAS,EAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE5B,OAAO,eAAe,CAAC;QACrB,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,CAAO,CAAC,EAAE,IAAW,EAAE,EAAE;YAC7B,MAAM,WAAW,GAAG,IAAA,iCAAsB,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACpD,MAAM,KAAK,GAAQ,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC,CAAA;KACF,CAAC,CAAC;AACL,CAAC;AAbD,4CAaC"}
@@ -1,6 +1,6 @@
1
1
  import { PrimativeKey, ReadKeyFunction } from './../key';
2
2
  import { ArrayOrValue } from './../array/array';
3
- import { PromiseOrValue } from '@dereekb/util';
3
+ import { PromiseOrValue } from '../promise/promise';
4
4
  /**
5
5
  * Key used to signify
6
6
  */
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.catchAllHandlerKey = exports.makeHandler = exports.handlerFactory = exports.CATCH_ALL_HANDLE_RESULT_KEY = void 0;
4
- const util_1 = require("@dereekb/util");
4
+ const build_1 = require("../value/build");
5
+ const map_1 = require("../map/map");
5
6
  /**
6
7
  * Key used to signify
7
8
  */
@@ -15,14 +16,14 @@ function handlerFactory(readKey) {
15
16
  catchAll = handle;
16
17
  }
17
18
  else {
18
- (0, util_1.setKeysOnMap)(map, key, handle);
19
+ (0, map_1.setKeysOnMap)(map, key, handle);
19
20
  }
20
21
  };
21
22
  const bindSet = (bindTo, key, handle) => {
22
23
  const bindHandle = handle.bind(bindTo);
23
24
  set(key, bindHandle);
24
25
  };
25
- const fn = (0, util_1.build)({
26
+ const fn = (0, build_1.build)({
26
27
  base: ((value) => {
27
28
  var _a;
28
29
  const key = readKey(value);
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/service/handler.ts"],"names":[],"mappings":";;;AAEA,wCAA2E;AAE3E;;GAEG;AACU,QAAA,2BAA2B,GAAG,iCAAiC,CAAC;AA8C7E,SAAgB,cAAc,CAAqC,OAA8B;IAC/F,OAAO,GAAG,EAAE;QACV,IAAI,QAAmC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAyB,CAAC;QAE7C,MAAM,GAAG,GAAG,CAAC,GAAoB,EAAE,MAA0B,EAAE,EAAE;YAC/D,IAAI,GAAG,KAAK,mCAA2B,EAAE;gBACvC,QAAQ,GAAG,MAAM,CAAC;aACnB;iBAAM;gBACL,IAAA,mBAAY,EAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;aAChC;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,MAAe,EAAE,GAAoB,EAAE,MAA0B,EAAE,EAAE;YACpF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvB,CAAC,CAAC;QAEF,MAAM,EAAE,GAAG,IAAA,YAAK,EAAgB;YAC9B,IAAI,EAAE,CAAC,CAAC,KAAQ,EAAE,EAAE;;gBAClB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM,OAAO,GAAG,MAAA,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mCAAI,QAAQ,CAAC;gBACrE,IAAI,OAAO,GAA4B,KAAK,CAAC;gBAE7C,IAAI,OAAO,EAAE;oBACX,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;iBAC1B;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC,CAAkB;YACnB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;gBACX,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;gBACpB,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;gBACZ,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;YACtB,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC;AAvCD,wCAuCC;AAED,SAAgB,WAAW,CAAqC,OAA8B;IAC5F,OAAO,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;AACnC,CAAC;AAFD,kCAEC;AAED,SAAgB,kBAAkB;IAChC,OAAO,mCAA2B,CAAC;AACrC,CAAC;AAFD,gDAEC"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/service/handler.ts"],"names":[],"mappings":";;;AAEA,0CAAuC;AAGvC,oCAA0C;AAE1C;;GAEG;AACU,QAAA,2BAA2B,GAAG,iCAAiC,CAAC;AA8C7E,SAAgB,cAAc,CAAqC,OAA8B;IAC/F,OAAO,GAAG,EAAE;QACV,IAAI,QAAmC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAyB,CAAC;QAE7C,MAAM,GAAG,GAAG,CAAC,GAAoB,EAAE,MAA0B,EAAE,EAAE;YAC/D,IAAI,GAAG,KAAK,mCAA2B,EAAE;gBACvC,QAAQ,GAAG,MAAM,CAAC;aACnB;iBAAM;gBACL,IAAA,kBAAY,EAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;aAChC;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,MAAe,EAAE,GAAoB,EAAE,MAA0B,EAAE,EAAE;YACpF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvB,CAAC,CAAC;QAEF,MAAM,EAAE,GAAG,IAAA,aAAK,EAAgB;YAC9B,IAAI,EAAE,CAAC,CAAC,KAAQ,EAAE,EAAE;;gBAClB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM,OAAO,GAAG,MAAA,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mCAAI,QAAQ,CAAC;gBACrE,IAAI,OAAO,GAA4B,KAAK,CAAC;gBAE7C,IAAI,OAAO,EAAE;oBACX,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;iBAC1B;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC,CAAkB;YACnB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;gBACX,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;gBACpB,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;gBACZ,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;YACtB,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC;AAvCD,wCAuCC;AAED,SAAgB,WAAW,CAAqC,OAA8B;IAC5F,OAAO,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;AACnC,CAAC;AAFD,kCAEC;AAED,SAAgB,kBAAkB;IAChC,OAAO,mCAA2B,CAAC;AACrC,CAAC;AAFD,gDAEC"}
@@ -35,8 +35,8 @@ export declare type MappedUseAsyncFunction<A, I> = <O = void>(input: Maybe<A>, u
35
35
  /**
36
36
  * Creates a MappedUseFunction.
37
37
  */
38
- export declare function mappedUseAsyncFunction<A, I>(map: MapFunction<A, Maybe<PromiseOrValue<I>>>): MappedUseAsyncFunction<A, I>;
38
+ export declare function mappedUseAsyncFunction<A, I>(map: MapFunction<A, Maybe<PromiseOrValue<Maybe<I>>>>): MappedUseAsyncFunction<A, I>;
39
39
  /**
40
40
  * Wraps another MappedUseFunction or MappedUseAsyncFunction and maps the input values.
41
41
  */
42
- export declare function wrapUseAsyncFunction<A, B, I>(mappedUsePromiseFn: MappedUseAsyncFunction<A, B>, map: MapFunction<B, Maybe<PromiseOrValue<I>>>): MappedUseAsyncFunction<A, I>;
42
+ export declare function wrapUseAsyncFunction<A, B, I>(mappedUsePromiseFn: MappedUseAsyncFunction<A, B>, map: MapFunction<B, Maybe<PromiseOrValue<Maybe<I>>>>): MappedUseAsyncFunction<A, I>;
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/use.ts"],"names":[],"mappings":";;;;AAAA,sCAAkF;AAWlF,SAAgB,QAAQ,CAAc,KAAe,EAAE,GAAmB,EAAE,YAAsC;IAChH,IAAI,MAAgB,CAAC;IAErB,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,MAAM,GAAG,GAAG,CAAC,KAAK,CAAa,CAAC;KACjC;SAAM;QACL,MAAM,GAAG,IAAA,2BAAkB,EAAC,YAAY,CAAC,CAAC;KAC3C;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,4BAUC;AAKD;;GAEG;AACH,SAAgB,iBAAiB,CAAO,GAA6B;IACnE,OAAO,eAAe,CAAU,QAAe,EAAE,GAAU,CAAC,CAAC;AAC/D,CAAC;AAFD,8CAEC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAU,WAAoC,EAAE,GAA6B;IAC1G,OAAO,CAAC,CAAW,KAAe,EAAE,KAAqB,EAAE,YAAsC,EAAE,EAAE;QACnG,OAAO,WAAW,CAAI,KAAK,EAAE,CAAC,CAAC,KAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAmB,EAAE,YAAY,CAAC,CAAC;IAC1H,CAAC,CAA4B,CAAC;AAChC,CAAC;AAJD,0CAIC;AAOD;;GAEG;AACH,SAAgB,kBAAkB,CAAO,GAAmB,EAAE,YAA+B;IAC3F,OAAO,CAAC,CAAC,KAAe,EAAE,EAAE;QAC1B,IAAI,MAAgB,CAAC;QAErB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;SACrB;aAAM;YACL,MAAM,GAAG,IAAA,2BAAkB,EAAC,YAAY,CAAC,CAAC;SAC3C;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAA0B,CAAC;AAC9B,CAAC;AAZD,gDAYC;AAQD,SAAsB,QAAQ,CAAc,KAAe,EAAE,GAAmB,EAAE,YAAsC;;QACtH,IAAI,MAAgB,CAAC;QAErB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAa,CAAC;SACzC;aAAM;YACL,MAAM,GAAG,MAAM,IAAA,2BAAkB,EAAC,YAAY,CAAC,CAAC;SACjD;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AAVD,4BAUC;AAKD;;GAEG;AACH,SAAgB,sBAAsB,CAAO,GAA6C;IACxF,OAAO,oBAAoB,CAAU,QAAe,EAAE,GAAU,CAAC,CAAC;AACpE,CAAC;AAFD,wDAEC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAU,kBAAgD,EAAE,GAA6C;IAC3I,OAAO,CAAC,CAAW,KAAe,EAAE,KAAqB,EAAE,YAA2C,EAAE,EAAE;QACxG,OAAO,kBAAkB,CAAI,KAAK,EAAE,CAAC,CAAO,KAAQ,EAAE,EAAE,wDAAC,OAAA,QAAQ,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA,GAAA,CAAmB,EAAE,YAAY,CAAC,CAAC;IAC7I,CAAC,CAAiC,CAAC;AACrC,CAAC;AAJD,oDAIC"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/use.ts"],"names":[],"mappings":";;;;AAAA,sCAAkF;AAWlF,SAAgB,QAAQ,CAAc,KAAe,EAAE,GAAmB,EAAE,YAAsC;IAChH,IAAI,MAAgB,CAAC;IAErB,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,MAAM,GAAG,GAAG,CAAC,KAAK,CAAa,CAAC;KACjC;SAAM;QACL,MAAM,GAAG,IAAA,2BAAkB,EAAC,YAAY,CAAC,CAAC;KAC3C;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,4BAUC;AAKD;;GAEG;AACH,SAAgB,iBAAiB,CAAO,GAA6B;IACnE,OAAO,eAAe,CAAU,QAAe,EAAE,GAAU,CAAC,CAAC;AAC/D,CAAC;AAFD,8CAEC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAU,WAAoC,EAAE,GAA6B;IAC1G,OAAO,CAAC,CAAW,KAAe,EAAE,KAAqB,EAAE,YAAsC,EAAE,EAAE;QACnG,OAAO,WAAW,CAAI,KAAK,EAAE,CAAC,CAAC,KAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAmB,EAAE,YAAY,CAAC,CAAC;IAC1H,CAAC,CAA4B,CAAC;AAChC,CAAC;AAJD,0CAIC;AAOD;;GAEG;AACH,SAAgB,kBAAkB,CAAO,GAAmB,EAAE,YAA+B;IAC3F,OAAO,CAAC,CAAC,KAAe,EAAE,EAAE;QAC1B,IAAI,MAAgB,CAAC;QAErB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;SACrB;aAAM;YACL,MAAM,GAAG,IAAA,2BAAkB,EAAC,YAAY,CAAC,CAAC;SAC3C;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAA0B,CAAC;AAC9B,CAAC;AAZD,gDAYC;AAQD,SAAsB,QAAQ,CAAc,KAAe,EAAE,GAAmB,EAAE,YAAsC;;QACtH,IAAI,MAAgB,CAAC;QAErB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAa,CAAC;SACzC;aAAM;YACL,MAAM,GAAG,MAAM,IAAA,2BAAkB,EAAC,YAAY,CAAC,CAAC;SACjD;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AAVD,4BAUC;AAKD;;GAEG;AACH,SAAgB,sBAAsB,CAAO,GAAoD;IAC/F,OAAO,oBAAoB,CAAU,QAAe,EAAE,GAAU,CAAC,CAAC;AACpE,CAAC;AAFD,wDAEC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAU,kBAAgD,EAAE,GAAoD;IAClJ,OAAO,CAAC,CAAW,KAAe,EAAE,KAAqB,EAAE,YAA2C,EAAE,EAAE;QACxG,OAAO,kBAAkB,CAAI,KAAK,EAAE,CAAC,CAAO,KAAQ,EAAE,EAAE,wDAAC,OAAA,QAAQ,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA,GAAA,CAAmB,EAAE,YAAY,CAAC,CAAC;IAC7I,CAAC,CAAiC,CAAC;AACrC,CAAC;AAJD,oDAIC"}
package/test/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [7.9.0](https://github.com/dereekb/dbx-components/compare/v7.8.1-dev...v7.9.0) (2022-06-11)
6
+
7
+
8
+
9
+ ## [7.8.1](https://github.com/dereekb/dbx-components/compare/v7.8.0-dev...v7.8.1) (2022-06-10)
10
+
11
+
12
+
13
+ # [7.8.0](https://github.com/dereekb/dbx-components/compare/v7.7.0-dev...v7.8.0) (2022-06-09)
14
+
15
+
16
+
5
17
  # [7.7.0](https://github.com/dereekb/dbx-components/compare/v7.6.0-dev...v7.7.0) (2022-06-09)
6
18
 
7
19
 
package/test/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@dereekb/util/test",
3
- "version": "7.7.0",
3
+ "version": "7.9.0",
4
4
  "main": "./src/index.js",
5
5
  "typings": "./src/index.d.ts",
6
6
  "dependencies": {},
7
7
  "peerDependencies": {
8
- "@dereekb/util": "7.7.0",
8
+ "@dereekb/util": "7.9.0",
9
9
  "make-error": "^1.3.0",
10
10
  "ts-essentials": "^9.1.2",
11
11
  "extra-set": "^2.2.11",