@thisisagile/easy 17.4.5 → 17.4.8
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/dist/{chunk-JV3PEYHS.mjs → chunk-24WJGYH4.mjs} +2 -2
- package/dist/{chunk-3PPC4YMQ.mjs → chunk-2V3F4LJ5.mjs} +2 -2
- package/dist/{chunk-OGMTD753.mjs → chunk-3BXPK7FX.mjs} +2 -2
- package/dist/{chunk-QLM2AYD4.mjs → chunk-3DAZTFKD.mjs} +7 -7
- package/dist/{chunk-2JX2SSPQ.mjs → chunk-3EYCIHXW.mjs} +3 -3
- package/dist/{chunk-DS6NSJUW.mjs → chunk-4KB2NPKQ.mjs} +2 -2
- package/dist/chunk-4NI3O7DE.mjs +26 -0
- package/dist/chunk-4NI3O7DE.mjs.map +1 -0
- package/dist/{chunk-KA3TZADE.mjs → chunk-55B7FIAE.mjs} +2 -2
- package/dist/{chunk-WBEMXVO6.mjs → chunk-5GALY24M.mjs} +6 -6
- package/dist/{chunk-V7EJJWVX.mjs → chunk-6DL5IBFE.mjs} +3 -3
- package/dist/{chunk-L4T4Z7PG.mjs → chunk-6TJC3RI3.mjs} +9 -9
- package/dist/chunk-BKA7GVXL.mjs +29 -0
- package/dist/chunk-BKA7GVXL.mjs.map +1 -0
- package/dist/{chunk-JCINHOMG.mjs → chunk-CHNRVP7J.mjs} +2 -2
- package/dist/{chunk-KAYSE6PM.mjs → chunk-CLIM3GJ7.mjs} +3 -3
- package/dist/{chunk-4KJZ4LNQ.mjs → chunk-DEESTSMV.mjs} +3 -3
- package/dist/{chunk-VRLSZ2MW.mjs → chunk-FZBUEEQB.mjs} +2 -2
- package/dist/{chunk-EG3KSNQZ.mjs → chunk-GKDMM6XO.mjs} +3 -3
- package/dist/{chunk-2BTY2F3A.mjs → chunk-H6WLTQXF.mjs} +4 -4
- package/dist/{chunk-SRFFQJLL.mjs → chunk-H7TRIY7A.mjs} +2 -2
- package/dist/{chunk-3LASXEE5.mjs → chunk-HE6MAJDE.mjs} +3 -3
- package/dist/{chunk-PJXWZFLD.mjs → chunk-ILJV7234.mjs} +2 -2
- package/dist/{chunk-24OSK3DS.mjs → chunk-IXUCBTR3.mjs} +7 -7
- package/dist/{chunk-WI2ICJHX.mjs → chunk-JEIESGLS.mjs} +3 -3
- package/dist/{chunk-TNOOLHK7.mjs → chunk-KK66VUSS.mjs} +2 -2
- package/dist/{chunk-IVX4I3NC.mjs → chunk-L5TIL3QC.mjs} +2 -2
- package/dist/{chunk-X3C5CS4X.mjs → chunk-NE6FVUU7.mjs} +4 -4
- package/dist/{chunk-PRN25GXK.mjs → chunk-NFZZGGEV.mjs} +2 -2
- package/dist/{chunk-T5VZORPQ.mjs → chunk-OJW2KVY7.mjs} +2 -2
- package/dist/{chunk-F4XMHKOR.mjs → chunk-PWYWE7H7.mjs} +4 -4
- package/dist/{chunk-63OA3RR6.mjs → chunk-QKWQIRUO.mjs} +4 -4
- package/dist/{chunk-Q3TL43R2.mjs → chunk-R43LAFNS.mjs} +6 -2
- package/dist/{chunk-Q3TL43R2.mjs.map → chunk-R43LAFNS.mjs.map} +1 -1
- package/dist/{chunk-5M76X6J5.mjs → chunk-SJJ4E4HD.mjs} +8 -2
- package/dist/chunk-SJJ4E4HD.mjs.map +1 -0
- package/dist/{chunk-RSOPHC7S.mjs → chunk-STPFSN7K.mjs} +2 -2
- package/dist/{chunk-YK65IKP2.mjs → chunk-VVWELITO.mjs} +2 -2
- package/dist/{chunk-ZDBXA2D4.mjs → chunk-XQ4KXG5O.mjs} +2 -2
- package/dist/{chunk-QB3ZLR7S.mjs → chunk-Y4RD46AM.mjs} +5 -5
- package/dist/{chunk-IX2TMY6X.mjs → chunk-YNOOWA75.mjs} +2 -2
- package/dist/{chunk-GVJWRPOP.mjs → chunk-YUFKMTUP.mjs} +2 -2
- package/dist/{chunk-INO2742F.mjs → chunk-Z7CGMLOT.mjs} +4 -4
- package/dist/data/Condition.mjs +3 -3
- package/dist/data/Database.mjs +4 -4
- package/dist/data/Field.mjs +3 -3
- package/dist/data/InMemoryGateway.mjs +11 -11
- package/dist/domain/Audit.mjs +15 -14
- package/dist/domain/Child.mjs +12 -12
- package/dist/domain/DateTime.d.ts +1 -0
- package/dist/domain/DateTime.mjs +11 -10
- package/dist/domain/Entity.mjs +15 -14
- package/dist/domain/Entity.mjs.map +1 -1
- package/dist/domain/Repo.mjs +11 -11
- package/dist/domain/Struct.mjs +11 -11
- package/dist/domain/Typo.mjs +10 -10
- package/dist/http/CacheControl.mjs +11 -11
- package/dist/http/ContentType.mjs +4 -4
- package/dist/http/HttpStatus.mjs +4 -4
- package/dist/http/HttpVerb.mjs +4 -4
- package/dist/http/LocalRequestStore.mjs +3 -3
- package/dist/http/RequestOptions.mjs +7 -7
- package/dist/http/RestResult.mjs +11 -11
- package/dist/http/toResponse.mjs +12 -12
- package/dist/index.js +49 -26
- package/dist/index.js.map +1 -1
- package/dist/process/App.mjs +5 -5
- package/dist/process/Manage.mjs +11 -11
- package/dist/process/Scope.mjs +5 -5
- package/dist/process/Search.mjs +11 -11
- package/dist/process/UseCase.mjs +4 -4
- package/dist/resources/Req.mjs +10 -10
- package/dist/services/Api.mjs +19 -19
- package/dist/services/ApiGateway.mjs +22 -22
- package/dist/services/AxiosProvider.mjs +17 -17
- package/dist/services/MappedRouteGateway.mjs +25 -25
- package/dist/services/RouteGateway.mjs +23 -23
- package/dist/services/ViewRouteGateway.mjs +27 -27
- package/dist/sql/Column.mjs +10 -10
- package/dist/sql/Table.mjs +13 -13
- package/dist/sql/TableGateway.mjs +11 -11
- package/dist/types/Cache.mjs +2 -2
- package/dist/types/CacheAge.mjs +11 -11
- package/dist/types/Case.mjs +9 -9
- package/dist/types/Context.mjs +3 -3
- package/dist/types/Enum.mjs +3 -3
- package/dist/types/Environment.mjs +3 -3
- package/dist/types/Exception.mjs +5 -5
- package/dist/types/Gateway.mjs +6 -6
- package/dist/types/IsEqual.mjs +10 -10
- package/dist/types/Json.mjs +2 -2
- package/dist/types/Meta.mjs +2 -2
- package/dist/types/Number.mjs +10 -10
- package/dist/types/Object.d.ts +3 -0
- package/dist/types/Object.mjs +3 -1
- package/dist/types/PageList.mjs +10 -10
- package/dist/types/Parser.mjs +9 -9
- package/dist/types/Repository.mjs +6 -6
- package/dist/types/Result.mjs +4 -4
- package/dist/types/Results.mjs +5 -5
- package/dist/types/Tag.mjs +2 -2
- package/dist/types/Template.mjs +2 -2
- package/dist/types/Try.mjs +9 -9
- package/dist/types/Uri.mjs +9 -9
- package/dist/utils/Mapper.mjs +4 -4
- package/dist/utils/Seconds.mjs +4 -25
- package/dist/utils/Seconds.mjs.map +1 -1
- package/dist/utils/Sentence.mjs +2 -2
- package/dist/utils/Traverse.d.ts +3 -0
- package/dist/utils/Traverse.mjs +7 -3
- package/dist/utils/View.mjs +14 -14
- package/dist/validation/Contraints.mjs +10 -10
- package/dist/validation/Validate.mjs +9 -9
- package/dist/validation/When.mjs +9 -9
- package/package.json +2 -2
- package/src/domain/DateTime.ts +5 -0
- package/src/types/Object.ts +4 -0
- package/src/utils/Seconds.ts +2 -7
- package/src/utils/Traverse.ts +21 -0
- package/dist/chunk-5M76X6J5.mjs.map +0 -1
- package/dist/chunk-DICMUQFL.mjs +0 -11
- package/dist/chunk-DICMUQFL.mjs.map +0 -1
- /package/dist/{chunk-JV3PEYHS.mjs.map → chunk-24WJGYH4.mjs.map} +0 -0
- /package/dist/{chunk-3PPC4YMQ.mjs.map → chunk-2V3F4LJ5.mjs.map} +0 -0
- /package/dist/{chunk-OGMTD753.mjs.map → chunk-3BXPK7FX.mjs.map} +0 -0
- /package/dist/{chunk-QLM2AYD4.mjs.map → chunk-3DAZTFKD.mjs.map} +0 -0
- /package/dist/{chunk-2JX2SSPQ.mjs.map → chunk-3EYCIHXW.mjs.map} +0 -0
- /package/dist/{chunk-DS6NSJUW.mjs.map → chunk-4KB2NPKQ.mjs.map} +0 -0
- /package/dist/{chunk-KA3TZADE.mjs.map → chunk-55B7FIAE.mjs.map} +0 -0
- /package/dist/{chunk-WBEMXVO6.mjs.map → chunk-5GALY24M.mjs.map} +0 -0
- /package/dist/{chunk-V7EJJWVX.mjs.map → chunk-6DL5IBFE.mjs.map} +0 -0
- /package/dist/{chunk-L4T4Z7PG.mjs.map → chunk-6TJC3RI3.mjs.map} +0 -0
- /package/dist/{chunk-JCINHOMG.mjs.map → chunk-CHNRVP7J.mjs.map} +0 -0
- /package/dist/{chunk-KAYSE6PM.mjs.map → chunk-CLIM3GJ7.mjs.map} +0 -0
- /package/dist/{chunk-4KJZ4LNQ.mjs.map → chunk-DEESTSMV.mjs.map} +0 -0
- /package/dist/{chunk-VRLSZ2MW.mjs.map → chunk-FZBUEEQB.mjs.map} +0 -0
- /package/dist/{chunk-EG3KSNQZ.mjs.map → chunk-GKDMM6XO.mjs.map} +0 -0
- /package/dist/{chunk-2BTY2F3A.mjs.map → chunk-H6WLTQXF.mjs.map} +0 -0
- /package/dist/{chunk-SRFFQJLL.mjs.map → chunk-H7TRIY7A.mjs.map} +0 -0
- /package/dist/{chunk-3LASXEE5.mjs.map → chunk-HE6MAJDE.mjs.map} +0 -0
- /package/dist/{chunk-PJXWZFLD.mjs.map → chunk-ILJV7234.mjs.map} +0 -0
- /package/dist/{chunk-24OSK3DS.mjs.map → chunk-IXUCBTR3.mjs.map} +0 -0
- /package/dist/{chunk-WI2ICJHX.mjs.map → chunk-JEIESGLS.mjs.map} +0 -0
- /package/dist/{chunk-TNOOLHK7.mjs.map → chunk-KK66VUSS.mjs.map} +0 -0
- /package/dist/{chunk-IVX4I3NC.mjs.map → chunk-L5TIL3QC.mjs.map} +0 -0
- /package/dist/{chunk-X3C5CS4X.mjs.map → chunk-NE6FVUU7.mjs.map} +0 -0
- /package/dist/{chunk-PRN25GXK.mjs.map → chunk-NFZZGGEV.mjs.map} +0 -0
- /package/dist/{chunk-T5VZORPQ.mjs.map → chunk-OJW2KVY7.mjs.map} +0 -0
- /package/dist/{chunk-F4XMHKOR.mjs.map → chunk-PWYWE7H7.mjs.map} +0 -0
- /package/dist/{chunk-63OA3RR6.mjs.map → chunk-QKWQIRUO.mjs.map} +0 -0
- /package/dist/{chunk-RSOPHC7S.mjs.map → chunk-STPFSN7K.mjs.map} +0 -0
- /package/dist/{chunk-YK65IKP2.mjs.map → chunk-VVWELITO.mjs.map} +0 -0
- /package/dist/{chunk-ZDBXA2D4.mjs.map → chunk-XQ4KXG5O.mjs.map} +0 -0
- /package/dist/{chunk-QB3ZLR7S.mjs.map → chunk-Y4RD46AM.mjs.map} +0 -0
- /package/dist/{chunk-IX2TMY6X.mjs.map → chunk-YNOOWA75.mjs.map} +0 -0
- /package/dist/{chunk-GVJWRPOP.mjs.map → chunk-YUFKMTUP.mjs.map} +0 -0
- /package/dist/{chunk-INO2742F.mjs.map → chunk-Z7CGMLOT.mjs.map} +0 -0
|
@@ -3,18 +3,18 @@ import {
|
|
|
3
3
|
isValid,
|
|
4
4
|
validate,
|
|
5
5
|
validateReject
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-3DAZTFKD.mjs";
|
|
7
7
|
import "../chunk-OFGI5FLG.mjs";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-VVWELITO.mjs";
|
|
9
|
+
import "../chunk-FZBUEEQB.mjs";
|
|
10
10
|
import "../chunk-ISLR7BKT.mjs";
|
|
11
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-CLIM3GJ7.mjs";
|
|
12
12
|
import "../chunk-CAHTK3AT.mjs";
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-KK66VUSS.mjs";
|
|
14
|
+
import "../chunk-55B7FIAE.mjs";
|
|
15
|
+
import "../chunk-H7TRIY7A.mjs";
|
|
16
|
+
import "../chunk-L5TIL3QC.mjs";
|
|
17
|
+
import "../chunk-R43LAFNS.mjs";
|
|
18
18
|
import "../chunk-EX7OK25Y.mjs";
|
|
19
19
|
import "../chunk-JSON7A4X.mjs";
|
|
20
20
|
import "../chunk-X7FZPY3P.mjs";
|
package/dist/validation/When.mjs
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
When,
|
|
3
3
|
when
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-3DAZTFKD.mjs";
|
|
5
5
|
import "../chunk-OFGI5FLG.mjs";
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-VVWELITO.mjs";
|
|
7
|
+
import "../chunk-FZBUEEQB.mjs";
|
|
8
8
|
import "../chunk-ISLR7BKT.mjs";
|
|
9
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-CLIM3GJ7.mjs";
|
|
10
10
|
import "../chunk-CAHTK3AT.mjs";
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-KK66VUSS.mjs";
|
|
12
|
+
import "../chunk-55B7FIAE.mjs";
|
|
13
|
+
import "../chunk-H7TRIY7A.mjs";
|
|
14
|
+
import "../chunk-L5TIL3QC.mjs";
|
|
15
|
+
import "../chunk-R43LAFNS.mjs";
|
|
16
16
|
import "../chunk-EX7OK25Y.mjs";
|
|
17
17
|
import "../chunk-JSON7A4X.mjs";
|
|
18
18
|
import "../chunk-X7FZPY3P.mjs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "17.4.
|
|
3
|
+
"version": "17.4.8",
|
|
4
4
|
"description": "Straightforward library for building domain-driven microservice architectures",
|
|
5
5
|
"author": "Sander Hoogendoorn",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"access": "public"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@thisisagile/easy-test": "17.4.
|
|
37
|
+
"@thisisagile/easy-test": "17.4.8",
|
|
38
38
|
"@types/form-urlencoded": "^4.4.0",
|
|
39
39
|
"@types/luxon": "3.4.2",
|
|
40
40
|
"@types/validator": "^13.11.10"
|
package/src/domain/DateTime.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { isDate } from '../types/IsDate';
|
|
|
7
7
|
import { isA } from '../types/IsA';
|
|
8
8
|
import { ifDefined } from '../utils/If';
|
|
9
9
|
import { JsonValue } from '../types/Json';
|
|
10
|
+
import { seconds } from '../utils/Seconds';
|
|
10
11
|
|
|
11
12
|
Settings.defaultZone = 'utc';
|
|
12
13
|
|
|
@@ -139,6 +140,10 @@ export class DateTime extends Value<Optional<string>> {
|
|
|
139
140
|
toDate(): Optional<Date> {
|
|
140
141
|
return this.isValid ? this.utc.toJSDate() : undefined;
|
|
141
142
|
}
|
|
143
|
+
|
|
144
|
+
ago(end: DateTime = DateTime.now): string {
|
|
145
|
+
return seconds.toText(end.diff(this, 'second'));
|
|
146
|
+
}
|
|
142
147
|
}
|
|
143
148
|
|
|
144
149
|
export const isDateTime = (dt?: unknown): dt is DateTime => isDefined(dt) && dt instanceof DateTime;
|
package/src/types/Object.ts
CHANGED
|
@@ -14,3 +14,7 @@ export function entries<T = unknown>(subject: { [p: string]: T } | ArrayLike<T>)
|
|
|
14
14
|
export function values<T = unknown>(subject: { [p: string]: T } | ArrayLike<T>): List<T> {
|
|
15
15
|
return toList([...Object.values<T>(subject), ...Object.values<T>(Object.getPrototypeOf(subject))]);
|
|
16
16
|
}
|
|
17
|
+
|
|
18
|
+
export function keys<T = unknown>(subject: { [p: string]: T } | ArrayLike<T>): List<string> {
|
|
19
|
+
return toList([...Object.keys(subject), ...Object.keys(Object.getPrototypeOf(subject))]);
|
|
20
|
+
}
|
package/src/utils/Seconds.ts
CHANGED
|
@@ -10,14 +10,9 @@ export const seconds = {
|
|
|
10
10
|
return { days, hours, minutes, seconds };
|
|
11
11
|
},
|
|
12
12
|
|
|
13
|
-
toText: (s: number) => {
|
|
13
|
+
toText: (s: number): string => {
|
|
14
14
|
const { days, hours, minutes, seconds: secs } = seconds.toDuration(s);
|
|
15
|
-
return toList(
|
|
16
|
-
ifTrue(days, d => `${d}d`),
|
|
17
|
-
ifTrue(hours, h => `${h}h`),
|
|
18
|
-
ifTrue(minutes, m => `${m}m`),
|
|
19
|
-
ifTrue(days + hours + minutes === 0, `${secs}s`)
|
|
20
|
-
)
|
|
15
|
+
return toList(ifTrue(days, `${days}d`), ifTrue(hours, `${hours}h`), ifTrue(minutes, `${minutes}m`), ifTrue(days + hours + minutes === 0, `${secs}s`))
|
|
21
16
|
.mapDefined(s => s)
|
|
22
17
|
.join(' ');
|
|
23
18
|
},
|
package/src/utils/Traverse.ts
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
|
+
import { AnyKey } from '../types/AnyKey';
|
|
2
|
+
|
|
1
3
|
export const traverse = (subject: unknown = {}, property = ''): unknown => {
|
|
2
4
|
const props = property.split('.');
|
|
3
5
|
const p = props.shift() as string;
|
|
4
6
|
return props.length === 0 ? (subject as any)[p] : traverse((subject as any)[p], props.join('.'));
|
|
5
7
|
};
|
|
8
|
+
|
|
9
|
+
export const traverseSet = <T>(subject: T, property: AnyKey<T>, value: unknown): unknown => {
|
|
10
|
+
const props = property.split('.');
|
|
11
|
+
const p = props.shift() as string;
|
|
12
|
+
return {
|
|
13
|
+
...(subject as any),
|
|
14
|
+
[p]: props.length === 0 ? value : traverseSet((subject as any)[p], props.join('.'), value),
|
|
15
|
+
} as T;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const accumulate = <T>(items: T[], ...keys: AnyKey<T>[]): T[] =>
|
|
19
|
+
items.map((t, i, arr) => {
|
|
20
|
+
const acc = keys.reduce(
|
|
21
|
+
(acc, v) => traverseSet(acc, v, i === 0 ? traverse(t, v) : (traverse(arr[i - 1], v) as number) + (traverse(t, v) as number)) as T,
|
|
22
|
+
t
|
|
23
|
+
);
|
|
24
|
+
arr[i] = acc;
|
|
25
|
+
return acc;
|
|
26
|
+
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/domain/DateTime.ts"],"sourcesContent":["import { DateTime as LuxonDateTime, DateTimeUnit as LuxonDateTimeUnit, DurationUnit as LuxonDurationUnit, Settings } from 'luxon';\nimport { Value } from '../types/Value';\nimport { Optional } from '../types/Types';\nimport { choose } from '../types/Case';\nimport { isDefined, isNumber, isString } from '../types/Is';\nimport { isDate } from '../types/IsDate';\nimport { isA } from '../types/IsA';\nimport { ifDefined } from '../utils/If';\nimport { JsonValue } from '../types/Json';\n\nSettings.defaultZone = 'utc';\n\nexport type DateTimeUnit = LuxonDateTimeUnit;\nexport type DurationUnit = LuxonDurationUnit;\nexport type Duration = Partial<Record<DurationUnit, number>>;\n\nexport type DiffOptions = {\n rounding: 'floor' | 'ceil' | 'round';\n};\n\nexport class DateTime extends Value<Optional<string>> {\n constructor(value?: string | number | Date | DateTime | null, format?: string) {\n super(\n choose(value)\n .type(isString, v => (format ? LuxonDateTime.fromFormat(v, format, { setZone: true }) : LuxonDateTime.fromISO(v, { setZone: true })))\n .type(isNumber, v => LuxonDateTime.fromMillis(v))\n .type(isDate, v => LuxonDateTime.fromJSDate(v))\n .type(isDateTime, v => LuxonDateTime.fromISO(v.toString()))\n .else(undefined as unknown as LuxonDateTime)\n ?.toISO() as unknown as string\n );\n }\n\n static get now(): DateTime {\n return new DateTime(LuxonDateTime.utc().toISO());\n }\n\n get isValid(): boolean {\n return isDefined(this.value) && this.utc.isValid;\n }\n\n /**\n * @deprecated Deprecated in favor for DateTime.from as that also accepts locales and another DateTime\n */\n get fromNow(): string {\n return this.from();\n }\n\n protected get utc(): LuxonDateTime {\n return this.luxon.setZone('utc');\n }\n\n protected get luxon(): LuxonDateTime {\n return LuxonDateTime.fromISO(this.value as string, { setZone: true });\n }\n\n from(date?: DateTime): string;\n\n from(locale?: string): string;\n\n from(date?: DateTime, locale?: string): string;\n\n from(param?: string | DateTime, other?: string): string {\n const date: Optional<DateTime> = isA<DateTime>(param) ? param : undefined;\n const locale: string = (isString(param) ? param : undefined) ?? other ?? 'en';\n return ifDefined(\n date,\n d => this.utc.setLocale(locale).toRelative({ base: d.utc }),\n () => this.utc.setLocale(locale).toRelative()\n ) as string;\n }\n\n isAfter(dt: DateTime): boolean {\n return this.utc > dt.utc;\n }\n\n isBefore(dt: DateTime): boolean {\n return this.utc < dt.utc;\n }\n\n equals(dt: DateTime): boolean {\n return this.utc.hasSame(dt.utc, 'millisecond');\n }\n\n add(n: number): DateTime;\n add(n: number, unit: DurationUnit): DateTime;\n add(duration: Duration): DateTime;\n add(n: number | Duration, unit?: DurationUnit): DateTime {\n return new DateTime(this.luxon.plus(isNumber(n) ? { [unit ?? ('day' as string)]: n } : n).toISO());\n }\n\n subtract(n: number): DateTime;\n subtract(n: number, unit: DurationUnit): DateTime;\n subtract(duration: Duration): DateTime;\n subtract(n: number | Duration, unit?: DurationUnit): DateTime {\n return new DateTime(this.luxon.minus(isNumber(n) ? { [unit ?? ('day' as string)]: n } : n).toISO());\n }\n\n diff(other: DateTime, unit: DateTimeUnit = 'day', opts?: DiffOptions): number {\n return Math[opts?.rounding ?? 'floor'](this.utc.diff(other.utc).as(unit));\n }\n\n startOf(unit: DateTimeUnit = 'day'): DateTime {\n return new DateTime(this.luxon.startOf(unit).toISO());\n }\n\n endOf(unit: DateTimeUnit = 'day'): DateTime {\n return new DateTime(this.luxon.endOf(unit).toISO());\n }\n\n isWeekend(): boolean {\n return this.luxon.isWeekend;\n }\n\n withZone(zone: string): DateTime {\n return new DateTime(this.utc.setZone(zone).toISO());\n }\n\n toString(): string {\n return this.value ?? '';\n }\n\n toJSON(): JsonValue {\n return this.utc.toISO() as unknown as JsonValue;\n }\n\n toFormat(format: string): string {\n return this.luxon.toFormat(format);\n }\n\n toLocale(locale = 'nl-NL', format = 'D'): string {\n return this.luxon.setLocale(locale).toFormat(format);\n }\n\n toFull(locale?: string): string {\n return this.toLocale(locale, 'DDD');\n }\n\n toDate(): Optional<Date> {\n return this.isValid ? this.utc.toJSDate() : undefined;\n }\n}\n\nexport const isDateTime = (dt?: unknown): dt is DateTime => isDefined(dt) && dt instanceof DateTime;\n\nexport const dt = (dt?: unknown): DateTime => (isString(dt) || isNumber(dt) || dt instanceof Date ? new DateTime(dt) : new DateTime());\n"],"mappings":"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","names":["dt"]}
|
package/dist/chunk-DICMUQFL.mjs
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
// src/utils/Traverse.ts
|
|
2
|
-
var traverse = (subject = {}, property = "") => {
|
|
3
|
-
const props = property.split(".");
|
|
4
|
-
const p = props.shift();
|
|
5
|
-
return props.length === 0 ? subject[p] : traverse(subject[p], props.join("."));
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export {
|
|
9
|
-
traverse
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=chunk-DICMUQFL.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/Traverse.ts"],"sourcesContent":["export const traverse = (subject: unknown = {}, property = ''): unknown => {\n const props = property.split('.');\n const p = props.shift() as string;\n return props.length === 0 ? (subject as any)[p] : traverse((subject as any)[p], props.join('.'));\n};\n"],"mappings":";AAAO,IAAM,WAAW,CAAC,UAAmB,CAAC,GAAG,WAAW,OAAgB;AACzE,QAAM,QAAQ,SAAS,MAAM,GAAG;AAChC,QAAM,IAAI,MAAM,MAAM;AACtB,SAAO,MAAM,WAAW,IAAK,QAAgB,CAAC,IAAI,SAAU,QAAgB,CAAC,GAAG,MAAM,KAAK,GAAG,CAAC;AACjG;","names":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|