@dereekb/util 9.23.6 → 9.23.7
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 +4 -0
- package/fetch/CHANGELOG.md +4 -0
- package/fetch/package.json +2 -2
- package/package.json +1 -1
- package/src/lib/array/array.d.ts +0 -6
- package/src/lib/array/array.js +1 -12
- package/src/lib/array/array.js.map +1 -1
- package/src/lib/array/array.random.d.ts +30 -0
- package/src/lib/array/array.random.js +48 -0
- package/src/lib/array/array.random.js.map +1 -0
- package/src/lib/array/array.string.js +1 -1
- package/src/lib/array/array.string.js.map +1 -1
- package/src/lib/array/array.unique.d.ts +29 -6
- package/src/lib/array/array.unique.js +55 -17
- package/src/lib/array/array.unique.js.map +1 -1
- package/src/lib/array/index.d.ts +1 -0
- package/src/lib/array/index.js +1 -0
- package/src/lib/array/index.js.map +1 -1
- package/src/lib/model/id.batch.d.ts +13 -6
- package/src/lib/model/id.batch.js +3 -3
- package/src/lib/model/id.batch.js.map +1 -1
- package/src/lib/model/model.js +2 -2
- package/src/lib/model/model.js.map +1 -1
- package/src/lib/relation/relation.js +1 -1
- package/src/lib/relation/relation.js.map +1 -1
- package/test/CHANGELOG.md +4 -0
- package/test/package.json +2 -2
package/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.23.7](https://github.com/dereekb/dbx-components/compare/v9.23.6-dev...v9.23.7) (2023-04-10)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [9.23.6](https://github.com/dereekb/dbx-components/compare/v9.23.5-dev...v9.23.6) (2023-04-09)
|
|
6
10
|
|
|
7
11
|
|
package/fetch/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.23.7](https://github.com/dereekb/dbx-components/compare/v9.23.6-dev...v9.23.7) (2023-04-10)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [9.23.6](https://github.com/dereekb/dbx-components/compare/v9.23.5-dev...v9.23.6) (2023-04-09)
|
|
6
10
|
|
|
7
11
|
|
package/fetch/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/fetch",
|
|
3
|
-
"version": "9.23.
|
|
3
|
+
"version": "9.23.7",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"types": "./src/index.d.ts",
|
|
6
6
|
"dependencies": {},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@dereekb/util": "9.23.
|
|
8
|
+
"@dereekb/util": "9.23.7",
|
|
9
9
|
"lodash.isequal": "^4.5.0",
|
|
10
10
|
"make-error": "^1.3.0",
|
|
11
11
|
"class-validator": "^0.13.2",
|
package/package.json
CHANGED
package/src/lib/array/array.d.ts
CHANGED
|
@@ -95,12 +95,6 @@ export declare function takeFront<T>(values: T[], maxToTake: number): T[];
|
|
|
95
95
|
* @returns New array with the subset of taken values.
|
|
96
96
|
*/
|
|
97
97
|
export declare function takeLast<T>(values: T[], maxToTake: number, keepFromFront?: number): T[];
|
|
98
|
-
/**
|
|
99
|
-
* Picks an item randomly from the input array. If the array is empty, returns undefined.
|
|
100
|
-
*
|
|
101
|
-
* @param values
|
|
102
|
-
*/
|
|
103
|
-
export declare function pickOneRandomly<T>(values: T[]): T;
|
|
104
98
|
/**
|
|
105
99
|
* Performs forEach with the input array and returns the array.
|
|
106
100
|
*
|
package/src/lib/array/array.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.forEachWithArray = exports.
|
|
3
|
+
exports.forEachWithArray = exports.takeLast = exports.takeFront = exports.mergeArrayIntoArray = exports.mergeArrayOrValueIntoArray = exports.mergeIntoArray = exports.mergeArrays = exports.pushElementOntoArray = exports.copyArray = exports.flattenArrayOrValueArray = exports.flattenArray = exports.concatArrays = exports.valueAtIndex = exports.firstAndLastValue = exports.lastValue = exports.firstValue = exports.convertToArray = exports.asArray = exports.convertMaybeToArray = void 0;
|
|
4
4
|
// MARK: Functions
|
|
5
5
|
/**
|
|
6
6
|
* Converts the input value to an array containing itself, or returns itself if it is an array.
|
|
@@ -196,17 +196,6 @@ function takeLast(values, maxToTake, keepFromFront = 0) {
|
|
|
196
196
|
return results;
|
|
197
197
|
}
|
|
198
198
|
exports.takeLast = takeLast;
|
|
199
|
-
/**
|
|
200
|
-
* Picks an item randomly from the input array. If the array is empty, returns undefined.
|
|
201
|
-
*
|
|
202
|
-
* @param values
|
|
203
|
-
*/
|
|
204
|
-
function pickOneRandomly(values) {
|
|
205
|
-
const random = Math.random();
|
|
206
|
-
const index = Math.round(random * (values.length - 1));
|
|
207
|
-
return values[index];
|
|
208
|
-
}
|
|
209
|
-
exports.pickOneRandomly = pickOneRandomly;
|
|
210
199
|
/**
|
|
211
200
|
* Performs forEach with the input array and returns the array.
|
|
212
201
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IndexNumber } from '../value/index';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a random value from the pre-configured values array.
|
|
4
|
+
*/
|
|
5
|
+
export declare type RandomPickFactory<T> = (() => T) & {
|
|
6
|
+
/**
|
|
7
|
+
* Array of all pickable values within this factory.
|
|
8
|
+
*/
|
|
9
|
+
readonly _values: T[];
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Creates a RandomPickFactory<T> from the input values.
|
|
13
|
+
*
|
|
14
|
+
* @param values
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
export declare function randomPickFactory<T>(values: T[]): RandomPickFactory<T>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns a random index from the input values.
|
|
20
|
+
*
|
|
21
|
+
* @param values
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
export declare function randomArrayIndex<T>(values: T[]): IndexNumber;
|
|
25
|
+
/**
|
|
26
|
+
* Picks an item randomly from the input array. If the array is empty, returns undefined.
|
|
27
|
+
*
|
|
28
|
+
* @param values
|
|
29
|
+
*/
|
|
30
|
+
export declare function pickOneRandomly<T>(values: T[]): T;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pickOneRandomly = exports.randomArrayIndex = exports.randomPickFactory = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Creates a RandomPickFactory<T> from the input values.
|
|
6
|
+
*
|
|
7
|
+
* @param values
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
function randomPickFactory(values) {
|
|
11
|
+
if (values.length === 0) {
|
|
12
|
+
throw new Error('randomPickFactory() cannot use an empty array.');
|
|
13
|
+
}
|
|
14
|
+
const fn = (() => {
|
|
15
|
+
const index = randomArrayIndex(values);
|
|
16
|
+
return values[index];
|
|
17
|
+
});
|
|
18
|
+
fn._values = values;
|
|
19
|
+
return fn;
|
|
20
|
+
}
|
|
21
|
+
exports.randomPickFactory = randomPickFactory;
|
|
22
|
+
/**
|
|
23
|
+
* Returns a random index from the input values.
|
|
24
|
+
*
|
|
25
|
+
* @param values
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
28
|
+
function randomArrayIndex(values) {
|
|
29
|
+
if (values.length === 0) {
|
|
30
|
+
return 0;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
const random = Math.random();
|
|
34
|
+
const index = Math.round(random * (values.length - 1));
|
|
35
|
+
return index;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.randomArrayIndex = randomArrayIndex;
|
|
39
|
+
/**
|
|
40
|
+
* Picks an item randomly from the input array. If the array is empty, returns undefined.
|
|
41
|
+
*
|
|
42
|
+
* @param values
|
|
43
|
+
*/
|
|
44
|
+
function pickOneRandomly(values) {
|
|
45
|
+
return randomPickFactory(values)();
|
|
46
|
+
}
|
|
47
|
+
exports.pickOneRandomly = pickOneRandomly;
|
|
48
|
+
//# sourceMappingURL=array.random.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.random.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.random.ts"],"names":[],"mappings":";;;AAaA;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,MAAW;IAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;IAED,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;QACf,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAyB,CAAC;IAC1B,EAAyC,CAAC,OAAO,GAAG,MAAM,CAAC;IAC5D,OAAO,EAAE,CAAC;AACZ,CAAC;AAXD,8CAWC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAI,MAAW;IAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,CAAC,CAAC;KACV;SAAM;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AARD,4CAQC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAI,MAAW;IAC5C,OAAO,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;AACrC,CAAC;AAFD,0CAEC"}
|
|
@@ -42,7 +42,7 @@ function flattenArrayUniqueCaseInsensitiveStrings(array) {
|
|
|
42
42
|
}
|
|
43
43
|
exports.flattenArrayUniqueCaseInsensitiveStrings = flattenArrayUniqueCaseInsensitiveStrings;
|
|
44
44
|
function findUniqueCaseInsensitiveStrings(models, readKey, additionalKeys = []) {
|
|
45
|
-
return (0, array_unique_1.
|
|
45
|
+
return (0, array_unique_1.filterUniqueValues)(models, (x) => (0, string_1.caseInsensitiveString)(readKey(x)), toCaseInsensitiveStringArray(additionalKeys));
|
|
46
46
|
}
|
|
47
47
|
exports.findUniqueCaseInsensitiveStrings = findUniqueCaseInsensitiveStrings;
|
|
48
48
|
function containsStringAnyCase(values, valueToFind) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.string.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.string.ts"],"names":[],"mappings":";;;AAAA,mCAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"array.string.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.string.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,19 +2,42 @@ import { PrimativeKey, ReadKeyFunction } from '../key';
|
|
|
2
2
|
import { Maybe } from '../value/maybe.type';
|
|
3
3
|
export declare function concatArraysUnique<T extends PrimativeKey = PrimativeKey>(...arrays: Maybe<T[]>[]): T[];
|
|
4
4
|
export declare function flattenArrayUnique<T extends PrimativeKey = PrimativeKey>(array: T[][]): T[];
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Filters the input values and only returns unique values.
|
|
7
|
+
*
|
|
8
|
+
* @param values
|
|
9
|
+
* @param exclude
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export declare function unique<T extends PrimativeKey = PrimativeKey>(values: T[], excludeInput?: FilterUniqueFunctionExcludeKeysInput<T, T>): T[];
|
|
7
13
|
/**
|
|
8
14
|
* Finds unique values in the input.
|
|
9
15
|
*
|
|
10
|
-
* Can also specify additional
|
|
16
|
+
* Can also specify additional values to exclude.
|
|
11
17
|
*/
|
|
12
|
-
export declare type
|
|
18
|
+
export declare type FilterUniqueFunction<T, K extends PrimativeKey = PrimativeKey> = (input: T[], exclude?: FilterUniqueFunctionExcludeKeysInput<T, K>) => T[];
|
|
19
|
+
export declare type FilterUniqueFunctionAdditionalKeysInput<T, K extends PrimativeKey = PrimativeKey> = K[] | FilterUniqueFunctionAdditionalKeys<T, K>;
|
|
20
|
+
export declare type FilterUniqueFunctionExcludeKeysInput<T, K extends PrimativeKey = PrimativeKey> = T[] | FilterUniqueFunctionAdditionalKeys<T, K>;
|
|
21
|
+
export interface FilterUniqueFunctionAdditionalKeys<T, K extends PrimativeKey = PrimativeKey> {
|
|
22
|
+
readonly keys?: Maybe<K[]>;
|
|
23
|
+
readonly values?: Maybe<T[]>;
|
|
24
|
+
}
|
|
25
|
+
export declare function readKeysFromFilterUniqueFunctionAdditionalKeysInput<T, K extends PrimativeKey = PrimativeKey>(additionalKeysInput: Maybe<FilterUniqueFunctionAdditionalKeysInput<T, K>>, readKey: ReadKeyFunction<T, K>): K[];
|
|
26
|
+
export declare function readKeysFromFilterUniqueFunctionAdditionalKeys<T, K extends PrimativeKey = PrimativeKey>(input: FilterUniqueFunctionAdditionalKeys<T, K>, readKey: ReadKeyFunction<T, K>): Maybe<K>[];
|
|
13
27
|
/**
|
|
14
|
-
* Creates a
|
|
28
|
+
* Creates a FilterUniqueFunction.
|
|
15
29
|
*
|
|
16
30
|
* @param readKey
|
|
17
31
|
* @param additionalKeys
|
|
18
32
|
* @returns
|
|
19
33
|
*/
|
|
20
|
-
export declare function
|
|
34
|
+
export declare function filterUniqueFunction<T, K extends PrimativeKey = PrimativeKey>(readKey: ReadKeyFunction<T, K>, additionalKeysInput?: FilterUniqueFunctionAdditionalKeysInput<T, K>): FilterUniqueFunction<T, K>;
|
|
35
|
+
export declare function filterUniqueValues<T, K extends PrimativeKey = PrimativeKey>(values: T[], readKey: ReadKeyFunction<T, K>, additionalKeys?: K[]): T[];
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated use filterUniqueValues() instead.
|
|
38
|
+
*/
|
|
39
|
+
export declare const findUnique: typeof filterUniqueValues;
|
|
40
|
+
/**
|
|
41
|
+
* @deprecated use filterUniqueFunction() instead.
|
|
42
|
+
*/
|
|
43
|
+
export declare const makeFindUniqueFunction: typeof filterUniqueFunction;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeFindUniqueFunction = exports.findUnique = exports.unique = exports.flattenArrayUnique = exports.concatArraysUnique = void 0;
|
|
3
|
+
exports.makeFindUniqueFunction = exports.findUnique = exports.filterUniqueValues = exports.filterUniqueFunction = exports.readKeysFromFilterUniqueFunctionAdditionalKeys = exports.readKeysFromFilterUniqueFunctionAdditionalKeysInput = exports.unique = exports.flattenArrayUnique = exports.concatArraysUnique = void 0;
|
|
4
4
|
const array_1 = require("./array");
|
|
5
5
|
const array_value_1 = require("./array.value");
|
|
6
6
|
const set_1 = require("../set/set");
|
|
@@ -12,35 +12,73 @@ function flattenArrayUnique(array) {
|
|
|
12
12
|
return unique((0, array_1.flattenArray)(array));
|
|
13
13
|
}
|
|
14
14
|
exports.flattenArrayUnique = flattenArrayUnique;
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Filters the input values and only returns unique values.
|
|
17
|
+
*
|
|
18
|
+
* @param values
|
|
19
|
+
* @param exclude
|
|
20
|
+
* @returns
|
|
21
|
+
*/
|
|
22
|
+
function unique(values, excludeInput) {
|
|
16
23
|
const unique = new Set(values);
|
|
24
|
+
const exclude = readKeysFromFilterUniqueFunctionAdditionalKeysInput(excludeInput, (x) => x);
|
|
17
25
|
if (exclude != null && exclude.length) {
|
|
18
26
|
(0, set_1.removeFromSet)(unique, exclude);
|
|
19
27
|
}
|
|
20
28
|
return Array.from(unique);
|
|
21
29
|
}
|
|
22
30
|
exports.unique = unique;
|
|
23
|
-
function
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
function readKeysFromFilterUniqueFunctionAdditionalKeysInput(additionalKeysInput, readKey) {
|
|
32
|
+
return (0, array_value_1.filterMaybeValues)(additionalKeysInput != null ? (Array.isArray(additionalKeysInput) ? additionalKeysInput : readKeysFromFilterUniqueFunctionAdditionalKeys(additionalKeysInput, readKey)) : []);
|
|
33
|
+
}
|
|
34
|
+
exports.readKeysFromFilterUniqueFunctionAdditionalKeysInput = readKeysFromFilterUniqueFunctionAdditionalKeysInput;
|
|
35
|
+
function readKeysFromFilterUniqueFunctionAdditionalKeys(input, readKey) {
|
|
36
|
+
const keys = new Set(input.keys);
|
|
37
|
+
if (input.values) {
|
|
38
|
+
(0, set_1.addToSet)(keys, input.values.map(readKey));
|
|
39
|
+
}
|
|
40
|
+
return Array.from(keys);
|
|
33
41
|
}
|
|
34
|
-
exports.
|
|
42
|
+
exports.readKeysFromFilterUniqueFunctionAdditionalKeys = readKeysFromFilterUniqueFunctionAdditionalKeys;
|
|
35
43
|
/**
|
|
36
|
-
* Creates a
|
|
44
|
+
* Creates a FilterUniqueFunction.
|
|
37
45
|
*
|
|
38
46
|
* @param readKey
|
|
39
47
|
* @param additionalKeys
|
|
40
48
|
* @returns
|
|
41
49
|
*/
|
|
42
|
-
function
|
|
43
|
-
|
|
50
|
+
function filterUniqueFunction(readKey, additionalKeysInput) {
|
|
51
|
+
const baseKeys = readKeysFromFilterUniqueFunctionAdditionalKeysInput(additionalKeysInput, readKey);
|
|
52
|
+
function calculateExclude(excludeInput) {
|
|
53
|
+
const newExcludeKeys = excludeInput ? (Array.isArray(excludeInput) ? excludeInput.map(readKey) : readKeysFromFilterUniqueFunctionAdditionalKeys(excludeInput, readKey)) : [];
|
|
54
|
+
return (newExcludeKeys === null || newExcludeKeys === void 0 ? void 0 : newExcludeKeys.length) ? (0, array_1.mergeArrays)([(0, array_value_1.filterMaybeValues)(newExcludeKeys), baseKeys]) : baseKeys;
|
|
55
|
+
}
|
|
56
|
+
return (input, excludeInput) => {
|
|
57
|
+
const exclude = calculateExclude(excludeInput);
|
|
58
|
+
const keys = new Set(exclude);
|
|
59
|
+
const result = input.filter((x) => {
|
|
60
|
+
const key = readKey(x);
|
|
61
|
+
if (!keys.has(key)) {
|
|
62
|
+
keys.add(key);
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
});
|
|
67
|
+
return result;
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
exports.filterUniqueFunction = filterUniqueFunction;
|
|
71
|
+
function filterUniqueValues(values, readKey, additionalKeys = []) {
|
|
72
|
+
return filterUniqueFunction(readKey, additionalKeys)(values);
|
|
44
73
|
}
|
|
45
|
-
exports.
|
|
74
|
+
exports.filterUniqueValues = filterUniqueValues;
|
|
75
|
+
// MARK: Compat
|
|
76
|
+
/**
|
|
77
|
+
* @deprecated use filterUniqueValues() instead.
|
|
78
|
+
*/
|
|
79
|
+
exports.findUnique = filterUniqueValues;
|
|
80
|
+
/**
|
|
81
|
+
* @deprecated use filterUniqueFunction() instead.
|
|
82
|
+
*/
|
|
83
|
+
exports.makeFindUniqueFunction = filterUniqueFunction;
|
|
46
84
|
//# sourceMappingURL=array.unique.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.unique.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.unique.ts"],"names":[],"mappings":";;;AAAA,mCAAkE;AAGlE,+CAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"array.unique.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.unique.ts"],"names":[],"mappings":"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"}
|
package/src/lib/array/index.d.ts
CHANGED
package/src/lib/array/index.js
CHANGED
|
@@ -10,6 +10,7 @@ tslib_1.__exportStar(require("./array.limit"), exports);
|
|
|
10
10
|
tslib_1.__exportStar(require("./array.make"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("./array.map"), exports);
|
|
12
12
|
tslib_1.__exportStar(require("./array.number"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./array.random"), exports);
|
|
13
14
|
tslib_1.__exportStar(require("./array.set"), exports);
|
|
14
15
|
tslib_1.__exportStar(require("./array.string"), exports);
|
|
15
16
|
tslib_1.__exportStar(require("./array"), 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,0DAAgC;AAChC,wDAA8B;AAC9B,0DAAgC;AAChC,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,0DAAgC;AAChC,wDAA8B;AAC9B,uDAA6B;AAC7B,sDAA4B;AAC5B,yDAA+B;AAC/B,yDAA+B;AAC/B,sDAA4B;AAC5B,yDAA+B;AAC/B,kDAAwB;AACxB,yDAA+B;AAC/B,wDAA8B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ArrayFactory, AsyncArrayFactory } from '../array/array.factory';
|
|
2
|
-
import {
|
|
2
|
+
import { FilterUniqueFunction } from '../array/array.unique';
|
|
3
|
+
import { PrimativeKey } from '../key';
|
|
3
4
|
import { AsyncMapFunction, MapFunction } from '../value/map';
|
|
4
5
|
/**
|
|
5
6
|
* Used to verify each id valid and available for use.
|
|
@@ -8,20 +9,26 @@ export declare type IdBatchVerifierFunction<T> = AsyncMapFunction<MapFunction<T[
|
|
|
8
9
|
/**
|
|
9
10
|
* Used by to verify tags have not already been taken.
|
|
10
11
|
*/
|
|
11
|
-
export declare type IdBatchVerifier<T> = {
|
|
12
|
+
export declare type IdBatchVerifier<T, K extends PrimativeKey = PrimativeKey> = {
|
|
12
13
|
/**
|
|
13
14
|
* Optional function to ensure uniqueness.
|
|
15
|
+
*
|
|
16
|
+
* @deprecated use filterUnique instead
|
|
14
17
|
*/
|
|
15
|
-
findUnique?:
|
|
18
|
+
findUnique?: FilterUniqueFunction<T, K>;
|
|
19
|
+
/**
|
|
20
|
+
* (Optional) Use to filter unique key values.
|
|
21
|
+
*/
|
|
22
|
+
filterUnique?: FilterUniqueFunction<T, K>;
|
|
16
23
|
verify: IdBatchVerifierFunction<T>;
|
|
17
24
|
/**
|
|
18
25
|
* Max number of tags that can be verified per batch.
|
|
19
26
|
*/
|
|
20
27
|
maxBatchSize: number;
|
|
21
28
|
};
|
|
22
|
-
export interface IdBatchFactoryConfig<T> {
|
|
29
|
+
export interface IdBatchFactoryConfig<T, K extends PrimativeKey = PrimativeKey> {
|
|
23
30
|
readonly factory: ArrayFactory<T>;
|
|
24
|
-
readonly verifier: IdBatchVerifier<T>;
|
|
31
|
+
readonly verifier: IdBatchVerifier<T, K>;
|
|
25
32
|
}
|
|
26
33
|
/**
|
|
27
34
|
* Used to generate valid, unused identifiers.
|
|
@@ -33,4 +40,4 @@ export declare type IdBatchFactory<T> = AsyncArrayFactory<T>;
|
|
|
33
40
|
* @param config
|
|
34
41
|
* @returns
|
|
35
42
|
*/
|
|
36
|
-
export declare function idBatchFactory<T>(config: IdBatchFactoryConfig<T>): IdBatchFactory<T>;
|
|
43
|
+
export declare function idBatchFactory<T, K extends PrimativeKey = PrimativeKey>(config: IdBatchFactoryConfig<T, K>): IdBatchFactory<T>;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.idBatchFactory = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const array_1 = require("../array");
|
|
5
|
+
const array_1 = require("../array/array");
|
|
6
6
|
const promise_loop_1 = require("../promise/promise.loop");
|
|
7
7
|
/**
|
|
8
8
|
* Creates an IdBatchFactory
|
|
@@ -12,7 +12,7 @@ const promise_loop_1 = require("../promise/promise.loop");
|
|
|
12
12
|
*/
|
|
13
13
|
function idBatchFactory(config) {
|
|
14
14
|
const { factory, verifier } = config;
|
|
15
|
-
const { maxBatchSize: tagsToGeneratePerBatch, findUnique = (x) => x, verify: verifyTags } = verifier;
|
|
15
|
+
const { maxBatchSize: tagsToGeneratePerBatch, findUnique = (x) => x, filterUnique = findUnique, verify: verifyTags } = verifier;
|
|
16
16
|
const maxUniquenessFailures = 20; // arbitrary failure point, but generally shouldn't occur with proper input.
|
|
17
17
|
return (totalTagIdentifiersToGenerate) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
18
18
|
const uniquenessAccumulator = []; // used for uniqueness checks
|
|
@@ -22,7 +22,7 @@ function idBatchFactory(config) {
|
|
|
22
22
|
let uniquenessFailure = 0;
|
|
23
23
|
while (ids.length < batchSize) {
|
|
24
24
|
const countToGenerate = batchSize - ids.length;
|
|
25
|
-
let newIds =
|
|
25
|
+
let newIds = filterUnique(factory(countToGenerate), uniquenessAccumulator);
|
|
26
26
|
if (newIds.length === 0) {
|
|
27
27
|
uniquenessFailure += 1;
|
|
28
28
|
if (uniquenessFailure === maxUniquenessFailures) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.batch.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/model/id.batch.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"id.batch.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/model/id.batch.ts"],"names":[],"mappings":";;;;AAAA,0CAAgD;AAIhD,0DAA2D;AAuC3D;;;;;GAKG;AACH,SAAgB,cAAc,CAA2C,MAAkC;IACzG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACrC,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,UAAU,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,GAAG,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAChI,MAAM,qBAAqB,GAAG,EAAE,CAAC,CAAC,4EAA4E;IAE9G,OAAO,CAAO,6BAAqC,EAAE,EAAE;QACrD,MAAM,qBAAqB,GAAQ,EAAE,CAAC,CAAC,6BAA6B;QAEpE,SAAe,wBAAwB,CAAC,SAAiB;;gBACvD,IAAI,GAAG,GAAQ,EAAE,CAAC;gBAElB,IAAI,iBAAiB,GAAG,CAAC,CAAC;gBAC1B,OAAO,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE;oBAC7B,MAAM,eAAe,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;oBAC/C,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,qBAAqB,CAAC,CAAC;oBAE3E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;wBACvB,iBAAiB,IAAI,CAAC,CAAC;wBAEvB,IAAI,iBAAiB,KAAK,qBAAqB,EAAE;4BAC/C,MAAM,IAAI,KAAK,CAAC,mDAAmD,qBAAqB,oEAAoE,CAAC,CAAC;yBAC/J;wBACD,SAAS;qBACV;yBAAM,IAAI,MAAM,CAAC,MAAM,GAAG,eAAe,EAAE;wBAC1C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,oDAAoD;qBAChG;oBAED,4DAA4D;oBAC5D,IAAA,sBAAc,EAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;oBAE9C,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;oBAE7C,qBAAqB;oBACrB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAE9B,yDAAyD;iBAC1D;gBAED,OAAO,GAAG,CAAC;YACb,CAAC;SAAA;QAED,MAAM,UAAU,GAAU,MAAM,IAAA,+BAAgB,EAAI;YAClD,UAAU,EAAE,6BAA6B;YACzC,aAAa,EAAE,sBAAsB;YACrC,IAAI,EAAE,CAAO,SAAiB,EAAE,EAAE;gBAChC,MAAM,MAAM,GAAQ,MAAM,wBAAwB,CAAC,SAAS,CAAC,CAAC;gBAC9D,OAAO,MAAM,CAAC;YAChB,CAAC,CAAA;SACF,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC,CAAA,CAAC;AACJ,CAAC;AApDD,wCAoDC"}
|
package/src/lib/model/model.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.modelTypeDataPairFactory = exports.decodeModelKeyTypePair = exports.encodeModelKeyTypePair = exports.throwKeyIsRequired = exports.isModelKey = exports.readModelKeyFromObject = exports.readModelKey = exports.requireModelKey = exports.readModelKeys = exports.useModelOrKey = exports.makeMultiModelKeyMap = exports.makeModelMap = exports.removeModelsWithKey = exports.removeModelsWithSameKey = exports.symmetricDifferenceWithModels = exports.readModelKeysFromObjects = exports.uniqueModels = exports.uniqueKeys = exports.AbstractUniqueModel = exports.readUniqueModelKey = exports.DEFAULT_UNKNOWN_MODEL_TYPE_STRING = void 0;
|
|
4
4
|
const set_1 = require("../set/set");
|
|
5
|
-
const
|
|
5
|
+
const array_1 = require("../array");
|
|
6
6
|
exports.DEFAULT_UNKNOWN_MODEL_TYPE_STRING = 'unknown';
|
|
7
7
|
const readUniqueModelKey = (model) => model.id;
|
|
8
8
|
exports.readUniqueModelKey = readUniqueModelKey;
|
|
@@ -19,7 +19,7 @@ function uniqueKeys(keys) {
|
|
|
19
19
|
}
|
|
20
20
|
exports.uniqueKeys = uniqueKeys;
|
|
21
21
|
function uniqueModels(models, readKey = exports.readUniqueModelKey) {
|
|
22
|
-
return (0,
|
|
22
|
+
return (0, array_1.filterUniqueValues)(models, readKey);
|
|
23
23
|
}
|
|
24
24
|
exports.uniqueModels = uniqueModels;
|
|
25
25
|
function readModelKeysFromObjects(input, required, read) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/model/model.ts"],"names":[],"mappings":";;;AAAA,oCAAsD;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/model/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -196,7 +196,7 @@ class ModelRelationUtility {
|
|
|
196
196
|
return ModelRelationUtility.removeDuplicates(current, readKey, keysToRemove);
|
|
197
197
|
}
|
|
198
198
|
static removeDuplicates(relations, readKey, additionalKeys = []) {
|
|
199
|
-
return (relations === null || relations === void 0 ? void 0 : relations.length) ? (0, array_1.
|
|
199
|
+
return (relations === null || relations === void 0 ? void 0 : relations.length) ? (0, array_1.filterUniqueValues)(relations, readKey, additionalKeys) : [];
|
|
200
200
|
}
|
|
201
201
|
// MARK: Internal Utility
|
|
202
202
|
static _assertMergeProvided(merge) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/relation/relation.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/relation/relation.ts"],"names":[],"mappings":";;;AAAA,oCAA0D;AAC1D,0CAAuG;AAGvG,IAAY,cA+BX;AA/BD,WAAY,cAAc;IACxB;;;;;OAKG;IACH,6BAAW,CAAA;IACX;;OAEG;IACH,6BAAW,CAAA;IACX;;;;OAIG;IACH,yDAAuC,CAAA;IACvC;;OAEG;IACH,mCAAiB,CAAA;IACjB;;;OAGG;IACH,mCAAiB,CAAA;IACjB;;OAEG;IACH,mCAAiB,CAAA;AACnB,CAAC,EA/BW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QA+BzB;AAwCD;;;;GAIG;AACH,MAAa,oBAAoB;IAC/B,MAAM,CAAC,sBAAsB,CAAC,OAAgC,EAAE,MAAsB,EAAE,IAAsB;QAC5G,OAAO,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACjH,CAAC;IAID,MAAM,CAAC,gBAAgB,CAA2B,OAAmB,EAAE,MAAsB,EAAE,IAAS,EAAE,MAAkE;QAC1K,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAEjC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC,0BAA0B;QAEnD,IAAI,IAAI,EAAE;YACR,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAA,yBAAc,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3F,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAA,yBAAc,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAE3D,MAAM,eAAe,GAAG,IAAI,CAAC,4BAA4B,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAEpG,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;SACjF;aAAM;YACL,OAAO,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SACzE;IACH,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,iBAAiB,CAA2B,OAAY,EAAE,aAAkB,EAAE,eAAoB,EAAE,OAA6B;QAC9I,OAAO,IAAA,iCAAsB,EAAC,OAAO,EAAE,CAAC,GAAG,aAAa,EAAE,GAAG,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IAEO,MAAM,CAAC,4BAA4B,CAA2B,OAAY,EAAE,MAAsB,EAAE,IAAS,EAAE,MAAkE;QACvL,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAEhD,MAAM,QAAQ,GAAI,MAA2C,CAAC,QAAQ,CAAC;QAEvE,SAAS,MAAM,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,IAAI;YAC9C,OAAO,oBAAoB,CAAC,iBAAiB,CAC3C,QAAQ,EACR,KAAK,EACL,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;gBACjB,OAAO,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAChF,CAAC,EACD,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,SAAS,UAAU;YACjB,OAAO,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;QACxI,CAAC;QAED,SAAS,aAAa;YACpB,OAAO,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,QAAQ,MAAM,EAAE;YACd,KAAK,cAAc,CAAC,GAAG;gBACrB,OAAO,GAAG,EAAE,CAAC,CAAC,qCAAqC;gBACnD,OAAO,UAAU,EAAE,CAAC;YACtB,KAAK,cAAc,CAAC,GAAG;gBACrB,OAAO,UAAU,EAAE,CAAC;YACtB,KAAK,cAAc,CAAC,MAAM;gBACxB,OAAO,MAAM,EAAE,CAAC;YAClB,KAAK,cAAc,CAAC,MAAM;gBACxB,OAAO,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5F,KAAK,cAAc,CAAC,iBAAiB;gBACnC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,yDAAyD;gBAC7F,OAAO,aAAa,EAAE,CAAC;YACzB,KAAK,cAAc,CAAC,MAAM;gBACxB,OAAO,aAAa,EAAE,CAAC;SAC1B;IACH,CAAC;IAED,MAAM,CAAC,gBAAgB,CAA2B,OAAY,EAAE,MAAW,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAoC;QACzI,oBAAoB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjK,CAAC;IAED,MAAM,CAAC,gBAAgB,CAA2B,OAAY,EAAE,MAAW,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAoC;QACzI,oBAAoB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjK,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,iBAAiB,CAA2B,OAAY,EAAE,IAAS,EAAE,gBAAwD,EAAE,QAAqC;QACjL,IAAI,QAAQ,EAAE;YACZ,OAAO,oBAAoB,CAAC,0BAA0B,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;SACnG;aAAM;YACL,OAAO,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACxC;IACH,CAAC;IAEO,MAAM,CAAC,0BAA0B,CAA2B,KAAU,EAAE,IAAS,EAAE,QAAoC,EAAE,gBAAwD;QACvL,MAAM,QAAQ,GAAG,IAAA,6BAAkB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAA,6BAAkB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEnD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAgB,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAEtF,+EAA+E;QAC/E,MAAM,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;YACpE,MAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;YAErC,qDAAqD;YACrD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAO,MAAM,CAAC,CAAC,qCAAqC;aACrD;iBAAM;gBACL,OAAO,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAEO,MAAM,CAAC,2BAA2B,CAA2B,OAAY,EAAE,MAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAA2B;QACzI,MAAM,WAAW,GAAG,IAAA,kBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,YAAY,GAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAQ,EAAE,CAAC;QAE1B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAE3B,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACxB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1B;iBAAM;gBACL,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,oBAAoB,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,oBAAoB,CAAC,2BAA2B,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1G,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,2BAA2B,CAA2B,OAAY,EAAE,MAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAA2B;QACzI,MAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,YAAY,GAAQ,EAAE,CAAC;QAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAExC,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;aAC5C;QACH,CAAC,CAAC,CAAC;QAEH,iDAAiD;QACjD,OAAO,oBAAoB,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,CAAC,eAAe,CAA2B,OAAmB,EAAE,GAAQ,EAAE,OAA6B;QAC3G,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;QACxB,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,EAAC,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,kDAAkD;IACzJ,CAAC;IAED,MAAM,CAAC,oBAAoB,CAA2B,OAAmB,EAAE,MAAW,EAAE,OAA6B,EAAE,YAAgC;QACrJ,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE;YACnB,IAAI,YAAY,EAAE;gBAChB,MAAM,eAAe,GAAG,IAAA,uBAAY,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;gBAErC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACvB,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAEnC,IAAI,aAAa,IAAI,YAAY,CAAC,aAAa,CAAC,EAAE;wBAChD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAuB;qBACzC;gBACH,CAAC,CAAC,CAAC;gBAEH,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC;aACxG;iBAAM;gBACL,OAAO,oBAAoB,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;aAC7F;SACF;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAED,MAAM,CAAC,wBAAwB,CAA2B,OAAmB,EAAE,YAAsB,EAAE,OAA6B;QAClI,OAAO,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAI,SAAqB,EAAE,OAA6B,EAAE,iBAA2B,EAAE;QAC5G,OAAO,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,EAAC,CAAC,CAAC,IAAA,0BAAkB,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,yBAAyB;IACjB,MAAM,CAAC,oBAAoB,CAAc,KAAgC;QAC/E,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;IACH,CAAC;CACF;AAvMD,oDAuMC"}
|
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.23.7](https://github.com/dereekb/dbx-components/compare/v9.23.6-dev...v9.23.7) (2023-04-10)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [9.23.6](https://github.com/dereekb/dbx-components/compare/v9.23.5-dev...v9.23.6) (2023-04-09)
|
|
6
10
|
|
|
7
11
|
|
package/test/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/test",
|
|
3
|
-
"version": "9.23.
|
|
3
|
+
"version": "9.23.7",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {},
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"@dereekb/util": "9.23.
|
|
9
|
+
"@dereekb/util": "9.23.7",
|
|
10
10
|
"lodash.isequal": "^4.5.0",
|
|
11
11
|
"make-error": "^1.3.0",
|
|
12
12
|
"class-validator": "^0.13.2",
|