@dereekb/util 9.12.1 → 9.12.2

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,15 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [9.12.2](https://github.com/dereekb/dbx-components/compare/v9.12.1-dev...v9.12.2) (2022-11-07)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * adding missing exports ([b2c6b0d](https://github.com/dereekb/dbx-components/commit/b2c6b0db82215a2d0600034f0361d7dc9edffb94))
11
+
12
+
13
+
5
14
  ## [9.12.1](https://github.com/dereekb/dbx-components/compare/v9.12.0-dev...v9.12.1) (2022-11-07)
6
15
 
7
16
 
@@ -2,6 +2,15 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [9.12.2](https://github.com/dereekb/dbx-components/compare/v9.12.1-dev...v9.12.2) (2022-11-07)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * adding missing exports ([b2c6b0d](https://github.com/dereekb/dbx-components/commit/b2c6b0db82215a2d0600034f0361d7dc9edffb94))
11
+
12
+
13
+
5
14
  ## [9.12.1](https://github.com/dereekb/dbx-components/compare/v9.12.0-dev...v9.12.1) (2022-11-07)
6
15
 
7
16
 
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@dereekb/util/fetch",
3
- "version": "9.12.1",
3
+ "version": "9.12.2",
4
4
  "main": "./src/index.js",
5
5
  "typings": "./src/index.d.ts",
6
6
  "dependencies": {},
7
7
  "peerDependencies": {
8
- "@dereekb/util": "9.12.1",
8
+ "@dereekb/util": "9.12.2",
9
9
  "lodash.isequal": "^4.5.0",
10
10
  "make-error": "^1.3.0",
11
11
  "class-validator": "^0.13.2",
12
12
  "ts-essentials": "^9.1.2",
13
13
  "extra-set": "^2.2.11",
14
+ "node-fetch": "~2.6.7",
14
15
  "tslib": "^2.0.0"
15
16
  }
16
17
  }
@@ -1,3 +1,7 @@
1
1
  export * from './error';
2
2
  export * from './fetch';
3
+ export * from './fetch.type';
3
4
  export * from './json';
5
+ export * from './provider';
6
+ export * from './timeout';
7
+ export * from './url';
@@ -3,5 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./error"), exports);
5
5
  tslib_1.__exportStar(require("./fetch"), exports);
6
+ tslib_1.__exportStar(require("./fetch.type"), exports);
6
7
  tslib_1.__exportStar(require("./json"), exports);
8
+ tslib_1.__exportStar(require("./provider"), exports);
9
+ tslib_1.__exportStar(require("./timeout"), exports);
10
+ tslib_1.__exportStar(require("./url"), exports);
7
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/fetch/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,kDAAwB;AACxB,iDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/fetch/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,kDAAwB;AACxB,uDAA6B;AAC7B,iDAAuB;AACvB,qDAA2B;AAC3B,oDAA0B;AAC1B,gDAAsB"}
@@ -1,4 +1,5 @@
1
1
  import { FetchMethod, ConfiguredFetch } from './fetch.type';
2
+ import { FetchURLInput } from './url';
2
3
  export declare type FetchJsonBody = string | object;
3
4
  /**
4
5
  * Converts the input to a JSON string, or undefined if not provided.
@@ -11,14 +12,15 @@ export interface FetchJsonInput extends Omit<RequestInit, 'body'> {
11
12
  method: FetchMethod;
12
13
  body?: FetchJsonBody;
13
14
  }
14
- export declare type FetchJsonMethodAndBodyFunction = <R>(url: URL | string, method: string, body?: FetchJsonBody) => Promise<R>;
15
- export declare type FetchJsonWithInputFunction = <R>(url: URL | string, input: FetchJsonInput) => Promise<R>;
15
+ export declare type FetchJsonGetFunction = <R>(url: FetchURLInput) => Promise<R>;
16
+ export declare type FetchJsonMethodAndBodyFunction = <R>(url: FetchURLInput, method: string, body?: FetchJsonBody) => Promise<R>;
17
+ export declare type FetchJsonWithInputFunction = <R>(url: FetchURLInput, input: FetchJsonInput) => Promise<R>;
16
18
  /**
17
19
  * Used to fetch from the input url and retrieve a JSON response.
18
20
  */
19
- export declare type FetchJsonFunction = FetchJsonMethodAndBodyFunction & FetchJsonWithInputFunction;
21
+ export declare type FetchJsonFunction = FetchJsonGetFunction & FetchJsonMethodAndBodyFunction & FetchJsonWithInputFunction;
20
22
  /**
21
23
  * Creates a FetchJsonFunction from the input ConfiguredFetch.
22
24
  */
23
25
  export declare function fetchJsonFunction(fetch: ConfiguredFetch): FetchJsonFunction;
24
- export declare function fetchJsonRequestInit(methodOrInput: string | FetchJsonInput, body?: FetchJsonBody): RequestInit;
26
+ export declare function fetchJsonRequestInit(methodOrInput?: string | FetchJsonInput, body?: FetchJsonBody): RequestInit;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fetchJsonRequestInit = exports.fetchJsonFunction = exports.fetchJsonBodyString = void 0;
4
+ const url_1 = require("./url");
4
5
  /**
5
6
  * Converts the input to a JSON string, or undefined if not provided.
6
7
  *
@@ -16,15 +17,21 @@ exports.fetchJsonBodyString = fetchJsonBodyString;
16
17
  */
17
18
  function fetchJsonFunction(fetch) {
18
19
  return (url, methodOrInput, body) => {
20
+ const requestUrl = (0, url_1.fetchURL)(url);
19
21
  const requestInit = fetchJsonRequestInit(methodOrInput, body);
20
- const response = fetch(url, requestInit);
22
+ const response = fetch(requestUrl, requestInit);
21
23
  return response.then((x) => x.json());
22
24
  };
23
25
  }
24
26
  exports.fetchJsonFunction = fetchJsonFunction;
25
- function fetchJsonRequestInit(methodOrInput, body) {
27
+ function fetchJsonRequestInit(methodOrInput = 'GET', body) {
26
28
  let config;
27
- if (typeof methodOrInput === 'string') {
29
+ if (methodOrInput === null) {
30
+ config = {
31
+ method: 'GET'
32
+ };
33
+ }
34
+ else if (typeof methodOrInput === 'string') {
28
35
  config = {
29
36
  method: methodOrInput,
30
37
  body
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../../../packages/util/fetch/src/lib/json.ts"],"names":[],"mappings":";;;AAIA;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,IAA+B;IACjE,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7F,CAAC;AAFD,kDAEC;AAeD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAsB;IACtD,OAAO,CAAC,GAAiB,EAAE,aAAsC,EAAE,IAAoB,EAAE,EAAE;QACzF,MAAM,WAAW,GAAG,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACzC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC;AAND,8CAMC;AAED,SAAgB,oBAAoB,CAAC,aAAsC,EAAE,IAAoB;IAC/F,IAAI,MAAsB,CAAC;IAE3B,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;QACrC,MAAM,GAAG;YACP,MAAM,EAAE,aAAa;YACrB,IAAI;SACL,CAAC;KACH;SAAM;QACL,MAAM,GAAG,aAAa,CAAC;KACxB;IAED,MAAM,WAAW,mCACZ,MAAM,KACT,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,GACvC,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAlBD,oDAkBC"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../../../packages/util/fetch/src/lib/json.ts"],"names":[],"mappings":";;;AACA,+BAAgD;AAIhD;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,IAA+B;IACjE,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7F,CAAC;AAFD,kDAEC;AAgBD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAsB;IACtD,OAAO,CAAC,GAAkB,EAAE,aAAuC,EAAE,IAAoB,EAAE,EAAE;QAC3F,MAAM,UAAU,GAAG,IAAA,cAAQ,EAAC,GAAG,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAChD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC;AAPD,8CAOC;AAED,SAAgB,oBAAoB,CAAC,gBAAyC,KAAK,EAAE,IAAoB;IACvG,IAAI,MAAsB,CAAC;IAE3B,IAAI,aAAa,KAAK,IAAI,EAAE;QAC1B,MAAM,GAAG;YACP,MAAM,EAAE,KAAK;SACd,CAAC;KACH;SAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;QAC5C,MAAM,GAAG;YACP,MAAM,EAAE,aAAa;YACrB,IAAI;SACL,CAAC;KACH;SAAM;QACL,MAAM,GAAG,aAAa,CAAC;KACxB;IAED,MAAM,WAAW,mCACZ,MAAM,KACT,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,GACvC,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAtBD,oDAsBC"}
@@ -0,0 +1,2 @@
1
+ import { FetchService } from './fetch';
2
+ export declare const nodeFetchService: FetchService;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nodeFetchService = void 0;
4
+ const fetch_1 = require("./fetch");
5
+ const node_fetch_1 = require("node-fetch");
6
+ exports.nodeFetchService = (0, fetch_1.fetchService)({
7
+ makeFetch: node_fetch_1.default,
8
+ makeRequest: (x, y) => new node_fetch_1.Request(x, y)
9
+ });
10
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../../../packages/util/fetch/src/lib/provider.ts"],"names":[],"mappings":";;;AAAA,mCAAqD;AACrD,2CAAsE;AAEzD,QAAA,gBAAgB,GAAiB,IAAA,oBAAY,EAAC;IACzD,SAAS,EAAE,oBAAY;IACvB,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,oBAAO,CAAC,CAAgB,EAAE,CAAgB,CAAQ;CAC9E,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { ArrayOrValue } from '@dereekb/util';
2
+ export declare type SimpleFetchURLInput = URL | string;
3
+ export interface FetchURLConfiguration {
4
+ /**
5
+ * Base URL to use
6
+ */
7
+ url: SimpleFetchURLInput;
8
+ /**
9
+ * Query parameters to append to the url.
10
+ */
11
+ queryParams?: FetchURLQueryParamsInput;
12
+ }
13
+ export declare type FetchURLInput = SimpleFetchURLInput | FetchURLConfiguration;
14
+ export declare function fetchURL(input: FetchURLInput): URL;
15
+ export declare function isURL(input: unknown): input is URL;
16
+ export declare function isURLSearchParams(input: unknown): input is URLSearchParams;
17
+ export declare type FetchURLQueryParamsInput = URLSearchParams | FetchURLSearchParamsObject | Iterable<FetchURLQueryKeyValueTuple> | string;
18
+ export declare type FetchURLQueryKeyValueTuple = [string, string];
19
+ export declare function queryParamsToSearchParams(input: FetchURLQueryParamsInput): URLSearchParams;
20
+ export declare type FetchURLSearchParamsObject = Record<string, ArrayOrValue<string>>;
21
+ export declare function fetchURLSearchParamsObjectToURLSearchParams(input: FetchURLSearchParamsObject): URLSearchParams;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchURLSearchParamsObjectToURLSearchParams = exports.queryParamsToSearchParams = exports.isURLSearchParams = exports.isURL = exports.fetchURL = void 0;
4
+ const util_1 = require("@dereekb/util");
5
+ function fetchURL(input) {
6
+ let url;
7
+ if (typeof input === 'string') {
8
+ url = new URL(input);
9
+ }
10
+ else if (isURL(input)) {
11
+ url = input;
12
+ }
13
+ else {
14
+ const baseUrl = fetchURL(input.url);
15
+ if (input.queryParams) {
16
+ const searchParams = queryParamsToSearchParams(input.queryParams);
17
+ url = new URL(`?${searchParams.toString()}`, baseUrl);
18
+ }
19
+ else {
20
+ url = baseUrl;
21
+ }
22
+ }
23
+ return url;
24
+ }
25
+ exports.fetchURL = fetchURL;
26
+ function isURL(input) {
27
+ return typeof input === 'object' && input instanceof URL;
28
+ }
29
+ exports.isURL = isURL;
30
+ function isURLSearchParams(input) {
31
+ return typeof input === 'object' && input instanceof URLSearchParams;
32
+ }
33
+ exports.isURLSearchParams = isURLSearchParams;
34
+ function queryParamsToSearchParams(input) {
35
+ if (isURLSearchParams(input)) {
36
+ // by url search params
37
+ return input;
38
+ }
39
+ else if ((0, util_1.isIterable)(input) || typeof input === 'string') {
40
+ // By tuples
41
+ return new URLSearchParams(input);
42
+ }
43
+ else {
44
+ return fetchURLSearchParamsObjectToURLSearchParams(input);
45
+ }
46
+ }
47
+ exports.queryParamsToSearchParams = queryParamsToSearchParams;
48
+ function fetchURLSearchParamsObjectToURLSearchParams(input) {
49
+ const paramTuples = [];
50
+ (0, util_1.forEachKeyValue)(input, {
51
+ forEach: (tuple) => {
52
+ const [key, values] = tuple;
53
+ (0, util_1.useIterableOrValue)(values, (x) => paramTuples.push([key, x]));
54
+ }
55
+ });
56
+ return new URLSearchParams(paramTuples);
57
+ }
58
+ exports.fetchURLSearchParamsObjectToURLSearchParams = fetchURLSearchParamsObjectToURLSearchParams;
59
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../../../packages/util/fetch/src/lib/url.ts"],"names":[],"mappings":";;;AAAA,wCAA8F;AAiB9F,SAAgB,QAAQ,CAAC,KAAoB;IAC3C,IAAI,GAAQ,CAAC;IAEb,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;KACtB;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;QACvB,GAAG,GAAG,KAAK,CAAC;KACb;SAAM;QACL,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,KAAK,CAAC,WAAW,EAAE;YACrB,MAAM,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAClE,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;SACvD;aAAM;YACL,GAAG,GAAG,OAAO,CAAC;SACf;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAnBD,4BAmBC;AAED,SAAgB,KAAK,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,GAAG,CAAC;AAC3D,CAAC;AAFD,sBAEC;AAED,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,eAAe,CAAC;AACvE,CAAC;AAFD,8CAEC;AAKD,SAAgB,yBAAyB,CAAC,KAA+B;IACvE,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE;QAC5B,uBAAuB;QACvB,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,IAAA,iBAAU,EAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACzD,YAAY;QACZ,OAAO,IAAI,eAAe,CAAC,KAA8C,CAAC,CAAC;KAC5E;SAAM;QACL,OAAO,2CAA2C,CAAC,KAAK,CAAC,CAAC;KAC3D;AACH,CAAC;AAVD,8DAUC;AAID,SAAgB,2CAA2C,CAAC,KAAiC;IAC3F,MAAM,WAAW,GAAuB,EAAE,CAAC;IAE3C,IAAA,sBAAe,EAAC,KAA6C,EAAE;QAC7D,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;YAC5B,IAAA,yBAAkB,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAXD,kGAWC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/util",
3
- "version": "9.12.1",
3
+ "version": "9.12.2",
4
4
  "type": "commonjs",
5
5
  "exports": {
6
6
  ".": {
@@ -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":"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"}
@@ -15,7 +15,7 @@ function asIterable(values, treatStringAsIterable) {
15
15
  exports.asIterable = asIterable;
16
16
  function iterableToArray(values, treatStringAsIterable) {
17
17
  let iterable;
18
- if (typeof values === 'string' && treatStringAsIterable) {
18
+ if (treatStringAsIterable && typeof values === 'string') {
19
19
  iterable = [values];
20
20
  }
21
21
  else if (isIterable(values)) {
@@ -1 +1 @@
1
- {"version":3,"file":"iterable.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/iterable/iterable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iterable.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/iterable/iterable.ts"],"names":[],"mappings":";;;AAUA,kBAAkB;AAClB,SAAgB,UAAU,CAAc,MAA0B,EAAE,qBAA+B;IACjG,IAAI,QAAqB,CAAC;IAE1B,IAAI,UAAU,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE;QAC7C,QAAQ,GAAG,MAAM,CAAC;KACnB;SAAM;QACL,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC;KACrB;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAVD,gCAUC;AAED,SAAgB,eAAe,CAAc,MAA0B,EAAE,qBAA+B;IACtG,IAAI,QAAkB,CAAC;IAEvB,IAAI,qBAAqB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QACvD,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC;KACrB;SAAM,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;QAC7B,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC/B;SAAM;QACL,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC;KACrB;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAZD,0CAYC;AAED;;;;;;;;GAQG;AACH,SAAgB,UAAU,CAAc,MAAe,EAAE,qBAAqB,GAAG,KAAK;IACpF,IAAI,MAAM,IAAK,MAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,EAAE;QAC/G,OAAO,IAAI,CAAC;KACb;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAND,gCAMC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAc,MAAmB;IAC9D,6DAA6D;IAC7D,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;QACtB,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAPD,0CAOC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAI,MAAmB;IAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,OAAO,KAAK,CAAC;KACd;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAND,wDAMC;AAED;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAI,MAAmB,EAAE,KAAa;IAC1E,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,EAAE;YACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;aAAM;YACL,MAAM;SACP;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,wDAYC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,MAAmB,EAAE,EAAsB;IAC9E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,EAAE,CAAC,KAAK,CAAC,CAAC;KACX;AACH,CAAC;AAJD,8CAIC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAI,MAAiC,EAAE,EAAsB,EAAE,qBAAqB,GAAG,KAAK;IAC5H,IAAI,MAAM,IAAI,IAAI,EAAE;QAClB,IAAI,UAAU,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE;YAC7C,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC/B;aAAM;YACL,EAAE,CAAC,MAAM,CAAC,CAAC;SACZ;KACF;AACH,CAAC;AARD,gDAQC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAI,MAAmB,EAAE,EAAyB;IAC9E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;YACb,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AARD,wCAQC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAI,MAAmB,EAAE,EAAyB;IAChF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AARD,4CAQC"}
@@ -1,4 +1,6 @@
1
1
  import { PrimativeKey, ReadKeyFunction, ReadMultipleKeysFunction } from '../key';
2
+ import { IterableOrValue } from '../iterable';
3
+ import { Maybe } from '../value/maybe.type';
2
4
  /**
3
5
  * Creates a map by reading keys from the input values. Values without a key are ignored.
4
6
  */
@@ -33,3 +35,20 @@ export declare function multiKeyValueMapFactory<T, K extends PrimativeKey = Prim
33
35
  * @returns
34
36
  */
35
37
  export declare function readMultipleKeysToMap<T, K extends PrimativeKey = PrimativeKey>(values: T[], read: ReadMultipleKeysFunction<T, K>): Map<K, T>;
38
+ /**
39
+ * Map with an array of values for a key.
40
+ */
41
+ export declare type MultiValueMap<T, K extends PrimativeKey = PrimativeKey> = Map<Maybe<K>, T[]>;
42
+ /**
43
+ * Interface for adding key/value pairs to a map that contains an array of values.
44
+ */
45
+ export interface MultiValueMapBuilder<T, K extends PrimativeKey = PrimativeKey> {
46
+ map(): MultiValueMap<T, K>;
47
+ add(key: Maybe<K>, value: IterableOrValue<T>): void;
48
+ }
49
+ /**
50
+ * Creates a new MultiValueMapBuilder
51
+ *
52
+ * @returns
53
+ */
54
+ export declare function multiValueMapBuilder<T, K extends PrimativeKey = PrimativeKey>(): MultiValueMapBuilder<T, K>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readMultipleKeysToMap = exports.multiKeyValueMapFactory = exports.readKeysToMap = exports.keyValueMapFactory = void 0;
3
+ exports.multiValueMapBuilder = exports.readMultipleKeysToMap = exports.multiKeyValueMapFactory = exports.readKeysToMap = exports.keyValueMapFactory = void 0;
4
+ const iterable_1 = require("../iterable");
4
5
  /**
5
6
  * Creates a KeyValueMapFactory with the input ReadKeyFunction.
6
7
  *
@@ -60,4 +61,25 @@ function readMultipleKeysToMap(values, read) {
60
61
  return multiKeyValueMapFactory(read)(values);
61
62
  }
62
63
  exports.readMultipleKeysToMap = readMultipleKeysToMap;
64
+ /**
65
+ * Creates a new MultiValueMapBuilder
66
+ *
67
+ * @returns
68
+ */
69
+ function multiValueMapBuilder() {
70
+ let map = new Map();
71
+ const builder = {
72
+ map: () => map,
73
+ add: (key, value) => {
74
+ let array = map.get(key);
75
+ if (array == null) {
76
+ array = [];
77
+ map.set(key, array);
78
+ }
79
+ (0, iterable_1.useIterableOrValue)(value, (x) => array.push(x));
80
+ }
81
+ };
82
+ return builder;
83
+ }
84
+ exports.multiValueMapBuilder = multiValueMapBuilder;
63
85
  //# sourceMappingURL=map.key.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map.key.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/map/map.key.ts"],"names":[],"mappings":";;;AAOA;;;;;GAKG;AACH,SAAgB,kBAAkB,CAA2C,IAA2B;IACtG,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAQ,CAAC;QAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,IAAI,GAAG,IAAI,IAAI,EAAE;gBACf,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aACjB;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAdD,gDAcC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAA2C,MAAW,EAAE,IAA2B;IAC9G,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAFD,sCAEC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CAA2C,IAAoC;IACpH,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAQ,CAAC;QAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;YACnB,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAXD,0DAWC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAA2C,MAAW,EAAE,IAAoC;IAC/H,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAFD,sDAEC"}
1
+ {"version":3,"file":"map.key.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/map/map.key.ts"],"names":[],"mappings":";;;AAGA,0CAAmF;AAQnF;;;;;GAKG;AACH,SAAgB,kBAAkB,CAA2C,IAA2B;IACtG,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAQ,CAAC;QAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,IAAI,GAAG,IAAI,IAAI,EAAE;gBACf,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aACjB;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAdD,gDAcC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAA2C,MAAW,EAAE,IAA2B;IAC9G,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAFD,sCAEC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CAA2C,IAAoC;IACpH,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAQ,CAAC;QAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;YACnB,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAXD,0DAWC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAA2C,MAAW,EAAE,IAAoC;IAC/H,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAFD,sDAEC;AAeD;;;;GAIG;AACH,SAAgB,oBAAoB;IAClC,IAAI,GAAG,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEnC,MAAM,OAAO,GAA+B;QAC1C,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG;QACd,GAAG,EAAE,CAAC,GAAa,EAAE,KAAyB,EAAE,EAAE;YAChD,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEzB,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjB,KAAK,GAAG,EAAE,CAAC;gBACX,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACrB;YAED,IAAA,6BAAkB,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAE,KAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAlBD,oDAkBC"}
package/test/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [9.12.2](https://github.com/dereekb/dbx-components/compare/v9.12.1-dev...v9.12.2) (2022-11-07)
6
+
7
+
8
+
5
9
  ## [9.12.1](https://github.com/dereekb/dbx-components/compare/v9.12.0-dev...v9.12.1) (2022-11-07)
6
10
 
7
11
 
package/test/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@dereekb/util/test",
3
- "version": "9.12.1",
3
+ "version": "9.12.2",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts",
7
7
  "dependencies": {},
8
8
  "peerDependencies": {
9
- "@dereekb/util": "9.12.1",
9
+ "@dereekb/util": "9.12.2",
10
10
  "lodash.isequal": "^4.5.0",
11
11
  "make-error": "^1.3.0",
12
12
  "class-validator": "^0.13.2",