@dereekb/util 9.25.13 → 9.25.15
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 +8 -0
- package/fetch/CHANGELOG.md +8 -0
- package/fetch/package.json +2 -2
- package/package.json +1 -1
- package/src/lib/array/array.d.ts +1 -0
- package/src/lib/array/array.js.map +1 -1
- package/src/lib/date/date.d.ts +1 -0
- package/src/lib/date/date.js +3 -2
- package/src/lib/date/date.js.map +1 -1
- package/src/lib/getter/getter.d.ts +7 -0
- package/src/lib/getter/getter.js +11 -1
- package/src/lib/getter/getter.js.map +1 -1
- package/src/lib/grouping.d.ts +2 -1
- package/src/lib/grouping.js.map +1 -1
- package/src/lib/number/bound.d.ts +9 -0
- package/src/lib/number/bound.js +14 -2
- package/src/lib/number/bound.js.map +1 -1
- package/src/lib/number/dollar.d.ts +8 -0
- package/src/lib/number/dollar.js +6 -2
- package/src/lib/number/dollar.js.map +1 -1
- package/src/lib/object/index.d.ts +1 -0
- package/src/lib/object/index.js +1 -0
- package/src/lib/object/index.js.map +1 -1
- package/src/lib/object/object.array.delta.d.ts +47 -0
- package/src/lib/object/object.array.delta.js +87 -0
- package/src/lib/object/object.array.delta.js.map +1 -0
- package/src/lib/object/object.equal.d.ts +60 -0
- package/src/lib/object/object.equal.js +36 -1
- package/src/lib/object/object.equal.js.map +1 -1
- package/src/lib/value/equal.d.ts +10 -7
- package/src/lib/value/equal.js.map +1 -1
- package/test/CHANGELOG.md +8 -0
- package/test/package.json +2 -2
package/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.25.15](https://github.com/dereekb/dbx-components/compare/v9.25.14-dev...v9.25.15) (2023-11-27)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.25.14](https://github.com/dereekb/dbx-components/compare/v9.25.13-dev...v9.25.14) (2023-11-23)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
5
13
|
## [9.25.13](https://github.com/dereekb/dbx-components/compare/v9.25.12-dev...v9.25.13) (2023-11-15)
|
|
6
14
|
|
|
7
15
|
|
package/fetch/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.25.15](https://github.com/dereekb/dbx-components/compare/v9.25.14-dev...v9.25.15) (2023-11-27)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.25.14](https://github.com/dereekb/dbx-components/compare/v9.25.13-dev...v9.25.14) (2023-11-23)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
5
13
|
## [9.25.13](https://github.com/dereekb/dbx-components/compare/v9.25.12-dev...v9.25.13) (2023-11-15)
|
|
6
14
|
|
|
7
15
|
|
package/fetch/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/fetch",
|
|
3
|
-
"version": "9.25.
|
|
3
|
+
"version": "9.25.15",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"types": "./src/index.d.ts",
|
|
6
6
|
"dependencies": {},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@dereekb/util": "9.25.
|
|
8
|
+
"@dereekb/util": "9.25.15",
|
|
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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.ts"],"names":[],"mappings":"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"}
|
package/src/lib/date/date.d.ts
CHANGED
|
@@ -140,6 +140,7 @@ export declare const HOURS_IN_DAY = 24;
|
|
|
140
140
|
export declare const SECONDS_IN_MINUTE = 60;
|
|
141
141
|
export declare const MINUTES_IN_DAY = 1440;
|
|
142
142
|
export declare const MINUTES_IN_HOUR = 60;
|
|
143
|
+
export declare const MS_IN_SECOND = 1000;
|
|
143
144
|
export declare const MS_IN_MINUTE: number;
|
|
144
145
|
export declare const MS_IN_HOUR: number;
|
|
145
146
|
export declare const MS_IN_DAY: number;
|
package/src/lib/date/date.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isDate = exports.makeDateMonthForMonthOfYear = exports.monthOfYearFromDateMonth = exports.monthOfYearFromDate = exports.MS_IN_DAY = exports.MS_IN_HOUR = exports.MS_IN_MINUTE = exports.MINUTES_IN_HOUR = exports.MINUTES_IN_DAY = exports.SECONDS_IN_MINUTE = exports.HOURS_IN_DAY = exports.monthDaySlashDateToDateString = exports.isMonthDaySlashDate = exports.MONTH_DAY_SLASH_DATE_STRING_REGEX = exports.isISO8601DayStringStart = exports.isISO8601DayString = exports.ISO8601_DAY_STRING_START_REGEX = exports.ISO8601_DAY_STRING_REGEX = exports.isConsideredUtcTimezoneString = exports.UTC_TIMEZONE_STRING = exports.hasSameTimezone = exports.isUTCDateString = exports.UTC_DATE_STRING_REGEX = exports.isISO8601DateString = exports.ISO_8601_DATE_STRING_REGEX = void 0;
|
|
3
|
+
exports.isDate = exports.makeDateMonthForMonthOfYear = exports.monthOfYearFromDateMonth = exports.monthOfYearFromDate = exports.MS_IN_DAY = exports.MS_IN_HOUR = exports.MS_IN_MINUTE = exports.MS_IN_SECOND = exports.MINUTES_IN_HOUR = exports.MINUTES_IN_DAY = exports.SECONDS_IN_MINUTE = exports.HOURS_IN_DAY = exports.monthDaySlashDateToDateString = exports.isMonthDaySlashDate = exports.MONTH_DAY_SLASH_DATE_STRING_REGEX = exports.isISO8601DayStringStart = exports.isISO8601DayString = exports.ISO8601_DAY_STRING_START_REGEX = exports.ISO8601_DAY_STRING_REGEX = exports.isConsideredUtcTimezoneString = exports.UTC_TIMEZONE_STRING = exports.hasSameTimezone = exports.isUTCDateString = exports.UTC_DATE_STRING_REGEX = exports.isISO8601DateString = exports.ISO_8601_DATE_STRING_REGEX = void 0;
|
|
4
4
|
const maybe_1 = require("../value/maybe");
|
|
5
5
|
/**
|
|
6
6
|
* TODO: Need to improve to support negative years.
|
|
@@ -97,7 +97,8 @@ exports.HOURS_IN_DAY = 24;
|
|
|
97
97
|
exports.SECONDS_IN_MINUTE = 60;
|
|
98
98
|
exports.MINUTES_IN_DAY = 1440;
|
|
99
99
|
exports.MINUTES_IN_HOUR = 60;
|
|
100
|
-
exports.
|
|
100
|
+
exports.MS_IN_SECOND = 1000;
|
|
101
|
+
exports.MS_IN_MINUTE = exports.MS_IN_SECOND * 60;
|
|
101
102
|
exports.MS_IN_HOUR = exports.MS_IN_MINUTE * 60;
|
|
102
103
|
exports.MS_IN_DAY = exports.MS_IN_HOUR * exports.HOURS_IN_DAY;
|
|
103
104
|
/**
|
package/src/lib/date/date.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/date/date.ts"],"names":[],"mappings":";;;AAAA,0CAAkE;AAUlE;;GAEG;AACU,QAAA,0BAA0B,GAAG,6EAA6E,CAAC;AAExH,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,OAAO,kCAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAFD,kDAEC;AASD;;;;;;GAMG;AACU,QAAA,qBAAqB,GAAG,oFAAoF,CAAC;AAE1H,SAAgB,eAAe,CAAC,KAAa;IAC3C,OAAO,6BAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAFD,0CAEC;AA4BD;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,CAAoC,EAAE,CAAoC;IACxG,MAAM,GAAG,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,CAAC;IACxB,MAAM,GAAG,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,CAAC;IACxB,OAAO,IAAA,wCAAgC,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACpD,CAAC;AAJD,0CAIC;AAED;;GAEG;AACU,QAAA,mBAAmB,GAAG,KAAK,CAAC;AAkBzC,SAAgB,6BAA6B,CAAC,QAA+B;IAC3E,OAAO,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,2BAAmB,CAAC;AAC9D,CAAC;AAFD,sEAEC;AAuBD;;GAEG;AACU,QAAA,wBAAwB,GAAG,sBAAsB,CAAC;AAE/D;;GAEG;AACU,QAAA,8BAA8B,GAAG,qBAAqB,CAAC;AAEpE;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,OAAO,gCAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAFD,gDAEC;AAED,SAAgB,uBAAuB,CAAC,KAAa;IACnD,OAAO,sCAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC;AAFD,0DAEC;AAOD;;GAEG;AACU,QAAA,iCAAiC,GAAG,yBAAyB,CAAC;AAE3E,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,OAAO,yCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAFD,kDAEC;AAED;;;;;GAKG;AACH,SAAgB,6BAA6B,CAAC,SAA4B;IACxE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;KACrB;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QACpB,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;KACjB;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;KACpB;IAED,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC;AAjBD,sEAiBC;AAkBY,QAAA,YAAY,GAAG,EAAE,CAAC;AAClB,QAAA,iBAAiB,GAAG,EAAE,CAAC;AACvB,QAAA,cAAc,GAAG,IAAI,CAAC;AACtB,QAAA,eAAe,GAAG,EAAE,CAAC;AACrB,QAAA,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/date/date.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,3 +98,10 @@ export declare type FactoryWithIndex<T> = FactoryWithInput<T, number> | FactoryW
|
|
|
98
98
|
export declare function makeWithFactory<T>(factory: Factory<T> | FactoryWithIndex<T>, count: number): T[];
|
|
99
99
|
export declare function makeWithFactoryInput<T, A>(factory: FactoryWithInput<T, A>, input: Maybe<A>[]): T[];
|
|
100
100
|
export declare function makeWithFactoryInput<T, A>(factory: FactoryWithRequiredInput<T, A>, input: A[]): T[];
|
|
101
|
+
/**
|
|
102
|
+
* Wraps the factory so that when executed no arguments are passed to the factory.
|
|
103
|
+
*
|
|
104
|
+
* @param factory
|
|
105
|
+
* @returns
|
|
106
|
+
*/
|
|
107
|
+
export declare function protectedFactory<T>(factory: Factory<T>): Factory<T>;
|
package/src/lib/getter/getter.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeWithFactoryInput = exports.makeWithFactory = exports.makeGetter = exports.asObjectCopyFactory = exports.objectCopyFactory = exports.asGetter = exports.getValueFromGetter = exports.isGetter = void 0;
|
|
3
|
+
exports.protectedFactory = exports.makeWithFactoryInput = exports.makeWithFactory = exports.makeGetter = exports.asObjectCopyFactory = exports.objectCopyFactory = exports.asGetter = exports.getValueFromGetter = exports.isGetter = void 0;
|
|
4
4
|
const object_1 = require("../object/object");
|
|
5
5
|
const type_1 = require("../type");
|
|
6
6
|
/**
|
|
@@ -86,4 +86,14 @@ function makeWithFactoryInput(factory, input) {
|
|
|
86
86
|
return input.map((x) => factory(x));
|
|
87
87
|
}
|
|
88
88
|
exports.makeWithFactoryInput = makeWithFactoryInput;
|
|
89
|
+
/**
|
|
90
|
+
* Wraps the factory so that when executed no arguments are passed to the factory.
|
|
91
|
+
*
|
|
92
|
+
* @param factory
|
|
93
|
+
* @returns
|
|
94
|
+
*/
|
|
95
|
+
function protectedFactory(factory) {
|
|
96
|
+
return () => factory();
|
|
97
|
+
}
|
|
98
|
+
exports.protectedFactory = protectedFactory;
|
|
89
99
|
//# sourceMappingURL=getter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getter.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/getter/getter.ts"],"names":[],"mappings":";;;AAAA,6CAAkE;AAElE,kCAAwD;AAmDxD;;;;;GAKG;AACH,SAAgB,QAAQ,CAAc,KAAc;IAClD,OAAO,IAAA,yBAAkB,EAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAFD,4BAEC;AAaD,SAAgB,kBAAkB,CAAsB,KAAc,EAAE,IAAQ;IAC9E,IAAI,IAAA,yBAAkB,EAAC,KAAK,CAAC,EAAE;QAC7B,OAAQ,KAAkB,CAAC,IAAI,CAAC,CAAC;KAClC;SAAM;QACL,OAAO,KAAU,CAAC;KACnB;AACH,CAAC;AAND,gDAMC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAI,KAAuB;IACjD,IAAI,IAAA,yBAAkB,EAAC,KAAK,CAAC,EAAE;QAC7B,OAAO,KAAkB,CAAC;KAC3B;SAAM;QACL,OAAO,GAAG,EAAE,CAAC,KAAU,CAAC;KACzB;AACH,CAAC;AAND,4BAMC;AAOD;;;;GAIG;AACH,SAAgB,iBAAiB,CAAmB,KAAQ,EAAE,eAAsC,mBAAU;IAC5G,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAFD,8CAEC;AAED;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CAAI,KAA+B,EAAE,YAAoC;IAC1G,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,8DAA8D;QAC9D,OAAO,iBAAiB,CAAM,KAAK,EAAE,YAAY,CAAC,CAAC;KACpD;SAAM;QACL,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;KACxB;AACH,CAAC;AAPD,kDAOC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAI,KAAQ;IACpC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;AACrB,CAAC;AAFD,gCAEC;AAOD,SAAgB,eAAe,CAAI,OAAyC,EAAE,KAAa;IACzF,MAAM,OAAO,GAAQ,EAAE,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE;QACjC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1B;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AARD,0CAQC;AAID,SAAgB,oBAAoB,CAAO,OAAuC,EAAE,KAAU;IAC5F,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAFD,oDAEC"}
|
|
1
|
+
{"version":3,"file":"getter.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/getter/getter.ts"],"names":[],"mappings":";;;AAAA,6CAAkE;AAElE,kCAAwD;AAmDxD;;;;;GAKG;AACH,SAAgB,QAAQ,CAAc,KAAc;IAClD,OAAO,IAAA,yBAAkB,EAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAFD,4BAEC;AAaD,SAAgB,kBAAkB,CAAsB,KAAc,EAAE,IAAQ;IAC9E,IAAI,IAAA,yBAAkB,EAAC,KAAK,CAAC,EAAE;QAC7B,OAAQ,KAAkB,CAAC,IAAI,CAAC,CAAC;KAClC;SAAM;QACL,OAAO,KAAU,CAAC;KACnB;AACH,CAAC;AAND,gDAMC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAI,KAAuB;IACjD,IAAI,IAAA,yBAAkB,EAAC,KAAK,CAAC,EAAE;QAC7B,OAAO,KAAkB,CAAC;KAC3B;SAAM;QACL,OAAO,GAAG,EAAE,CAAC,KAAU,CAAC;KACzB;AACH,CAAC;AAND,4BAMC;AAOD;;;;GAIG;AACH,SAAgB,iBAAiB,CAAmB,KAAQ,EAAE,eAAsC,mBAAU;IAC5G,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAFD,8CAEC;AAED;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CAAI,KAA+B,EAAE,YAAoC;IAC1G,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,8DAA8D;QAC9D,OAAO,iBAAiB,CAAM,KAAK,EAAE,YAAY,CAAC,CAAC;KACpD;SAAM;QACL,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;KACxB;AACH,CAAC;AAPD,kDAOC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAI,KAAQ;IACpC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;AACrB,CAAC;AAFD,gCAEC;AAOD,SAAgB,eAAe,CAAI,OAAyC,EAAE,KAAa;IACzF,MAAM,OAAO,GAAQ,EAAE,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE;QACjC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1B;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AARD,0CAQC;AAID,SAAgB,oBAAoB,CAAO,OAAuC,EAAE,KAAU;IAC5F,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAFD,oDAEC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAI,OAAmB;IACrD,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AACzB,CAAC;AAFD,4CAEC"}
|
package/src/lib/grouping.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PrimativeKey, ReadKeyFunction } from './key';
|
|
2
|
+
import { EqualityComparatorFunction } from './value/comparator';
|
|
2
3
|
import { DecisionFunction } from './value/decision';
|
|
3
4
|
import { Maybe } from './value/maybe.type';
|
|
4
5
|
export interface SeparateResult<T> {
|
|
@@ -17,7 +18,7 @@ export interface PairsGroupingResult<T> {
|
|
|
17
18
|
}
|
|
18
19
|
export interface ArrayContentsDifferentParams<T, K extends PrimativeKey = PrimativeKey> {
|
|
19
20
|
groupKeyFn: ReadKeyFunction<T, K>;
|
|
20
|
-
isEqual:
|
|
21
|
+
isEqual: EqualityComparatorFunction<T>;
|
|
21
22
|
}
|
|
22
23
|
/**
|
|
23
24
|
* Configuration for RestoreOrderParams.
|
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":";;;AACA,qCAAuC;
|
|
1
|
+
{"version":3,"file":"grouping.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/grouping.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,3 +34,12 @@ export interface BoundNumberFunctionConfig<T extends number = number> extends Nu
|
|
|
34
34
|
}
|
|
35
35
|
export declare type BoundNumberFunction<T extends number = number> = MapFunction<number, T>;
|
|
36
36
|
export declare function boundNumberFunction<T extends number = number>(boundNumberFunctionConfig: BoundNumberFunctionConfig<T>): BoundNumberFunction<T>;
|
|
37
|
+
/**
|
|
38
|
+
* Returns the input number clamped between the min and max values.
|
|
39
|
+
*
|
|
40
|
+
* @param input
|
|
41
|
+
* @param min
|
|
42
|
+
* @param max
|
|
43
|
+
* @returns
|
|
44
|
+
*/
|
|
45
|
+
export declare function boundNumber<T extends number = number>(input: number, min: T, max: T): T;
|
package/src/lib/number/bound.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.boundNumberFunction = exports.wrapNumberFunction = exports.isInNumberBoundFunction = exports.isValidNumberBound = void 0;
|
|
3
|
+
exports.boundNumber = exports.boundNumberFunction = exports.wrapNumberFunction = exports.isInNumberBoundFunction = exports.isValidNumberBound = void 0;
|
|
4
4
|
function isValidNumberBound(bounds) {
|
|
5
5
|
const { min, max } = bounds;
|
|
6
6
|
return min <= max;
|
|
@@ -41,8 +41,20 @@ function boundNumberFunction(boundNumberFunctionConfig) {
|
|
|
41
41
|
return wrapNumberFunction(boundNumberFunctionConfig);
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
|
-
return (input) =>
|
|
44
|
+
return (input) => boundNumber(input, min, max);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
exports.boundNumberFunction = boundNumberFunction;
|
|
48
|
+
/**
|
|
49
|
+
* Returns the input number clamped between the min and max values.
|
|
50
|
+
*
|
|
51
|
+
* @param input
|
|
52
|
+
* @param min
|
|
53
|
+
* @param max
|
|
54
|
+
* @returns
|
|
55
|
+
*/
|
|
56
|
+
function boundNumber(input, min, max) {
|
|
57
|
+
return Math.max(Math.min(input, max), min);
|
|
58
|
+
}
|
|
59
|
+
exports.boundNumber = boundNumber;
|
|
48
60
|
//# sourceMappingURL=bound.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bound.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/bound.ts"],"names":[],"mappings":";;;AAeA,SAAgB,kBAAkB,CAAC,MAAmB;IACpD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC5B,OAAO,GAAG,IAAI,GAAG,CAAC;AACpB,CAAC;AAHD,gDAGC;AAID,SAAgB,uBAAuB,CAAC,MAAmB;IACzD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAE5B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KAClE;IAED,OAAO,CAAC,KAAa,EAAE,EAAE;QACvB,OAAO,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AAVD,0DAUC;AAgBD,SAAgB,kBAAkB,CAA4B,wBAAqD;IACjH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,wBAAwB,CAAC;IAClE,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC;IAC3B,MAAM,SAAS,GAAG,uBAAuB,CAAC,wBAAwB,CAAC,CAAC;IAEpE,MAAM,EAAE,GAAoC,CAAC,CAAC,KAAQ,EAAE,EAAE;QACxD,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;YACpB,OAAO,KAAK,CAAC;SACd;aAAM;YACL,gIAAgI;YAChI,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,GAAG,GAAG,eAAe,CAAC;YAClG,OAAO,YAAY,CAAC;SACrB;IACH,CAAC,CAA0B,CAAC;IAC5B,EAAE,CAAC,KAAK,GAAG,wBAAwB,CAAC;IACpC,OAAO,EAA2B,CAAC;AACrC,CAAC;AAjBD,gDAiBC;AAaD,SAAgB,mBAAmB,CAA4B,yBAAuD;IACpH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,yBAAyB,CAAC;IAErD,IAAI,IAAI,EAAE;QACR,OAAO,kBAAkB,CAAI,yBAAyB,CAAC,CAAC;KACzD;SAAM;QACL,OAAO,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"bound.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/bound.ts"],"names":[],"mappings":";;;AAeA,SAAgB,kBAAkB,CAAC,MAAmB;IACpD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC5B,OAAO,GAAG,IAAI,GAAG,CAAC;AACpB,CAAC;AAHD,gDAGC;AAID,SAAgB,uBAAuB,CAAC,MAAmB;IACzD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAE5B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KAClE;IAED,OAAO,CAAC,KAAa,EAAE,EAAE;QACvB,OAAO,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AAVD,0DAUC;AAgBD,SAAgB,kBAAkB,CAA4B,wBAAqD;IACjH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,wBAAwB,CAAC;IAClE,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC;IAC3B,MAAM,SAAS,GAAG,uBAAuB,CAAC,wBAAwB,CAAC,CAAC;IAEpE,MAAM,EAAE,GAAoC,CAAC,CAAC,KAAQ,EAAE,EAAE;QACxD,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;YACpB,OAAO,KAAK,CAAC;SACd;aAAM;YACL,gIAAgI;YAChI,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,GAAG,GAAG,eAAe,CAAC;YAClG,OAAO,YAAY,CAAC;SACrB;IACH,CAAC,CAA0B,CAAC;IAC5B,EAAE,CAAC,KAAK,GAAG,wBAAwB,CAAC;IACpC,OAAO,EAA2B,CAAC;AACrC,CAAC;AAjBD,gDAiBC;AAaD,SAAgB,mBAAmB,CAA4B,yBAAuD;IACpH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,yBAAyB,CAAC;IAErD,IAAI,IAAI,EAAE;QACR,OAAO,kBAAkB,CAAI,yBAAyB,CAAC,CAAC;KACzD;SAAM;QACL,OAAO,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAI,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;KAC3D;AACH,CAAC;AARD,kDAQC;AAED;;;;;;;GAOG;AACH,SAAgB,WAAW,CAA4B,KAAa,EAAE,GAAM,EAAE,GAAM;IAClF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAM,CAAC;AAClD,CAAC;AAFD,kCAEC"}
|
|
@@ -3,6 +3,10 @@ import { Maybe } from '../value/maybe.type';
|
|
|
3
3
|
* Whole dollar amounts, before the ','.
|
|
4
4
|
*/
|
|
5
5
|
export declare type WholeDollarAmount = number;
|
|
6
|
+
/**
|
|
7
|
+
* Dollar amount number.
|
|
8
|
+
*/
|
|
9
|
+
export declare type DollarAmount = number;
|
|
6
10
|
export declare type CentsAmount = number;
|
|
7
11
|
export interface DollarsPair {
|
|
8
12
|
dollars: WholeDollarAmount;
|
|
@@ -15,6 +19,10 @@ export interface DollarsPair {
|
|
|
15
19
|
*/
|
|
16
20
|
export declare type DollarAmountString = string;
|
|
17
21
|
export declare const DOLLAR_AMOUNT_STRING_REGEX: RegExp;
|
|
22
|
+
/**
|
|
23
|
+
* Dollar amounts are to two decimal places.
|
|
24
|
+
*/
|
|
25
|
+
export declare const DOLLAR_AMOUNT_PRECISION = 2;
|
|
18
26
|
/**
|
|
19
27
|
* Returns true if the input is a valid DollarAmountString value.
|
|
20
28
|
*
|
package/src/lib/number/dollar.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.dollarAmountString = exports.isDollarAmountString = exports.DOLLAR_AMOUNT_STRING_REGEX = void 0;
|
|
3
|
+
exports.dollarAmountString = exports.isDollarAmountString = exports.DOLLAR_AMOUNT_PRECISION = exports.DOLLAR_AMOUNT_STRING_REGEX = void 0;
|
|
4
4
|
const round_1 = require("./round");
|
|
5
5
|
exports.DOLLAR_AMOUNT_STRING_REGEX = /^\$?([0-9]+)\.?([0-9][0-9])$/;
|
|
6
|
+
/**
|
|
7
|
+
* Dollar amounts are to two decimal places.
|
|
8
|
+
*/
|
|
9
|
+
exports.DOLLAR_AMOUNT_PRECISION = 2;
|
|
6
10
|
/**
|
|
7
11
|
* Returns true if the input is a valid DollarAmountString value.
|
|
8
12
|
*
|
|
@@ -22,7 +26,7 @@ exports.isDollarAmountString = isDollarAmountString;
|
|
|
22
26
|
*/
|
|
23
27
|
function dollarAmountString(number) {
|
|
24
28
|
if (number) {
|
|
25
|
-
return (0, round_1.cutToPrecision)(number,
|
|
29
|
+
return (0, round_1.cutToPrecision)(number, exports.DOLLAR_AMOUNT_PRECISION).toFixed(exports.DOLLAR_AMOUNT_PRECISION);
|
|
26
30
|
}
|
|
27
31
|
else {
|
|
28
32
|
return '0.00';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dollar.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/dollar.ts"],"names":[],"mappings":";;;AACA,mCAAyC;
|
|
1
|
+
{"version":3,"file":"dollar.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/dollar.ts"],"names":[],"mappings":";;;AACA,mCAAyC;AAwB5B,QAAA,0BAA0B,GAAG,8BAA8B,CAAC;AAEzE;;GAEG;AACU,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAEzC;;;;;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,+BAAuB,CAAC,CAAC,OAAO,CAAC,+BAAuB,CAAC,CAAC;KACzF;SAAM;QACL,OAAO,MAAM,CAAC;KACf;AACH,CAAC;AAND,gDAMC"}
|
package/src/lib/object/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./object.array.delta"), exports);
|
|
4
5
|
tslib_1.__exportStar(require("./object.array"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./object.empty"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./object.equal"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/object/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,yDAA+B;AAC/B,yDAA+B;AAC/B,uDAA6B;AAC7B,mDAAyB;AACzB,gEAAsC;AACtC,+DAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/object/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,yDAA+B;AAC/B,yDAA+B;AAC/B,yDAA+B;AAC/B,uDAA6B;AAC7B,mDAAyB;AACzB,gEAAsC;AACtC,+DAAqC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { MaybeMap } from '../value/maybe.type';
|
|
2
|
+
import { ObjectFieldEqualityChecker } from './object.equal';
|
|
3
|
+
import { EmptyArray } from '../array/array';
|
|
4
|
+
/**
|
|
5
|
+
* A partial "delta" of the given entry. It only contains values that changed from the last entry.
|
|
6
|
+
*
|
|
7
|
+
* - Undefined field values mean the entry should inherit the previous entry's values.
|
|
8
|
+
* - Null field values in a field mean the value has been cleared and should be excluded from future entries.
|
|
9
|
+
*/
|
|
10
|
+
export declare type CompressedObjectDeltaArrayDeltaEntry<T extends object> = MaybeMap<T>;
|
|
11
|
+
/**
|
|
12
|
+
* A compressed object array.
|
|
13
|
+
*
|
|
14
|
+
* The first object is always fully expanded. Objects are in order of the delta changes.
|
|
15
|
+
*/
|
|
16
|
+
export declare type CompressedObjectDeltaArray<T extends object> = [T, ...CompressedObjectDeltaArrayDeltaEntry<T>[]];
|
|
17
|
+
/**
|
|
18
|
+
* Compresses the input objects array to a CompressedObjectDeltaArray.
|
|
19
|
+
*/
|
|
20
|
+
export declare type ObjectDeltaArrayCompressorCompressFunction<T extends object> = ((uncompressed: T[]) => CompressedObjectDeltaArray<T>) & ((uncompressed: EmptyArray) => EmptyArray);
|
|
21
|
+
/**
|
|
22
|
+
* Expands a CompressedObjectDeltaArray to an array of objects.
|
|
23
|
+
*/
|
|
24
|
+
export declare type ObjectDeltaArrayCompressorExpandFunction<T extends object> = ((compressed: CompressedObjectDeltaArray<T>) => T[]) & ((compressed: EmptyArray) => EmptyArray);
|
|
25
|
+
/**
|
|
26
|
+
* Configuration for an object delta array compressor.
|
|
27
|
+
*/
|
|
28
|
+
export interface ObjectDeltaArrayCompressorConfig<T extends object> {
|
|
29
|
+
/**
|
|
30
|
+
* Fields to capture as part of the compressor.
|
|
31
|
+
*/
|
|
32
|
+
readonly equalityChecker: ObjectFieldEqualityChecker<T>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* An object delta array compressor.
|
|
36
|
+
*/
|
|
37
|
+
export interface ObjectDeltaArrayCompressor<T extends object> {
|
|
38
|
+
readonly _equalityChecker: ObjectFieldEqualityChecker<T>;
|
|
39
|
+
readonly compress: ObjectDeltaArrayCompressorCompressFunction<T>;
|
|
40
|
+
readonly expand: ObjectDeltaArrayCompressorExpandFunction<T>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Creates an object delta array compressor.
|
|
44
|
+
*
|
|
45
|
+
* @param compressor
|
|
46
|
+
*/
|
|
47
|
+
export declare function objectDeltaArrayCompressor<T extends object>(config: ObjectDeltaArrayCompressorConfig<T>): ObjectDeltaArrayCompressor<T>;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.objectDeltaArrayCompressor = void 0;
|
|
4
|
+
const object_filter_pojo_1 = require("./object.filter.pojo");
|
|
5
|
+
const object_1 = require("./object");
|
|
6
|
+
const object_filter_tuple_1 = require("./object.filter.tuple");
|
|
7
|
+
/**
|
|
8
|
+
* Creates an object delta array compressor.
|
|
9
|
+
*
|
|
10
|
+
* @param compressor
|
|
11
|
+
*/
|
|
12
|
+
function objectDeltaArrayCompressor(config) {
|
|
13
|
+
const { equalityChecker: _equalityChecker } = config;
|
|
14
|
+
const assignKnownValuesToCopy = (0, object_filter_pojo_1.assignValuesToPOJOFunction)({ keysFilter: Array.from(_equalityChecker._fields.keys()), valueFilter: object_filter_tuple_1.KeyValueTypleValueFilter.NULL });
|
|
15
|
+
function compress(uncompressed) {
|
|
16
|
+
// return an empty array if there is nothing to compress
|
|
17
|
+
if (uncompressed.length === 0) {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
let current = assignKnownValuesToCopy({}, uncompressed[0]);
|
|
21
|
+
const result = [current];
|
|
22
|
+
uncompressed.slice(1).forEach((next) => {
|
|
23
|
+
const compressed = {};
|
|
24
|
+
const fieldEqualityResult = _equalityChecker(current, next);
|
|
25
|
+
// only append unequal fields
|
|
26
|
+
fieldEqualityResult.unequalFields.forEach((field) => {
|
|
27
|
+
const nextValue = next[field];
|
|
28
|
+
let saveValue;
|
|
29
|
+
if (nextValue == null) {
|
|
30
|
+
// if null or undefined, check previous value
|
|
31
|
+
const previousValue = current[field];
|
|
32
|
+
if (previousValue == null) {
|
|
33
|
+
saveValue = undefined; // "no change"
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
saveValue = null; // "clear"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
saveValue = nextValue;
|
|
41
|
+
}
|
|
42
|
+
compressed[field] = saveValue;
|
|
43
|
+
});
|
|
44
|
+
result.push(compressed);
|
|
45
|
+
current = next;
|
|
46
|
+
});
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
const allKeys = Array.from(_equalityChecker._fields.keys());
|
|
50
|
+
function expand(compressed) {
|
|
51
|
+
if (compressed.length === 0) {
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
let current = assignKnownValuesToCopy({}, compressed[0]); // first one is never compressed.
|
|
55
|
+
const result = [current];
|
|
56
|
+
compressed.slice(1).forEach((next) => {
|
|
57
|
+
const uncompressed = {};
|
|
58
|
+
allKeys.forEach((key) => {
|
|
59
|
+
let setValue;
|
|
60
|
+
if ((0, object_1.objectHasKey)(next, key)) {
|
|
61
|
+
const nextValue = next[key];
|
|
62
|
+
if (nextValue === null) {
|
|
63
|
+
// do nothing, since the value should be "undefined"
|
|
64
|
+
setValue = undefined;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
setValue = nextValue;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
setValue = current[key];
|
|
72
|
+
}
|
|
73
|
+
uncompressed[key] = setValue;
|
|
74
|
+
});
|
|
75
|
+
result.push(uncompressed);
|
|
76
|
+
current = uncompressed;
|
|
77
|
+
});
|
|
78
|
+
return result;
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
_equalityChecker,
|
|
82
|
+
compress: compress,
|
|
83
|
+
expand: expand
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
exports.objectDeltaArrayCompressor = objectDeltaArrayCompressor;
|
|
87
|
+
//# sourceMappingURL=object.array.delta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.array.delta.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/object/object.array.delta.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,64 @@
|
|
|
1
|
+
import { FieldOfType } from '../key';
|
|
2
|
+
import { EqualityComparatorFunction } from '../value/comparator';
|
|
1
3
|
/**
|
|
2
4
|
* Performs a deep comparison to check if all values on the input filters are equal.
|
|
3
5
|
*/
|
|
4
6
|
export declare function areEqualPOJOValues<F>(a: F, b: F): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Configuration for an ObjectFieldEqualityChecker.
|
|
9
|
+
*/
|
|
10
|
+
export interface ObjectFieldEqualityCheckerConfig<T extends object> {
|
|
11
|
+
/**
|
|
12
|
+
* Fields to capture as part of the compressor.
|
|
13
|
+
*/
|
|
14
|
+
readonly fields: (ObjectFieldEqualityCheckerFieldConfig<T, any> | FieldOfType<T>)[];
|
|
15
|
+
/**
|
|
16
|
+
* Default equality function to use when a field's equality function is not provided.
|
|
17
|
+
*/
|
|
18
|
+
readonly defaultEqualityFunction?: EqualityComparatorFunction<unknown>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Field configration for a single field of a ObjectFieldEqualityCheckerConfig.
|
|
22
|
+
*/
|
|
23
|
+
export interface ObjectFieldEqualityCheckerFieldConfig<T extends object, K extends FieldOfType<T>> {
|
|
24
|
+
/**
|
|
25
|
+
* Field name to compare.
|
|
26
|
+
*/
|
|
27
|
+
readonly fieldName: K;
|
|
28
|
+
/**
|
|
29
|
+
* Custom equality comparator for the field.
|
|
30
|
+
*/
|
|
31
|
+
readonly isEqual: EqualityComparatorFunction<T[K]>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Results of an ObjectFieldEqualityChecker.
|
|
35
|
+
*/
|
|
36
|
+
export interface ObjectFieldEqualityCheckResults<T extends object> {
|
|
37
|
+
/**
|
|
38
|
+
* First compared object.
|
|
39
|
+
*/
|
|
40
|
+
readonly a: T;
|
|
41
|
+
/**
|
|
42
|
+
* Second compared object.
|
|
43
|
+
*/
|
|
44
|
+
readonly b: T;
|
|
45
|
+
/**
|
|
46
|
+
* Returns true if the object has no unequal fields.
|
|
47
|
+
*/
|
|
48
|
+
readonly isEqual: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Fields that are considered equal.
|
|
51
|
+
*/
|
|
52
|
+
readonly equalFields: FieldOfType<T>[];
|
|
53
|
+
/**
|
|
54
|
+
* Fields that are considered unequal.
|
|
55
|
+
*/
|
|
56
|
+
readonly unequalFields: FieldOfType<T>[];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Function used to check if two objects are considered equal.
|
|
60
|
+
*/
|
|
61
|
+
export declare type ObjectFieldEqualityChecker<T extends object> = ((a: Partial<T>, b: Partial<T>) => ObjectFieldEqualityCheckResults<T>) & {
|
|
62
|
+
readonly _fields: Map<keyof T, ObjectFieldEqualityCheckerFieldConfig<T, any>>;
|
|
63
|
+
};
|
|
64
|
+
export declare function objectFieldEqualityChecker<T extends object>(config: ObjectFieldEqualityCheckerConfig<T>): ObjectFieldEqualityChecker<T>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.areEqualPOJOValues = void 0;
|
|
3
|
+
exports.objectFieldEqualityChecker = exports.areEqualPOJOValues = void 0;
|
|
4
4
|
const lodash_1 = require("lodash");
|
|
5
5
|
/**
|
|
6
6
|
* Performs a deep comparison to check if all values on the input filters are equal.
|
|
@@ -9,4 +9,39 @@ function areEqualPOJOValues(a, b) {
|
|
|
9
9
|
return (0, lodash_1.isEqual)(a, b);
|
|
10
10
|
}
|
|
11
11
|
exports.areEqualPOJOValues = areEqualPOJOValues;
|
|
12
|
+
function objectFieldEqualityChecker(config) {
|
|
13
|
+
const { fields, defaultEqualityFunction = (a, b) => a === b } = config;
|
|
14
|
+
const _fields = new Map();
|
|
15
|
+
fields.forEach((input) => {
|
|
16
|
+
let field;
|
|
17
|
+
if (typeof input === 'object') {
|
|
18
|
+
field = input;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
field = {
|
|
22
|
+
fieldName: input,
|
|
23
|
+
isEqual: defaultEqualityFunction
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
_fields.set(field.fieldName, field);
|
|
27
|
+
});
|
|
28
|
+
const fn = ((a, b) => {
|
|
29
|
+
const equalFields = [];
|
|
30
|
+
const unequalFields = [];
|
|
31
|
+
_fields.forEach((fieldConfig, fieldName) => {
|
|
32
|
+
const { isEqual } = fieldConfig;
|
|
33
|
+
isEqual(a[fieldName], b[fieldName]) ? equalFields.push(fieldName) : unequalFields.push(fieldName);
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
a,
|
|
37
|
+
b,
|
|
38
|
+
isEqual: unequalFields.length === 0,
|
|
39
|
+
equalFields,
|
|
40
|
+
unequalFields
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
fn._fields = _fields;
|
|
44
|
+
return fn;
|
|
45
|
+
}
|
|
46
|
+
exports.objectFieldEqualityChecker = objectFieldEqualityChecker;
|
|
12
47
|
//# sourceMappingURL=object.equal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.equal.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/object/object.equal.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;
|
|
1
|
+
{"version":3,"file":"object.equal.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/object/object.equal.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AAKjC;;GAEG;AACH,SAAgB,kBAAkB,CAAI,CAAI,EAAE,CAAI;IAC9C,OAAO,IAAA,gBAAO,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvB,CAAC;AAFD,gDAEC;AAgED,SAAgB,0BAA0B,CAAmB,MAA2C;IACtG,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0D,CAAC;IAElF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,KAAoD,CAAC;QAEzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,KAAK,GAAG,KAAK,CAAC;SACf;aAAM;YACL,KAAK,GAAG;gBACN,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,uBAAuB;aACjC,CAAC;SACH;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,CAAC,CAAC,CAAI,EAAE,CAAI,EAAsC,EAAE;QAC7D,MAAM,WAAW,GAAqB,EAAE,CAAC;QACzC,MAAM,aAAa,GAAqB,EAAE,CAAC;QAE3C,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE;YACzC,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAChC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,CAAC;YACD,CAAC;YACD,OAAO,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;YACnC,WAAW;YACX,aAAa;SACd,CAAC;IACJ,CAAC,CAA4C,CAAC;IAC9C,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC;IACrB,OAAO,EAAmC,CAAC;AAC7C,CAAC;AAtCD,gEAsCC"}
|
package/src/lib/value/equal.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { IterableOrValue } from './../iterable/iterable';
|
|
2
|
-
|
|
3
|
-
* Function used for equivalence comparisons on an object.
|
|
4
|
-
*/
|
|
5
|
-
export declare type IsEqualFunction<T = unknown> = (a: T, b: T) => boolean;
|
|
2
|
+
import { EqualityComparatorFunction } from './comparator';
|
|
6
3
|
/**
|
|
7
4
|
* Used to check if the input object is considered equal to the current context.
|
|
8
5
|
*/
|
|
@@ -20,7 +17,7 @@ export declare type AreEqualContext<T = unknown> = (x: IterableOrValue<T>) => bo
|
|
|
20
17
|
* @param fn
|
|
21
18
|
* @returns
|
|
22
19
|
*/
|
|
23
|
-
export declare function isEqualContext<T>(contextValue: T, fn:
|
|
20
|
+
export declare function isEqualContext<T>(contextValue: T, fn: EqualityComparatorFunction<T>): IsEqualContext<T>;
|
|
24
21
|
/**
|
|
25
22
|
* Creates an AreEqualContext
|
|
26
23
|
*
|
|
@@ -28,7 +25,7 @@ export declare function isEqualContext<T>(contextValue: T, fn: IsEqualFunction<T
|
|
|
28
25
|
* @param fn
|
|
29
26
|
* @returns
|
|
30
27
|
*/
|
|
31
|
-
export declare function areEqualContext<T>(contextValue: T, fn:
|
|
28
|
+
export declare function areEqualContext<T>(contextValue: T, fn: EqualityComparatorFunction<T>): AreEqualContext<T>;
|
|
32
29
|
/**
|
|
33
30
|
* Returns true if all input values are equal.
|
|
34
31
|
*
|
|
@@ -38,4 +35,10 @@ export declare function areEqualContext<T>(contextValue: T, fn: IsEqualFunction<
|
|
|
38
35
|
* @param fn
|
|
39
36
|
* @returns
|
|
40
37
|
*/
|
|
41
|
-
export declare function allObjectsAreEqual<T>(values: IterableOrValue<T>, fn:
|
|
38
|
+
export declare function allObjectsAreEqual<T>(values: IterableOrValue<T>, fn: EqualityComparatorFunction<T>): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Function used for equivalence comparisons on an object.
|
|
41
|
+
*
|
|
42
|
+
* @deprecated use EqualityComparatorFunction instead.
|
|
43
|
+
*/
|
|
44
|
+
export declare type IsEqualFunction<T = unknown> = EqualityComparatorFunction<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"equal.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/equal.ts"],"names":[],"mappings":";;;AAAA,qDAA+G;
|
|
1
|
+
{"version":3,"file":"equal.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/equal.ts"],"names":[],"mappings":";;;AAAA,qDAA+G;AAe/G;;;;;;GAMG;AACH,SAAgB,cAAc,CAAI,YAAe,EAAE,EAAiC;IAClF,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,OAAO,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAJD,wCAIC;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAAI,YAAe,EAAE,EAAiC;IACnF,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEjD,OAAO,CAAC,KAAyB,EAAE,EAAE;QACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,IAAI,IAAA,qBAAU,EAAC,KAAK,CAAC,EAAE;YACrB,QAAQ,GAAG,CAAC,IAAA,2BAAgB,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACzD;aAAM;YACL,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;SAC3B;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAdD,0CAcC;AAED;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAAI,MAA0B,EAAE,EAAiC;IACjG,IAAI,IAAA,qBAAU,EAAC,MAAM,CAAC,EAAE;QACtB,MAAM,WAAW,GAAG,IAAA,iCAAsB,EAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KACpF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAPD,gDAOC"}
|
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.25.15](https://github.com/dereekb/dbx-components/compare/v9.25.14-dev...v9.25.15) (2023-11-27)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.25.14](https://github.com/dereekb/dbx-components/compare/v9.25.13-dev...v9.25.14) (2023-11-23)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
5
13
|
## [9.25.13](https://github.com/dereekb/dbx-components/compare/v9.25.12-dev...v9.25.13) (2023-11-15)
|
|
6
14
|
|
|
7
15
|
|
package/test/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/test",
|
|
3
|
-
"version": "9.25.
|
|
3
|
+
"version": "9.25.15",
|
|
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.25.
|
|
9
|
+
"@dereekb/util": "9.25.15",
|
|
10
10
|
"lodash.isequal": "^4.5.0",
|
|
11
11
|
"make-error": "^1.3.0",
|
|
12
12
|
"class-validator": "^0.13.2",
|