@dereekb/util 7.6.0 → 7.8.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 CHANGED
@@ -2,6 +2,33 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [7.8.1](https://github.com/dereekb/dbx-components/compare/v7.8.0-dev...v7.8.1) (2022-06-10)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * useAsync typings fixes with Maybe ([68f38a4](https://github.com/dereekb/dbx-components/commit/68f38a46559e48c61e8449622e69f2e610aeb1b4))
11
+
12
+
13
+
14
+ # [7.8.0](https://github.com/dereekb/dbx-components/compare/v7.7.0-dev...v7.8.0) (2022-06-09)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * import path fixes ([0b72558](https://github.com/dereekb/dbx-components/commit/0b7255845e2502ed28d7f6b81711765acd72b452))
20
+
21
+
22
+
23
+ # [7.7.0](https://github.com/dereekb/dbx-components/compare/v7.6.0-dev...v7.7.0) (2022-06-09)
24
+
25
+
26
+ ### Features
27
+
28
+ * added UseAsync ([f52ff34](https://github.com/dereekb/dbx-components/commit/f52ff345621ecbcb4d6b0f2957dcd7f4f901ac3a))
29
+
30
+
31
+
5
32
  # [7.6.0](https://github.com/dereekb/dbx-components/compare/v7.5.0-dev...v7.6.0) (2022-06-09)
6
33
 
7
34
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/util",
3
- "version": "7.6.0",
3
+ "version": "7.8.1",
4
4
  "type": "commonjs",
5
5
  "exports": {
6
6
  ".": {
@@ -1,3 +1,4 @@
1
+ import { PromiseOrValue } from '../promise/promise';
1
2
  /**
2
3
  * Function that returns a value.
3
4
  */
@@ -18,6 +19,10 @@ export declare type FactoryWithRequiredInput<T, A> = (args: A) => T;
18
19
  * Either a Getter, or an instance of the item.
19
20
  */
20
21
  export declare type GetterOrValue<T> = T | Getter<T>;
22
+ /**
23
+ * A GetterOrValue returned from a Promise.
24
+ */
25
+ export declare type AsyncGetterOrValue<T> = GetterOrValue<PromiseOrValue<T>>;
21
26
  /**
22
27
  * Either a GetterWithInput, or a Getter.
23
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"getter.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/getter/getter.ts"],"names":[],"mappings":";;;AAqCA;;;;;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":";;;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,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,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,12 +1,11 @@
1
1
  import { GetterOrValue } from '../getter';
2
- import { PromiseOrValue } from './promise';
3
- export declare type UsePromiseUseFunction<I, O> = (value: I) => PromiseOrValue<O>;
2
+ import { UseAsync } from '../value';
4
3
  /**
5
- * Uses a value returned from a promise.
4
+ * Uses a cached promise value.
6
5
  */
7
- export declare type UsePromiseFunction<I> = <O>(useFn: UsePromiseUseFunction<I, O>) => Promise<O>;
6
+ export declare type UsePromiseFunction<I> = <O>(useFn: UseAsync<I, O>) => Promise<O>;
8
7
  /**
9
- * Creates a UsePromiseFactory.
8
+ * Creates a UsePromiseFunction.
10
9
  *
11
10
  * @param input
12
11
  * @returns
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.usePromise = void 0;
4
4
  const getter_1 = require("../getter");
5
5
  /**
6
- * Creates a UsePromiseFactory.
6
+ * Creates a UsePromiseFunction.
7
7
  *
8
8
  * @param input
9
9
  * @returns
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/use.ts"],"names":[],"mappings":";;;AAAA,sCAAoD;AAUpD;;;;;GAKG;AACH,SAAgB,UAAU,CAAI,KAAgC;IAC5D,MAAM,OAAO,GAAG,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC;IAChC,OAAO,CAAI,KAAkC,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAe,CAAC;AACxF,CAAC;AAHD,gCAGC"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/use.ts"],"names":[],"mappings":";;;AAAA,sCAAoD;AAQpD;;;;;GAKG;AACH,SAAgB,UAAU,CAAI,KAAgC;IAC5D,MAAM,OAAO,GAAG,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC;IAChC,OAAO,CAAI,KAAqB,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAe,CAAC;AAC3E,CAAC;AAHD,gCAGC"}
@@ -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"}
@@ -1,4 +1,5 @@
1
- import { GetterOrValue } from '../getter';
1
+ import { AsyncGetterOrValue, GetterOrValue } from '../getter';
2
+ import { PromiseOrValue } from '../promise/promise';
2
3
  import { MapFunction } from './map';
3
4
  import { Maybe } from './maybe.type';
4
5
  /**
@@ -24,3 +25,18 @@ export declare type UseContextFunction<I> = <O>(input: Maybe<I>) => Maybe<O>;
24
25
  * Creates a UseContextFunction.
25
26
  */
26
27
  export declare function useContextFunction<I, O>(use: UseValue<I, O>, defaultValue?: GetterOrValue<O>): UseContextFunction<I>;
28
+ /**
29
+ * A map function with the intent of using the input value, and returning another value as a promise.
30
+ */
31
+ export declare type UseAsync<I, O = void> = MapFunction<I, PromiseOrValue<O>>;
32
+ export declare function useAsync<I, O = void>(input: Maybe<I>, use: UseValue<I, O>, defaultValue?: Maybe<GetterOrValue<O>>): Promise<Maybe<O>>;
33
+ export declare type UseAsyncFunction<I> = MappedUseAsyncFunction<I, I>;
34
+ export declare type MappedUseAsyncFunction<A, I> = <O = void>(input: Maybe<A>, use: UseAsync<I, O>, defaultValue?: Maybe<AsyncGetterOrValue<O>>) => Promise<Maybe<O>>;
35
+ /**
36
+ * Creates a MappedUseFunction.
37
+ */
38
+ export declare function mappedUseAsyncFunction<A, I>(map: MapFunction<A, Maybe<PromiseOrValue<Maybe<I>>>>): MappedUseAsyncFunction<A, I>;
39
+ /**
40
+ * Wraps another MappedUseFunction or MappedUseAsyncFunction and maps the input values.
41
+ */
42
+ export declare function wrapUseAsyncFunction<A, B, I>(mappedUsePromiseFn: MappedUseAsyncFunction<A, B>, map: MapFunction<B, Maybe<PromiseOrValue<Maybe<I>>>>): MappedUseAsyncFunction<A, I>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useContextFunction = exports.wrapUseFunction = exports.mappedUseFunction = exports.useValue = void 0;
3
+ exports.wrapUseAsyncFunction = exports.mappedUseAsyncFunction = exports.useAsync = exports.useContextFunction = exports.wrapUseFunction = exports.mappedUseFunction = exports.useValue = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const getter_1 = require("../getter");
5
6
  function useValue(input, use, defaultValue) {
6
7
  let result;
@@ -45,4 +46,33 @@ function useContextFunction(use, defaultValue) {
45
46
  });
46
47
  }
47
48
  exports.useContextFunction = useContextFunction;
49
+ function useAsync(input, use, defaultValue) {
50
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
51
+ let result;
52
+ if (input != null) {
53
+ result = (yield use(input));
54
+ }
55
+ else {
56
+ result = yield (0, getter_1.getValueFromGetter)(defaultValue);
57
+ }
58
+ return result;
59
+ });
60
+ }
61
+ exports.useAsync = useAsync;
62
+ /**
63
+ * Creates a MappedUseFunction.
64
+ */
65
+ function mappedUseAsyncFunction(map) {
66
+ return wrapUseAsyncFunction(useAsync, map);
67
+ }
68
+ exports.mappedUseAsyncFunction = mappedUseAsyncFunction;
69
+ /**
70
+ * Wraps another MappedUseFunction or MappedUseAsyncFunction and maps the input values.
71
+ */
72
+ function wrapUseAsyncFunction(mappedUsePromiseFn, map) {
73
+ return ((input, useFn, defaultValue) => {
74
+ return mappedUsePromiseFn(input, ((value) => tslib_1.__awaiter(this, void 0, void 0, function* () { return useValue(yield map(value), useFn, defaultValue); })), defaultValue);
75
+ });
76
+ }
77
+ exports.wrapUseAsyncFunction = wrapUseAsyncFunction;
48
78
  //# sourceMappingURL=use.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/use.ts"],"names":[],"mappings":";;;AAAA,sCAA8D;AAU9D,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"}
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.8.1](https://github.com/dereekb/dbx-components/compare/v7.8.0-dev...v7.8.1) (2022-06-10)
6
+
7
+
8
+
9
+ # [7.8.0](https://github.com/dereekb/dbx-components/compare/v7.7.0-dev...v7.8.0) (2022-06-09)
10
+
11
+
12
+
13
+ # [7.7.0](https://github.com/dereekb/dbx-components/compare/v7.6.0-dev...v7.7.0) (2022-06-09)
14
+
15
+
16
+
5
17
  # [7.6.0](https://github.com/dereekb/dbx-components/compare/v7.5.0-dev...v7.6.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.6.0",
3
+ "version": "7.8.1",
4
4
  "main": "./src/index.js",
5
5
  "typings": "./src/index.d.ts",
6
6
  "dependencies": {},
7
7
  "peerDependencies": {
8
- "@dereekb/util": "7.6.0",
8
+ "@dereekb/util": "7.8.1",
9
9
  "make-error": "^1.3.0",
10
10
  "ts-essentials": "^9.1.2",
11
11
  "extra-set": "^2.2.11",