@dereekb/util 8.13.6 → 8.13.9
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 +12 -0
- package/package.json +1 -1
- package/src/lib/array/array.d.ts +9 -0
- package/src/lib/array/array.js +15 -1
- package/src/lib/array/array.js.map +1 -1
- package/src/lib/object/object.d.ts +4 -2
- package/src/lib/object/object.js.map +1 -1
- package/src/lib/value/indexed.d.ts +54 -6
- package/src/lib/value/indexed.js +71 -5
- package/src/lib/value/indexed.js.map +1 -1
- package/test/CHANGELOG.md +12 -0
- package/test/package.json +2 -2
package/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
|
+
## [8.13.9](https://github.com/dereekb/dbx-components/compare/v8.13.8-dev...v8.13.9) (2022-08-05)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [8.13.8](https://github.com/dereekb/dbx-components/compare/v8.13.7-dev...v8.13.8) (2022-08-03)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## [8.13.7](https://github.com/dereekb/dbx-components/compare/v8.13.6-dev...v8.13.7) (2022-08-03)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
5
17
|
## [8.13.6](https://github.com/dereekb/dbx-components/compare/v8.13.5-dev...v8.13.6) (2022-08-01)
|
|
6
18
|
|
|
7
19
|
|
package/package.json
CHANGED
package/src/lib/array/array.d.ts
CHANGED
|
@@ -23,6 +23,15 @@ export declare function firstValue<T>(input: ArrayOrValue<T>): T;
|
|
|
23
23
|
* Returns the last value from the array.
|
|
24
24
|
*/
|
|
25
25
|
export declare function lastValue<T>(input: ArrayOrValue<T>): T;
|
|
26
|
+
/**
|
|
27
|
+
* Returns a tuple with the first and last value of the input.
|
|
28
|
+
*
|
|
29
|
+
* If the input is not an array, returns that value as the first and last value.
|
|
30
|
+
*
|
|
31
|
+
* @param input
|
|
32
|
+
* @returns
|
|
33
|
+
*/
|
|
34
|
+
export declare function firstAndLastValue<T>(input: ArrayOrValue<T>): [T, T];
|
|
26
35
|
export declare function valueAtIndex<T>(input: ArrayOrValue<T>, index: number): T;
|
|
27
36
|
/**
|
|
28
37
|
* Concatinates the input arrays and filters out falsy values.
|
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.pickOneRandomly = 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.lastValue = exports.firstValue = exports.convertToArray = exports.asArray = exports.convertMaybeToArray = void 0;
|
|
3
|
+
exports.forEachWithArray = exports.pickOneRandomly = 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.
|
|
@@ -47,6 +47,20 @@ function lastValue(input) {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
exports.lastValue = lastValue;
|
|
50
|
+
/**
|
|
51
|
+
* Returns a tuple with the first and last value of the input.
|
|
52
|
+
*
|
|
53
|
+
* If the input is not an array, returns that value as the first and last value.
|
|
54
|
+
*
|
|
55
|
+
* @param input
|
|
56
|
+
* @returns
|
|
57
|
+
*/
|
|
58
|
+
function firstAndLastValue(input) {
|
|
59
|
+
const first = firstValue(input);
|
|
60
|
+
const last = lastValue(input);
|
|
61
|
+
return [first, last];
|
|
62
|
+
}
|
|
63
|
+
exports.firstAndLastValue = firstAndLastValue;
|
|
50
64
|
function valueAtIndex(input, index) {
|
|
51
65
|
if (Array.isArray(input)) {
|
|
52
66
|
return input[index];
|
|
@@ -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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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { FieldOfType } from '../key';
|
|
2
|
+
import { KeyAsString } from '../type';
|
|
2
3
|
export declare type EmptyObject = Record<string, never>;
|
|
3
4
|
export declare function objectHasNoKeys(obj: object): obj is EmptyObject;
|
|
4
|
-
export declare function objectHasKey<T
|
|
5
|
-
export declare function objectHasKey
|
|
5
|
+
export declare function objectHasKey<T>(obj: T, key: KeyAsString<keyof T>): boolean;
|
|
6
|
+
export declare function objectHasKey(obj: unknown, key: string): boolean;
|
|
7
|
+
export declare function objectHasKey<T, K extends keyof T>(obj: T, key: K): boolean;
|
|
6
8
|
export declare function applyToMultipleFields<T extends object, X = unknown>(value: X, fields: FieldOfType<T>[]): Partial<{
|
|
7
9
|
[K in keyof T]: X;
|
|
8
10
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/object/object.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/object/object.ts"],"names":[],"mappings":";;;AAKA,SAAgB,eAAe,CAAC,GAAW;IACzC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACvC,CAAC;AAFD,0CAEC;AAKD,SAAgB,YAAY,CAAI,GAAM,EAAE,GAAW;IACjD,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAFD,oCAEC;AAED,SAAgB,qBAAqB,CAAgC,KAAQ,EAAE,MAAwB;IACrG,MAAM,MAAM,GAAG,EAA2B,CAAC;IAE3C,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AARD,sDAQC;AAED,SAAgB,WAAW,CAA2B,GAAc;IAClE,MAAM,MAAM,GAAG,EAA+B,CAAC;IAE/C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAI,EAAE,GAAM,EAAE,EAAE;QAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AARD,kCAQC;AAOD;;;;;GAKG;AACH,SAAgB,UAAU,CAAmB,KAAQ;IACnD,yBAAY,KAAK,EAAG;AACtB,CAAC;AAFD,gCAEC"}
|
|
@@ -35,11 +35,11 @@ export declare function sortByIndexAscendingCompareFunction<T>(readIndex: ReadIn
|
|
|
35
35
|
*/
|
|
36
36
|
export interface IndexRange {
|
|
37
37
|
/**
|
|
38
|
-
* Minimum index to consider
|
|
38
|
+
* Minimum index to consider. Inclusive.
|
|
39
39
|
*/
|
|
40
40
|
minIndex: IndexNumber;
|
|
41
41
|
/**
|
|
42
|
-
* Maximum index allowed
|
|
42
|
+
* Maximum index allowed. Typically exclusive.
|
|
43
43
|
*/
|
|
44
44
|
maxIndex: IndexNumber;
|
|
45
45
|
}
|
|
@@ -52,15 +52,63 @@ export declare type IndexRefRangeCheckFunction<T> = (value: T) => boolean;
|
|
|
52
52
|
*
|
|
53
53
|
* @param range
|
|
54
54
|
*/
|
|
55
|
-
export declare function indexRangeCheckReaderFunction<T extends IndexRef>(
|
|
56
|
-
export declare function indexRangeCheckReaderFunction<T>(
|
|
55
|
+
export declare function indexRangeCheckReaderFunction<T extends IndexRef>(input: IndexRangeFunctionInput): IndexRefRangeCheckFunction<T>;
|
|
56
|
+
export declare function indexRangeCheckReaderFunction<T>(input: IndexRangeFunctionInput, read: ReadIndexFunction<T>): IndexRefRangeCheckFunction<T>;
|
|
57
57
|
/**
|
|
58
58
|
* Checks whether or not the input number is in the range.
|
|
59
59
|
*/
|
|
60
|
-
export declare type IndexRangeCheckFunction = (i:
|
|
60
|
+
export declare type IndexRangeCheckFunction = (i: IndexNumber) => boolean;
|
|
61
|
+
export interface IndexRangeFunctionConfig {
|
|
62
|
+
/**
|
|
63
|
+
* IndexRange to check.
|
|
64
|
+
*/
|
|
65
|
+
indexRange: IndexRange;
|
|
66
|
+
/**
|
|
67
|
+
* Whether or not the max index is inclusive. False by default.
|
|
68
|
+
*/
|
|
69
|
+
inclusiveMaxIndex: boolean;
|
|
70
|
+
}
|
|
71
|
+
export declare type IndexRangeFunctionInput = IndexRange | IndexRangeFunctionConfig;
|
|
72
|
+
export declare function asIndexRangeCheckFunctionConfig(input: IndexRangeFunctionInput): IndexRangeFunctionConfig;
|
|
61
73
|
/**
|
|
62
74
|
* Creates an IndexRangeCheckFunction
|
|
63
75
|
*
|
|
64
76
|
* @param range
|
|
65
77
|
*/
|
|
66
|
-
export declare function indexRangeCheckFunction(
|
|
78
|
+
export declare function indexRangeCheckFunction(input: IndexRangeFunctionInput): IndexRangeCheckFunction;
|
|
79
|
+
/**
|
|
80
|
+
* Returns true if the input index is contained within the configured IndexRange.
|
|
81
|
+
*/
|
|
82
|
+
export declare type IsIndexNumberInIndexRangeFunction = (index: IndexNumber) => boolean;
|
|
83
|
+
export declare function isIndexNumberInIndexRange(index: IndexNumber, indexRange: IndexRange, inclusiveMaxIndex?: boolean): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Creates an IsIndexNumberInIndexRangeFunction
|
|
86
|
+
*
|
|
87
|
+
* @param indexRange
|
|
88
|
+
* @returns
|
|
89
|
+
*/
|
|
90
|
+
export declare function isIndexNumberInIndexRangeFunction(input: IndexRangeFunctionInput): IsIndexNumberInIndexRangeFunction;
|
|
91
|
+
/**
|
|
92
|
+
* Returns true if the input IndexRange is contained within the configured IndexRange.
|
|
93
|
+
*/
|
|
94
|
+
export declare type IsIndexRangeInIndexRangeFunction = (indexRange: IndexRange) => boolean;
|
|
95
|
+
export declare function isIndexRangeInIndexRange(compareIndexRange: IndexRange, indexRange: IndexRange): boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Creates an IsIndexRangeInIndexRangeFunction
|
|
98
|
+
*
|
|
99
|
+
* @param indexRange
|
|
100
|
+
* @returns
|
|
101
|
+
*/
|
|
102
|
+
export declare function isIndexRangeInIndexRangeFunction(input: IndexRangeFunctionInput): IsIndexRangeInIndexRangeFunction;
|
|
103
|
+
/**
|
|
104
|
+
* Returns true if the input IndexRange overlaps the configured IndexRange in any way.
|
|
105
|
+
*/
|
|
106
|
+
export declare type IndexRangeOverlapsIndexRangeFunction = (indexRange: IndexRange) => boolean;
|
|
107
|
+
export declare function indexRangeOverlapsIndexRange(compareIndexRange: IndexRange, indexRange: IndexRange): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Creates an IndexRangeOverlapsIndexRangeFunction
|
|
110
|
+
*
|
|
111
|
+
* @param indexRange
|
|
112
|
+
* @returns
|
|
113
|
+
*/
|
|
114
|
+
export declare function indexRangeOverlapsIndexRangeFunction(input: IndexRangeFunctionInput): IndexRangeOverlapsIndexRangeFunction;
|
package/src/lib/value/indexed.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.indexRangeCheckFunction = exports.indexRangeCheckReaderFunction = exports.sortByIndexAscendingCompareFunction = exports.sortAscendingIndexNumberRefFunction = void 0;
|
|
3
|
+
exports.indexRangeOverlapsIndexRangeFunction = exports.indexRangeOverlapsIndexRange = exports.isIndexRangeInIndexRangeFunction = exports.isIndexRangeInIndexRange = exports.isIndexNumberInIndexRangeFunction = exports.isIndexNumberInIndexRange = exports.indexRangeCheckFunction = exports.asIndexRangeCheckFunctionConfig = exports.indexRangeCheckReaderFunction = exports.sortByIndexAscendingCompareFunction = exports.sortAscendingIndexNumberRefFunction = void 0;
|
|
4
|
+
const object_1 = require("../object/object");
|
|
4
5
|
/**
|
|
5
6
|
* Creates a SortCompareFunction<T> that sorts by index on IndexRef values.
|
|
6
7
|
*
|
|
@@ -21,19 +22,84 @@ function sortByIndexAscendingCompareFunction(readIndex) {
|
|
|
21
22
|
return (a, b) => readIndex(a) - readIndex(b);
|
|
22
23
|
}
|
|
23
24
|
exports.sortByIndexAscendingCompareFunction = sortByIndexAscendingCompareFunction;
|
|
24
|
-
function indexRangeCheckReaderFunction(
|
|
25
|
-
const rangeCheck = indexRangeCheckFunction(
|
|
25
|
+
function indexRangeCheckReaderFunction(input, read = (x) => x.i) {
|
|
26
|
+
const rangeCheck = indexRangeCheckFunction(input);
|
|
26
27
|
return (value) => rangeCheck(read(value));
|
|
27
28
|
}
|
|
28
29
|
exports.indexRangeCheckReaderFunction = indexRangeCheckReaderFunction;
|
|
30
|
+
function indexRangeCheckFunctionConfigToIndexRange({ indexRange, inclusiveMaxIndex }) {
|
|
31
|
+
if (inclusiveMaxIndex) {
|
|
32
|
+
const { minIndex, maxIndex: maxIndexInput } = indexRange;
|
|
33
|
+
const maxIndex = inclusiveMaxIndex ? maxIndexInput + 1 : maxIndexInput;
|
|
34
|
+
return { minIndex, maxIndex };
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return indexRange;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function asIndexRangeCheckFunctionConfig(input) {
|
|
41
|
+
return (0, object_1.objectHasKey)(input, 'indexRange') ? input : { indexRange: input, inclusiveMaxIndex: false };
|
|
42
|
+
}
|
|
43
|
+
exports.asIndexRangeCheckFunctionConfig = asIndexRangeCheckFunctionConfig;
|
|
29
44
|
/**
|
|
30
45
|
* Creates an IndexRangeCheckFunction
|
|
31
46
|
*
|
|
32
47
|
* @param range
|
|
33
48
|
*/
|
|
34
|
-
function indexRangeCheckFunction(
|
|
35
|
-
const { minIndex, maxIndex } =
|
|
49
|
+
function indexRangeCheckFunction(input) {
|
|
50
|
+
const { minIndex, maxIndex } = indexRangeCheckFunctionConfigToIndexRange(asIndexRangeCheckFunctionConfig(input));
|
|
36
51
|
return (i) => i >= minIndex && i < maxIndex;
|
|
37
52
|
}
|
|
38
53
|
exports.indexRangeCheckFunction = indexRangeCheckFunction;
|
|
54
|
+
function isIndexNumberInIndexRange(index, indexRange, inclusiveMaxIndex = false) {
|
|
55
|
+
return isIndexNumberInIndexRangeFunction({ indexRange, inclusiveMaxIndex })(index);
|
|
56
|
+
}
|
|
57
|
+
exports.isIndexNumberInIndexRange = isIndexNumberInIndexRange;
|
|
58
|
+
/**
|
|
59
|
+
* Creates an IsIndexNumberInIndexRangeFunction
|
|
60
|
+
*
|
|
61
|
+
* @param indexRange
|
|
62
|
+
* @returns
|
|
63
|
+
*/
|
|
64
|
+
function isIndexNumberInIndexRangeFunction(input) {
|
|
65
|
+
const { minIndex, maxIndex } = indexRangeCheckFunctionConfigToIndexRange(asIndexRangeCheckFunctionConfig(input));
|
|
66
|
+
return (index) => {
|
|
67
|
+
return index >= minIndex && index < maxIndex;
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
exports.isIndexNumberInIndexRangeFunction = isIndexNumberInIndexRangeFunction;
|
|
71
|
+
function isIndexRangeInIndexRange(compareIndexRange, indexRange) {
|
|
72
|
+
return isIndexRangeInIndexRangeFunction(indexRange)(compareIndexRange);
|
|
73
|
+
}
|
|
74
|
+
exports.isIndexRangeInIndexRange = isIndexRangeInIndexRange;
|
|
75
|
+
/**
|
|
76
|
+
* Creates an IsIndexRangeInIndexRangeFunction
|
|
77
|
+
*
|
|
78
|
+
* @param indexRange
|
|
79
|
+
* @returns
|
|
80
|
+
*/
|
|
81
|
+
function isIndexRangeInIndexRangeFunction(input) {
|
|
82
|
+
const { minIndex, maxIndex } = indexRangeCheckFunctionConfigToIndexRange(asIndexRangeCheckFunctionConfig(input));
|
|
83
|
+
return (input) => {
|
|
84
|
+
return input.minIndex >= minIndex && input.maxIndex <= maxIndex;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
exports.isIndexRangeInIndexRangeFunction = isIndexRangeInIndexRangeFunction;
|
|
88
|
+
function indexRangeOverlapsIndexRange(compareIndexRange, indexRange) {
|
|
89
|
+
return indexRangeOverlapsIndexRangeFunction(indexRange)(compareIndexRange);
|
|
90
|
+
}
|
|
91
|
+
exports.indexRangeOverlapsIndexRange = indexRangeOverlapsIndexRange;
|
|
92
|
+
/**
|
|
93
|
+
* Creates an IndexRangeOverlapsIndexRangeFunction
|
|
94
|
+
*
|
|
95
|
+
* @param indexRange
|
|
96
|
+
* @returns
|
|
97
|
+
*/
|
|
98
|
+
function indexRangeOverlapsIndexRangeFunction(input) {
|
|
99
|
+
const { minIndex, maxIndex } = indexRangeCheckFunctionConfigToIndexRange(asIndexRangeCheckFunctionConfig(input));
|
|
100
|
+
return (input) => {
|
|
101
|
+
return input.minIndex <= maxIndex && input.maxIndex >= minIndex;
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
exports.indexRangeOverlapsIndexRangeFunction = indexRangeOverlapsIndexRangeFunction;
|
|
39
105
|
//# sourceMappingURL=indexed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexed.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/indexed.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"indexed.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/indexed.ts"],"names":[],"mappings":"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"}
|
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
|
+
## [8.13.9](https://github.com/dereekb/dbx-components/compare/v8.13.8-dev...v8.13.9) (2022-08-05)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [8.13.8](https://github.com/dereekb/dbx-components/compare/v8.13.7-dev...v8.13.8) (2022-08-03)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## [8.13.7](https://github.com/dereekb/dbx-components/compare/v8.13.6-dev...v8.13.7) (2022-08-03)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
5
17
|
## [8.13.6](https://github.com/dereekb/dbx-components/compare/v8.13.5-dev...v8.13.6) (2022-08-01)
|
|
6
18
|
|
|
7
19
|
|
package/test/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/test",
|
|
3
|
-
"version": "8.13.
|
|
3
|
+
"version": "8.13.9",
|
|
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": "8.13.
|
|
9
|
+
"@dereekb/util": "8.13.9",
|
|
10
10
|
"make-error": "^1.3.0",
|
|
11
11
|
"ts-essentials": "^9.1.2",
|
|
12
12
|
"extra-set": "^2.2.11",
|