@wisemen/wise-date 0.0.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/README.md +302 -0
- package/dist/future-infinity-date.d.ts +31 -0
- package/dist/future-infinity-date.js +87 -0
- package/dist/future-infinity-date.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/init-dayjs.d.ts +1 -0
- package/dist/init-dayjs.js +24 -0
- package/dist/init-dayjs.js.map +1 -0
- package/dist/invalid-date.d.ts +5 -0
- package/dist/invalid-date.js +8 -0
- package/dist/invalid-date.js.map +1 -0
- package/dist/month.d.ts +15 -0
- package/dist/month.js +21 -0
- package/dist/month.js.map +1 -0
- package/dist/past-infinity-date.d.ts +31 -0
- package/dist/past-infinity-date.js +87 -0
- package/dist/past-infinity-date.js.map +1 -0
- package/dist/plain-date-object.d.ts +6 -0
- package/dist/plain-date-object.js +2 -0
- package/dist/plain-date-object.js.map +1 -0
- package/dist/tests/wise-date.constructor.unit.test.d.ts +1 -0
- package/dist/tests/wise-date.constructor.unit.test.js +31 -0
- package/dist/tests/wise-date.constructor.unit.test.js.map +1 -0
- package/dist/tests/wise-date.manipulation.unit.test.d.ts +1 -0
- package/dist/tests/wise-date.manipulation.unit.test.js +92 -0
- package/dist/tests/wise-date.manipulation.unit.test.js.map +1 -0
- package/dist/tests/wise-date.ordering.unit.test.d.ts +1 -0
- package/dist/tests/wise-date.ordering.unit.test.js +174 -0
- package/dist/tests/wise-date.ordering.unit.test.js.map +1 -0
- package/dist/units.d.ts +4 -0
- package/dist/units.js +2 -0
- package/dist/units.js.map +1 -0
- package/dist/wise-date.column.d.ts +3 -0
- package/dist/wise-date.column.js +31 -0
- package/dist/wise-date.column.js.map +1 -0
- package/dist/wise-date.d.ts +52 -0
- package/dist/wise-date.factory.d.ts +4 -0
- package/dist/wise-date.factory.js +14 -0
- package/dist/wise-date.factory.js.map +1 -0
- package/dist/wise-date.js +156 -0
- package/dist/wise-date.js.map +1 -0
- package/package.json +40 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { before, describe, it } from 'node:test';
|
|
2
|
+
import { expect } from 'expect';
|
|
3
|
+
import dayjs from 'dayjs';
|
|
4
|
+
import { WiseDate } from '../wise-date.js';
|
|
5
|
+
import { initDayjs } from '../init-dayjs.js';
|
|
6
|
+
describe('WiseDate', () => {
|
|
7
|
+
before(() => initDayjs());
|
|
8
|
+
describe('constructor', () => {
|
|
9
|
+
it('defaults to today', () => {
|
|
10
|
+
expect(new WiseDate().isSame(WiseDate.today())).toBe(true);
|
|
11
|
+
});
|
|
12
|
+
it('constructs a date from dayjs', () => {
|
|
13
|
+
expect(() => new WiseDate(dayjs())).not.toThrow();
|
|
14
|
+
});
|
|
15
|
+
it('constructs a date from Date', () => {
|
|
16
|
+
expect(() => new WiseDate(new Date())).not.toThrow();
|
|
17
|
+
});
|
|
18
|
+
it('constructs a date from a string', () => {
|
|
19
|
+
expect(() => new WiseDate('2022-01-01', 'YYYY-MM-DD')).not.toThrow();
|
|
20
|
+
expect(() => new WiseDate('2022-01-01')).not.toThrow();
|
|
21
|
+
expect(() => new WiseDate('not a date string', 'YYYY-MM-DD')).toThrow();
|
|
22
|
+
expect(() => new WiseDate('not a date string')).toThrow();
|
|
23
|
+
});
|
|
24
|
+
it('constructs a date from a plain time object', () => {
|
|
25
|
+
expect(dayjs('2022-02-31', 'YYYY-MM-DD', true).isValid()).toBe(false);
|
|
26
|
+
expect(() => new WiseDate({ year: 2022, month: 1, day: 1 })).not.toThrow();
|
|
27
|
+
expect(() => new WiseDate({ year: 2022, month: 2, day: 30 })).toThrow();
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=wise-date.constructor.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wise-date.constructor.unit.test.js","sourceRoot":"","sources":["../../lib/tests/wise-date.constructor.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAA;IAEzB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAC3B,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QACnD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QACtD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;YACpE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;YAEtD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;YACvE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;QAC3D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACrE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;YAC1E,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;QACzE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { before, describe, it } from 'node:test';
|
|
2
|
+
import { expect } from 'expect';
|
|
3
|
+
import dayjs from 'dayjs';
|
|
4
|
+
import { Month } from '../month.js';
|
|
5
|
+
import { FutureInfinityDate } from '../future-infinity-date.js';
|
|
6
|
+
import { PastInfinityDate } from '../past-infinity-date.js';
|
|
7
|
+
import { WiseDate } from '../wise-date.js';
|
|
8
|
+
import { initDayjs } from '../init-dayjs.js';
|
|
9
|
+
describe('WiseDate manipulation of date value', () => {
|
|
10
|
+
before(() => initDayjs());
|
|
11
|
+
describe('Future infinity', () => {
|
|
12
|
+
it('Future infinity remains infinity when increasing the date', () => {
|
|
13
|
+
expect(new FutureInfinityDate().add(1, 'day').isSame(new FutureInfinityDate())).toBe(true);
|
|
14
|
+
expect(new FutureInfinityDate().add(1, 'week').isSame(new FutureInfinityDate())).toBe(true);
|
|
15
|
+
expect(new FutureInfinityDate().add(1, 'month').isSame(new FutureInfinityDate())).toBe(true);
|
|
16
|
+
expect(new FutureInfinityDate().add(1, 'year').isSame(new FutureInfinityDate())).toBe(true);
|
|
17
|
+
});
|
|
18
|
+
it('Future infinity remains infinity when decreasing the date', () => {
|
|
19
|
+
expect(new FutureInfinityDate().subtract(1, 'day').isSame(new FutureInfinityDate())).toBe(true);
|
|
20
|
+
expect(new FutureInfinityDate().subtract(1, 'week').isSame(new FutureInfinityDate())).toBe(true);
|
|
21
|
+
expect(new FutureInfinityDate().subtract(1, 'year').isSame(new FutureInfinityDate())).toBe(true);
|
|
22
|
+
expect(new FutureInfinityDate().subtract(1, 'month').isSame(new FutureInfinityDate())).toBe(true);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
describe('Past infinity', () => {
|
|
26
|
+
it('Past infinity remains infinity when increasing the date', () => {
|
|
27
|
+
expect(new PastInfinityDate().add(1, 'day').isSame(new PastInfinityDate())).toBe(true);
|
|
28
|
+
expect(new PastInfinityDate().add(1, 'week').isSame(new PastInfinityDate())).toBe(true);
|
|
29
|
+
expect(new PastInfinityDate().add(1, 'month').isSame(new PastInfinityDate())).toBe(true);
|
|
30
|
+
expect(new PastInfinityDate().add(1, 'year').isSame(new PastInfinityDate())).toBe(true);
|
|
31
|
+
});
|
|
32
|
+
it('Past infinity remains infinity when decreasing the date', () => {
|
|
33
|
+
expect(new PastInfinityDate().subtract(1, 'day').isSame(new PastInfinityDate())).toBe(true);
|
|
34
|
+
expect(new PastInfinityDate().subtract(1, 'week').isSame(new PastInfinityDate())).toBe(true);
|
|
35
|
+
expect(new PastInfinityDate().subtract(1, 'year').isSame(new PastInfinityDate())).toBe(true);
|
|
36
|
+
expect(new PastInfinityDate().subtract(1, 'month').isSame(new PastInfinityDate())).toBe(true);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
describe('Non infinite days', () => {
|
|
40
|
+
it('The day increases by one', () => {
|
|
41
|
+
expect(new WiseDate().add(1, 'day').isSame(WiseDate.tomorrow())).toBe(true);
|
|
42
|
+
expect(new WiseDate().add(1, 'day').isTomorrow()).toBe(true);
|
|
43
|
+
expect(new WiseDate().add(1, 'day').dayOfYear).not.toBe(new WiseDate().dayOfYear);
|
|
44
|
+
expect(new WiseDate('2024-01-01').add(1, 'day').isSame(new WiseDate('2024-01-02'))).toBe(true);
|
|
45
|
+
expect(new WiseDate(dayjs().endOf('day')).add(1, 'day').isTomorrow()).toBe(true);
|
|
46
|
+
});
|
|
47
|
+
it('Increasing the day by one at the end of a week changes the week of the year', () => {
|
|
48
|
+
const endOfWeek = new WiseDate(dayjs().endOf('week'));
|
|
49
|
+
const startOfNextWeek = endOfWeek.add(1, 'day');
|
|
50
|
+
expect(endOfWeek.weekOfYear).not.toBe(startOfNextWeek.weekOfYear);
|
|
51
|
+
});
|
|
52
|
+
it('Increasing the day by one overflows to the next week', () => {
|
|
53
|
+
const endOfWeek = new WiseDate(dayjs().startOf('year').endOf('week'));
|
|
54
|
+
const startOfNextWeek = endOfWeek.add(1, 'day');
|
|
55
|
+
expect(startOfNextWeek.weekOfYear).toBe(2);
|
|
56
|
+
});
|
|
57
|
+
it('The week increases by one', () => {
|
|
58
|
+
expect(new WiseDate().add(1, 'week').isSame(new WiseDate(dayjs().add(1, 'week')))).toBe(true);
|
|
59
|
+
expect(new WiseDate().add(1, 'week').isSame(new WiseDate())).toBe(false);
|
|
60
|
+
expect(new WiseDate('2024-01-01').add(1, 'week').isSame(new WiseDate('2024-01-08'))).toBe(true);
|
|
61
|
+
});
|
|
62
|
+
it('Increasing the week overflows to the next month', () => {
|
|
63
|
+
const endOfMonth = new WiseDate(dayjs().startOf('year').endOf('month'));
|
|
64
|
+
const nextMonth = endOfMonth.add(1, 'week');
|
|
65
|
+
expect(endOfMonth.month).not.toBe(nextMonth.month);
|
|
66
|
+
expect(nextMonth.month).toBe(Month.FEBRUARY);
|
|
67
|
+
});
|
|
68
|
+
it('Increasing the week overflows to the next year', () => {
|
|
69
|
+
const endOfYear = new WiseDate(dayjs().endOf('year'));
|
|
70
|
+
const nextYear = endOfYear.add(1, 'week');
|
|
71
|
+
expect(endOfYear.year).not.toBe(nextYear.year);
|
|
72
|
+
expect(nextYear.year).toBe(dayjs().year() + 1);
|
|
73
|
+
});
|
|
74
|
+
it('The month increases by one', () => {
|
|
75
|
+
expect(new WiseDate().add(1, 'month').isSame(new WiseDate(dayjs().add(1, 'month')))).toBe(true);
|
|
76
|
+
expect(new WiseDate().add(1, 'month').month).not.toBe(new WiseDate().month);
|
|
77
|
+
expect(new WiseDate(dayjs().startOf('year')).add(1, 'month').month).toBe(Month.FEBRUARY);
|
|
78
|
+
});
|
|
79
|
+
it('Increasing the month overflows to the next year', () => {
|
|
80
|
+
const endOfYear = new WiseDate(dayjs().endOf('year'));
|
|
81
|
+
const nextYear = endOfYear.add(1, 'month');
|
|
82
|
+
expect(endOfYear.year).not.toBe(nextYear.year);
|
|
83
|
+
expect(nextYear.year).toBe(dayjs().year() + 1);
|
|
84
|
+
});
|
|
85
|
+
it('The year increases by one', () => {
|
|
86
|
+
expect(new WiseDate().add(1, 'year').isSame(new WiseDate(dayjs().add(1, 'year')))).toBe(true);
|
|
87
|
+
expect(new WiseDate().add(1, 'year').year).not.toBe(new WiseDate().year);
|
|
88
|
+
expect(new WiseDate('2024-01-01').add(1, 'year').isSame(new WiseDate('2025-01-01'))).toBe(true);
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=wise-date.manipulation.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wise-date.manipulation.unit.test.js","sourceRoot":"","sources":["../../lib/tests/wise-date.manipulation.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { before, describe, it } from 'node:test';
|
|
2
|
+
import { expect } from 'expect';
|
|
3
|
+
import { WiseDate } from '../wise-date.js';
|
|
4
|
+
import { FutureInfinityDate } from '../future-infinity-date.js';
|
|
5
|
+
import { PastInfinityDate } from '../past-infinity-date.js';
|
|
6
|
+
import { initDayjs } from '../init-dayjs.js';
|
|
7
|
+
describe('WiseDate', () => {
|
|
8
|
+
before(() => initDayjs());
|
|
9
|
+
describe('relative order of dates', () => {
|
|
10
|
+
describe('today relative to others', () => {
|
|
11
|
+
it('respects ordering of today relative to tomorrow', () => {
|
|
12
|
+
expect(WiseDate.today().isBefore(WiseDate.tomorrow())).toBe(true);
|
|
13
|
+
expect(WiseDate.today().isAfter(WiseDate.tomorrow())).toBe(false);
|
|
14
|
+
expect(WiseDate.today().isSame(WiseDate.tomorrow())).toBe(false);
|
|
15
|
+
});
|
|
16
|
+
it('respects ordering of today relative to today', () => {
|
|
17
|
+
expect(WiseDate.today().isBefore(WiseDate.today())).toBe(false);
|
|
18
|
+
expect(WiseDate.today().isAfter(WiseDate.today())).toBe(false);
|
|
19
|
+
expect(WiseDate.today().isSame(WiseDate.today())).toBe(true);
|
|
20
|
+
});
|
|
21
|
+
it('respects ordering of today relative to yesterday', () => {
|
|
22
|
+
expect(WiseDate.today().isBefore(WiseDate.yesterday())).toBe(false);
|
|
23
|
+
expect(WiseDate.today().isAfter(WiseDate.yesterday())).toBe(true);
|
|
24
|
+
expect(WiseDate.today().isSame(WiseDate.yesterday())).toBe(false);
|
|
25
|
+
});
|
|
26
|
+
it('respects ordering of today relative to future infinity', () => {
|
|
27
|
+
expect(WiseDate.today().isBefore(new FutureInfinityDate())).toBe(true);
|
|
28
|
+
expect(WiseDate.today().isAfter(new FutureInfinityDate())).toBe(false);
|
|
29
|
+
expect(WiseDate.today().isSame(new FutureInfinityDate())).toBe(false);
|
|
30
|
+
});
|
|
31
|
+
it('respects ordering of today relative to past infinity', () => {
|
|
32
|
+
expect(WiseDate.today().isBefore(new PastInfinityDate())).toBe(false);
|
|
33
|
+
expect(WiseDate.today().isAfter(new PastInfinityDate())).toBe(true);
|
|
34
|
+
expect(WiseDate.today().isSame(new PastInfinityDate())).toBe(false);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
describe('yesterday relative to others', () => {
|
|
38
|
+
it('respects ordering of yesterday relative to tomorrow', () => {
|
|
39
|
+
expect(WiseDate.yesterday().isBefore(WiseDate.tomorrow())).toBe(true);
|
|
40
|
+
expect(WiseDate.yesterday().isAfter(WiseDate.tomorrow())).toBe(false);
|
|
41
|
+
expect(WiseDate.yesterday().isSame(WiseDate.tomorrow())).toBe(false);
|
|
42
|
+
});
|
|
43
|
+
it('respects ordering of yesterday relative to today', () => {
|
|
44
|
+
expect(WiseDate.yesterday().isBefore(WiseDate.today())).toBe(true);
|
|
45
|
+
expect(WiseDate.yesterday().isAfter(WiseDate.today())).toBe(false);
|
|
46
|
+
expect(WiseDate.yesterday().isSame(WiseDate.today())).toBe(false);
|
|
47
|
+
});
|
|
48
|
+
it('respects ordering of yesterday relative to yesterday', () => {
|
|
49
|
+
expect(WiseDate.yesterday().isBefore(WiseDate.yesterday())).toBe(false);
|
|
50
|
+
expect(WiseDate.yesterday().isAfter(WiseDate.yesterday())).toBe(false);
|
|
51
|
+
expect(WiseDate.yesterday().isSame(WiseDate.yesterday())).toBe(true);
|
|
52
|
+
});
|
|
53
|
+
it('respects ordering of yesterday relative to future infinity', () => {
|
|
54
|
+
expect(WiseDate.yesterday().isBefore(new FutureInfinityDate())).toBe(true);
|
|
55
|
+
expect(WiseDate.yesterday().isAfter(new FutureInfinityDate())).toBe(false);
|
|
56
|
+
expect(WiseDate.yesterday().isSame(new FutureInfinityDate())).toBe(false);
|
|
57
|
+
});
|
|
58
|
+
it('respects ordering of yesterday relative to past infinity', () => {
|
|
59
|
+
expect(WiseDate.yesterday().isBefore(new PastInfinityDate())).toBe(false);
|
|
60
|
+
expect(WiseDate.yesterday().isAfter(new PastInfinityDate())).toBe(true);
|
|
61
|
+
expect(WiseDate.yesterday().isSame(new PastInfinityDate())).toBe(false);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe('tomorrow relative to others', () => {
|
|
65
|
+
it('respects ordering of tomorrow relative to tomorrow', () => {
|
|
66
|
+
expect(WiseDate.tomorrow().isBefore(WiseDate.tomorrow())).toBe(false);
|
|
67
|
+
expect(WiseDate.tomorrow().isAfter(WiseDate.tomorrow())).toBe(false);
|
|
68
|
+
expect(WiseDate.tomorrow().isSame(WiseDate.tomorrow())).toBe(true);
|
|
69
|
+
});
|
|
70
|
+
it('respects ordering of tomorrow relative to today', () => {
|
|
71
|
+
expect(WiseDate.tomorrow().isBefore(WiseDate.today())).toBe(false);
|
|
72
|
+
expect(WiseDate.tomorrow().isAfter(WiseDate.today())).toBe(true);
|
|
73
|
+
expect(WiseDate.tomorrow().isSame(WiseDate.today())).toBe(false);
|
|
74
|
+
});
|
|
75
|
+
it('respects ordering of tomorrow relative to yesterday', () => {
|
|
76
|
+
expect(WiseDate.tomorrow().isBefore(WiseDate.yesterday())).toBe(false);
|
|
77
|
+
expect(WiseDate.tomorrow().isAfter(WiseDate.yesterday())).toBe(true);
|
|
78
|
+
expect(WiseDate.tomorrow().isSame(WiseDate.yesterday())).toBe(false);
|
|
79
|
+
});
|
|
80
|
+
it('respects ordering of tomorrow relative to future infinity', () => {
|
|
81
|
+
expect(WiseDate.tomorrow().isBefore(new FutureInfinityDate())).toBe(true);
|
|
82
|
+
expect(WiseDate.tomorrow().isAfter(new FutureInfinityDate())).toBe(false);
|
|
83
|
+
expect(WiseDate.tomorrow().isSame(new FutureInfinityDate())).toBe(false);
|
|
84
|
+
});
|
|
85
|
+
it('respects ordering of tomorrow relative to past infinity', () => {
|
|
86
|
+
expect(WiseDate.tomorrow().isBefore(new PastInfinityDate())).toBe(false);
|
|
87
|
+
expect(WiseDate.tomorrow().isAfter(new PastInfinityDate())).toBe(true);
|
|
88
|
+
expect(WiseDate.tomorrow().isSame(new PastInfinityDate())).toBe(false);
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
describe('tomorrow relative to others', () => {
|
|
92
|
+
it('respects ordering of tomorrow relative to tomorrow', () => {
|
|
93
|
+
expect(WiseDate.tomorrow().isBefore(WiseDate.tomorrow())).toBe(false);
|
|
94
|
+
expect(WiseDate.tomorrow().isAfter(WiseDate.tomorrow())).toBe(false);
|
|
95
|
+
expect(WiseDate.tomorrow().isSame(WiseDate.tomorrow())).toBe(true);
|
|
96
|
+
});
|
|
97
|
+
it('respects ordering of tomorrow relative to today', () => {
|
|
98
|
+
expect(WiseDate.tomorrow().isBefore(WiseDate.today())).toBe(false);
|
|
99
|
+
expect(WiseDate.tomorrow().isAfter(WiseDate.today())).toBe(true);
|
|
100
|
+
expect(WiseDate.tomorrow().isSame(WiseDate.today())).toBe(false);
|
|
101
|
+
});
|
|
102
|
+
it('respects ordering of tomorrow relative to yesterday', () => {
|
|
103
|
+
expect(WiseDate.tomorrow().isBefore(WiseDate.yesterday())).toBe(false);
|
|
104
|
+
expect(WiseDate.tomorrow().isAfter(WiseDate.yesterday())).toBe(true);
|
|
105
|
+
expect(WiseDate.tomorrow().isSame(WiseDate.yesterday())).toBe(false);
|
|
106
|
+
});
|
|
107
|
+
it('respects ordering of tomorrow relative to future infinity', () => {
|
|
108
|
+
expect(WiseDate.tomorrow().isBefore(new FutureInfinityDate())).toBe(true);
|
|
109
|
+
expect(WiseDate.tomorrow().isAfter(new FutureInfinityDate())).toBe(false);
|
|
110
|
+
expect(WiseDate.tomorrow().isSame(new FutureInfinityDate())).toBe(false);
|
|
111
|
+
});
|
|
112
|
+
it('respects ordering of tomorrow relative to past infinity', () => {
|
|
113
|
+
expect(WiseDate.tomorrow().isBefore(new PastInfinityDate())).toBe(false);
|
|
114
|
+
expect(WiseDate.tomorrow().isAfter(new PastInfinityDate())).toBe(true);
|
|
115
|
+
expect(WiseDate.tomorrow().isSame(new PastInfinityDate())).toBe(false);
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
describe('future infinity relative to others', () => {
|
|
119
|
+
it('respects ordering of future infinity relative to tomorrow', () => {
|
|
120
|
+
expect(new FutureInfinityDate().isBefore(WiseDate.tomorrow())).toBe(false);
|
|
121
|
+
expect(new FutureInfinityDate().isAfter(WiseDate.tomorrow())).toBe(true);
|
|
122
|
+
expect(new FutureInfinityDate().isSame(WiseDate.tomorrow())).toBe(false);
|
|
123
|
+
});
|
|
124
|
+
it('respects ordering of future infinity relative to today', () => {
|
|
125
|
+
expect(new FutureInfinityDate().isBefore(WiseDate.today())).toBe(false);
|
|
126
|
+
expect(new FutureInfinityDate().isAfter(WiseDate.today())).toBe(true);
|
|
127
|
+
expect(new FutureInfinityDate().isSame(WiseDate.today())).toBe(false);
|
|
128
|
+
});
|
|
129
|
+
it('respects ordering of future infinity relative to yesterday', () => {
|
|
130
|
+
expect(new FutureInfinityDate().isBefore(WiseDate.yesterday())).toBe(false);
|
|
131
|
+
expect(new FutureInfinityDate().isAfter(WiseDate.yesterday())).toBe(true);
|
|
132
|
+
expect(new FutureInfinityDate().isSame(WiseDate.yesterday())).toBe(false);
|
|
133
|
+
});
|
|
134
|
+
it('respects ordering of future infinity relative to future infinity', () => {
|
|
135
|
+
expect(new FutureInfinityDate().isBefore(new FutureInfinityDate())).toBe(false);
|
|
136
|
+
expect(new FutureInfinityDate().isAfter(new FutureInfinityDate())).toBe(true);
|
|
137
|
+
expect(new FutureInfinityDate().isSame(new FutureInfinityDate())).toBe(true);
|
|
138
|
+
});
|
|
139
|
+
it('respects ordering of future infinity relative to past infinity', () => {
|
|
140
|
+
expect(new FutureInfinityDate().isBefore(new PastInfinityDate())).toBe(false);
|
|
141
|
+
expect(new FutureInfinityDate().isAfter(new PastInfinityDate())).toBe(true);
|
|
142
|
+
expect(new FutureInfinityDate().isSame(new PastInfinityDate())).toBe(false);
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
describe('past infinity relative to others', () => {
|
|
146
|
+
it('respects ordering of past infinity relative to tomorrow', () => {
|
|
147
|
+
expect(new PastInfinityDate().isBefore(WiseDate.tomorrow())).toBe(true);
|
|
148
|
+
expect(new PastInfinityDate().isAfter(WiseDate.tomorrow())).toBe(false);
|
|
149
|
+
expect(new PastInfinityDate().isSame(WiseDate.tomorrow())).toBe(false);
|
|
150
|
+
});
|
|
151
|
+
it('respects ordering of past infinity relative to today', () => {
|
|
152
|
+
expect(new PastInfinityDate().isBefore(WiseDate.today())).toBe(true);
|
|
153
|
+
expect(new PastInfinityDate().isAfter(WiseDate.today())).toBe(false);
|
|
154
|
+
expect(new PastInfinityDate().isSame(WiseDate.today())).toBe(false);
|
|
155
|
+
});
|
|
156
|
+
it('respects ordering of past infinity relative to yesterday', () => {
|
|
157
|
+
expect(new PastInfinityDate().isBefore(WiseDate.yesterday())).toBe(true);
|
|
158
|
+
expect(new PastInfinityDate().isAfter(WiseDate.yesterday())).toBe(false);
|
|
159
|
+
expect(new PastInfinityDate().isSame(WiseDate.yesterday())).toBe(false);
|
|
160
|
+
});
|
|
161
|
+
it('respects ordering of past infinity relative to future infinity', () => {
|
|
162
|
+
expect(new PastInfinityDate().isBefore(new FutureInfinityDate())).toBe(true);
|
|
163
|
+
expect(new PastInfinityDate().isAfter(new FutureInfinityDate())).toBe(false);
|
|
164
|
+
expect(new PastInfinityDate().isSame(new FutureInfinityDate())).toBe(false);
|
|
165
|
+
});
|
|
166
|
+
it('respects ordering of past infinity relative to past infinity', () => {
|
|
167
|
+
expect(new PastInfinityDate().isBefore(new PastInfinityDate())).toBe(true);
|
|
168
|
+
expect(new PastInfinityDate().isAfter(new PastInfinityDate())).toBe(false);
|
|
169
|
+
expect(new PastInfinityDate().isSame(new PastInfinityDate())).toBe(true);
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
//# sourceMappingURL=wise-date.ordering.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wise-date.ordering.unit.test.js","sourceRoot":"","sources":["../../lib/tests/wise-date.ordering.unit.test.ts"],"names":[],"mappings":"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"}
|
package/dist/units.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type DateUnit = 'day' | 'days' | 'week' | 'weeks' | 'month' | 'months' | 'year' | 'years';
|
|
2
|
+
export type ReachableDateUnit = 'week' | 'month' | 'year';
|
|
3
|
+
export type GetDateUnit = 'day of month' | 'day' | 'week of month' | 'week' | 'month' | 'year';
|
|
4
|
+
export type DiffDateUnit = 'days' | 'weeks' | 'months' | 'quarters' | 'years';
|
package/dist/units.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"units.js","sourceRoot":"","sources":["../lib/units.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Column } from 'typeorm';
|
|
2
|
+
import { WiseDateFactory } from './wise-date.factory.js';
|
|
3
|
+
export function WiseDateColumn(options) {
|
|
4
|
+
return Column({
|
|
5
|
+
...options,
|
|
6
|
+
type: 'date',
|
|
7
|
+
transformer: WiseDateTransfromer.getInstance()
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
class WiseDateTransfromer {
|
|
11
|
+
static instance;
|
|
12
|
+
factory = new WiseDateFactory();
|
|
13
|
+
static getInstance() {
|
|
14
|
+
if (WiseDateTransfromer.instance === undefined) {
|
|
15
|
+
WiseDateTransfromer.instance = new WiseDateTransfromer();
|
|
16
|
+
}
|
|
17
|
+
return WiseDateTransfromer.instance;
|
|
18
|
+
}
|
|
19
|
+
from(value) {
|
|
20
|
+
if (value === null) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return this.factory.fromString(value);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
to(value) {
|
|
28
|
+
return value?.toString() ?? null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=wise-date.column.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wise-date.column.js","sourceRoot":"","sources":["../lib/wise-date.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,SAAS,CAAA;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAIxD,MAAM,UAAU,cAAc,CAAE,OAAkC;IAChE,OAAO,MAAM,CAAC;QACZ,GAAG,OAAO;QACV,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mBAAmB,CAAC,WAAW,EAAE;KAC/C,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,mBAAmB;IACf,MAAM,CAAC,QAAQ,CAAiC;IAChD,OAAO,GAAG,IAAI,eAAe,EAAE,CAAA;IAEhC,MAAM,CAAC,WAAW;QACvB,IAAI,mBAAmB,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC/C,mBAAmB,CAAC,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAA;QAC1D,CAAC;QAED,OAAO,mBAAmB,CAAC,QAAQ,CAAA;IACrC,CAAC;IAED,IAAI,CAAE,KAAoB;QACxB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IAED,EAAE,CAAE,KAAkC;QACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAA;IAClC,CAAC;CACF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
import { DateUnit, DiffDateUnit, ReachableDateUnit } from './units.js';
|
|
3
|
+
import { PlainDateObject } from './plain-date-object.js';
|
|
4
|
+
import { Month } from './month.js';
|
|
5
|
+
export declare class WiseDate {
|
|
6
|
+
static today(): WiseDate;
|
|
7
|
+
static tomorrow(): WiseDate;
|
|
8
|
+
static yesterday(): WiseDate;
|
|
9
|
+
static max(date: WiseDate, otherDate: WiseDate): WiseDate;
|
|
10
|
+
static min(date: WiseDate, otherDate: WiseDate): WiseDate;
|
|
11
|
+
private date;
|
|
12
|
+
/** Defaults to today */
|
|
13
|
+
constructor();
|
|
14
|
+
/**
|
|
15
|
+
* Parse a date from a string
|
|
16
|
+
* @see https://day.js.org/docs/en/display/format
|
|
17
|
+
*/
|
|
18
|
+
constructor(dateString: string, format?: string);
|
|
19
|
+
constructor(dayjs: dayjs.Dayjs);
|
|
20
|
+
constructor(date: Date | WiseDate);
|
|
21
|
+
constructor(plainTimeObject: PlainDateObject);
|
|
22
|
+
isSame(otherDate: WiseDate, unit?: DateUnit): boolean;
|
|
23
|
+
isAfter(otherDate: WiseDate, unit?: DateUnit): boolean;
|
|
24
|
+
isSameOrAfter(otherDate: WiseDate, unit?: DateUnit): boolean;
|
|
25
|
+
isBefore(otherDate: WiseDate, unit?: DateUnit): boolean;
|
|
26
|
+
isSameOrBefore(otherDate: WiseDate, unit?: DateUnit): boolean;
|
|
27
|
+
startOf(unit: ReachableDateUnit): WiseDate;
|
|
28
|
+
endOf(unit: ReachableDateUnit): WiseDate;
|
|
29
|
+
get year(): number;
|
|
30
|
+
get month(): Month;
|
|
31
|
+
get dayOfMonth(): number;
|
|
32
|
+
get weekOfYear(): number;
|
|
33
|
+
get dayOfYear(): number;
|
|
34
|
+
isToday(): boolean;
|
|
35
|
+
isTomorrow(): boolean;
|
|
36
|
+
isYesterday(): boolean;
|
|
37
|
+
add(amount: number, unit: DateUnit): WiseDate;
|
|
38
|
+
subtract(amount: number, unit: DateUnit): WiseDate;
|
|
39
|
+
diff(withOther: WiseDate, unit: DiffDateUnit, precise?: boolean): number;
|
|
40
|
+
/**
|
|
41
|
+
* @see https://day.js.org/docs/en/display/format
|
|
42
|
+
*/
|
|
43
|
+
format(template: string): string;
|
|
44
|
+
clone(): WiseDate;
|
|
45
|
+
toPlainObject(): PlainDateObject;
|
|
46
|
+
toDate(): Date;
|
|
47
|
+
toString(): string;
|
|
48
|
+
isFutureInfinity(): boolean;
|
|
49
|
+
isPastInfinity(): boolean;
|
|
50
|
+
isInfinity(): boolean;
|
|
51
|
+
valueOf(): string;
|
|
52
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { WiseDate } from './wise-date.js';
|
|
2
|
+
import { PastInfinityDate } from './past-infinity-date.js';
|
|
3
|
+
import { FutureInfinityDate } from './future-infinity-date.js';
|
|
4
|
+
export class WiseDateFactory {
|
|
5
|
+
fromString(date) {
|
|
6
|
+
switch (date) {
|
|
7
|
+
case '-infinity': return new PastInfinityDate();
|
|
8
|
+
case 'infinity': return new FutureInfinityDate();
|
|
9
|
+
case '+infinity': return new FutureInfinityDate();
|
|
10
|
+
default: return new WiseDate(date);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=wise-date.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wise-date.factory.js","sourceRoot":"","sources":["../lib/wise-date.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D,MAAM,OAAO,eAAe;IAC1B,UAAU,CAAE,IAAY;QACtB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,WAAW,CAAC,CAAC,OAAO,IAAI,gBAAgB,EAAE,CAAA;YAC/C,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,kBAAkB,EAAE,CAAA;YAChD,KAAK,WAAW,CAAC,CAAC,OAAO,IAAI,kBAAkB,EAAE,CAAA;YACjD,OAAO,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;CACF"}
|