@dereekb/util 8.11.1 → 8.12.1
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 +22 -0
- package/package.json +1 -1
- package/src/lib/array/array.index.d.ts +3 -3
- package/src/lib/array/array.index.js.map +1 -1
- package/src/lib/array/array.number.d.ts +8 -4
- package/src/lib/array/array.number.js +9 -3
- package/src/lib/array/array.number.js.map +1 -1
- package/src/lib/date/date.d.ts +1 -0
- package/src/lib/date/date.js +2 -1
- package/src/lib/date/date.js.map +1 -1
- package/src/lib/getter/getter.d.ts +20 -0
- package/src/lib/getter/getter.js +29 -1
- package/src/lib/getter/getter.js.map +1 -1
- package/src/lib/model/model.conversion.d.ts +2 -2
- package/src/lib/object/object.d.ts +3 -0
- package/src/lib/object/object.js.map +1 -1
- package/src/lib/path/path.d.ts +2 -1
- package/src/lib/path/path.js +8 -3
- package/src/lib/path/path.js.map +1 -1
- package/src/lib/value/index.d.ts +1 -0
- package/src/lib/value/index.js +1 -0
- package/src/lib/value/index.js.map +1 -1
- package/src/lib/value/indexed.d.ts +51 -0
- package/src/lib/value/indexed.js +19 -0
- package/src/lib/value/indexed.js.map +1 -0
- package/test/CHANGELOG.md +12 -0
- package/test/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [8.12.1](https://github.com/dereekb/dbx-components/compare/v8.12.0-dev...v8.12.1) (2022-07-08)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# [8.12.0](https://github.com/dereekb/dbx-components/compare/v8.11.2-dev...v8.12.0) (2022-07-07)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* added DateBlock ([b424dc0](https://github.com/dereekb/dbx-components/commit/b424dc09ada622b2c5a85335ce755516eb1fb767))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## [8.11.2](https://github.com/dereekb/dbx-components/compare/v8.11.1-dev...v8.11.2) (2022-07-05)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
* fixed slashPathType() ([180f2d6](https://github.com/dereekb/dbx-components/commit/180f2d645c10d772aa9ba4255ec3b0f2b8655096))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
5
27
|
## [8.11.1](https://github.com/dereekb/dbx-components/compare/v8.11.0-dev...v8.11.1) (2022-07-05)
|
|
6
28
|
|
|
7
29
|
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
import { IndexNumber, IndexRef } from '../value/indexed';
|
|
1
2
|
import { Maybe } from '../value/maybe.type';
|
|
2
3
|
/**
|
|
3
4
|
* A set of number corresponding to items in an array.
|
|
4
5
|
*
|
|
5
6
|
* This is useful for cases where you need the items in their index in the array.
|
|
6
7
|
*/
|
|
7
|
-
export declare type IndexSet =
|
|
8
|
+
export declare type IndexSet = IndexNumber[];
|
|
8
9
|
export declare type IndexSetPairSet<T> = IndexSetPair<T>[];
|
|
9
|
-
export interface IndexSetPair<T> {
|
|
10
|
-
i: number;
|
|
10
|
+
export interface IndexSetPair<T> extends IndexRef {
|
|
11
11
|
item: Maybe<T>;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.index.ts"],"names":[],"mappings":";;;AAgBA;;;;;;GAMG;AACH,SAAgB,cAAc,CAAI,KAAU,EAAE,MAA6B;IACzE,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"array.index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.index.ts"],"names":[],"mappings":";;;AAgBA;;;;;;GAMG;AACH,SAAgB,cAAc,CAAI,KAAU,EAAE,MAA6B;IACzE,MAAM,aAAa,GAAkB,EAAE,CAAC;IAExC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrB,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACb,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACvB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACvB,CAAC;AAVD,wCAUC;AAED,SAAgB,cAAc,CAAI,KAAU,EAAE,QAAkB;IAC9D,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,CAAC;AAFD,wCAEC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAI,KAAU,EAAE,OAA+B;IACrE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YAC3C,SAAS,GAAG,CAAC,CAAC;YACd,IAAI,GAAG,IAAI,CAAC;SACb;KACF;IAED,OAAO;QACL,CAAC,EAAE,SAAS;QACZ,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAjBD,4BAiBC;AAED;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAI,KAAyB,EAAE,OAA+B;IAChG,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YACjF,IAAI,GAAG,IAAI,CAAC;SACb;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAZD,oDAYC"}
|
|
@@ -7,6 +7,13 @@ export declare function reduceNumbersWithAddFn(emptyArrayValue?: number): (array
|
|
|
7
7
|
export declare function reduceNumbers(reduceFn: (a: number, b: number) => number, array: number[], emptyArrayValue?: number): number | undefined;
|
|
8
8
|
export declare function reduceNumbersFn(reduceFn: (a: number, b: number) => number): (array: number[]) => number | undefined;
|
|
9
9
|
export declare function reduceNumbersFn<D extends number>(reduceFn: (a: number, b: number) => number, emptyArrayValue?: D): (array: number[]) => number | D;
|
|
10
|
+
/**
|
|
11
|
+
* Input for range()
|
|
12
|
+
*/
|
|
13
|
+
export declare type RangeInput = number | {
|
|
14
|
+
start?: number;
|
|
15
|
+
end: number;
|
|
16
|
+
};
|
|
10
17
|
/**
|
|
11
18
|
* Generates an array containing the range of numbers specified.
|
|
12
19
|
*
|
|
@@ -15,7 +22,4 @@ export declare function reduceNumbersFn<D extends number>(reduceFn: (a: number,
|
|
|
15
22
|
* @param param0
|
|
16
23
|
* @returns
|
|
17
24
|
*/
|
|
18
|
-
export declare function range(input: number
|
|
19
|
-
start?: number;
|
|
20
|
-
end: number;
|
|
21
|
-
}): number[];
|
|
25
|
+
export declare function range(input: RangeInput, inputEnd?: number): number[];
|
|
@@ -47,14 +47,20 @@ exports.reduceNumbersFn = reduceNumbersFn;
|
|
|
47
47
|
* @param param0
|
|
48
48
|
* @returns
|
|
49
49
|
*/
|
|
50
|
-
function range(input) {
|
|
50
|
+
function range(input, inputEnd) {
|
|
51
51
|
var _a;
|
|
52
52
|
const range = [];
|
|
53
53
|
let start;
|
|
54
54
|
let end;
|
|
55
55
|
if (typeof input === 'number') {
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
if (typeof inputEnd === 'number') {
|
|
57
|
+
start = input;
|
|
58
|
+
end = inputEnd;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
start = 0;
|
|
62
|
+
end = input;
|
|
63
|
+
}
|
|
58
64
|
}
|
|
59
65
|
else {
|
|
60
66
|
start = (_a = input.start) !== null && _a !== void 0 ? _a : 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.number.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.number.ts"],"names":[],"mappings":";;;AAAA,SAAgB,oBAAoB,CAAC,KAAe,EAAE,eAAwB;IAC5E,OAAO,sBAAsB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,eAAwB;IAC7D,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AACpE,CAAC;AAFD,wDAEC;AAED,SAAgB,oBAAoB,CAAC,KAAe,EAAE,eAAwB;IAC5E,OAAO,sBAAsB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,eAAwB;IAC7D,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AACpE,CAAC;AAFD,wDAEC;AAED,SAAgB,oBAAoB,CAAC,KAAe,EAAE,eAAe,GAAG,CAAC;IACvE,OAAO,sBAAsB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,eAAe,GAAG,CAAC;IACxD,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;AAC3D,CAAC;AAFD,wDAEC;AAED,SAAgB,aAAa,CAAC,QAA0C,EAAE,KAAe,EAAE,eAAwB;IACjH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,eAAe,CAAC;KACxB;SAAM;QACL,OAAO,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;KAC1D;AACH,CAAC;AAND,sCAMC;AAID,SAAgB,eAAe,CAAmB,QAA0C,EAAE,eAAmB;IAC/G,MAAM,GAAG,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,OAAO,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;AAC5E,CAAC;AAHD,0CAGC;
|
|
1
|
+
{"version":3,"file":"array.number.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.number.ts"],"names":[],"mappings":";;;AAAA,SAAgB,oBAAoB,CAAC,KAAe,EAAE,eAAwB;IAC5E,OAAO,sBAAsB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,eAAwB;IAC7D,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AACpE,CAAC;AAFD,wDAEC;AAED,SAAgB,oBAAoB,CAAC,KAAe,EAAE,eAAwB;IAC5E,OAAO,sBAAsB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,eAAwB;IAC7D,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AACpE,CAAC;AAFD,wDAEC;AAED,SAAgB,oBAAoB,CAAC,KAAe,EAAE,eAAe,GAAG,CAAC;IACvE,OAAO,sBAAsB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,eAAe,GAAG,CAAC;IACxD,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;AAC3D,CAAC;AAFD,wDAEC;AAED,SAAgB,aAAa,CAAC,QAA0C,EAAE,KAAe,EAAE,eAAwB;IACjH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,eAAe,CAAC;KACxB;SAAM;QACL,OAAO,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;KAC1D;AACH,CAAC;AAND,sCAMC;AAID,SAAgB,eAAe,CAAmB,QAA0C,EAAE,eAAmB;IAC/G,MAAM,GAAG,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,OAAO,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;AAC5E,CAAC;AAHD,0CAGC;AAOD;;;;;;;GAOG;AACH,SAAgB,KAAK,CAAC,KAAiB,EAAE,QAAiB;;IACxD,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,IAAI,KAAa,CAAC;IAClB,IAAI,GAAW,CAAC;IAEhB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,KAAK,GAAG,KAAK,CAAC;YACd,GAAG,GAAG,QAAQ,CAAC;SAChB;aAAM;YACL,KAAK,GAAG,CAAC,CAAC;YACV,GAAG,GAAG,KAAK,CAAC;SACb;KACF;SAAM;QACL,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI,CAAC,CAAC;QACzB,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;KACjB;IAED,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;QACnC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACf;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAxBD,sBAwBC"}
|
package/src/lib/date/date.d.ts
CHANGED
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.MS_IN_HOUR = exports.MS_IN_MINUTE = exports.MINUTES_IN_DAY = exports.isConsideredUtcTimezoneString = exports.UTC_TIMEZONE_STRING = void 0;
|
|
3
|
+
exports.MS_IN_DAY = exports.MS_IN_HOUR = exports.MS_IN_MINUTE = exports.MINUTES_IN_DAY = exports.isConsideredUtcTimezoneString = exports.UTC_TIMEZONE_STRING = void 0;
|
|
4
4
|
exports.UTC_TIMEZONE_STRING = 'UTC';
|
|
5
5
|
function isConsideredUtcTimezoneString(timezone) {
|
|
6
6
|
return timezone == null || timezone === exports.UTC_TIMEZONE_STRING;
|
|
@@ -9,4 +9,5 @@ exports.isConsideredUtcTimezoneString = isConsideredUtcTimezoneString;
|
|
|
9
9
|
exports.MINUTES_IN_DAY = 1440;
|
|
10
10
|
exports.MS_IN_MINUTE = 1000 * 60;
|
|
11
11
|
exports.MS_IN_HOUR = exports.MS_IN_MINUTE * 60;
|
|
12
|
+
exports.MS_IN_DAY = exports.MS_IN_HOUR * 24;
|
|
12
13
|
//# sourceMappingURL=date.js.map
|
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":";;;AAmBa,QAAA,mBAAmB,GAAG,KAAK,CAAC;AAazC,SAAgB,6BAA6B,CAAC,QAA+B;IAC3E,OAAO,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,2BAAmB,CAAC;AAC9D,CAAC;AAFD,sEAEC;AA8BY,QAAA,cAAc,GAAG,IAAI,CAAC;AACtB,QAAA,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;AACzB,QAAA,UAAU,GAAG,oBAAY,GAAG,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/date/date.ts"],"names":[],"mappings":";;;AAmBa,QAAA,mBAAmB,GAAG,KAAK,CAAC;AAazC,SAAgB,6BAA6B,CAAC,QAA+B;IAC3E,OAAO,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,2BAAmB,CAAC;AAC9D,CAAC;AAFD,sEAEC;AA8BY,QAAA,cAAc,GAAG,IAAI,CAAC;AACtB,QAAA,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;AACzB,QAAA,UAAU,GAAG,oBAAY,GAAG,EAAE,CAAC;AAC/B,QAAA,SAAS,GAAG,kBAAU,GAAG,EAAE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CopyObjectFunction } from '../object';
|
|
1
2
|
import { PromiseOrValue } from '../promise/promise';
|
|
2
3
|
import { MapFunction } from '../value/map';
|
|
3
4
|
import { Maybe } from '../value/maybe.type';
|
|
@@ -59,6 +60,25 @@ export declare function getValueFromGetter<T extends string | number | object |
|
|
|
59
60
|
* @returns
|
|
60
61
|
*/
|
|
61
62
|
export declare function asGetter<T>(input: GetterOrValue<T>): Getter<T>;
|
|
63
|
+
/**
|
|
64
|
+
* A factory that returns a copy of a value.
|
|
65
|
+
*/
|
|
66
|
+
export declare type ObjectCopyFactory<T> = Factory<T>;
|
|
67
|
+
/**
|
|
68
|
+
* Creates a getter from the input value that returns a copy of that value.
|
|
69
|
+
*
|
|
70
|
+
* @param value
|
|
71
|
+
*/
|
|
72
|
+
export declare function objectCopyFactory<T extends object>(value: T, copyFunction?: CopyObjectFunction<T>): ObjectCopyFactory<T>;
|
|
73
|
+
/**
|
|
74
|
+
* Returns a getter that will copy any input object values to a new object.
|
|
75
|
+
*
|
|
76
|
+
* Any input Getters are considered ObjectCopyFactory values and passed through directly.
|
|
77
|
+
*
|
|
78
|
+
* @param input
|
|
79
|
+
* @returns
|
|
80
|
+
*/
|
|
81
|
+
export declare function asObjectCopyFactory<T>(input: T | ObjectCopyFactory<T>, copyFunction?: CopyObjectFunction<T>): ObjectCopyFactory<T>;
|
|
62
82
|
/**
|
|
63
83
|
* Wraps the input and returns a Getter for that value.
|
|
64
84
|
*
|
package/src/lib/getter/getter.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeWithFactoryInput = exports.makeWithFactory = exports.makeGetter = exports.asGetter = exports.getValueFromGetter = exports.isGetter = void 0;
|
|
3
|
+
exports.makeWithFactoryInput = exports.makeWithFactory = exports.makeGetter = exports.asObjectCopyFactory = exports.objectCopyFactory = exports.asGetter = exports.getValueFromGetter = exports.isGetter = void 0;
|
|
4
|
+
const object_1 = require("../object");
|
|
4
5
|
/**
|
|
5
6
|
* Returns true if the input object looks like a Getter (is a function).
|
|
6
7
|
*
|
|
@@ -35,6 +36,33 @@ function asGetter(input) {
|
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
exports.asGetter = asGetter;
|
|
39
|
+
/**
|
|
40
|
+
* Creates a getter from the input value that returns a copy of that value.
|
|
41
|
+
*
|
|
42
|
+
* @param value
|
|
43
|
+
*/
|
|
44
|
+
function objectCopyFactory(value, copyFunction = object_1.copyObject) {
|
|
45
|
+
return () => copyFunction(value);
|
|
46
|
+
}
|
|
47
|
+
exports.objectCopyFactory = objectCopyFactory;
|
|
48
|
+
/**
|
|
49
|
+
* Returns a getter that will copy any input object values to a new object.
|
|
50
|
+
*
|
|
51
|
+
* Any input Getters are considered ObjectCopyFactory values and passed through directly.
|
|
52
|
+
*
|
|
53
|
+
* @param input
|
|
54
|
+
* @returns
|
|
55
|
+
*/
|
|
56
|
+
function asObjectCopyFactory(input, copyFunction) {
|
|
57
|
+
if (typeof input === 'object') {
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
59
|
+
return objectCopyFactory(input, copyFunction);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return asGetter(input);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.asObjectCopyFactory = asObjectCopyFactory;
|
|
38
66
|
/**
|
|
39
67
|
* Wraps the input and returns a Getter for that value.
|
|
40
68
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getter.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/getter/getter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getter.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/getter/getter.ts"],"names":[],"mappings":";;;AAAA,sCAA2D;AA+C3D;;;;;GAKG;AACH,SAAgB,QAAQ,CAAc,KAAc;IAClD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAFD,4BAEC;AAaD,SAAgB,kBAAkB,CAAsB,KAAc,EAAE,IAAQ;IAC9E,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;KACpB;SAAM;QACL,OAAO,KAAU,CAAC;KACnB;AACH,CAAC;AAND,gDAMC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAI,KAAuB;IACjD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,OAAO,KAAkB,CAAC;KAC3B;SAAM;QACL,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;KAC1B;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"}
|
|
@@ -111,8 +111,8 @@ export declare type ToModelFieldConversionsInput<T extends object, O extends obj
|
|
|
111
111
|
* @returns
|
|
112
112
|
*/
|
|
113
113
|
export declare function toModelFieldConversions<T extends object, O extends object>(input: ToModelFieldConversionsInput<T, O>): Required<{ [K in keyof T]: ModelFieldMapFunctions<T[K], ReplaceType<T, O, any>[K]>; }>;
|
|
114
|
-
export declare type
|
|
114
|
+
export declare type ModelMapFunctionsRef<T extends object, O extends object> = {
|
|
115
115
|
readonly mapFunctions: ModelMapFunctions<T, O>;
|
|
116
116
|
};
|
|
117
|
-
export declare type ToModelMapFunctionsInput<T extends object, O extends object> = ToModelFieldConversionsInput<T, O> |
|
|
117
|
+
export declare type ToModelMapFunctionsInput<T extends object, O extends object> = ToModelFieldConversionsInput<T, O> | ModelMapFunctionsRef<T, O>;
|
|
118
118
|
export declare function toModelMapFunctions<T extends object, O extends object>(input: ToModelMapFunctionsInput<T, O>): ModelMapFunctions<T, O>;
|
|
@@ -9,6 +9,9 @@ export declare function applyToMultipleFields<T extends object, X = unknown>(val
|
|
|
9
9
|
export declare function mapToObject<T, K extends PropertyKey>(map: Map<K, T>): {
|
|
10
10
|
[key: PropertyKey]: T;
|
|
11
11
|
};
|
|
12
|
+
/**
|
|
13
|
+
* Returns a copy of the input object.
|
|
14
|
+
*/
|
|
12
15
|
export declare type CopyObjectFunction<T> = (input: T) => T;
|
|
13
16
|
/**
|
|
14
17
|
* Creates a shallow copy of an object using the spread operator.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/object/object.ts"],"names":[],"mappings":";;;AAIA,SAAgB,eAAe,CAAC,GAAW;IACzC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACvC,CAAC;AAFD,0CAEC;AAID,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;
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/object/object.ts"],"names":[],"mappings":";;;AAIA,SAAgB,eAAe,CAAC,GAAW;IACzC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACvC,CAAC;AAFD,0CAEC;AAID,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"}
|
package/src/lib/path/path.d.ts
CHANGED
|
@@ -46,7 +46,8 @@ export declare type SlashPathType = 'folder' | 'file' | 'typedfile' | 'invalid';
|
|
|
46
46
|
* @returns
|
|
47
47
|
*/
|
|
48
48
|
export declare function slashPathType(input: SlashPath): SlashPathType;
|
|
49
|
-
export declare function isSlashPathFile(input: string): input is
|
|
49
|
+
export declare function isSlashPathFile(input: string): input is SlashPathFile;
|
|
50
|
+
export declare function isSlashPathTypedFile(input: string): input is SlashPathTypedFile;
|
|
50
51
|
export declare function isSlashPathFolder(input: string): input is SlashPathFolder;
|
|
51
52
|
export declare function isValidSlashPath(input: string): input is SlashPath;
|
|
52
53
|
/**
|
package/src/lib/path/path.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.slashPathInvalidError = exports.mergeSlashPaths = exports.slashPathFactory = exports.slashPathValidationFactory = exports.replaceInvalidFilePathTypeSeparatorsInSlashPathFunction = exports.replaceInvalidFilePathTypeSeparatorsInSlashPath = exports.removeTrailingFileTypeSeparators = exports.replaceMultipleFilePathsInSlashPath = exports.fixMultiSlashesInSlashPath = exports.toAbsoluteSlashPathStartType = exports.toRelativeSlashPathStartType = exports.ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX = exports.ALL_DOUBLE_SLASHES_REGEX = exports.ALL_SLASHES_REGEX = exports.TRAILING_FILE_TYPE_SEPARATORS_REGEX = exports.TRAILING_SLASHES_REGEX = exports.LEADING_SLASHES_REGEX = exports.slashPathStartTypeFactory = exports.slashPathParts = exports.slashPathName = exports.isValidSlashPath = exports.isSlashPathFolder = exports.isSlashPathFile = exports.slashPathType = exports.DEFAULT_SLASH_PATH_ILLEGAL_CHARACTER_REPLACEMENT = exports.DEFAULT_SLASH_PATH_ILLEGAL_CHARACTERS = exports.SLASH_PATH_FILE_TYPE_SEPARATOR = exports.SLASH_PATH_SEPARATOR = void 0;
|
|
3
|
+
exports.slashPathInvalidError = exports.mergeSlashPaths = exports.slashPathFactory = exports.slashPathValidationFactory = exports.replaceInvalidFilePathTypeSeparatorsInSlashPathFunction = exports.replaceInvalidFilePathTypeSeparatorsInSlashPath = exports.removeTrailingFileTypeSeparators = exports.replaceMultipleFilePathsInSlashPath = exports.fixMultiSlashesInSlashPath = exports.toAbsoluteSlashPathStartType = exports.toRelativeSlashPathStartType = exports.ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX = exports.ALL_DOUBLE_SLASHES_REGEX = exports.ALL_SLASHES_REGEX = exports.TRAILING_FILE_TYPE_SEPARATORS_REGEX = exports.TRAILING_SLASHES_REGEX = exports.LEADING_SLASHES_REGEX = exports.slashPathStartTypeFactory = exports.slashPathParts = exports.slashPathName = exports.isValidSlashPath = exports.isSlashPathFolder = exports.isSlashPathTypedFile = exports.isSlashPathFile = exports.slashPathType = exports.DEFAULT_SLASH_PATH_ILLEGAL_CHARACTER_REPLACEMENT = exports.DEFAULT_SLASH_PATH_ILLEGAL_CHARACTERS = exports.SLASH_PATH_FILE_TYPE_SEPARATOR = exports.SLASH_PATH_SEPARATOR = void 0;
|
|
4
4
|
const map_1 = require("../value/map");
|
|
5
5
|
const array_1 = require("../array/array");
|
|
6
6
|
const string_1 = require("../string");
|
|
@@ -19,7 +19,7 @@ exports.DEFAULT_SLASH_PATH_ILLEGAL_CHARACTER_REPLACEMENT = '_';
|
|
|
19
19
|
* @returns
|
|
20
20
|
*/
|
|
21
21
|
function slashPathType(input) {
|
|
22
|
-
const dotCount = input.split(exports.SLASH_PATH_FILE_TYPE_SEPARATOR, 2).length;
|
|
22
|
+
const dotCount = input.split(exports.SLASH_PATH_FILE_TYPE_SEPARATOR, 2).length - 1;
|
|
23
23
|
let type;
|
|
24
24
|
switch (dotCount) {
|
|
25
25
|
case 0:
|
|
@@ -37,7 +37,7 @@ function slashPathType(input) {
|
|
|
37
37
|
}
|
|
38
38
|
break;
|
|
39
39
|
case 1:
|
|
40
|
-
type = '
|
|
40
|
+
type = 'typedfile';
|
|
41
41
|
break;
|
|
42
42
|
default:
|
|
43
43
|
type = 'invalid';
|
|
@@ -51,6 +51,11 @@ function isSlashPathFile(input) {
|
|
|
51
51
|
return type === 'file' || type === 'typedfile';
|
|
52
52
|
}
|
|
53
53
|
exports.isSlashPathFile = isSlashPathFile;
|
|
54
|
+
function isSlashPathTypedFile(input) {
|
|
55
|
+
const type = slashPathType(input);
|
|
56
|
+
return type === 'typedfile';
|
|
57
|
+
}
|
|
58
|
+
exports.isSlashPathTypedFile = isSlashPathTypedFile;
|
|
54
59
|
function isSlashPathFolder(input) {
|
|
55
60
|
return slashPathType(input) === 'folder';
|
|
56
61
|
}
|
package/src/lib/path/path.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/path/path.ts"],"names":[],"mappings":";;;AAAA,sCAAsE;AACtE,0CAAmF;AACnF,sCAAqI;AACrI,oCAAwE;AAG3D,QAAA,oBAAoB,GAAG,GAAG,CAAC;AAC3B,QAAA,8BAA8B,GAAG,GAAG,CAAC;AAKrC,QAAA,qCAAqC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE/E;;GAEG;AACU,QAAA,gDAAgD,GAAG,GAAG,CAAC;AAoCpE;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAgB;IAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,sCAA8B,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/path/path.ts"],"names":[],"mappings":"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"}
|
package/src/lib/value/index.d.ts
CHANGED
package/src/lib/value/index.js
CHANGED
|
@@ -4,6 +4,7 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./build"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./decision"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./equal"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./indexed"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./map"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./maybe.type"), exports);
|
|
9
10
|
tslib_1.__exportStar(require("./maybe"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,qDAA2B;AAC3B,kDAAwB;AACxB,gDAAsB;AACtB,uDAA6B;AAC7B,kDAAwB;AACxB,qDAA2B;AAC3B,gDAAsB;AACtB,gDAAsB;AACtB,kDAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,qDAA2B;AAC3B,kDAAwB;AACxB,oDAA0B;AAC1B,gDAAsB;AACtB,uDAA6B;AAC7B,kDAAwB;AACxB,qDAA2B;AAC3B,gDAAsB;AACtB,gDAAsB;AACtB,kDAAwB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A number that denotes which index an item is at.
|
|
3
|
+
*/
|
|
4
|
+
export declare type IndexNumber = number;
|
|
5
|
+
/**
|
|
6
|
+
* Item that references an IndexNumber.
|
|
7
|
+
*/
|
|
8
|
+
export interface IndexRef {
|
|
9
|
+
/**
|
|
10
|
+
* Item's index number
|
|
11
|
+
*/
|
|
12
|
+
i: IndexNumber;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Returns an item's IndexNumber.
|
|
16
|
+
*/
|
|
17
|
+
export declare type ReadIndexFunction<T> = (value: T) => IndexNumber;
|
|
18
|
+
/**
|
|
19
|
+
* A min and max value that denote the maximum edges of a range of index values.
|
|
20
|
+
*/
|
|
21
|
+
export interface IndexRange {
|
|
22
|
+
/**
|
|
23
|
+
* Minimum index to consider, inclusive.
|
|
24
|
+
*/
|
|
25
|
+
minIndex: IndexNumber;
|
|
26
|
+
/**
|
|
27
|
+
* Maximum index allowed, exclusive.
|
|
28
|
+
*/
|
|
29
|
+
maxIndex: IndexNumber;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Checks whether or not the input number is in the range.
|
|
33
|
+
*/
|
|
34
|
+
export declare type IndexRefRangeCheckFunction<T> = (value: T) => boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Creates an IndexRefRangeCheckFunction
|
|
37
|
+
*
|
|
38
|
+
* @param range
|
|
39
|
+
*/
|
|
40
|
+
export declare function indexRangeCheckReaderFunction<T extends IndexRef>(range: IndexRange): IndexRefRangeCheckFunction<T>;
|
|
41
|
+
export declare function indexRangeCheckReaderFunction<T>(range: IndexRange, read: ReadIndexFunction<T>): IndexRefRangeCheckFunction<T>;
|
|
42
|
+
/**
|
|
43
|
+
* Checks whether or not the input number is in the range.
|
|
44
|
+
*/
|
|
45
|
+
export declare type IndexRangeCheckFunction = (i: number) => boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Creates an IndexRangeCheckFunction
|
|
48
|
+
*
|
|
49
|
+
* @param range
|
|
50
|
+
*/
|
|
51
|
+
export declare function indexRangeCheckFunction(range: IndexRange): IndexRangeCheckFunction;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.indexRangeCheckFunction = exports.indexRangeCheckReaderFunction = void 0;
|
|
4
|
+
function indexRangeCheckReaderFunction(range, read = (x) => x.i) {
|
|
5
|
+
const rangeCheck = indexRangeCheckFunction(range);
|
|
6
|
+
return (value) => rangeCheck(read(value));
|
|
7
|
+
}
|
|
8
|
+
exports.indexRangeCheckReaderFunction = indexRangeCheckReaderFunction;
|
|
9
|
+
/**
|
|
10
|
+
* Creates an IndexRangeCheckFunction
|
|
11
|
+
*
|
|
12
|
+
* @param range
|
|
13
|
+
*/
|
|
14
|
+
function indexRangeCheckFunction(range) {
|
|
15
|
+
const { minIndex, maxIndex } = range;
|
|
16
|
+
return (i) => i >= minIndex && i < maxIndex;
|
|
17
|
+
}
|
|
18
|
+
exports.indexRangeCheckFunction = indexRangeCheckFunction;
|
|
19
|
+
//# sourceMappingURL=indexed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexed.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/indexed.ts"],"names":[],"mappings":";;;AA+CA,SAAgB,6BAA6B,CAAI,KAAiB,EAAE,OAA6B,CAAC,CAAI,EAAE,EAAE,CAAE,CAAyB,CAAC,CAAC;IACrI,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,CAAC,KAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC;AAHD,sEAGC;AAOD;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,KAAiB;IACvD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACrC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,GAAG,QAAQ,CAAC;AAC9C,CAAC;AAHD,0DAGC"}
|
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.12.1](https://github.com/dereekb/dbx-components/compare/v8.12.0-dev...v8.12.1) (2022-07-08)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# [8.12.0](https://github.com/dereekb/dbx-components/compare/v8.11.2-dev...v8.12.0) (2022-07-07)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## [8.11.2](https://github.com/dereekb/dbx-components/compare/v8.11.1-dev...v8.11.2) (2022-07-05)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
5
17
|
## [8.11.1](https://github.com/dereekb/dbx-components/compare/v8.11.0-dev...v8.11.1) (2022-07-05)
|
|
6
18
|
|
|
7
19
|
|
package/test/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/test",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.12.1",
|
|
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.
|
|
9
|
+
"@dereekb/util": "8.12.1",
|
|
10
10
|
"make-error": "^1.3.0",
|
|
11
11
|
"ts-essentials": "^9.1.2",
|
|
12
12
|
"extra-set": "^2.2.11",
|