@dereekb/util 9.17.2 → 9.18.0
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 +20 -0
- package/fetch/CHANGELOG.md +13 -0
- package/fetch/package.json +3 -3
- package/fetch/src/lib/fetch.d.ts +4 -1
- package/fetch/src/lib/fetch.js +61 -7
- package/fetch/src/lib/fetch.js.map +1 -1
- package/fetch/src/lib/json.d.ts +22 -3
- package/fetch/src/lib/json.js +42 -22
- package/fetch/src/lib/json.js.map +1 -1
- package/package.json +8 -5
- package/src/lib/array/array.number.js +9 -2
- package/src/lib/array/array.number.js.map +1 -1
- package/src/lib/boolean.d.ts +29 -0
- package/src/lib/boolean.js +24 -1
- package/src/lib/boolean.js.map +1 -1
- package/src/lib/date/week.d.ts +30 -0
- package/src/lib/date/week.js +75 -2
- package/src/lib/date/week.js.map +1 -1
- package/src/lib/map/map.d.ts +23 -2
- package/src/lib/map/map.js +39 -2
- package/src/lib/map/map.js.map +1 -1
- package/src/lib/map/map.key.d.ts +3 -0
- package/src/lib/map/map.key.js +6 -0
- package/src/lib/map/map.key.js.map +1 -1
- package/src/lib/model/model.js +1 -1
- package/src/lib/model/model.js.map +1 -1
- package/src/lib/number/dollar.d.ts +32 -0
- package/src/lib/number/dollar.js +32 -0
- package/src/lib/number/dollar.js.map +1 -0
- package/src/lib/number/index.d.ts +1 -0
- package/src/lib/number/index.js +1 -0
- package/src/lib/number/index.js.map +1 -1
- package/src/lib/number/number.d.ts +3 -0
- package/src/lib/number/number.js +8 -1
- package/src/lib/number/number.js.map +1 -1
- package/src/lib/set/set.d.ts +28 -2
- package/src/lib/set/set.js +55 -6
- package/src/lib/set/set.js.map +1 -1
- package/src/lib/set/set.selection.js.map +1 -1
- package/src/lib/sort.d.ts +17 -0
- package/src/lib/sort.js +31 -1
- package/src/lib/sort.js.map +1 -1
- package/test/CHANGELOG.md +8 -0
- package/test/package.json +3 -3
package/src/lib/map/map.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ArrayOrValue } from '../array';
|
|
2
|
-
import { Maybe } from '../value';
|
|
1
|
+
import { ArrayOrValue } from '../array/array';
|
|
2
|
+
import { Maybe } from '../value/maybe.type';
|
|
3
3
|
/**
|
|
4
4
|
*
|
|
5
5
|
* @param maps
|
|
@@ -15,3 +15,24 @@ export declare function combineMaps<K, T>(...maps: Maybe<Map<K, T>>[]): Map<K, T
|
|
|
15
15
|
* @returns
|
|
16
16
|
*/
|
|
17
17
|
export declare function setKeysOnMap<K, T>(map: Map<K, T>, key: ArrayOrValue<K>, value: T): Map<K, T>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the array of entries from the map as tuples.
|
|
20
|
+
*
|
|
21
|
+
* @param map
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
export declare function mapToTuples<K, T>(map: Map<K, T>): [K, T][];
|
|
25
|
+
/**
|
|
26
|
+
* Expands a map that has array values into key/value tuples.
|
|
27
|
+
*
|
|
28
|
+
* @param map
|
|
29
|
+
* @returns
|
|
30
|
+
*/
|
|
31
|
+
export declare function expandArrayMapTuples<K, T>(map: Map<K, T[]>): [K, T][];
|
|
32
|
+
/**
|
|
33
|
+
* Expands the input tuples that may be an ArrayOrValue into tuples that are only key/value tuples.
|
|
34
|
+
*
|
|
35
|
+
* @param values
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
export declare function expandArrayValueTuples<K, T>(values: [K, ArrayOrValue<T>][]): [K, T][];
|
package/src/lib/map/map.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setKeysOnMap = exports.combineMaps = void 0;
|
|
4
|
-
const array_1 = require("../array");
|
|
3
|
+
exports.expandArrayValueTuples = exports.expandArrayMapTuples = exports.mapToTuples = exports.setKeysOnMap = exports.combineMaps = void 0;
|
|
4
|
+
const array_1 = require("../array/array");
|
|
5
|
+
const iterable_1 = require("../iterable/iterable");
|
|
5
6
|
/**
|
|
6
7
|
*
|
|
7
8
|
* @param maps
|
|
@@ -28,4 +29,40 @@ function setKeysOnMap(map, key, value) {
|
|
|
28
29
|
return map;
|
|
29
30
|
}
|
|
30
31
|
exports.setKeysOnMap = setKeysOnMap;
|
|
32
|
+
/**
|
|
33
|
+
* Returns the array of entries from the map as tuples.
|
|
34
|
+
*
|
|
35
|
+
* @param map
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
function mapToTuples(map) {
|
|
39
|
+
return Array.from(map.entries());
|
|
40
|
+
}
|
|
41
|
+
exports.mapToTuples = mapToTuples;
|
|
42
|
+
/**
|
|
43
|
+
* Expands a map that has array values into key/value tuples.
|
|
44
|
+
*
|
|
45
|
+
* @param map
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
function expandArrayMapTuples(map) {
|
|
49
|
+
return expandArrayValueTuples(mapToTuples(map));
|
|
50
|
+
}
|
|
51
|
+
exports.expandArrayMapTuples = expandArrayMapTuples;
|
|
52
|
+
/**
|
|
53
|
+
* Expands the input tuples that may be an ArrayOrValue into tuples that are only key/value tuples.
|
|
54
|
+
*
|
|
55
|
+
* @param values
|
|
56
|
+
* @returns
|
|
57
|
+
*/
|
|
58
|
+
function expandArrayValueTuples(values) {
|
|
59
|
+
const tuples = [];
|
|
60
|
+
values.forEach(([key, values]) => {
|
|
61
|
+
(0, iterable_1.useIterableOrValue)(values, (value) => {
|
|
62
|
+
tuples.push([key, value]);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
return tuples;
|
|
66
|
+
}
|
|
67
|
+
exports.expandArrayValueTuples = expandArrayValueTuples;
|
|
31
68
|
//# sourceMappingURL=map.js.map
|
package/src/lib/map/map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/map/map.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/map/map.ts"],"names":[],"mappings":";;;AAAA,0CAAuD;AACvD,mDAA0D;AAG1D;;;;GAIG;AACH,SAAgB,WAAW,CAAO,GAAG,IAAwB;IAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAQ,CAAC;IAE/B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AARD,kCAQC;AAED;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAO,GAAc,EAAE,GAAoB,EAAE,KAAQ;IAC/E,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACnD,OAAO,GAAG,CAAC;AACb,CAAC;AAHD,oCAGC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAO,GAAc;IAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AACnC,CAAC;AAFD,kCAEC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAO,GAAgB;IACzD,OAAO,sBAAsB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAFD,oDAEC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAO,MAA8B;IACzE,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;QAC/B,IAAA,6BAAkB,EAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,wDAUC"}
|
package/src/lib/map/map.key.d.ts
CHANGED
|
@@ -44,6 +44,9 @@ export declare type MultiValueMap<T, K extends PrimativeKey = PrimativeKey> = Ma
|
|
|
44
44
|
*/
|
|
45
45
|
export interface MultiValueMapBuilder<T, K extends PrimativeKey = PrimativeKey> {
|
|
46
46
|
map(): MultiValueMap<T, K>;
|
|
47
|
+
entries(): [Maybe<K>, T[]][];
|
|
48
|
+
tuples(): [Maybe<K>, T][];
|
|
49
|
+
delete(key: Maybe<K>): void;
|
|
47
50
|
add(key: Maybe<K>, value: IterableOrValue<T>): void;
|
|
48
51
|
}
|
|
49
52
|
/**
|
package/src/lib/map/map.key.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.multiValueMapBuilder = exports.readMultipleKeysToMap = exports.multiKeyValueMapFactory = exports.readKeysToMap = exports.keyValueMapFactory = void 0;
|
|
4
4
|
const iterable_1 = require("../iterable");
|
|
5
|
+
const map_1 = require("./map");
|
|
5
6
|
/**
|
|
6
7
|
* Creates a KeyValueMapFactory with the input ReadKeyFunction.
|
|
7
8
|
*
|
|
@@ -70,6 +71,11 @@ function multiValueMapBuilder() {
|
|
|
70
71
|
const map = new Map();
|
|
71
72
|
const builder = {
|
|
72
73
|
map: () => map,
|
|
74
|
+
entries: () => (0, map_1.mapToTuples)(map),
|
|
75
|
+
tuples: () => (0, map_1.expandArrayMapTuples)(map),
|
|
76
|
+
delete: (key) => {
|
|
77
|
+
map.delete(key);
|
|
78
|
+
},
|
|
73
79
|
add: (key, value) => {
|
|
74
80
|
let array = map.get(key);
|
|
75
81
|
if (array == null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.key.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/map/map.key.ts"],"names":[],"mappings":";;;AACA,0CAAkE;
|
|
1
|
+
{"version":3,"file":"map.key.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/map/map.key.ts"],"names":[],"mappings":";;;AACA,0CAAkE;AAElE,+BAA0D;AAO1D;;;;;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;AAkBD;;;;GAIG;AACH,SAAgB,oBAAoB;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAiB,CAAC;IAErC,MAAM,OAAO,GAA+B;QAC1C,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG;QACd,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,iBAAW,EAAC,GAAG,CAAC;QAC/B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAA,0BAAoB,EAAC,GAAG,CAAC;QACvC,MAAM,EAAE,CAAC,GAAa,EAAE,EAAE;YACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;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;AAvBD,oDAuBC"}
|
package/src/lib/model/model.js
CHANGED
|
@@ -27,7 +27,7 @@ function readModelKeysFromObjects(input, required, read) {
|
|
|
27
27
|
}
|
|
28
28
|
exports.readModelKeysFromObjects = readModelKeysFromObjects;
|
|
29
29
|
function symmetricDifferenceWithModels(a, b, required, read) {
|
|
30
|
-
return (0, set_1.
|
|
30
|
+
return (0, set_1.symmetricDifferenceArray)(readModelKeys(a, required, read), readModelKeys(b, required, read));
|
|
31
31
|
}
|
|
32
32
|
exports.symmetricDifferenceWithModels = symmetricDifferenceWithModels;
|
|
33
33
|
function removeModelsWithSameKey(input, model, read) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/model/model.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/model/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Maybe } from '../value/maybe.type';
|
|
2
|
+
/**
|
|
3
|
+
* Whole dollar amounts, before the ','.
|
|
4
|
+
*/
|
|
5
|
+
export declare type WholeDollarAmount = number;
|
|
6
|
+
export declare type CentsAmount = number;
|
|
7
|
+
export interface DollarsPair {
|
|
8
|
+
dollars: WholeDollarAmount;
|
|
9
|
+
cents: CentsAmount;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* String representing a dollar amount.
|
|
13
|
+
*
|
|
14
|
+
* Is formatted as a number with two decimal places.
|
|
15
|
+
*/
|
|
16
|
+
export declare type DollarAmountString = string;
|
|
17
|
+
export declare const DOLLAR_AMOUNT_STRING_REGEX: RegExp;
|
|
18
|
+
/**
|
|
19
|
+
* Returns true if the input is a valid DollarAmountString value.
|
|
20
|
+
*
|
|
21
|
+
* @param value
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
export declare function isDollarAmountString(value: string): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Returns a dollar amount, or '0.00' if null/undefined.
|
|
27
|
+
*
|
|
28
|
+
* If the input number has more than two decimal places, only the first two are used; no rounding occurs. (I.E. 1.115 becomes 1.11)
|
|
29
|
+
*
|
|
30
|
+
* @param number
|
|
31
|
+
*/
|
|
32
|
+
export declare function dollarAmountString(number: Maybe<number>): string;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dollarAmountString = exports.isDollarAmountString = exports.DOLLAR_AMOUNT_STRING_REGEX = void 0;
|
|
4
|
+
const round_1 = require("./round");
|
|
5
|
+
exports.DOLLAR_AMOUNT_STRING_REGEX = /^\$?([0-9]+)\.?([0-9][0-9])$/;
|
|
6
|
+
/**
|
|
7
|
+
* Returns true if the input is a valid DollarAmountString value.
|
|
8
|
+
*
|
|
9
|
+
* @param value
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
function isDollarAmountString(value) {
|
|
13
|
+
return exports.DOLLAR_AMOUNT_STRING_REGEX.test(value);
|
|
14
|
+
}
|
|
15
|
+
exports.isDollarAmountString = isDollarAmountString;
|
|
16
|
+
/**
|
|
17
|
+
* Returns a dollar amount, or '0.00' if null/undefined.
|
|
18
|
+
*
|
|
19
|
+
* If the input number has more than two decimal places, only the first two are used; no rounding occurs. (I.E. 1.115 becomes 1.11)
|
|
20
|
+
*
|
|
21
|
+
* @param number
|
|
22
|
+
*/
|
|
23
|
+
function dollarAmountString(number) {
|
|
24
|
+
if (number) {
|
|
25
|
+
return (0, round_1.cutToPrecision)(number, 2).toFixed(2);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return '0.00';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.dollarAmountString = dollarAmountString;
|
|
32
|
+
//# sourceMappingURL=dollar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dollar.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/dollar.ts"],"names":[],"mappings":";;;AACA,mCAAyC;AAoB5B,QAAA,0BAA0B,GAAG,8BAA8B,CAAC;AAEzE;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAO,kCAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAFD,oDAEC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,MAAqB;IACtD,IAAI,MAAM,EAAE;QACV,OAAO,IAAA,sBAAc,EAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KAC7C;SAAM;QACL,OAAO,MAAM,CAAC;KACf;AACH,CAAC;AAND,gDAMC"}
|
package/src/lib/number/index.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./factory"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./bound"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./dollar"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./number"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./random"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./round"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,kDAAwB;AACxB,mDAAyB;AACzB,mDAAyB;AACzB,kDAAwB;AACxB,sDAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,kDAAwB;AACxB,mDAAyB;AACzB,mDAAyB;AACzB,mDAAyB;AACzB,kDAAwB;AACxB,sDAA4B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { MinAndMaxFunctionResult, SortCompareFunction } from '../sort';
|
|
1
2
|
import { Maybe } from '../value/maybe.type';
|
|
2
3
|
/**
|
|
3
4
|
* A string represented within a number.
|
|
@@ -57,3 +58,5 @@ export declare function isOddNumber(value: number): boolean;
|
|
|
57
58
|
* @param to
|
|
58
59
|
*/
|
|
59
60
|
export declare function sumOfIntegersBetween(from: number, to: number): number;
|
|
61
|
+
export declare const sortCompareNumberFunction: SortCompareFunction<number>;
|
|
62
|
+
export declare function minAndMaxNumber(values: Iterable<number>): MinAndMaxFunctionResult<number>;
|
package/src/lib/number/number.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sumOfIntegersBetween = exports.isOddNumber = exports.isEvenNumber = exports.nearestDivisibleValues = exports.isNumberDivisibleBy = exports.asNumber = void 0;
|
|
3
|
+
exports.minAndMaxNumber = exports.sortCompareNumberFunction = exports.sumOfIntegersBetween = exports.isOddNumber = exports.isEvenNumber = exports.nearestDivisibleValues = exports.isNumberDivisibleBy = exports.asNumber = void 0;
|
|
4
|
+
const sort_1 = require("../sort");
|
|
4
5
|
/**
|
|
5
6
|
* Converts the input value to a number.
|
|
6
7
|
*
|
|
@@ -88,4 +89,10 @@ function sumOfIntegersBetween(from, to) {
|
|
|
88
89
|
return sumOfIntegers;
|
|
89
90
|
}
|
|
90
91
|
exports.sumOfIntegersBetween = sumOfIntegersBetween;
|
|
92
|
+
const sortCompareNumberFunction = (a, b) => a - b;
|
|
93
|
+
exports.sortCompareNumberFunction = sortCompareNumberFunction;
|
|
94
|
+
function minAndMaxNumber(values) {
|
|
95
|
+
return (0, sort_1.minAndMaxFunction)(exports.sortCompareNumberFunction)(values);
|
|
96
|
+
}
|
|
97
|
+
exports.minAndMaxNumber = minAndMaxNumber;
|
|
91
98
|
//# sourceMappingURL=number.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/number.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/number.ts"],"names":[],"mappings":";;;AAAA,kCAA0F;AAe1F;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,KAAoB;IAC3C,IAAI,KAAa,CAAC;IAElB,QAAQ,OAAO,KAAK,EAAE;QACpB,KAAK,QAAQ;YACX,KAAK,GAAG,KAAK,CAAC;YACd,MAAM;QACR,KAAK,QAAQ;YACX,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,MAAM;QACR;YACE,KAAK,GAAG,CAAC,CAAC;YACV,MAAM;KACT;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAhBD,4BAgBC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,KAAoB,EAAE,OAAe;IACvE,MAAM,SAAS,GAAG,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC,GAAG,OAAO,CAAC;IACzC,OAAO,SAAS,KAAK,CAAC,CAAC;AACzB,CAAC;AAHD,kDAGC;AASD;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,KAAa,EAAE,OAAe;IACnE,MAAM,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAErC,OAAO;QACL,KAAK;QACL,OAAO;QACP,WAAW,EAAE,SAAS,GAAG,OAAO;QAChC,YAAY,EAAE,UAAU,GAAG,OAAO;KACnC,CAAC;AACJ,CAAC;AAXD,wDAWC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,KAAa;IACxC,OAAO,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAFD,kCAEC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,IAAY,EAAE,EAAU;IAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAExB,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAElB,MAAM,aAAa,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;IAC/C,OAAO,aAAa,CAAC;AACvB,CAAC;AATD,oDASC;AAEM,MAAM,yBAAyB,GAAgC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAAzE,QAAA,yBAAyB,6BAAgD;AAEtF,SAAgB,eAAe,CAAC,MAAwB;IACtD,OAAO,IAAA,wBAAiB,EAAC,iCAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC;AAFD,0CAEC"}
|
package/src/lib/set/set.d.ts
CHANGED
|
@@ -5,13 +5,16 @@ export declare function asSet<T>(values: IterableOrValue<T>): Set<T>;
|
|
|
5
5
|
export declare function copySetAndDo<T>(set: Set<T>, fn: (set: Set<T>) => void): Set<T>;
|
|
6
6
|
export declare function addToSetCopy<T>(set: Set<T>, values: Maybe<IterableOrValue<T>>): Set<T>;
|
|
7
7
|
export declare function addToSet<T>(set: Set<T>, values: Maybe<IterableOrValue<T>>): void;
|
|
8
|
+
export declare function toggleInSetCopy<T>(set: Set<T>, values: Maybe<IterableOrValue<T>>): Set<T>;
|
|
9
|
+
export declare function toggleInSet<T>(set: Set<T>, values: Maybe<IterableOrValue<T>>): void;
|
|
8
10
|
export declare function removeFromSetCopy<T>(set: Set<T>, values: Maybe<IterableOrValue<T>>): Set<T>;
|
|
9
11
|
export declare function removeFromSet<T>(set: Set<T>, values: Maybe<IterableOrValue<T>>): void;
|
|
10
12
|
export declare function hasDifferentValues<T>(a: Maybe<Iterable<T>>, b: Maybe<Iterable<T>>): boolean;
|
|
11
|
-
export declare function
|
|
12
|
-
export declare function
|
|
13
|
+
export declare function symmetricDifferenceArray<T>(a: Maybe<Iterable<T>>, b: Maybe<Iterable<T>>): Maybe<T>[];
|
|
14
|
+
export declare function symmetricDifferenceArrayBetweenSets<T>(a: Set<Maybe<T>>, b: Set<Maybe<T>>): Maybe<T>[];
|
|
13
15
|
export declare function flattenArrayToSet<T>(array: T[][]): Set<T>;
|
|
14
16
|
export declare function keepValuesFromSet<T>(values: T[], set: Set<T>): T[];
|
|
17
|
+
export declare function excludeValues<T>(valuesToExclude: T[], iterable: Maybe<Iterable<T>>): T[];
|
|
15
18
|
export declare function excludeValuesFromSet<T>(values: T[], set: Set<T>): T[];
|
|
16
19
|
export declare function filterValuesFromSet<T>(values: T[], set: Set<T>, exclude?: boolean): T[];
|
|
17
20
|
/**
|
|
@@ -122,3 +125,26 @@ export declare function containsAllValues<T>(values: Iterable<T>, valuesToFind:
|
|
|
122
125
|
* @returns
|
|
123
126
|
*/
|
|
124
127
|
export declare function setContainsAllValues<T>(valuesSet: Set<T>, valuesToFind: IterableOrValue<T>): boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Returns true if both iterables are defined (or are both null/undefined) and have the same values exactly.
|
|
130
|
+
*
|
|
131
|
+
* @param a
|
|
132
|
+
* @param b
|
|
133
|
+
* @returns
|
|
134
|
+
*/
|
|
135
|
+
export declare function iterablesAreSetEquivalent<T>(a: Maybe<Iterable<T>>, b: Maybe<Iterable<T>>): boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Returns true if both sets are defined (or are both null/undefined) and have the same values exactly.
|
|
138
|
+
*
|
|
139
|
+
* @param a
|
|
140
|
+
* @param b
|
|
141
|
+
*/
|
|
142
|
+
export declare function setsAreEquivalent<T>(a: Maybe<Set<T>>, b: Maybe<Set<T>>): boolean;
|
|
143
|
+
/**
|
|
144
|
+
* @deprecated use symmetricDifferenceArray
|
|
145
|
+
*/
|
|
146
|
+
export declare const symmetricDifferenceKeys: typeof symmetricDifferenceArray;
|
|
147
|
+
/**
|
|
148
|
+
* @deprecated use symmetricDifferenceArrayBetweenSets
|
|
149
|
+
*/
|
|
150
|
+
export declare const symmetricDifferenceKeysSet: typeof symmetricDifferenceArrayBetweenSets;
|
package/src/lib/set/set.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setContainsAllValues = exports.containsAllValues = exports.setContainsAnyValue = exports.containsAnyValueFromSet = exports.containsAnyValue = exports.setContainsNoneOfValue = exports.containsNoValueFromSet = exports.containsNoneOfValue = exports.setIncludes = exports.setIncludesFunction = exports.findValuesFrom = exports.setHasValueFunction = exports.hasValueFunction = exports.filterValuesFromSet = exports.excludeValuesFromSet = exports.keepValuesFromSet = exports.flattenArrayToSet = exports.
|
|
3
|
+
exports.symmetricDifferenceKeysSet = exports.symmetricDifferenceKeys = exports.setsAreEquivalent = exports.iterablesAreSetEquivalent = exports.setContainsAllValues = exports.containsAllValues = exports.setContainsAnyValue = exports.containsAnyValueFromSet = exports.containsAnyValue = exports.setContainsNoneOfValue = exports.containsNoValueFromSet = exports.containsNoneOfValue = exports.setIncludes = exports.setIncludesFunction = exports.findValuesFrom = exports.setHasValueFunction = exports.hasValueFunction = exports.filterValuesFromSet = exports.excludeValuesFromSet = exports.excludeValues = exports.keepValuesFromSet = exports.flattenArrayToSet = exports.symmetricDifferenceArrayBetweenSets = exports.symmetricDifferenceArray = exports.hasDifferentValues = exports.removeFromSet = exports.removeFromSetCopy = exports.toggleInSet = exports.toggleInSetCopy = exports.addToSet = exports.addToSetCopy = exports.copySetAndDo = exports.asSet = void 0;
|
|
4
4
|
const array_1 = require("../array/array");
|
|
5
5
|
const iterable_1 = require("../iterable/iterable");
|
|
6
6
|
const extra_set_1 = require("extra-set");
|
|
@@ -31,6 +31,21 @@ function addToSet(set, values) {
|
|
|
31
31
|
(0, iterable_1.useIterableOrValue)(values, (x) => set.add(x));
|
|
32
32
|
}
|
|
33
33
|
exports.addToSet = addToSet;
|
|
34
|
+
function toggleInSetCopy(set, values) {
|
|
35
|
+
return copySetAndDo(set, (x) => toggleInSet(x, values));
|
|
36
|
+
}
|
|
37
|
+
exports.toggleInSetCopy = toggleInSetCopy;
|
|
38
|
+
function toggleInSet(set, values) {
|
|
39
|
+
(0, iterable_1.useIterableOrValue)(values, (x) => {
|
|
40
|
+
if (set.has(x)) {
|
|
41
|
+
set.delete(x);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
set.add(x);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
exports.toggleInSet = toggleInSet;
|
|
34
49
|
function removeFromSetCopy(set, values) {
|
|
35
50
|
return copySetAndDo(set, (x) => removeFromSet(x, values));
|
|
36
51
|
}
|
|
@@ -44,14 +59,14 @@ function hasDifferentValues(a, b) {
|
|
|
44
59
|
return a == null || b == null || !setContainsAllValues(setA, b) || setA.size !== new Set(b).size;
|
|
45
60
|
}
|
|
46
61
|
exports.hasDifferentValues = hasDifferentValues;
|
|
47
|
-
function
|
|
48
|
-
return
|
|
62
|
+
function symmetricDifferenceArray(a, b) {
|
|
63
|
+
return symmetricDifferenceArrayBetweenSets(new Set(a), new Set(b));
|
|
49
64
|
}
|
|
50
|
-
exports.
|
|
51
|
-
function
|
|
65
|
+
exports.symmetricDifferenceArray = symmetricDifferenceArray;
|
|
66
|
+
function symmetricDifferenceArrayBetweenSets(a, b) {
|
|
52
67
|
return Array.from((0, extra_set_1.symmetricDifference)(a, b));
|
|
53
68
|
}
|
|
54
|
-
exports.
|
|
69
|
+
exports.symmetricDifferenceArrayBetweenSets = symmetricDifferenceArrayBetweenSets;
|
|
55
70
|
function flattenArrayToSet(array) {
|
|
56
71
|
return new Set((0, array_1.flattenArray)(array));
|
|
57
72
|
}
|
|
@@ -60,6 +75,10 @@ function keepValuesFromSet(values, set) {
|
|
|
60
75
|
return filterValuesFromSet(values, set, false);
|
|
61
76
|
}
|
|
62
77
|
exports.keepValuesFromSet = keepValuesFromSet;
|
|
78
|
+
function excludeValues(valuesToExclude, iterable) {
|
|
79
|
+
return excludeValuesFromSet(valuesToExclude, new Set(iterable));
|
|
80
|
+
}
|
|
81
|
+
exports.excludeValues = excludeValues;
|
|
63
82
|
function excludeValuesFromSet(values, set) {
|
|
64
83
|
return filterValuesFromSet(values, set, true);
|
|
65
84
|
}
|
|
@@ -210,4 +229,34 @@ function setContainsAllValues(valuesSet, valuesToFind) {
|
|
|
210
229
|
return valuesSet ? Array.from((0, iterable_1.asIterable)(valuesToFind)).findIndex((x) => !valuesSet.has(x)) == -1 : false;
|
|
211
230
|
}
|
|
212
231
|
exports.setContainsAllValues = setContainsAllValues;
|
|
232
|
+
/**
|
|
233
|
+
* Returns true if both iterables are defined (or are both null/undefined) and have the same values exactly.
|
|
234
|
+
*
|
|
235
|
+
* @param a
|
|
236
|
+
* @param b
|
|
237
|
+
* @returns
|
|
238
|
+
*/
|
|
239
|
+
function iterablesAreSetEquivalent(a, b) {
|
|
240
|
+
return a && b ? setsAreEquivalent(new Set(a), new Set(b)) : a == b;
|
|
241
|
+
}
|
|
242
|
+
exports.iterablesAreSetEquivalent = iterablesAreSetEquivalent;
|
|
243
|
+
/**
|
|
244
|
+
* Returns true if both sets are defined (or are both null/undefined) and have the same values exactly.
|
|
245
|
+
*
|
|
246
|
+
* @param a
|
|
247
|
+
* @param b
|
|
248
|
+
*/
|
|
249
|
+
function setsAreEquivalent(a, b) {
|
|
250
|
+
return a && b ? a.size === b.size && symmetricDifferenceArrayBetweenSets(a, b).length === 0 : a == b;
|
|
251
|
+
}
|
|
252
|
+
exports.setsAreEquivalent = setsAreEquivalent;
|
|
253
|
+
// MARK: Compat
|
|
254
|
+
/**
|
|
255
|
+
* @deprecated use symmetricDifferenceArray
|
|
256
|
+
*/
|
|
257
|
+
exports.symmetricDifferenceKeys = symmetricDifferenceArray;
|
|
258
|
+
/**
|
|
259
|
+
* @deprecated use symmetricDifferenceArrayBetweenSets
|
|
260
|
+
*/
|
|
261
|
+
exports.symmetricDifferenceKeysSet = symmetricDifferenceArrayBetweenSets;
|
|
213
262
|
//# sourceMappingURL=set.js.map
|
package/src/lib/set/set.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/set/set.ts"],"names":[],"mappings":";;;AACA,0CAA8C;AAC9C,mDAAuF;AACvF,yCAAgD;AAChD,gCAAwE;AAExE,SAAgB,KAAK,CAAI,MAA0B;IACjD,IAAI,GAAW,CAAC;IAEhB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KACzB;SAAM;QACL,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;KACvB;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAXD,sBAWC;AAED,SAAgB,YAAY,CAAI,GAAW,EAAE,EAAyB;IACpE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,EAAE,CAAC,MAAM,CAAC,CAAC;IACX,OAAO,MAAM,CAAC;AAChB,CAAC;AAJD,oCAIC;AAED,SAAgB,YAAY,CAAI,GAAW,EAAE,MAAiC;IAC5E,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAFD,oCAEC;AAED,SAAgB,QAAQ,CAAI,GAAW,EAAE,MAAiC;IACxE,IAAA,6BAAkB,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAFD,4BAEC;AAED,SAAgB,iBAAiB,CAAI,GAAW,EAAE,MAAiC;IACjF,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5D,CAAC;AAFD,8CAEC;AAED,SAAgB,aAAa,CAAI,GAAW,EAAE,MAAiC;IAC7E,IAAA,6BAAkB,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,sCAEC;AAED,SAAgB,kBAAkB,CAAI,CAAqB,EAAE,CAAqB;IAChF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnG,CAAC;AAHD,gDAGC;AAED,SAAgB,
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/set/set.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.selection.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/set/set.selection.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"set.selection.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/set/set.selection.ts"],"names":[],"mappings":";;;AAqBA;;;;;GAKG;AACH,SAAgB,iCAAiC,CAA2C,MAA8C;IACxI,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;IAErD,OAAO,CAAC,cAA2B,EAAE,EAAE;QACrC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;QAElD,OAAO,CAAC,KAAQ,EAAE,EAAE;YAClB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACrE,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAXD,8EAWC"}
|
package/src/lib/sort.d.ts
CHANGED
|
@@ -38,3 +38,20 @@ export declare function reverseCompareFn<T>(compareFn: SortDescendingCompareFunc
|
|
|
38
38
|
* The input comparison function must be in ascending order.
|
|
39
39
|
*/
|
|
40
40
|
export declare function compareFnOrder<T>(ascendingCompareFn: AscendingSortCompareFunction<T>, order?: SortingOrder): SortCompareFunction<T>;
|
|
41
|
+
export interface MinAndMax<T> {
|
|
42
|
+
min: T;
|
|
43
|
+
max: T;
|
|
44
|
+
}
|
|
45
|
+
export declare type MinAndMaxFunctionResult<T> = MinAndMax<T> | null;
|
|
46
|
+
/**
|
|
47
|
+
* Returns the min and maximum value from the input values.
|
|
48
|
+
*
|
|
49
|
+
* If the input iterable is empty, then returns undefined.
|
|
50
|
+
*/
|
|
51
|
+
export declare type MinAndMaxFunction<T> = (values: Iterable<T>) => MinAndMaxFunctionResult<T>;
|
|
52
|
+
/**
|
|
53
|
+
* Creates a MinAndMaxFunction using the input compare.
|
|
54
|
+
*
|
|
55
|
+
* @param compare
|
|
56
|
+
*/
|
|
57
|
+
export declare function minAndMaxFunction<T>(compareFn: SortCompareFunction<T>): MinAndMaxFunction<T>;
|
package/src/lib/sort.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.compareFnOrder = exports.reverseCompareFn = exports.SORT_VALUE_EQUAL = exports.SORT_VALUE_GREATER_THAN = exports.SORT_VALUE_LESS_THAN = void 0;
|
|
3
|
+
exports.minAndMaxFunction = exports.compareFnOrder = exports.reverseCompareFn = exports.SORT_VALUE_EQUAL = exports.SORT_VALUE_GREATER_THAN = exports.SORT_VALUE_LESS_THAN = void 0;
|
|
4
|
+
const iterable_1 = require("./iterable/iterable");
|
|
4
5
|
exports.SORT_VALUE_LESS_THAN = -1;
|
|
5
6
|
exports.SORT_VALUE_GREATER_THAN = 1;
|
|
6
7
|
exports.SORT_VALUE_EQUAL = 0;
|
|
@@ -17,4 +18,33 @@ function compareFnOrder(ascendingCompareFn, order = 'asc') {
|
|
|
17
18
|
return order === 'asc' ? ascendingCompareFn : reverseCompareFn(ascendingCompareFn);
|
|
18
19
|
}
|
|
19
20
|
exports.compareFnOrder = compareFnOrder;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a MinAndMaxFunction using the input compare.
|
|
23
|
+
*
|
|
24
|
+
* @param compare
|
|
25
|
+
*/
|
|
26
|
+
function minAndMaxFunction(compareFn) {
|
|
27
|
+
return (values) => {
|
|
28
|
+
var _a;
|
|
29
|
+
let min = (_a = (0, iterable_1.firstValueFromIterable)(values)) !== null && _a !== void 0 ? _a : undefined;
|
|
30
|
+
let max = min;
|
|
31
|
+
if (min != null && max != null) {
|
|
32
|
+
(0, iterable_1.forEachInIterable)(values, (x) => {
|
|
33
|
+
const compareMin = compareFn(x, min);
|
|
34
|
+
const compareMax = compareFn(x, max);
|
|
35
|
+
if (compareMin < 0) {
|
|
36
|
+
min = x;
|
|
37
|
+
}
|
|
38
|
+
if (compareMax > 0) {
|
|
39
|
+
max = x;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return { min, max };
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
exports.minAndMaxFunction = minAndMaxFunction;
|
|
20
50
|
//# sourceMappingURL=sort.js.map
|
package/src/lib/sort.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/sort.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/sort.ts"],"names":[],"mappings":";;;AAAA,kDAAgF;AAKnE,QAAA,oBAAoB,GAAyB,CAAC,CAAC,CAAC;AAChD,QAAA,uBAAuB,GAAyB,CAAC,CAAC;AAClD,QAAA,gBAAgB,GAAyB,CAAC,CAAC;AAoCxD,SAAgB,gBAAgB,CAAI,SAAiC;IACnE,OAAO,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC;AAFD,4CAEC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAI,kBAAmD,EAAE,QAAsB,KAAK;IAChH,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;AACrF,CAAC;AAFD,wCAEC;AAgBD;;;;GAIG;AACH,SAAgB,iBAAiB,CAAI,SAAiC;IACpE,OAAO,CAAC,MAAmB,EAAE,EAAE;;QAC7B,IAAI,GAAG,GAAa,MAAA,IAAA,iCAAsB,EAAC,MAAM,CAAC,mCAAI,SAAS,CAAC;QAChE,IAAI,GAAG,GAAa,GAAG,CAAC;QAExB,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE;YAC9B,IAAA,4BAAiB,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC9B,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,EAAE,GAAQ,CAAC,CAAC;gBAC1C,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,EAAE,GAAQ,CAAC,CAAC;gBAE1C,IAAI,UAAU,GAAG,CAAC,EAAE;oBAClB,GAAG,GAAG,CAAC,CAAC;iBACT;gBAED,IAAI,UAAU,GAAG,CAAC,EAAE;oBAClB,GAAG,GAAG,CAAC,CAAC;iBACT;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;SACrB;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;AACJ,CAAC;AAxBD,8CAwBC"}
|
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.18.0](https://github.com/dereekb/dbx-components/compare/v9.17.3-dev...v9.18.0) (2022-12-07)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.17.3](https://github.com/dereekb/dbx-components/compare/v9.17.2-dev...v9.17.3) (2022-12-01)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
5
13
|
## [9.17.2](https://github.com/dereekb/dbx-components/compare/v9.17.1-dev...v9.17.2) (2022-11-28)
|
|
6
14
|
|
|
7
15
|
|
package/test/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/test",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.18.0",
|
|
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.
|
|
9
|
+
"@dereekb/util": "9.18.0",
|
|
10
10
|
"lodash.isequal": "^4.5.0",
|
|
11
11
|
"make-error": "^1.3.0",
|
|
12
12
|
"class-validator": "^0.13.2",
|