@bgord/tools 1.4.14 → 1.4.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/dist/age.vo.d.ts.map +1 -1
- package/dist/age.vo.js +11 -5
- package/dist/age.vo.js.map +1 -1
- package/dist/day-iso-id.vo.d.ts.map +1 -1
- package/dist/day-iso-id.vo.js +10 -2
- package/dist/day-iso-id.vo.js.map +1 -1
- package/dist/day.vo.d.ts.map +1 -1
- package/dist/day.vo.js +14 -13
- package/dist/day.vo.js.map +1 -1
- package/dist/hour.vo.d.ts +2 -2
- package/dist/hour.vo.d.ts.map +1 -1
- package/dist/hour.vo.js +8 -6
- package/dist/hour.vo.js.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/minute.vo.d.ts +2 -2
- package/dist/minute.vo.d.ts.map +1 -1
- package/dist/minute.vo.js +7 -6
- package/dist/minute.vo.js.map +1 -1
- package/dist/month.vo.d.ts +2 -2
- package/dist/month.vo.d.ts.map +1 -1
- package/dist/month.vo.js +14 -12
- package/dist/month.vo.js.map +1 -1
- package/dist/quarter.vo.d.ts.map +1 -1
- package/dist/quarter.vo.js +16 -8
- package/dist/quarter.vo.js.map +1 -1
- package/dist/temporal.d.ts +2 -0
- package/dist/temporal.d.ts.map +1 -0
- package/dist/temporal.js +2 -0
- package/dist/temporal.js.map +1 -0
- package/dist/timestamp.vo.d.ts +4 -2
- package/dist/timestamp.vo.d.ts.map +1 -1
- package/dist/timestamp.vo.js +10 -6
- package/dist/timestamp.vo.js.map +1 -1
- package/dist/timezone.vo.d.ts.map +1 -1
- package/dist/timezone.vo.js +2 -1
- package/dist/timezone.vo.js.map +1 -1
- package/dist/week-iso-id.vo.d.ts.map +1 -1
- package/dist/week-iso-id.vo.js +5 -4
- package/dist/week-iso-id.vo.js.map +1 -1
- package/dist/week.vo.d.ts.map +1 -1
- package/dist/week.vo.js +24 -14
- package/dist/week.vo.js.map +1 -1
- package/dist/weekday.vo.d.ts.map +1 -1
- package/dist/weekday.vo.js +2 -3
- package/dist/weekday.vo.js.map +1 -1
- package/dist/year.vo.d.ts.map +1 -1
- package/dist/year.vo.js +11 -14
- package/dist/year.vo.js.map +1 -1
- package/package.json +5 -5
- package/readme.md +1 -3
- package/dist/date-calculator.service.d.ts +0 -11
- package/dist/date-calculator.service.d.ts.map +0 -1
- package/dist/date-calculator.service.js +0 -13
- package/dist/date-calculator.service.js.map +0 -1
- package/dist/date-formatter.service.d.ts +0 -10
- package/dist/date-formatter.service.d.ts.map +0 -1
- package/dist/date-formatter.service.js +0 -16
- package/dist/date-formatter.service.js.map +0 -1
- package/dist/relative-date.vo.d.ts +0 -14
- package/dist/relative-date.vo.d.ts.map +0 -1
- package/dist/relative-date.vo.js +0 -15
- package/dist/relative-date.vo.js.map +0 -1
package/dist/age.vo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"age.vo.d.ts","sourceRoot":"","sources":["../src/age.vo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"age.vo.d.ts","sourceRoot":"","sources":["../src/age.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,eAAO,MAAM,QAAQ;;CAA8C,CAAC;AAEpE,qBAAa,GAAG;IAIM,OAAO,CAAC,QAAQ,CAAC,KAAK;IAH1C,MAAM,CAAC,QAAQ,CAAC,GAAG,SAA2B;IAC9C,MAAM,CAAC,QAAQ,CAAC,GAAG,SAA2B;IAE9C,OAAO;IAEP,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IAIxC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,GAAG,GAAG;IAIlD,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,SAAS,CAAA;KAAE,GAAG,GAAG;IASpF,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,SAAS,CAAA;KAAE,GAAG,GAAG;IAY3E,GAAG,IAAI,YAAY;IAInB,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAI3B,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIhC,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIlC,OAAO,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO;IAIjC,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;CAGjB"}
|
package/dist/age.vo.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { differenceInYears } from "date-fns";
|
|
2
1
|
import * as v from "valibot";
|
|
3
2
|
import { AgeYears, AgeYearsConstraints } from "./age-years.vo";
|
|
3
|
+
import { Temporal } from "./temporal";
|
|
4
4
|
import { Timestamp } from "./timestamp.vo";
|
|
5
5
|
export const AgeError = { FutureBirthdate: "age.future.birthdate" };
|
|
6
6
|
export class Age {
|
|
@@ -19,13 +19,19 @@ export class Age {
|
|
|
19
19
|
static fromBirthdateTimestamp(params) {
|
|
20
20
|
if (params.birthdate.isAfter(params.now))
|
|
21
21
|
throw new Error(AgeError.FutureBirthdate);
|
|
22
|
-
|
|
22
|
+
const birthdate = params.birthdate.toInstant().toZonedDateTimeISO("UTC").toPlainDate();
|
|
23
|
+
const now = params.now.toInstant().toZonedDateTimeISO("UTC").toPlainDate();
|
|
24
|
+
return Age.fromValue(birthdate.until(now, { largestUnit: "years" }).years);
|
|
23
25
|
}
|
|
24
26
|
static fromBirthdate(candidate) {
|
|
25
|
-
const birthdate = Timestamp.
|
|
26
|
-
|
|
27
|
+
const birthdate = Timestamp.fromString(candidate.birthdate)
|
|
28
|
+
.toInstant()
|
|
29
|
+
.toZonedDateTimeISO("UTC")
|
|
30
|
+
.toPlainDate();
|
|
31
|
+
const now = candidate.now.toInstant().toZonedDateTimeISO("UTC").toPlainDate();
|
|
32
|
+
if (Temporal.PlainDate.compare(birthdate, now) > 0)
|
|
27
33
|
throw new Error(AgeError.FutureBirthdate);
|
|
28
|
-
return Age.fromValue(
|
|
34
|
+
return Age.fromValue(birthdate.until(now, { largestUnit: "years" }).years);
|
|
29
35
|
}
|
|
30
36
|
get() {
|
|
31
37
|
return this.value;
|
package/dist/age.vo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"age.vo.js","sourceRoot":"","sources":["../src/age.vo.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"age.vo.js","sourceRoot":"","sources":["../src/age.vo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"day-iso-id.vo.d.ts","sourceRoot":"","sources":["../src/day-iso-id.vo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"day-iso-id.vo.d.ts","sourceRoot":"","sources":["../src/day-iso-id.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAG7B,eAAO,MAAM,aAAa;;;;CAIzB,CAAC;AAGF,eAAO,MAAM,gBAAgB,QAAiC,CAAC;AAE/D,eAAO,MAAM,QAAQ,sJAapB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,QAAQ,CAAC,CAAC"}
|
package/dist/day-iso-id.vo.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { isValid, parseISO } from "date-fns";
|
|
2
1
|
import * as v from "valibot";
|
|
2
|
+
import { Temporal } from "./temporal";
|
|
3
3
|
export const DayIsoIdError = {
|
|
4
4
|
Type: "day.iso.id.type",
|
|
5
5
|
BadChars: "day.iso.id.bad.chars",
|
|
@@ -7,7 +7,15 @@ export const DayIsoIdError = {
|
|
|
7
7
|
};
|
|
8
8
|
// Four digits, hyphen, two digits, hyphen, two digits
|
|
9
9
|
export const DAY_ISO_ID_CHARS = /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
|
|
10
|
-
export const DayIsoId = v.pipe(v.string(DayIsoIdError.Type), v.regex(DAY_ISO_ID_CHARS, DayIsoIdError.BadChars), v.check((value) =>
|
|
10
|
+
export const DayIsoId = v.pipe(v.string(DayIsoIdError.Type), v.regex(DAY_ISO_ID_CHARS, DayIsoIdError.BadChars), v.check((value) => {
|
|
11
|
+
try {
|
|
12
|
+
Temporal.PlainDate.from(value, { overflow: "reject" });
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
}, DayIsoIdError.InvalidDate),
|
|
11
19
|
// Stryker disable next-line StringLiteral
|
|
12
20
|
v.brand("DayIsoId"));
|
|
13
21
|
//# sourceMappingURL=day-iso-id.vo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"day-iso-id.vo.js","sourceRoot":"","sources":["../src/day-iso-id.vo.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"day-iso-id.vo.js","sourceRoot":"","sources":["../src/day-iso-id.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,sBAAsB;IAChC,WAAW,EAAE,yBAAyB;CACvC,CAAC;AAEF,sDAAsD;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;AAE/D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAC5B,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAC5B,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,aAAa,CAAC,QAAQ,CAAC,EACjD,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAChB,IAAI,CAAC;QACH,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC;AAC7B,0CAA0C;AAC1C,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CACpB,CAAC"}
|
package/dist/day.vo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"day.vo.d.ts","sourceRoot":"","sources":["../src/day.vo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"day.vo.d.ts","sourceRoot":"","sources":["../src/day.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,qBAAa,GAAI,SAAQ,SAAS;IAChC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG;IAS/C,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,GAAG,GAAG;IAI7D,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,GAAG;IAInC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG;IAM1C,OAAO,IAAI,YAAY;IAIvB,QAAQ,IAAI,GAAG;IAIf,IAAI,IAAI,GAAG;IAIX,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG;IAW9B,QAAQ,IAAI,MAAM;CAGnB"}
|
package/dist/day.vo.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { formatISO } from "date-fns";
|
|
2
1
|
import * as v from "valibot";
|
|
3
2
|
import { DateRange } from "./date-range.vo";
|
|
4
3
|
import { DayIsoId } from "./day-iso-id.vo";
|
|
5
|
-
import { Duration } from "./duration.service";
|
|
6
4
|
import { Int } from "./int.vo";
|
|
5
|
+
import { Temporal } from "./temporal";
|
|
7
6
|
import { Timestamp } from "./timestamp.vo";
|
|
8
7
|
export class Day extends DateRange {
|
|
9
8
|
static fromTimestamp(timestamp) {
|
|
10
|
-
const date =
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
return new Day(
|
|
9
|
+
const date = timestamp.toInstant().toZonedDateTimeISO("UTC");
|
|
10
|
+
const start = date.startOfDay();
|
|
11
|
+
const end = start.add({ days: 1 }).subtract({ milliseconds: 1 });
|
|
12
|
+
return new Day(Timestamp.fromInstant(start.toInstant()), Timestamp.fromInstant(end.toInstant()));
|
|
14
13
|
}
|
|
15
14
|
static fromTimestampValue(timestamp) {
|
|
16
15
|
return Day.fromTimestamp(Timestamp.fromValue(timestamp));
|
|
@@ -19,14 +18,10 @@ export class Day extends DateRange {
|
|
|
19
18
|
return Day.fromTimestamp(now);
|
|
20
19
|
}
|
|
21
20
|
static fromIsoId(isoId) {
|
|
22
|
-
|
|
23
|
-
const startUtc = Timestamp.fromNumber(Date.UTC(year, month - 1, day));
|
|
24
|
-
const endUtc = startUtc.add(Duration.Days(1)).subtract(Duration.Ms(1));
|
|
25
|
-
return new Day(startUtc, endUtc);
|
|
21
|
+
return Day.fromTimestamp(Timestamp.fromInstant(Temporal.PlainDate.from(isoId).toZonedDateTime("UTC").toInstant()));
|
|
26
22
|
}
|
|
27
23
|
toIsoId() {
|
|
28
|
-
|
|
29
|
-
return v.parse(DayIsoId, formatISO(midday.ms, { representation: "date" }));
|
|
24
|
+
return v.parse(DayIsoId, this.getStart().toInstant().toZonedDateTimeISO("UTC").toPlainDate().toString());
|
|
30
25
|
}
|
|
31
26
|
previous() {
|
|
32
27
|
return this.shift(Int.of(-1));
|
|
@@ -35,7 +30,13 @@ export class Day extends DateRange {
|
|
|
35
30
|
return this.shift(Int.of(1));
|
|
36
31
|
}
|
|
37
32
|
shift(count) {
|
|
38
|
-
|
|
33
|
+
const plain = this.getStart()
|
|
34
|
+
.toInstant()
|
|
35
|
+
.toZonedDateTimeISO("UTC")
|
|
36
|
+
.toPlainDate()
|
|
37
|
+
.add({ days: count })
|
|
38
|
+
.toZonedDateTime("UTC");
|
|
39
|
+
return Day.fromTimestamp(Timestamp.fromInstant(plain.toInstant()));
|
|
39
40
|
}
|
|
40
41
|
toString() {
|
|
41
42
|
return this.toIsoId();
|
package/dist/day.vo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"day.vo.js","sourceRoot":"","sources":["../src/day.vo.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"day.vo.js","sourceRoot":"","sources":["../src/day.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAqB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,OAAO,GAAI,SAAQ,SAAS;IAChC,MAAM,CAAC,aAAa,CAAC,SAAoB;QACvC,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE7D,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QAEjE,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,SAA6B;QACrD,OAAO,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAc;QAC3B,OAAO,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAmB;QAClC,OAAO,GAAG,CAAC,aAAa,CACtB,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,CACzF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAkB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;aAC1B,SAAS,EAAE;aACX,kBAAkB,CAAC,KAAK,CAAC;aACzB,WAAW,EAAE;aACb,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;aACpB,eAAe,CAAC,KAAK,CAAC,CAAC;QAE1B,OAAO,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACF"}
|
package/dist/hour.vo.d.ts
CHANGED
|
@@ -4,10 +4,10 @@ import type { TimestampValueType } from "./timestamp-value.vo";
|
|
|
4
4
|
export declare class Hour {
|
|
5
5
|
private readonly value;
|
|
6
6
|
private constructor();
|
|
7
|
-
static fromValue(candidate: number): Hour;
|
|
8
|
-
static fromValueSafe(candidate: HourValueType): Hour;
|
|
9
7
|
static fromTimestamp(timestamp: Timestamp): Hour;
|
|
10
8
|
static fromTimestampValue(timestamp: TimestampValueType): Hour;
|
|
9
|
+
static fromValue(candidate: number): Hour;
|
|
10
|
+
static fromValueSafe(candidate: HourValueType): Hour;
|
|
11
11
|
static zero(): Hour;
|
|
12
12
|
static max(): Hour;
|
|
13
13
|
get(): HourValueType;
|
package/dist/hour.vo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hour.vo.d.ts","sourceRoot":"","sources":["../src/hour.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"hour.vo.d.ts","sourceRoot":"","sources":["../src/hour.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,qBAAa,IAAI;IACK,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA1C,OAAO;IAEP,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAMhD,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAI9D,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIzC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa;IAI7C,MAAM,CAAC,IAAI,IAAI,IAAI;IAInB,MAAM,CAAC,GAAG,IAAI,IAAI;IAIlB,GAAG,IAAI,aAAa;IAIpB,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO;IAI9B,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO;IAI/B,QAAQ,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO;IAIhC,MAAM,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC;IAIlC,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;CAGjB"}
|
package/dist/hour.vo.js
CHANGED
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
2
|
import { HourValue } from "./hour-value.vo";
|
|
3
|
+
import { Temporal } from "./temporal";
|
|
3
4
|
import { Timestamp } from "./timestamp.vo";
|
|
4
5
|
export class Hour {
|
|
5
6
|
value;
|
|
6
7
|
constructor(value) {
|
|
7
8
|
this.value = value;
|
|
8
9
|
}
|
|
10
|
+
static fromTimestamp(timestamp) {
|
|
11
|
+
const { hour } = Temporal.Instant.fromEpochMilliseconds(timestamp.ms).toZonedDateTimeISO("UTC");
|
|
12
|
+
return new Hour(v.parse(HourValue, hour));
|
|
13
|
+
}
|
|
14
|
+
static fromTimestampValue(timestamp) {
|
|
15
|
+
return Hour.fromTimestamp(Timestamp.fromValue(timestamp));
|
|
16
|
+
}
|
|
9
17
|
static fromValue(candidate) {
|
|
10
18
|
return new Hour(v.parse(HourValue, candidate));
|
|
11
19
|
}
|
|
12
20
|
static fromValueSafe(candidate) {
|
|
13
21
|
return new Hour(candidate);
|
|
14
22
|
}
|
|
15
|
-
static fromTimestamp(timestamp) {
|
|
16
|
-
return new Hour(v.parse(HourValue, new Date(timestamp.ms).getUTCHours()));
|
|
17
|
-
}
|
|
18
|
-
static fromTimestampValue(timestamp) {
|
|
19
|
-
return Hour.fromTimestamp(Timestamp.fromValue(timestamp));
|
|
20
|
-
}
|
|
21
23
|
static zero() {
|
|
22
24
|
return Hour.fromValue(0);
|
|
23
25
|
}
|
package/dist/hour.vo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hour.vo.js","sourceRoot":"","sources":["../src/hour.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAsB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,OAAO,IAAI;IACsB;IAArC,YAAqC,KAAoB;QAApB,UAAK,GAAL,KAAK,CAAe;IAAG,CAAC;IAE7D,MAAM,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"hour.vo.js","sourceRoot":"","sources":["../src/hour.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAsB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,OAAO,IAAI;IACsB;IAArC,YAAqC,KAAoB;QAApB,UAAK,GAAL,KAAK,CAAe;IAAG,CAAC;IAE7D,MAAM,CAAC,aAAa,CAAC,SAAoB;QACvC,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEhG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,SAA6B;QACrD,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,SAAiB;QAChC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,SAAwB;QAC3C,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,IAAI;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,GAAG;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,OAAa;QAClB,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,OAAa;QACnB,OAAO,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,OAAa;QACpB,OAAO,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,IAAI;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,8 +3,6 @@ export * from "./age-years.vo";
|
|
|
3
3
|
export * from "./api-key.vo";
|
|
4
4
|
export * from "./basename.vo";
|
|
5
5
|
export * from "./batch";
|
|
6
|
-
export * from "./date-calculator.service";
|
|
7
|
-
export * from "./date-formatter.service";
|
|
8
6
|
export * from "./date-range.vo";
|
|
9
7
|
export * from "./day.vo";
|
|
10
8
|
export * from "./day-iso-id.vo";
|
|
@@ -75,7 +73,6 @@ export * from "./quarter.vo";
|
|
|
75
73
|
export * from "./quarter-iso-id.vo";
|
|
76
74
|
export * from "./random.service";
|
|
77
75
|
export * from "./rate-limiter.service";
|
|
78
|
-
export * from "./relative-date.vo";
|
|
79
76
|
export * from "./reordering.service";
|
|
80
77
|
export * from "./reordering-item-position-value.vo";
|
|
81
78
|
export * from "./repeat";
|
|
@@ -93,6 +90,7 @@ export * from "./sms-body.vo";
|
|
|
93
90
|
export * from "./sms-message.vo";
|
|
94
91
|
export * from "./sum.service";
|
|
95
92
|
export * from "./telephone-number.vo";
|
|
93
|
+
export * from "./temporal";
|
|
96
94
|
export * from "./thousands-separator.service";
|
|
97
95
|
export * from "./time-zone-offset-value.vo";
|
|
98
96
|
export * from "./timestamp.vo";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,8 +3,6 @@ export * from "./age-years.vo";
|
|
|
3
3
|
export * from "./api-key.vo";
|
|
4
4
|
export * from "./basename.vo";
|
|
5
5
|
export * from "./batch";
|
|
6
|
-
export * from "./date-calculator.service";
|
|
7
|
-
export * from "./date-formatter.service";
|
|
8
6
|
export * from "./date-range.vo";
|
|
9
7
|
export * from "./day.vo";
|
|
10
8
|
export * from "./day-iso-id.vo";
|
|
@@ -75,7 +73,6 @@ export * from "./quarter.vo";
|
|
|
75
73
|
export * from "./quarter-iso-id.vo";
|
|
76
74
|
export * from "./random.service";
|
|
77
75
|
export * from "./rate-limiter.service";
|
|
78
|
-
export * from "./relative-date.vo";
|
|
79
76
|
export * from "./reordering.service";
|
|
80
77
|
export * from "./reordering-item-position-value.vo";
|
|
81
78
|
export * from "./repeat";
|
|
@@ -93,6 +90,7 @@ export * from "./sms-body.vo";
|
|
|
93
90
|
export * from "./sms-message.vo";
|
|
94
91
|
export * from "./sum.service";
|
|
95
92
|
export * from "./telephone-number.vo";
|
|
93
|
+
export * from "./temporal";
|
|
96
94
|
export * from "./thousands-separator.service";
|
|
97
95
|
export * from "./time-zone-offset-value.vo";
|
|
98
96
|
export * from "./timestamp.vo";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/minute.vo.d.ts
CHANGED
|
@@ -4,10 +4,10 @@ import type { TimestampValueType } from "./timestamp-value.vo";
|
|
|
4
4
|
export declare class Minute {
|
|
5
5
|
private readonly value;
|
|
6
6
|
private constructor();
|
|
7
|
-
static fromValue(candidate: number): Minute;
|
|
8
|
-
static fromValueSafe(candidate: MinuteValueType): Minute;
|
|
9
7
|
static fromTimestamp(timestamp: Timestamp): Minute;
|
|
10
8
|
static fromTimestampValue(timestamp: TimestampValueType): Minute;
|
|
9
|
+
static fromValue(candidate: number): Minute;
|
|
10
|
+
static fromValueSafe(candidate: MinuteValueType): Minute;
|
|
11
11
|
static zero(): Minute;
|
|
12
12
|
static max(): Minute;
|
|
13
13
|
get(): MinuteValueType;
|
package/dist/minute.vo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minute.vo.d.ts","sourceRoot":"","sources":["../src/minute.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,qBAAa,MAAM;IACG,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA1C,OAAO;IAEP,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"minute.vo.d.ts","sourceRoot":"","sources":["../src/minute.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,qBAAa,MAAM;IACG,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA1C,OAAO;IAEP,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAMlD,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM;IAIhE,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI3C,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,eAAe;IAI/C,MAAM,CAAC,IAAI,IAAI,MAAM;IAIrB,MAAM,CAAC,GAAG,IAAI,MAAM;IAIpB,GAAG,IAAI,eAAe;IAItB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIhC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIlC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIjC,MAAM,CAAC,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC;IAIpC,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;CAGjB"}
|
package/dist/minute.vo.js
CHANGED
|
@@ -6,18 +6,19 @@ export class Minute {
|
|
|
6
6
|
constructor(value) {
|
|
7
7
|
this.value = value;
|
|
8
8
|
}
|
|
9
|
+
static fromTimestamp(timestamp) {
|
|
10
|
+
const { minute } = timestamp.toInstant().toZonedDateTimeISO("UTC");
|
|
11
|
+
return new Minute(v.parse(MinuteValue, minute));
|
|
12
|
+
}
|
|
13
|
+
static fromTimestampValue(timestamp) {
|
|
14
|
+
return Minute.fromTimestamp(Timestamp.fromValue(timestamp));
|
|
15
|
+
}
|
|
9
16
|
static fromValue(candidate) {
|
|
10
17
|
return new Minute(v.parse(MinuteValue, candidate));
|
|
11
18
|
}
|
|
12
19
|
static fromValueSafe(candidate) {
|
|
13
20
|
return new Minute(candidate);
|
|
14
21
|
}
|
|
15
|
-
static fromTimestamp(timestamp) {
|
|
16
|
-
return new Minute(v.parse(MinuteValue, new Date(timestamp.ms).getUTCMinutes()));
|
|
17
|
-
}
|
|
18
|
-
static fromTimestampValue(timestamp) {
|
|
19
|
-
return Minute.fromTimestamp(Timestamp.fromValue(timestamp));
|
|
20
|
-
}
|
|
21
22
|
static zero() {
|
|
22
23
|
return Minute.fromValue(0);
|
|
23
24
|
}
|
package/dist/minute.vo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minute.vo.js","sourceRoot":"","sources":["../src/minute.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAwB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,OAAO,MAAM;IACoB;IAArC,YAAqC,KAAsB;QAAtB,UAAK,GAAL,KAAK,CAAiB;IAAG,CAAC;IAE/D,MAAM,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"minute.vo.js","sourceRoot":"","sources":["../src/minute.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAwB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,OAAO,MAAM;IACoB;IAArC,YAAqC,KAAsB;QAAtB,UAAK,GAAL,KAAK,CAAiB;IAAG,CAAC;IAE/D,MAAM,CAAC,aAAa,CAAC,SAAoB;QACvC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEnE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,SAA6B;QACrD,OAAO,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,SAAiB;QAChC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,SAA0B;QAC7C,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,IAAI;QACT,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,GAAG;QACR,OAAO,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,OAAe;QACpB,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,OAAO,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,IAAI;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
|
package/dist/month.vo.d.ts
CHANGED
|
@@ -5,13 +5,13 @@ import { Timestamp } from "./timestamp.vo";
|
|
|
5
5
|
import type { TimestampValueType } from "./timestamp-value.vo";
|
|
6
6
|
export declare class Month extends DateRange {
|
|
7
7
|
static fromTimestamp(timestamp: Timestamp): Month;
|
|
8
|
-
static fromTimestampValue(
|
|
8
|
+
static fromTimestampValue(value: TimestampValueType): Month;
|
|
9
9
|
static fromNow(now: Timestamp): Month;
|
|
10
10
|
static fromIsoId(iso: MonthIsoIdType): Month;
|
|
11
11
|
toIsoId(): MonthIsoIdType;
|
|
12
12
|
previous(): Month;
|
|
13
13
|
next(): Month;
|
|
14
|
-
shift(
|
|
14
|
+
shift(months: IntegerType): Month;
|
|
15
15
|
toString(): string;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=month.vo.d.ts.map
|
package/dist/month.vo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"month.vo.d.ts","sourceRoot":"","sources":["../src/month.vo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"month.vo.d.ts","sourceRoot":"","sources":["../src/month.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,qBAAa,KAAM,SAAQ,SAAS;IAClC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK;IAYjD,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK;IAI3D,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,KAAK;IAIrC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,KAAK;IAQ5C,OAAO,IAAI,cAAc;IAMzB,QAAQ,IAAI,KAAK;IAIjB,IAAI,IAAI,KAAK;IAIb,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK;IAQjC,QAAQ,IAAI,MAAM;CAGnB"}
|
package/dist/month.vo.js
CHANGED
|
@@ -1,28 +1,30 @@
|
|
|
1
|
-
import { endOfMonth, format, startOfMonth } from "date-fns";
|
|
2
1
|
import * as v from "valibot";
|
|
3
2
|
import { DateRange } from "./date-range.vo";
|
|
4
3
|
import { Int } from "./int.vo";
|
|
5
4
|
import { MonthIsoId } from "./month-iso-id.vo";
|
|
5
|
+
import { Temporal } from "./temporal";
|
|
6
6
|
import { Timestamp } from "./timestamp.vo";
|
|
7
7
|
export class Month extends DateRange {
|
|
8
8
|
static fromTimestamp(timestamp) {
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
9
|
+
const plain = timestamp.toInstant().toZonedDateTimeISO("UTC").toPlainDate();
|
|
10
|
+
const start = plain.with({ day: 1 });
|
|
11
|
+
const end = plain.with({ day: 1 }).add({ months: 1 });
|
|
12
|
+
return new Month(Timestamp.fromInstant(start.toZonedDateTime("UTC").toInstant()), Timestamp.fromInstant(end.toZonedDateTime("UTC").toInstant().subtract({ milliseconds: 1 })));
|
|
12
13
|
}
|
|
13
|
-
static fromTimestampValue(
|
|
14
|
-
return Month.fromTimestamp(Timestamp.fromValue(
|
|
14
|
+
static fromTimestampValue(value) {
|
|
15
|
+
return Month.fromTimestamp(Timestamp.fromValue(value));
|
|
15
16
|
}
|
|
16
17
|
static fromNow(now) {
|
|
17
18
|
return Month.fromTimestamp(now);
|
|
18
19
|
}
|
|
19
20
|
static fromIsoId(iso) {
|
|
20
21
|
const [year, month] = v.parse(MonthIsoId, iso).split("-").map(Number);
|
|
21
|
-
const
|
|
22
|
-
return Month.fromTimestamp(
|
|
22
|
+
const plain = Temporal.PlainDate.from({ year, month, day: 1 });
|
|
23
|
+
return Month.fromTimestamp(Timestamp.fromInstant(plain.toZonedDateTime("UTC").toInstant()));
|
|
23
24
|
}
|
|
24
25
|
toIsoId() {
|
|
25
|
-
|
|
26
|
+
const { year, month } = this.getStart().toInstant().toZonedDateTimeISO("UTC");
|
|
27
|
+
return v.parse(MonthIsoId, `${year}-${String(month).padStart(2, "0")}`);
|
|
26
28
|
}
|
|
27
29
|
previous() {
|
|
28
30
|
return this.shift(Int.of(-1));
|
|
@@ -30,9 +32,9 @@ export class Month extends DateRange {
|
|
|
30
32
|
next() {
|
|
31
33
|
return this.shift(Int.of(1));
|
|
32
34
|
}
|
|
33
|
-
shift(
|
|
34
|
-
const
|
|
35
|
-
return Month.fromTimestamp(Timestamp.
|
|
35
|
+
shift(months) {
|
|
36
|
+
const plain = this.getStart().toInstant().toZonedDateTimeISO("UTC").toPlainDate();
|
|
37
|
+
return Month.fromTimestamp(Timestamp.fromInstant(plain.add({ months }).toZonedDateTime("UTC").toInstant()));
|
|
36
38
|
}
|
|
37
39
|
toString() {
|
|
38
40
|
return this.toIsoId();
|
package/dist/month.vo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"month.vo.js","sourceRoot":"","sources":["../src/month.vo.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"month.vo.js","sourceRoot":"","sources":["../src/month.vo.ts"],"names":[],"mappings":"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"}
|
package/dist/quarter.vo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quarter.vo.d.ts","sourceRoot":"","sources":["../src/quarter.vo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quarter.vo.d.ts","sourceRoot":"","sources":["../src/quarter.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,qBAAa,OAAQ,SAAQ,SAAS;IACpC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;IAenD,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO;IAIjE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO;IAIvC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAQlD,OAAO,IAAI,gBAAgB;IAO3B,QAAQ,IAAI,MAAM;CAGnB"}
|
package/dist/quarter.vo.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
import { endOfQuarter, getQuarter, getYear, startOfQuarter } from "date-fns";
|
|
2
1
|
import * as v from "valibot";
|
|
3
2
|
import { DateRange } from "./date-range.vo";
|
|
4
3
|
import { QuarterIsoId } from "./quarter-iso-id.vo";
|
|
4
|
+
import { Temporal } from "./temporal";
|
|
5
5
|
import { Timestamp } from "./timestamp.vo";
|
|
6
6
|
export class Quarter extends DateRange {
|
|
7
7
|
static fromTimestamp(timestamp) {
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
|
|
8
|
+
const plain = timestamp.toInstant().toZonedDateTimeISO("UTC").toPlainDate();
|
|
9
|
+
const start = Temporal.PlainDate.from({
|
|
10
|
+
year: plain.year,
|
|
11
|
+
month: Math.ceil(plain.month / 3) * 3 - 2,
|
|
12
|
+
day: 1,
|
|
13
|
+
})
|
|
14
|
+
.toZonedDateTime("UTC")
|
|
15
|
+
.startOfDay();
|
|
16
|
+
const end = start.add({ months: 3 }).subtract({ milliseconds: 1 });
|
|
17
|
+
return new Quarter(Timestamp.fromInstant(start.toInstant()), Timestamp.fromInstant(end.toInstant()));
|
|
11
18
|
}
|
|
12
19
|
static fromTimestampValue(timestamp) {
|
|
13
20
|
return Quarter.fromTimestamp(Timestamp.fromValue(timestamp));
|
|
@@ -17,12 +24,13 @@ export class Quarter extends DateRange {
|
|
|
17
24
|
}
|
|
18
25
|
static fromIsoId(isoId) {
|
|
19
26
|
const [year, quarter] = v.parse(QuarterIsoId, isoId).split("-Q").map(Number);
|
|
20
|
-
|
|
27
|
+
const plain = Temporal.PlainDate.from({ year, month: (quarter - 1) * 3 + 1, day: 1 });
|
|
28
|
+
return Quarter.fromTimestamp(Timestamp.fromInstant(plain.toZonedDateTime("UTC").toInstant()));
|
|
21
29
|
}
|
|
22
30
|
toIsoId() {
|
|
23
|
-
const
|
|
24
|
-
const quarter =
|
|
25
|
-
return v.parse(QuarterIsoId, `${year}-Q${quarter}`);
|
|
31
|
+
const plain = this.getStart().toInstant().toZonedDateTimeISO("UTC").toPlainDate();
|
|
32
|
+
const quarter = Math.ceil(plain.month / 3);
|
|
33
|
+
return v.parse(QuarterIsoId, `${plain.year}-Q${quarter}`);
|
|
26
34
|
}
|
|
27
35
|
toString() {
|
|
28
36
|
return this.toIsoId();
|
package/dist/quarter.vo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quarter.vo.js","sourceRoot":"","sources":["../src/quarter.vo.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"quarter.vo.js","sourceRoot":"","sources":["../src/quarter.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAyB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,OAAO,OAAQ,SAAQ,SAAS;IACpC,MAAM,CAAC,aAAa,CAAC,SAAoB;QACvC,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAE5E,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;YACpC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YACzC,GAAG,EAAE,CAAC;SACP,CAAC;aACC,eAAe,CAAC,KAAK,CAAC;aACtB,UAAU,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QAEnE,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,SAA6B;QACrD,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAc;QAC3B,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAuB;QACtC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAqB,CAAC;QAEjG,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAEtF,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,OAAO;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAClF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE3C,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temporal.d.ts","sourceRoot":"","sources":["../src/temporal.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
package/dist/temporal.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temporal.js","sourceRoot":"","sources":["../src/temporal.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
package/dist/timestamp.vo.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Duration } from "./duration.service";
|
|
2
|
+
import { Temporal } from "./temporal";
|
|
2
3
|
import { type TimestampValueType } from "./timestamp-value.vo";
|
|
3
4
|
export declare class Timestamp {
|
|
4
5
|
private readonly value;
|
|
5
6
|
constructor(value: TimestampValueType);
|
|
7
|
+
static fromInstant(instant: Temporal.Instant): Timestamp;
|
|
8
|
+
static fromString(value: string): Timestamp;
|
|
6
9
|
static fromValue(value: TimestampValueType): Timestamp;
|
|
7
10
|
static fromNumber(value: number): Timestamp;
|
|
8
|
-
static fromDate(value: Date): Timestamp;
|
|
9
|
-
static fromDateLike(value: string): Timestamp;
|
|
10
11
|
add(duration: Duration): Timestamp;
|
|
11
12
|
subtract(duration: Duration): Timestamp;
|
|
12
13
|
difference(another: Timestamp): Duration;
|
|
@@ -16,6 +17,7 @@ export declare class Timestamp {
|
|
|
16
17
|
isAfterOrEqual(another: Timestamp): boolean;
|
|
17
18
|
equals(another: Timestamp): boolean;
|
|
18
19
|
get ms(): TimestampValueType;
|
|
20
|
+
toInstant(): Temporal.Instant;
|
|
19
21
|
toJSON(): TimestampValueType;
|
|
20
22
|
toString(): string;
|
|
21
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timestamp.vo.d.ts","sourceRoot":"","sources":["../src/timestamp.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,kBAAkB;IAEtD,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"timestamp.vo.d.ts","sourceRoot":"","sources":["../src/timestamp.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,kBAAkB;IAEtD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,GAAG,SAAS;IAIxD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAI3C,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS;IAItD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAI3C,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS;IAIlC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS;IAIvC,UAAU,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ;IAIxC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO;IAIrC,eAAe,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO;IAI5C,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO;IAIpC,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO;IAI3C,MAAM,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO;IAInC,IAAI,EAAE,IAAI,kBAAkB,CAE3B;IAED,SAAS,IAAI,QAAQ,CAAC,OAAO;IAI7B,MAAM,IAAI,kBAAkB;IAI5B,QAAQ,IAAI,MAAM;CAGnB"}
|
package/dist/timestamp.vo.js
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
2
|
import { Duration } from "./duration.service";
|
|
3
|
+
import { Temporal } from "./temporal";
|
|
3
4
|
import { TimestampValue } from "./timestamp-value.vo";
|
|
4
5
|
export class Timestamp {
|
|
5
6
|
value;
|
|
6
7
|
constructor(value) {
|
|
7
8
|
this.value = value;
|
|
8
9
|
}
|
|
10
|
+
static fromInstant(instant) {
|
|
11
|
+
return Timestamp.fromNumber(instant.epochMilliseconds);
|
|
12
|
+
}
|
|
13
|
+
static fromString(value) {
|
|
14
|
+
return Timestamp.fromInstant(Temporal.Instant.from(value));
|
|
15
|
+
}
|
|
9
16
|
static fromValue(value) {
|
|
10
17
|
return new Timestamp(value);
|
|
11
18
|
}
|
|
12
19
|
static fromNumber(value) {
|
|
13
20
|
return new Timestamp(v.parse(TimestampValue, value));
|
|
14
21
|
}
|
|
15
|
-
static fromDate(value) {
|
|
16
|
-
return Timestamp.fromNumber(value.getTime());
|
|
17
|
-
}
|
|
18
|
-
static fromDateLike(value) {
|
|
19
|
-
return Timestamp.fromNumber(new Date(value).getTime());
|
|
20
|
-
}
|
|
21
22
|
add(duration) {
|
|
22
23
|
return Timestamp.fromNumber(this.value + duration.ms);
|
|
23
24
|
}
|
|
@@ -45,6 +46,9 @@ export class Timestamp {
|
|
|
45
46
|
get ms() {
|
|
46
47
|
return this.value;
|
|
47
48
|
}
|
|
49
|
+
toInstant() {
|
|
50
|
+
return Temporal.Instant.fromEpochMilliseconds(this.value);
|
|
51
|
+
}
|
|
48
52
|
toJSON() {
|
|
49
53
|
return this.value;
|
|
50
54
|
}
|
package/dist/timestamp.vo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timestamp.vo.js","sourceRoot":"","sources":["../src/timestamp.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAA2B,MAAM,sBAAsB,CAAC;AAE/E,MAAM,OAAO,SAAS;IACS;IAA7B,YAA6B,KAAyB;QAAzB,UAAK,GAAL,KAAK,CAAoB;IAAG,CAAC;IAE1D,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"timestamp.vo.js","sourceRoot":"","sources":["../src/timestamp.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAA2B,MAAM,sBAAsB,CAAC;AAE/E,MAAM,OAAO,SAAS;IACS;IAA7B,YAA6B,KAAyB;QAAzB,UAAK,GAAL,KAAK,CAAoB;IAAG,CAAC;IAE1D,MAAM,CAAC,WAAW,CAAC,OAAyB;QAC1C,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,KAAa;QAC7B,OAAO,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAyB;QACxC,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,KAAa;QAC7B,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,GAAG,CAAC,QAAkB;QACpB,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ,CAAC,QAAkB;QACzB,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,UAAU,CAAC,OAAkB;QAC3B,OAAO,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ,CAAC,OAAkB;QACzB,OAAO,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,eAAe,CAAC,OAAkB;QAChC,OAAO,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,OAAkB;QACxB,OAAO,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,OAAkB;QAC/B,OAAO,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,OAAkB;QACvB,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC;IACtC,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,SAAS;QACP,OAAO,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timezone.vo.d.ts","sourceRoot":"","sources":["../src/timezone.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"timezone.vo.d.ts","sourceRoot":"","sources":["../src/timezone.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAG7B,eAAO,MAAM,aAAa;;;;;CAKzB,CAAC;AAEF,eAAO,MAAM,QAAQ,qMAcpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,QAAQ,CAAC,CAAC"}
|
package/dist/timezone.vo.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
|
+
import { Temporal } from "../src/temporal";
|
|
2
3
|
export const TimezoneError = {
|
|
3
4
|
Type: "timezone.type",
|
|
4
5
|
Empty: "timezone.empty",
|
|
@@ -7,7 +8,7 @@ export const TimezoneError = {
|
|
|
7
8
|
};
|
|
8
9
|
export const Timezone = v.pipe(v.string(TimezoneError.Type), v.minLength(1, TimezoneError.Empty), v.maxLength(128, TimezoneError.TooLong), v.check((value) => {
|
|
9
10
|
try {
|
|
10
|
-
|
|
11
|
+
Temporal.ZonedDateTime.from(`1970-01-01T00:00:00[${value}]`);
|
|
11
12
|
return true;
|
|
12
13
|
}
|
|
13
14
|
catch {
|
package/dist/timezone.vo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timezone.vo.js","sourceRoot":"","sources":["../src/timezone.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"timezone.vo.js","sourceRoot":"","sources":["../src/timezone.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,gBAAgB;IACvB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,kBAAkB;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAC5B,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAC5B,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,EACvC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAChB,IAAI,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,KAAK,GAAG,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;AACzB,0CAA0C;AAC1C,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"week-iso-id.vo.d.ts","sourceRoot":"","sources":["../src/week-iso-id.vo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"week-iso-id.vo.d.ts","sourceRoot":"","sources":["../src/week-iso-id.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAG7B,eAAO,MAAM,cAAc;;;;CAI1B,CAAC;AAKF,eAAO,MAAM,SAAS,uJAerB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,SAAS,CAAC,CAAC"}
|
package/dist/week-iso-id.vo.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getISOWeeksInYear } from "date-fns";
|
|
2
1
|
import * as v from "valibot";
|
|
2
|
+
import { Temporal } from "./temporal";
|
|
3
3
|
export const WeekIsoIdError = {
|
|
4
4
|
Type: "week.iso.id.type",
|
|
5
5
|
BadChars: "week.iso.id.bad.chars",
|
|
@@ -9,9 +9,10 @@ export const WeekIsoIdError = {
|
|
|
9
9
|
const WEEK_ISO_ID_CHARS_WHITELIST = /^[0-9]{4}-W[0-9]{2}$/;
|
|
10
10
|
export const WeekIsoId = v.pipe(v.string(WeekIsoIdError.Type), v.regex(WEEK_ISO_ID_CHARS_WHITELIST, WeekIsoIdError.BadChars), v.check((value) => {
|
|
11
11
|
const [year, week] = value.split("-W").map(Number);
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
if (isNaN(year) || isNaN(week) || week < 1)
|
|
13
|
+
return false;
|
|
14
|
+
const weeksInYear = Temporal.PlainDate.from({ year, month: 12, day: 28 }).weekOfYear;
|
|
15
|
+
if (!weeksInYear)
|
|
15
16
|
return false;
|
|
16
17
|
return week <= weeksInYear;
|
|
17
18
|
}, WeekIsoIdError.Invalid),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"week-iso-id.vo.js","sourceRoot":"","sources":["../src/week-iso-id.vo.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"week-iso-id.vo.js","sourceRoot":"","sources":["../src/week-iso-id.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,uBAAuB;IACjC,OAAO,EAAE,qBAAqB;CAC/B,CAAC;AAEF,gDAAgD;AAChD,MAAM,2BAA2B,GAAG,sBAAsB,CAAC;AAE3D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAC7B,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAC7B,CAAC,CAAC,KAAK,CAAC,2BAA2B,EAAE,cAAc,CAAC,QAAQ,CAAC,EAC7D,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAChB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAqB,CAAC;IAEvE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzD,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC;IAErF,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,OAAO,IAAI,IAAI,WAAW,CAAC;AAC7B,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC;AAC1B,0CAA0C;AAC1C,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CACrB,CAAC"}
|
package/dist/week.vo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"week.vo.d.ts","sourceRoot":"","sources":["../src/week.vo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"week.vo.d.ts","sourceRoot":"","sources":["../src/week.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjE,qBAAa,IAAK,SAAQ,SAAS;IACjC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAYhD,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAI9D,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IAIpC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAiB5C,OAAO,IAAI,aAAa;IAMxB,QAAQ,IAAI,IAAI;IAIhB,IAAI,IAAI,IAAI;IAIZ,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAY/B,QAAQ,IAAI,MAAM;CAGnB"}
|
package/dist/week.vo.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import { addWeeks, endOfISOWeek, getISOWeek, getISOWeekYear, startOfISOWeek } from "date-fns";
|
|
2
1
|
import * as v from "valibot";
|
|
3
2
|
import { DateRange } from "./date-range.vo";
|
|
4
|
-
import { Duration } from "./duration.service";
|
|
5
3
|
import { Int } from "./int.vo";
|
|
4
|
+
import { Temporal } from "./temporal";
|
|
6
5
|
import { Timestamp } from "./timestamp.vo";
|
|
7
6
|
import { WeekIsoId } from "./week-iso-id.vo";
|
|
8
7
|
export class Week extends DateRange {
|
|
9
8
|
static fromTimestamp(timestamp) {
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
9
|
+
const plain = timestamp.toInstant().toZonedDateTimeISO("UTC").toPlainDate();
|
|
10
|
+
const start = plain
|
|
11
|
+
.subtract({ days: plain.dayOfWeek - 1 })
|
|
12
|
+
.toZonedDateTime("UTC")
|
|
13
|
+
.startOfDay();
|
|
14
|
+
const end = start.add({ days: 7 }).subtract({ milliseconds: 1 });
|
|
15
|
+
return new Week(Timestamp.fromInstant(start.toInstant()), Timestamp.fromInstant(end.toInstant()));
|
|
13
16
|
}
|
|
14
17
|
static fromTimestampValue(timestamp) {
|
|
15
18
|
return Week.fromTimestamp(Timestamp.fromValue(timestamp));
|
|
@@ -19,15 +22,16 @@ export class Week extends DateRange {
|
|
|
19
22
|
}
|
|
20
23
|
static fromIsoId(isoId) {
|
|
21
24
|
const [year, week] = v.parse(WeekIsoId, isoId).split("-W").map(Number);
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
const januaryFourth = Temporal.PlainDate.from({ year, month: 1, day: 4 });
|
|
26
|
+
const start = januaryFourth.subtract({ days: januaryFourth.dayOfWeek - 1 });
|
|
27
|
+
return Week.fromTimestamp(Timestamp.fromInstant(start
|
|
28
|
+
.add({ weeks: week - 1 })
|
|
29
|
+
.toZonedDateTime("UTC")
|
|
30
|
+
.toInstant()));
|
|
26
31
|
}
|
|
27
32
|
toIsoId() {
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
return v.parse(WeekIsoId, `${year}-W${String(week).padStart(2, "0")}`);
|
|
33
|
+
const plain = this.getStart().toInstant().toZonedDateTimeISO("UTC").toPlainDate();
|
|
34
|
+
return v.parse(WeekIsoId, `${plain.yearOfWeek}-W${String(plain.weekOfYear).padStart(2, "0")}`);
|
|
31
35
|
}
|
|
32
36
|
previous() {
|
|
33
37
|
return this.shift(Int.of(-1));
|
|
@@ -36,8 +40,14 @@ export class Week extends DateRange {
|
|
|
36
40
|
return this.shift(Int.of(1));
|
|
37
41
|
}
|
|
38
42
|
shift(count) {
|
|
39
|
-
const
|
|
40
|
-
|
|
43
|
+
const instant = this.getStart()
|
|
44
|
+
.toInstant()
|
|
45
|
+
.toZonedDateTimeISO("UTC")
|
|
46
|
+
.toPlainDate()
|
|
47
|
+
.add({ weeks: count })
|
|
48
|
+
.toZonedDateTime("UTC")
|
|
49
|
+
.toInstant();
|
|
50
|
+
return Week.fromTimestamp(Timestamp.fromInstant(instant));
|
|
41
51
|
}
|
|
42
52
|
toString() {
|
|
43
53
|
return this.toIsoId();
|
package/dist/week.vo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"week.vo.js","sourceRoot":"","sources":["../src/week.vo.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"week.vo.js","sourceRoot":"","sources":["../src/week.vo.ts"],"names":[],"mappings":"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"}
|
package/dist/weekday.vo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weekday.vo.d.ts","sourceRoot":"","sources":["../src/weekday.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,qBAAa,OAAO;IASE,OAAO,CAAC,QAAQ,CAAC,KAAK;IAR1C,MAAM,CAAC,QAAQ,CAAC,MAAM,UAA+C;IACrE,MAAM,CAAC,QAAQ,CAAC,OAAO,UAA+C;IACtE,MAAM,CAAC,QAAQ,CAAC,SAAS,UAA+C;IACxE,MAAM,CAAC,QAAQ,CAAC,QAAQ,UAA+C;IACvE,MAAM,CAAC,QAAQ,CAAC,MAAM,UAA+C;IACrE,MAAM,CAAC,QAAQ,CAAC,QAAQ,UAA+C;IACvE,MAAM,CAAC,QAAQ,CAAC,MAAM,UAA+C;IAErE,OAAO;IAEP,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"weekday.vo.d.ts","sourceRoot":"","sources":["../src/weekday.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,qBAAa,OAAO;IASE,OAAO,CAAC,QAAQ,CAAC,KAAK;IAR1C,MAAM,CAAC,QAAQ,CAAC,MAAM,UAA+C;IACrE,MAAM,CAAC,QAAQ,CAAC,OAAO,UAA+C;IACtE,MAAM,CAAC,QAAQ,CAAC,SAAS,UAA+C;IACxE,MAAM,CAAC,QAAQ,CAAC,QAAQ,UAA+C;IACvE,MAAM,CAAC,QAAQ,CAAC,MAAM,UAA+C;IACrE,MAAM,CAAC,QAAQ,CAAC,QAAQ,UAA+C;IACvE,MAAM,CAAC,QAAQ,CAAC,MAAM,UAA+C;IAErE,OAAO;IAEP,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;IAMnD,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO;IAIjE,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO;IAIhD,GAAG,IAAI,gBAAgB;IAIvB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIjC,QAAQ,IAAI,OAAO;IAInB,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,OAAO;IAInB,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,OAAO;IAInB,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM;CAGnB"}
|
package/dist/weekday.vo.js
CHANGED
|
@@ -14,9 +14,8 @@ export class Weekday {
|
|
|
14
14
|
this.value = value;
|
|
15
15
|
}
|
|
16
16
|
static fromTimestamp(timestamp) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return new Weekday(v.parse(WeekdayIsoId, utc === 0 ? 7 : utc));
|
|
17
|
+
const { dayOfWeek } = timestamp.toInstant().toZonedDateTimeISO("UTC").toPlainDate();
|
|
18
|
+
return new Weekday(v.parse(WeekdayIsoId, dayOfWeek));
|
|
20
19
|
}
|
|
21
20
|
static fromTimestampValue(timestamp) {
|
|
22
21
|
return Weekday.fromTimestamp(Timestamp.fromValue(timestamp));
|
package/dist/weekday.vo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weekday.vo.js","sourceRoot":"","sources":["../src/weekday.vo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAyB,MAAM,qBAAqB,CAAC;AAE1E,MAAM,OAAO,OAAO;IASmB;IARrC,MAAM,CAAU,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,CAAU,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,CAAU,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,CAAU,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,CAAU,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,CAAU,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,CAAU,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IAErE,YAAqC,KAAuB;QAAvB,UAAK,GAAL,KAAK,CAAkB;IAAG,CAAC;IAEhE,MAAM,CAAC,aAAa,CAAC,SAAoB;QACvC,
|
|
1
|
+
{"version":3,"file":"weekday.vo.js","sourceRoot":"","sources":["../src/weekday.vo.ts"],"names":[],"mappings":"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"}
|
package/dist/year.vo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"year.vo.d.ts","sourceRoot":"","sources":["../src/year.vo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"year.vo.d.ts","sourceRoot":"","sources":["../src/year.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjE,qBAAa,IAAK,SAAQ,SAAS;IACjC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAYhD,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAI9D,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IAIpC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI1C,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAU5C,OAAO,IAAI,aAAa;IAIxB,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,IAAI;IAIhB,IAAI,IAAI,IAAI;IAIZ,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAM/B,QAAQ,IAAI,MAAM;CAGnB"}
|
package/dist/year.vo.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { endOfYear, getYear, startOfYear } from "date-fns";
|
|
2
1
|
import * as v from "valibot";
|
|
3
2
|
import { DateRange } from "./date-range.vo";
|
|
4
3
|
import { Int } from "./int.vo";
|
|
4
|
+
import { Temporal } from "./temporal";
|
|
5
5
|
import { Timestamp } from "./timestamp.vo";
|
|
6
6
|
import { YearIsoId } from "./year-iso-id.vo";
|
|
7
7
|
export class Year extends DateRange {
|
|
8
8
|
static fromTimestamp(timestamp) {
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
9
|
+
const year = timestamp.toInstant().toZonedDateTimeISO("UTC").toPlainDate().year;
|
|
10
|
+
const start = Temporal.PlainDate.from({ year, month: 1, day: 1 });
|
|
11
|
+
const end = Temporal.PlainDate.from({ year: year + 1, month: 1, day: 1 });
|
|
12
|
+
return new Year(Timestamp.fromInstant(start.toZonedDateTime("UTC").toInstant()), Timestamp.fromInstant(end.toZonedDateTime("UTC").toInstant().subtract({ milliseconds: 1 })));
|
|
12
13
|
}
|
|
13
14
|
static fromTimestampValue(timestamp) {
|
|
14
15
|
return Year.fromTimestamp(Timestamp.fromValue(timestamp));
|
|
@@ -20,19 +21,15 @@ export class Year extends DateRange {
|
|
|
20
21
|
return Year.fromIsoId(v.parse(YearIsoId, String(candidate)));
|
|
21
22
|
}
|
|
22
23
|
static fromIsoId(isoId) {
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
return Year.fromTimestamp(Timestamp.fromInstant(Temporal.PlainDate.from({ year: Number(isoId), month: 1, day: 1 })
|
|
25
|
+
.toZonedDateTime("UTC")
|
|
26
|
+
.toInstant()));
|
|
25
27
|
}
|
|
26
28
|
toIsoId() {
|
|
27
|
-
return v.parse(YearIsoId,
|
|
29
|
+
return v.parse(YearIsoId, this.getStart().toInstant().toZonedDateTimeISO("UTC").year.toString());
|
|
28
30
|
}
|
|
29
31
|
isLeapYear() {
|
|
30
|
-
|
|
31
|
-
if (year % 400 === 0)
|
|
32
|
-
return true;
|
|
33
|
-
if (year % 100 === 0)
|
|
34
|
-
return false;
|
|
35
|
-
return year % 4 === 0;
|
|
32
|
+
return this.getStart().toInstant().toZonedDateTimeISO("UTC").toPlainDate().inLeapYear;
|
|
36
33
|
}
|
|
37
34
|
previous() {
|
|
38
35
|
return this.shift(Int.of(-1));
|
|
@@ -41,7 +38,7 @@ export class Year extends DateRange {
|
|
|
41
38
|
return this.shift(Int.of(1));
|
|
42
39
|
}
|
|
43
40
|
shift(count) {
|
|
44
|
-
const year =
|
|
41
|
+
const year = this.getStart().toInstant().toZonedDateTimeISO("UTC").year + count;
|
|
45
42
|
return Year.fromNumber(year);
|
|
46
43
|
}
|
|
47
44
|
toString() {
|
package/dist/year.vo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"year.vo.js","sourceRoot":"","sources":["../src/year.vo.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"year.vo.js","sourceRoot":"","sources":["../src/year.vo.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bgord/tools",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.15",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Bartosz Gordon",
|
|
@@ -26,16 +26,16 @@
|
|
|
26
26
|
"@stryker-mutator/core": "9.6.0",
|
|
27
27
|
"@stryker-mutator/typescript-checker": "9.6.0",
|
|
28
28
|
"@types/bun": "1.3.11",
|
|
29
|
-
"cspell": "
|
|
30
|
-
"knip": "6.
|
|
31
|
-
"lefthook": "2.1.
|
|
29
|
+
"cspell": "10.0.0",
|
|
30
|
+
"knip": "6.3.0",
|
|
31
|
+
"lefthook": "2.1.5",
|
|
32
32
|
"lockfile-lint": "5.0.0",
|
|
33
33
|
"only-allow": "1.2.2",
|
|
34
34
|
"shellcheck": "4.1.0",
|
|
35
35
|
"typescript": "6.0.2"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"
|
|
38
|
+
"temporal-polyfill": "0.3.2",
|
|
39
39
|
"valibot": "1.3.1"
|
|
40
40
|
},
|
|
41
41
|
"sideEffects": false
|
package/readme.md
CHANGED
|
@@ -29,8 +29,6 @@ src/
|
|
|
29
29
|
├── api-key.vo.ts
|
|
30
30
|
├── basename.vo.ts
|
|
31
31
|
├── batch.ts
|
|
32
|
-
├── date-calculator.service.ts
|
|
33
|
-
├── date-formatter.service.ts
|
|
34
32
|
├── date-range.vo.ts
|
|
35
33
|
├── day-iso-id.vo.ts
|
|
36
34
|
├── day.vo.ts
|
|
@@ -100,7 +98,6 @@ src/
|
|
|
100
98
|
├── quarter.vo.ts
|
|
101
99
|
├── random.service.ts
|
|
102
100
|
├── rate-limiter.service.ts
|
|
103
|
-
├── relative-date.vo.ts
|
|
104
101
|
├── reordering-item-position-value.vo.ts
|
|
105
102
|
├── reordering.service.ts
|
|
106
103
|
├── repeat.ts
|
|
@@ -118,6 +115,7 @@ src/
|
|
|
118
115
|
├── sms-message.vo.ts
|
|
119
116
|
├── sum.service.ts
|
|
120
117
|
├── telephone-number.vo.ts
|
|
118
|
+
├── temporal.ts
|
|
121
119
|
├── thousands-separator.service.ts
|
|
122
120
|
├── time-zone-offset-value.vo.ts
|
|
123
121
|
├── timestamp-value.vo.ts
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Duration } from "./duration.service";
|
|
2
|
-
import { Timestamp } from "./timestamp.vo";
|
|
3
|
-
type GetStartOfDayTsInTzConfigType = {
|
|
4
|
-
now: Timestamp;
|
|
5
|
-
timeZoneOffset: Duration;
|
|
6
|
-
};
|
|
7
|
-
export declare class DateCalculator {
|
|
8
|
-
static getStartOfDayTsInTz(config: GetStartOfDayTsInTzConfigType): Timestamp;
|
|
9
|
-
}
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=date-calculator.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-calculator.service.d.ts","sourceRoot":"","sources":["../src/date-calculator.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,KAAK,6BAA6B,GAAG;IAAE,GAAG,EAAE,SAAS,CAAC;IAAC,cAAc,EAAE,QAAQ,CAAA;CAAE,CAAC;AAElF,qBAAa,cAAc;IACzB,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,6BAA6B,GAAG,SAAS;CAW7E"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Duration } from "./duration.service";
|
|
2
|
-
import { Timestamp } from "./timestamp.vo";
|
|
3
|
-
export class DateCalculator {
|
|
4
|
-
static getStartOfDayTsInTz(config) {
|
|
5
|
-
const dayMs = Duration.Days(1).ms;
|
|
6
|
-
const utcMidnightOfNow = Timestamp.fromNumber(Math.floor(config.now.ms / dayMs) * dayMs);
|
|
7
|
-
let startOfDayInTz = utcMidnightOfNow.add(config.timeZoneOffset);
|
|
8
|
-
if (startOfDayInTz.isAfter(config.now))
|
|
9
|
-
startOfDayInTz = startOfDayInTz.subtract(Duration.Days(1));
|
|
10
|
-
return startOfDayInTz;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=date-calculator.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-calculator.service.js","sourceRoot":"","sources":["../src/date-calculator.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,MAAM,OAAO,cAAc;IACzB,MAAM,CAAC,mBAAmB,CAAC,MAAqC;QAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAElC,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;QAEzF,IAAI,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAEjE,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnG,OAAO,cAAc,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { format } from "date-fns";
|
|
2
|
-
type DateFormattersInputType = Parameters<typeof format>[0];
|
|
3
|
-
export declare class DateFormatters {
|
|
4
|
-
static datetime(date: DateFormattersInputType): string;
|
|
5
|
-
static date(date: DateFormattersInputType): string;
|
|
6
|
-
static monthDay(date: DateFormattersInputType): string;
|
|
7
|
-
static relative(date: DateFormattersInputType): string;
|
|
8
|
-
}
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=date-formatter.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-formatter.service.d.ts","sourceRoot":"","sources":["../src/date-formatter.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuB,MAAM,UAAU,CAAC;AAEvD,KAAK,uBAAuB,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM;IAItD,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM;IAIlD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM;IAItD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM;CAGvD"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { format, formatDistanceToNow } from "date-fns";
|
|
2
|
-
export class DateFormatters {
|
|
3
|
-
static datetime(date) {
|
|
4
|
-
return format(date, "yyyy/MM/dd HH:mm");
|
|
5
|
-
}
|
|
6
|
-
static date(date) {
|
|
7
|
-
return format(date, "yyyy/MM/dd");
|
|
8
|
-
}
|
|
9
|
-
static monthDay(date) {
|
|
10
|
-
return format(date, "MM/dd");
|
|
11
|
-
}
|
|
12
|
-
static relative(date) {
|
|
13
|
-
return formatDistanceToNow(date, { addSuffix: true });
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=date-formatter.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-formatter.service.js","sourceRoot":"","sources":["../src/date-formatter.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAIvD,MAAM,OAAO,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,IAA6B;QAC3C,OAAO,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAA6B;QACvC,OAAO,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAA6B;QAC3C,OAAO,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAA6B;QAC3C,OAAO,mBAAmB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;CACF"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { Timestamp } from "./timestamp.vo";
|
|
2
|
-
import type { TimestampValueType } from "./timestamp-value.vo";
|
|
3
|
-
import type { Falsy } from "./ts-utils";
|
|
4
|
-
type RelativeDateType = {
|
|
5
|
-
raw: TimestampValueType;
|
|
6
|
-
relative: string;
|
|
7
|
-
};
|
|
8
|
-
export declare class RelativeDate {
|
|
9
|
-
static truthy(timestamp: Timestamp): RelativeDateType;
|
|
10
|
-
static falsy(timestamp: Falsy<Timestamp>): RelativeDateType | null;
|
|
11
|
-
private static _format;
|
|
12
|
-
}
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=relative-date.vo.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relative-date.vo.d.ts","sourceRoot":"","sources":["../src/relative-date.vo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,KAAK,gBAAgB,GAAG;IAAE,GAAG,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,qBAAa,YAAY;IACvB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,gBAAgB;IAIrD,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,gBAAgB,GAAG,IAAI;IAKlE,OAAO,CAAC,MAAM,CAAC,OAAO;CAGvB"}
|
package/dist/relative-date.vo.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { DateFormatters } from "./date-formatter.service";
|
|
2
|
-
export class RelativeDate {
|
|
3
|
-
static truthy(timestamp) {
|
|
4
|
-
return RelativeDate._format(timestamp);
|
|
5
|
-
}
|
|
6
|
-
static falsy(timestamp) {
|
|
7
|
-
if (!timestamp)
|
|
8
|
-
return null;
|
|
9
|
-
return RelativeDate._format(timestamp);
|
|
10
|
-
}
|
|
11
|
-
static _format(timestamp) {
|
|
12
|
-
return { raw: timestamp.ms, relative: DateFormatters.relative(timestamp.ms) };
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=relative-date.vo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relative-date.vo.js","sourceRoot":"","sources":["../src/relative-date.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAO1D,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,MAAM,CAAC,SAAoB;QAChC,OAAO,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAA2B;QACtC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAEO,MAAM,CAAC,OAAO,CAAC,SAAoB;QACzC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC;CACF"}
|