@dereekb/util 9.12.1 → 9.12.3
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 +13 -0
- package/fetch/CHANGELOG.md +13 -0
- package/fetch/package.json +3 -2
- package/fetch/src/lib/index.d.ts +4 -0
- package/fetch/src/lib/index.js +4 -0
- package/fetch/src/lib/index.js.map +1 -1
- package/fetch/src/lib/json.d.ts +6 -4
- package/fetch/src/lib/json.js +10 -3
- package/fetch/src/lib/json.js.map +1 -1
- package/fetch/src/lib/provider.d.ts +2 -0
- package/fetch/src/lib/provider.js +10 -0
- package/fetch/src/lib/provider.js.map +1 -0
- package/fetch/src/lib/url.d.ts +33 -0
- package/fetch/src/lib/url.js +97 -0
- package/fetch/src/lib/url.js.map +1 -0
- package/package.json +1 -1
- package/src/lib/grouping.js.map +1 -1
- package/src/lib/iterable/iterable.js +1 -1
- package/src/lib/iterable/iterable.js.map +1 -1
- package/src/lib/map/map.key.d.ts +19 -0
- package/src/lib/map/map.key.js +23 -1
- package/src/lib/map/map.key.js.map +1 -1
- package/test/CHANGELOG.md +8 -0
- package/test/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [9.12.3](https://github.com/dereekb/dbx-components/compare/v9.12.2-dev...v9.12.3) (2022-11-07)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.12.2](https://github.com/dereekb/dbx-components/compare/v9.12.1-dev...v9.12.2) (2022-11-07)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* adding missing exports ([b2c6b0d](https://github.com/dereekb/dbx-components/commit/b2c6b0db82215a2d0600034f0361d7dc9edffb94))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
5
18
|
## [9.12.1](https://github.com/dereekb/dbx-components/compare/v9.12.0-dev...v9.12.1) (2022-11-07)
|
|
6
19
|
|
|
7
20
|
|
package/fetch/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [9.12.3](https://github.com/dereekb/dbx-components/compare/v9.12.2-dev...v9.12.3) (2022-11-07)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.12.2](https://github.com/dereekb/dbx-components/compare/v9.12.1-dev...v9.12.2) (2022-11-07)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* adding missing exports ([b2c6b0d](https://github.com/dereekb/dbx-components/commit/b2c6b0db82215a2d0600034f0361d7dc9edffb94))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
5
18
|
## [9.12.1](https://github.com/dereekb/dbx-components/compare/v9.12.0-dev...v9.12.1) (2022-11-07)
|
|
6
19
|
|
|
7
20
|
|
package/fetch/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/fetch",
|
|
3
|
-
"version": "9.12.
|
|
3
|
+
"version": "9.12.3",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"typings": "./src/index.d.ts",
|
|
6
6
|
"dependencies": {},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@dereekb/util": "9.12.
|
|
8
|
+
"@dereekb/util": "9.12.3",
|
|
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
|
}
|
package/fetch/src/lib/index.d.ts
CHANGED
package/fetch/src/lib/index.js
CHANGED
|
@@ -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"}
|
package/fetch/src/lib/json.d.ts
CHANGED
|
@@ -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
|
|
15
|
-
export declare type
|
|
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
|
|
26
|
+
export declare function fetchJsonRequestInit(methodOrInput?: string | FetchJsonInput, body?: FetchJsonBody): RequestInit;
|
package/fetch/src/lib/json.js
CHANGED
|
@@ -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(
|
|
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 (
|
|
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":";;;
|
|
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,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,33 @@
|
|
|
1
|
+
import { ArrayOrValue, Maybe } 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<FetchURLQueryKeyValueStringTuple> | Iterable<FetchURLQueryKeyValueTuple> | string;
|
|
18
|
+
export declare type FetchURLQueryKeyValueStringTuple = [string, string];
|
|
19
|
+
/**
|
|
20
|
+
* Converts the input
|
|
21
|
+
*
|
|
22
|
+
* @param input
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
export declare function fetchURLQueryKeyValueStringTuples(input: Iterable<FetchURLQueryKeyValueTuple>): FetchURLQueryKeyValueStringTuple[];
|
|
26
|
+
export declare type FetchURLQueryKeyValueTuple = [Maybe<FetchURLQueryKeyValueTupleKey>, Maybe<ArrayOrValue<Maybe<FetchURLQueryKeyValueTupleKeyValue>>>];
|
|
27
|
+
export declare type FetchURLQueryKeyValueTupleKey = string | number;
|
|
28
|
+
export declare type FetchURLQueryKeyValueTupleKeyValue = string | number | boolean;
|
|
29
|
+
export declare function queryParamsToSearchParams(input: FetchURLQueryParamsInput): URLSearchParams;
|
|
30
|
+
export declare type FetchURLSearchTupleValueKey = string | number;
|
|
31
|
+
export declare type FetchURLSearchTupleValue = string | number;
|
|
32
|
+
export declare type FetchURLSearchParamsObject = Partial<Record<FetchURLQueryKeyValueTupleKey, Maybe<ArrayOrValue<FetchURLQueryKeyValueTupleKeyValue>>>>;
|
|
33
|
+
export declare function fetchURLSearchParamsObjectToURLSearchParams(input: FetchURLSearchParamsObject): URLSearchParams;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchURLSearchParamsObjectToURLSearchParams = exports.queryParamsToSearchParams = exports.fetchURLQueryKeyValueStringTuples = 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
|
+
/**
|
|
35
|
+
* Converts the input
|
|
36
|
+
*
|
|
37
|
+
* @param input
|
|
38
|
+
* @returns
|
|
39
|
+
*/
|
|
40
|
+
function fetchURLQueryKeyValueStringTuples(input) {
|
|
41
|
+
const paramTuples = [];
|
|
42
|
+
(0, util_1.forEachInIterable)(input, (tuple) => {
|
|
43
|
+
const [key, values] = tuple;
|
|
44
|
+
// ignore null/undefined keys and values
|
|
45
|
+
if (key != null && values != null) {
|
|
46
|
+
const keyString = String(key);
|
|
47
|
+
(0, util_1.useIterableOrValue)(values, (value) => {
|
|
48
|
+
// ignore null/undefined values
|
|
49
|
+
if (value != null) {
|
|
50
|
+
paramTuples.push([keyString, String(value)]);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return paramTuples;
|
|
56
|
+
}
|
|
57
|
+
exports.fetchURLQueryKeyValueStringTuples = fetchURLQueryKeyValueStringTuples;
|
|
58
|
+
function queryParamsToSearchParams(input) {
|
|
59
|
+
let result;
|
|
60
|
+
if (isURLSearchParams(input)) {
|
|
61
|
+
// by url search params
|
|
62
|
+
result = input;
|
|
63
|
+
}
|
|
64
|
+
else if (typeof input === 'string') {
|
|
65
|
+
result = new URLSearchParams(input);
|
|
66
|
+
}
|
|
67
|
+
else if ((0, util_1.isIterable)(input)) {
|
|
68
|
+
// By tuples
|
|
69
|
+
result = new URLSearchParams(fetchURLQueryKeyValueStringTuples(input));
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
result = fetchURLSearchParamsObjectToURLSearchParams(input);
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
exports.queryParamsToSearchParams = queryParamsToSearchParams;
|
|
77
|
+
function fetchURLSearchParamsObjectToURLSearchParams(input) {
|
|
78
|
+
const paramTuples = [];
|
|
79
|
+
(0, util_1.forEachKeyValue)(input, {
|
|
80
|
+
forEach: (tuple) => {
|
|
81
|
+
const [key, values] = tuple;
|
|
82
|
+
// ignore null/undefined keys and values
|
|
83
|
+
if (key != null && values != null) {
|
|
84
|
+
const keyString = String(key);
|
|
85
|
+
(0, util_1.useIterableOrValue)(values, (x) => {
|
|
86
|
+
// ignore null/undefined values
|
|
87
|
+
if (x != null) {
|
|
88
|
+
paramTuples.push([keyString, String(x)]);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
return new URLSearchParams(paramTuples);
|
|
95
|
+
}
|
|
96
|
+
exports.fetchURLSearchParamsObjectToURLSearchParams = fetchURLSearchParamsObjectToURLSearchParams;
|
|
97
|
+
//# 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,wCAAqI;AAiBrI,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;;;;;GAKG;AACH,SAAgB,iCAAiC,CAAC,KAA2C;IAC3F,MAAM,WAAW,GAAuB,EAAE,CAAC;IAE3C,IAAA,wBAAiB,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QACjC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QAE5B,wCAAwC;QACxC,IAAI,GAAG,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE;YACjC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAA,yBAAkB,EAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnC,+BAA+B;gBAC/B,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC9C;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC;AAnBD,8EAmBC;AAMD,SAAgB,yBAAyB,CAAC,KAA+B;IACvE,IAAI,MAAuB,CAAC;IAE5B,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE;QAC5B,uBAAuB;QACvB,MAAM,GAAG,KAAK,CAAC;KAChB;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;KACrC;SAAM,IAAI,IAAA,iBAAU,EAAC,KAAK,CAAC,EAAE;QAC5B,YAAY;QACZ,MAAM,GAAG,IAAI,eAAe,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC,CAAC;KACxE;SAAM;QACL,MAAM,GAAG,2CAA2C,CAAC,KAAK,CAAC,CAAC;KAC7D;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhBD,8DAgBC;AAMD,SAAgB,2CAA2C,CAAC,KAAiC;IAC3F,MAAM,WAAW,GAAuB,EAAE,CAAC;IAE3C,IAAA,sBAAe,EAAC,KAAmC,EAAE;QACnD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;YAE5B,wCAAwC;YACxC,IAAI,GAAG,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE;gBACjC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAE9B,IAAA,yBAAkB,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;oBAC/B,+BAA+B;oBAC/B,IAAI,CAAC,IAAI,IAAI,EAAE;wBACb,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC1C;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAtBD,kGAsBC"}
|
package/package.json
CHANGED
package/src/lib/grouping.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grouping.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/grouping.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"grouping.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/grouping.ts"],"names":[],"mappings":";;;AAEA,qCAAuC;AA6CvC,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,cAAmC;IAChF,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"}
|
|
@@ -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'
|
|
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":";;;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,OAAO,MAAM,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"iterable.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/iterable/iterable.ts"],"names":[],"mappings":"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"}
|
package/src/lib/map/map.key.d.ts
CHANGED
|
@@ -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>;
|
package/src/lib/map/map.key.js
CHANGED
|
@@ -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":";;;
|
|
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,14 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [9.12.3](https://github.com/dereekb/dbx-components/compare/v9.12.2-dev...v9.12.3) (2022-11-07)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.12.2](https://github.com/dereekb/dbx-components/compare/v9.12.1-dev...v9.12.2) (2022-11-07)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
5
13
|
## [9.12.1](https://github.com/dereekb/dbx-components/compare/v9.12.0-dev...v9.12.1) (2022-11-07)
|
|
6
14
|
|
|
7
15
|
|
package/test/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/test",
|
|
3
|
-
"version": "9.12.
|
|
3
|
+
"version": "9.12.3",
|
|
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.
|
|
9
|
+
"@dereekb/util": "9.12.3",
|
|
10
10
|
"lodash.isequal": "^4.5.0",
|
|
11
11
|
"make-error": "^1.3.0",
|
|
12
12
|
"class-validator": "^0.13.2",
|