@thisisagile/easy 17.14.0 → 17.14.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/dist/{chunk-DNWG66S7.mjs → chunk-DV7QIJRF.mjs} +2 -2
- package/dist/{chunk-BISRC54F.mjs → chunk-UR544PJT.mjs} +16 -8
- package/dist/chunk-UR544PJT.mjs.map +1 -0
- package/dist/domain/Audit.mjs +2 -2
- package/dist/domain/DateTime.d.ts +1 -0
- package/dist/domain/DateTime.mjs +1 -1
- package/dist/domain/Entity.mjs +2 -2
- package/dist/index.js +10 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/DateTime.ts +17 -8
- package/dist/chunk-BISRC54F.mjs.map +0 -1
- /package/dist/{chunk-DNWG66S7.mjs.map → chunk-DV7QIJRF.mjs.map} +0 -0
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-RBQOVMPC.mjs";
|
|
5
5
|
import {
|
|
6
6
|
DateTime
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-UR544PJT.mjs";
|
|
8
8
|
import {
|
|
9
9
|
Struct
|
|
10
10
|
} from "./chunk-TZYSQJ2N.mjs";
|
|
@@ -47,4 +47,4 @@ __decorateClass([
|
|
|
47
47
|
export {
|
|
48
48
|
Audit
|
|
49
49
|
};
|
|
50
|
-
//# sourceMappingURL=chunk-
|
|
50
|
+
//# sourceMappingURL=chunk-DV7QIJRF.mjs.map
|
|
@@ -5,7 +5,8 @@ import {
|
|
|
5
5
|
isDate
|
|
6
6
|
} from "./chunk-ADJAEGCT.mjs";
|
|
7
7
|
import {
|
|
8
|
-
choose
|
|
8
|
+
choose,
|
|
9
|
+
tryTo
|
|
9
10
|
} from "./chunk-2KZ5UP6A.mjs";
|
|
10
11
|
import {
|
|
11
12
|
Value
|
|
@@ -16,6 +17,9 @@ import {
|
|
|
16
17
|
import {
|
|
17
18
|
isA
|
|
18
19
|
} from "./chunk-ZHXKBOK2.mjs";
|
|
20
|
+
import {
|
|
21
|
+
use
|
|
22
|
+
} from "./chunk-ZPNFXK7Y.mjs";
|
|
19
23
|
import {
|
|
20
24
|
isDefined,
|
|
21
25
|
isNumber,
|
|
@@ -48,12 +52,13 @@ var DateTime = class _DateTime extends Value {
|
|
|
48
52
|
return this.luxon.setZone("utc");
|
|
49
53
|
}
|
|
50
54
|
from(dateOrLocale, maybeLocale) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
return use(
|
|
56
|
+
(isString(dateOrLocale) ? dateOrLocale : maybeLocale) ?? "en",
|
|
57
|
+
(locale) => ifDefined(
|
|
58
|
+
isA(dateOrLocale) ? dateOrLocale : void 0,
|
|
59
|
+
(d) => this.utc.setLocale(locale).toRelative({ base: d.utc }),
|
|
60
|
+
() => this.utc.setLocale(locale).toRelative()
|
|
61
|
+
)
|
|
57
62
|
) ?? "";
|
|
58
63
|
}
|
|
59
64
|
isAfter(dt2) {
|
|
@@ -110,6 +115,9 @@ var DateTime = class _DateTime extends Value {
|
|
|
110
115
|
ago(end = _DateTime.now) {
|
|
111
116
|
return seconds.toText(end.diff(this, "second"));
|
|
112
117
|
}
|
|
118
|
+
withClock(clock) {
|
|
119
|
+
return tryTo(() => [this.toDate(), clock.toDate()]).map(([td, cd]) => new Date(td.getFullYear(), td.getMonth(), td.getDate(), cd.getHours(), cd.getMinutes(), cd.getSeconds())).map((d) => new _DateTime(d)).value;
|
|
120
|
+
}
|
|
113
121
|
};
|
|
114
122
|
var isDateTime = (dt2) => isDefined(dt2) && dt2 instanceof DateTime;
|
|
115
123
|
var dt = (dt2) => new DateTime(dt2);
|
|
@@ -119,4 +127,4 @@ export {
|
|
|
119
127
|
isDateTime,
|
|
120
128
|
dt
|
|
121
129
|
};
|
|
122
|
-
//# sourceMappingURL=chunk-
|
|
130
|
+
//# sourceMappingURL=chunk-UR544PJT.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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';\nimport { seconds } from '../utils/Seconds';\nimport { tryTo } from '../types/Try';\nimport { use } from '../types/Constructor';\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\ntype DatetimeInput = string | number | Date | DateTime | null;\n\nexport class DateTime extends Value<Optional<string>> {\n protected readonly luxon: LuxonDateTime;\n\n constructor(value?: DatetimeInput);\n constructor(value?: string, format?: string);\n constructor(value?: DatetimeInput, format?: string) {\n const luxon = 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 => v.luxon)\n // Allow constructing with LuxonDateTime without exposing types\n .else(value instanceof LuxonDateTime ? value : LuxonDateTime.fromISO(undefined as any));\n\n super(luxon.toISO() ?? undefined);\n this.luxon = luxon;\n }\n\n static get now(): DateTime {\n return new DateTime(LuxonDateTime.utc() as any);\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 from(locale?: string): string;\n from(date?: DateTime, locale?: string): string;\n from(dateOrLocale?: string | DateTime, maybeLocale?: string): string {\n return (\n use((isString(dateOrLocale) ? dateOrLocale : maybeLocale) ?? 'en', locale =>\n ifDefined(\n isA<DateTime>(dateOrLocale) ? dateOrLocale : undefined,\n d => this.utc.setLocale(locale).toRelative({ base: d.utc }),\n () => this.utc.setLocale(locale).toRelative()\n )\n ) ?? ''\n );\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, unit?: DurationUnit): DateTime;\n add(duration: Duration): DateTime;\n add(n: number | Duration, unit: DurationUnit = 'day'): DateTime {\n return new DateTime(this.luxon.plus(isNumber(n) ? { [unit]: n } : n) as any);\n }\n\n subtract(n: number, unit?: DurationUnit): DateTime;\n subtract(duration: Duration): DateTime;\n subtract(n: number | Duration, unit: DurationUnit = 'day'): DateTime {\n return new DateTime(this.luxon.minus(isNumber(n) ? { [unit]: n } : n) as any);\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) as any);\n }\n\n endOf(unit: DateTimeUnit = 'day'): DateTime {\n return new DateTime(this.luxon.endOf(unit) as any);\n }\n\n isWeekend(): boolean {\n return this.luxon.isWeekend;\n }\n\n withZone(zone: string): DateTime {\n return new DateTime(this.luxon.setZone(zone) as any);\n }\n\n toString(): string {\n return this.value ?? '';\n }\n\n toJSON(): JsonValue {\n return this.utc.toISO();\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 toEpoch(): number {\n return this.luxon.toMillis();\n }\n\n ago(end: DateTime = DateTime.now): string {\n return seconds.toText(end.diff(this, 'second'));\n }\n\n withClock(clock: DateTime): DateTime {\n return tryTo(() => [this.toDate() as Date, clock.toDate() as Date])\n .map(([td, cd]) => new Date(td.getFullYear(), td.getMonth(), td.getDate(), cd.getHours(), cd.getMinutes(), cd.getSeconds()))\n .map(d => new DateTime(d)).value;\n }\n}\n\nexport const isDateTime = (dt?: unknown): dt is DateTime => isDefined(dt) && dt instanceof DateTime;\n\nexport const dt = (dt?: DatetimeInput): DateTime => new DateTime(dt);\n"],"mappings":"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","names":["dt"]}
|
package/dist/domain/Audit.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Audit
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-DV7QIJRF.mjs";
|
|
4
4
|
import "../chunk-RBQOVMPC.mjs";
|
|
5
|
-
import "../chunk-
|
|
5
|
+
import "../chunk-UR544PJT.mjs";
|
|
6
6
|
import "../chunk-JQQGQCYH.mjs";
|
|
7
7
|
import "../chunk-ADJAEGCT.mjs";
|
|
8
8
|
import "../chunk-TZYSQJ2N.mjs";
|
|
@@ -39,6 +39,7 @@ export declare class DateTime extends Value<Optional<string>> {
|
|
|
39
39
|
toDate(): Optional<Date>;
|
|
40
40
|
toEpoch(): number;
|
|
41
41
|
ago(end?: DateTime): string;
|
|
42
|
+
withClock(clock: DateTime): DateTime;
|
|
42
43
|
}
|
|
43
44
|
export declare const isDateTime: (dt?: unknown) => dt is DateTime;
|
|
44
45
|
export declare const dt: (dt?: DatetimeInput) => DateTime;
|
package/dist/domain/DateTime.mjs
CHANGED
package/dist/domain/Entity.mjs
CHANGED
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
import "../chunk-LXQQ5N6S.mjs";
|
|
5
5
|
import {
|
|
6
6
|
Audit
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-DV7QIJRF.mjs";
|
|
8
8
|
import {
|
|
9
9
|
required
|
|
10
10
|
} from "../chunk-RBQOVMPC.mjs";
|
|
11
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-UR544PJT.mjs";
|
|
12
12
|
import "../chunk-JQQGQCYH.mjs";
|
|
13
13
|
import "../chunk-ADJAEGCT.mjs";
|
|
14
14
|
import {
|
package/dist/index.js
CHANGED
|
@@ -1716,12 +1716,13 @@ var DateTime = class _DateTime extends Value {
|
|
|
1716
1716
|
return this.luxon.setZone("utc");
|
|
1717
1717
|
}
|
|
1718
1718
|
from(dateOrLocale, maybeLocale) {
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1719
|
+
return use(
|
|
1720
|
+
(isString(dateOrLocale) ? dateOrLocale : maybeLocale) ?? "en",
|
|
1721
|
+
(locale) => ifDefined(
|
|
1722
|
+
isA(dateOrLocale) ? dateOrLocale : void 0,
|
|
1723
|
+
(d) => this.utc.setLocale(locale).toRelative({ base: d.utc }),
|
|
1724
|
+
() => this.utc.setLocale(locale).toRelative()
|
|
1725
|
+
)
|
|
1725
1726
|
) ?? "";
|
|
1726
1727
|
}
|
|
1727
1728
|
isAfter(dt2) {
|
|
@@ -1778,6 +1779,9 @@ var DateTime = class _DateTime extends Value {
|
|
|
1778
1779
|
ago(end = _DateTime.now) {
|
|
1779
1780
|
return seconds.toText(end.diff(this, "second"));
|
|
1780
1781
|
}
|
|
1782
|
+
withClock(clock) {
|
|
1783
|
+
return tryTo(() => [this.toDate(), clock.toDate()]).map(([td, cd]) => new Date(td.getFullYear(), td.getMonth(), td.getDate(), cd.getHours(), cd.getMinutes(), cd.getSeconds())).map((d) => new _DateTime(d)).value;
|
|
1784
|
+
}
|
|
1781
1785
|
};
|
|
1782
1786
|
var isDateTime = (dt2) => isDefined(dt2) && dt2 instanceof DateTime;
|
|
1783
1787
|
var dt = (dt2) => new DateTime(dt2);
|