@wisemen/datewise 0.1.4 → 0.1.5

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.
Files changed (94) hide show
  1. package/dist/date-range/date-range.d.ts +1 -0
  2. package/dist/date-range/date-range.js +3 -0
  3. package/dist/date-range/date-range.js.map +1 -1
  4. package/dist/date-range/is-date-range.decorator.d.ts +3 -0
  5. package/dist/date-range/is-date-range.decorator.js +16 -8
  6. package/dist/date-range/is-date-range.decorator.js.map +1 -1
  7. package/dist/date-range/tests/finite-date-range.check.integration.test.d.ts +1 -0
  8. package/dist/date-range/tests/finite-date-range.check.integration.test.js +47 -0
  9. package/dist/date-range/tests/finite-date-range.check.integration.test.js.map +1 -0
  10. package/dist/date-range/tests/is-date-range.decorator.unit.test.js +41 -0
  11. package/dist/date-range/tests/is-date-range.decorator.unit.test.js.map +1 -1
  12. package/dist/date-range/tests/sql/datasource.d.ts +2 -0
  13. package/dist/date-range/tests/sql/datasource.js +13 -0
  14. package/dist/date-range/tests/sql/datasource.js.map +1 -0
  15. package/dist/date-range/tests/sql/finite-date-range-test.entity.d.ts +5 -0
  16. package/dist/date-range/tests/sql/finite-date-range-test.entity.js +28 -0
  17. package/dist/date-range/tests/sql/finite-date-range-test.entity.js.map +1 -0
  18. package/dist/date-range/tests/test-setup.d.ts +6 -0
  19. package/dist/date-range/tests/test-setup.js +43 -0
  20. package/dist/date-range/tests/test-setup.js.map +1 -0
  21. package/dist/date-range/typeorm/date-range-column.d.ts +7 -1
  22. package/dist/date-range/typeorm/date-range-column.js +12 -5
  23. package/dist/date-range/typeorm/date-range-column.js.map +1 -1
  24. package/dist/date-range/typeorm/finite-date-range.check.decorator.d.ts +1 -0
  25. package/dist/date-range/typeorm/finite-date-range.check.decorator.js +9 -0
  26. package/dist/date-range/typeorm/finite-date-range.check.decorator.js.map +1 -0
  27. package/dist/date-time-range/date-time-range.d.ts +2 -0
  28. package/dist/date-time-range/date-time-range.dto.js +2 -6
  29. package/dist/date-time-range/date-time-range.dto.js.map +1 -1
  30. package/dist/date-time-range/date-time-range.js +4 -0
  31. package/dist/date-time-range/date-time-range.js.map +1 -1
  32. package/dist/date-time-range/is-date-time-range.decorator.d.ts +3 -0
  33. package/dist/date-time-range/is-date-time-range.decorator.js +16 -8
  34. package/dist/date-time-range/is-date-time-range.decorator.js.map +1 -1
  35. package/dist/date-time-range/tests/date-time-range.column.integration.test.js +4 -23
  36. package/dist/date-time-range/tests/date-time-range.column.integration.test.js.map +1 -1
  37. package/dist/date-time-range/tests/finite-date-time-range.check.integration.test.d.ts +1 -0
  38. package/dist/date-time-range/tests/finite-date-time-range.check.integration.test.js +47 -0
  39. package/dist/date-time-range/tests/finite-date-time-range.check.integration.test.js.map +1 -0
  40. package/dist/date-time-range/tests/is-date-time-range.decorator.unit.test.js +41 -0
  41. package/dist/date-time-range/tests/is-date-time-range.decorator.unit.test.js.map +1 -1
  42. package/dist/date-time-range/tests/sql/finite-date-time-range-test.entity.d.ts +5 -0
  43. package/dist/date-time-range/tests/sql/finite-date-time-range-test.entity.js +28 -0
  44. package/dist/date-time-range/tests/sql/finite-date-time-range-test.entity.js.map +1 -0
  45. package/dist/date-time-range/tests/test-setup.d.ts +6 -0
  46. package/dist/date-time-range/tests/test-setup.js +62 -0
  47. package/dist/date-time-range/tests/test-setup.js.map +1 -0
  48. package/dist/date-time-range/typeorm/date-time-range-column.d.ts +8 -2
  49. package/dist/date-time-range/typeorm/date-time-range-column.js +10 -5
  50. package/dist/date-time-range/typeorm/date-time-range-column.js.map +1 -1
  51. package/dist/date-time-range/typeorm/finite-date-time-range.check.decorator.d.ts +1 -0
  52. package/dist/date-time-range/typeorm/finite-date-time-range.check.decorator.js +9 -0
  53. package/dist/date-time-range/typeorm/finite-date-time-range.check.decorator.js.map +1 -0
  54. package/dist/date-time-range/typeorm/multi-date-time-range.column.d.ts +1 -1
  55. package/dist/date-time-range/typeorm/multi-date-time-range.column.js.map +1 -1
  56. package/dist/plain-date/dayjs-plain-date.d.ts +3 -0
  57. package/dist/plain-date/dayjs-plain-date.js +25 -0
  58. package/dist/plain-date/dayjs-plain-date.js.map +1 -1
  59. package/dist/plain-date/future-infinity-date.d.ts +3 -0
  60. package/dist/plain-date/future-infinity-date.js +17 -0
  61. package/dist/plain-date/future-infinity-date.js.map +1 -1
  62. package/dist/plain-date/past-infinity-date.d.ts +3 -0
  63. package/dist/plain-date/past-infinity-date.js +17 -0
  64. package/dist/plain-date/past-infinity-date.js.map +1 -1
  65. package/dist/plain-date/plain-date.d.ts +13 -0
  66. package/dist/plain-date/tests/plain-date.accessors.unit.test.js +189 -0
  67. package/dist/plain-date/tests/plain-date.accessors.unit.test.js.map +1 -1
  68. package/dist/plain-date/tests/plain-date.future-infinity.unit.test.d.ts +1 -0
  69. package/dist/plain-date/tests/plain-date.future-infinity.unit.test.js +83 -0
  70. package/dist/plain-date/tests/plain-date.future-infinity.unit.test.js.map +1 -0
  71. package/dist/plain-date/tests/plain-date.past-infinity.unit.test.d.ts +1 -0
  72. package/dist/plain-date/tests/plain-date.past-infinity.unit.test.js +83 -0
  73. package/dist/plain-date/tests/plain-date.past-infinity.unit.test.js.map +1 -0
  74. package/dist/plain-date/typeorm/plain-date.column.d.ts +1 -1
  75. package/dist/plain-date/typeorm/plain-date.column.js.map +1 -1
  76. package/dist/timestamp/dayjs-timestamp.d.ts +2 -0
  77. package/dist/timestamp/dayjs-timestamp.js +25 -0
  78. package/dist/timestamp/dayjs-timestamp.js.map +1 -1
  79. package/dist/timestamp/future-infinity.d.ts +3 -0
  80. package/dist/timestamp/future-infinity.js +17 -0
  81. package/dist/timestamp/future-infinity.js.map +1 -1
  82. package/dist/timestamp/past-infinity.d.ts +3 -0
  83. package/dist/timestamp/past-infinity.js +17 -0
  84. package/dist/timestamp/past-infinity.js.map +1 -1
  85. package/dist/timestamp/tests/dayjs-timestamp.unit.test.js +58 -0
  86. package/dist/timestamp/tests/dayjs-timestamp.unit.test.js.map +1 -1
  87. package/dist/timestamp/tests/timestamp.future-infinity.unit.test.d.ts +1 -0
  88. package/dist/timestamp/tests/timestamp.future-infinity.unit.test.js +48 -0
  89. package/dist/timestamp/tests/timestamp.future-infinity.unit.test.js.map +1 -0
  90. package/dist/timestamp/tests/timestamp.past-infinity.unit.test.d.ts +1 -0
  91. package/dist/timestamp/tests/timestamp.past-infinity.unit.test.js +48 -0
  92. package/dist/timestamp/tests/timestamp.past-infinity.unit.test.js.map +1 -0
  93. package/dist/timestamp/timestamp.d.ts +12 -0
  94. package/package.json +31 -27
@@ -1 +1 @@
1
- {"version":3,"file":"plain-date.column.js","sourceRoot":"","sources":["../../../lib/plain-date/typeorm/plain-date.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,UAAU,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAOvC,MAAM,UAAU,eAAe,CAAE,OAAgC;IAC/D,OAAO,MAAM,CAAC;QACZ,GAAG,OAAO;QACV,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,oBAAoB,CAAC,WAAW,EAAE;KAChD,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAE,OAAoC;IACvE,OAAO,UAAU,CAAC;QAChB,GAAG,OAAO;QACV,WAAW,EAAE,oBAAoB,CAAC,WAAW,EAAE;KAChD,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAC,QAAQ,CAAkC;IAElD,MAAM,CAAC,WAAW;QACvB,oBAAoB,CAAC,QAAQ,KAAK,IAAI,oBAAoB,EAAE,CAAA;QAE5D,OAAO,oBAAoB,CAAC,QAAQ,CAAA;IACtC,CAAC;IAED,gBAAwB,CAAC;IAEzB,IAAI,CAAE,KAAoB;QACxB,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,EAAE,CAAE,KAAwB;QAC1B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;QACzB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"plain-date.column.js","sourceRoot":"","sources":["../../../lib/plain-date/typeorm/plain-date.column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,UAAU,EAAE,MAAM,SAAS,CAAA;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAMvC,MAAM,UAAU,eAAe,CAAE,OAAgC;IAC/D,OAAO,MAAM,CAAC;QACZ,GAAG,OAAO;QACV,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,oBAAoB,CAAC,WAAW,EAAE;KAChD,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAE,OAAoC;IACvE,OAAO,UAAU,CAAC;QAChB,GAAG,OAAO;QACV,WAAW,EAAE,oBAAoB,CAAC,WAAW,EAAE;KAChD,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAC,QAAQ,CAAkC;IAElD,MAAM,CAAC,WAAW;QACvB,oBAAoB,CAAC,QAAQ,KAAK,IAAI,oBAAoB,EAAE,CAAA;QAE5D,OAAO,oBAAoB,CAAC,QAAQ,CAAA;IACtC,CAAC;IAED,gBAAwB,CAAC;IAEzB,IAAI,CAAE,KAAoB;QACxB,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,EAAE,CAAE,KAAwB;QAC1B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;QACzB,CAAC;IACH,CAAC;CACF"}
@@ -57,5 +57,7 @@ export declare class DayjsTimestamp implements Timestamp {
57
57
  isSameOrBefore(other: TimestampInput, unit?: OpUnitType): boolean;
58
58
  locale(): string;
59
59
  locale(preset: string | ILocale, object?: Partial<ILocale>): DayjsTimestamp;
60
+ until(otherTimestamp: TimestampInput): Duration;
61
+ since(otherTimestamp: TimestampInput): Duration;
60
62
  setTimezone(timezone: TimezoneInput): DayjsTimestamp;
61
63
  }
@@ -1,4 +1,5 @@
1
1
  import dayjs from 'dayjs';
2
+ import { Duration, DurationUnit } from '@wisemen/quantity';
2
3
  import { plainDate } from '../plain-date/index.js';
3
4
  import { PlainTimeImpl } from '../plain-time/plain-time.js';
4
5
  import { plainTime } from '../plain-time/plain-time-entry.js';
@@ -202,6 +203,30 @@ export class DayjsTimestamp {
202
203
  }
203
204
  return new DayjsTimestamp(this.value.locale(preset, object));
204
205
  }
206
+ until(otherTimestamp) {
207
+ const parsed = factory(otherTimestamp);
208
+ if (parsed.isFutureInfinity()) {
209
+ return new Duration(Infinity, DurationUnit.MILLISECONDS);
210
+ }
211
+ else if (parsed.isPastInfinity()) {
212
+ return new Duration(-Infinity, DurationUnit.MILLISECONDS);
213
+ }
214
+ else {
215
+ return new Duration(parsed.diff(this, 'milliseconds'), DurationUnit.MILLISECONDS);
216
+ }
217
+ }
218
+ since(otherTimestamp) {
219
+ const parsed = factory(otherTimestamp);
220
+ if (parsed.isFutureInfinity()) {
221
+ return new Duration(-Infinity, DurationUnit.MILLISECONDS);
222
+ }
223
+ else if (parsed.isPastInfinity()) {
224
+ return new Duration(Infinity, DurationUnit.MILLISECONDS);
225
+ }
226
+ else {
227
+ return new Duration(this.diff(parsed, 'milliseconds'), DurationUnit.MILLISECONDS);
228
+ }
229
+ }
205
230
  setTimezone(timezone) {
206
231
  const change = new DayjsTimestamp(this.value);
207
232
  change.value = change.value.tz(timezone);
@@ -1 +1 @@
1
- {"version":3,"file":"dayjs-timestamp.js","sourceRoot":"","sources":["../../lib/timestamp/dayjs-timestamp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dayjs-timestamp.js","sourceRoot":"","sources":["../../lib/timestamp/dayjs-timestamp.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { OpUnitType } from 'dayjs';
2
+ import { Duration } from '@wisemen/quantity';
2
3
  import { PlainDate } from '../plain-date/plain-date.js';
3
4
  import { PlainTime } from '../plain-time/plain-time.js';
4
5
  import { Month } from '../common/month.js';
@@ -44,6 +45,8 @@ export declare class FutureInfinity implements Timestamp {
44
45
  isSame(other: TimestampInput): boolean;
45
46
  isSameOrAfter(other: TimestampInput): boolean;
46
47
  isSameOrBefore(other: TimestampInput): boolean;
48
+ until(otherTimestamp: TimestampInput): Duration;
49
+ since(otherTimestamp: TimestampInput): Duration;
47
50
  locale(): string;
48
51
  locale(preset: string | ILocale, object?: Partial<ILocale>): this;
49
52
  setTimezone(_timezone: TimezoneInput): Timestamp;
@@ -1,3 +1,4 @@
1
+ import { Duration, DurationUnit } from '@wisemen/quantity';
1
2
  import { plainDate } from '../plain-date/index.js';
2
3
  import { plainTime } from '../plain-time/plain-time-entry.js';
3
4
  import { factory } from './timestamp.factory.js';
@@ -121,6 +122,22 @@ export class FutureInfinity {
121
122
  isSameOrBefore(other) {
122
123
  return this.isSame(other);
123
124
  }
125
+ until(otherTimestamp) {
126
+ if (this.isSame(otherTimestamp)) {
127
+ return new Duration(0, DurationUnit.MILLISECONDS);
128
+ }
129
+ else {
130
+ return new Duration(-Infinity, DurationUnit.MILLISECONDS);
131
+ }
132
+ }
133
+ since(otherTimestamp) {
134
+ if (this.isSame(otherTimestamp)) {
135
+ return new Duration(0, DurationUnit.MILLISECONDS);
136
+ }
137
+ else {
138
+ return new Duration(Infinity, DurationUnit.MILLISECONDS);
139
+ }
140
+ }
124
141
  locale(preset, _object) {
125
142
  if (preset === undefined) {
126
143
  return 'infinity';
@@ -1 +1 @@
1
- {"version":3,"file":"future-infinity.js","sourceRoot":"","sources":["../../lib/timestamp/future-infinity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"future-infinity.js","sourceRoot":"","sources":["../../lib/timestamp/future-infinity.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { OpUnitType } from 'dayjs';
2
+ import { Duration } from '@wisemen/quantity';
2
3
  import { PlainDate } from '../plain-date/plain-date.js';
3
4
  import { PlainTime } from '../plain-time/plain-time.js';
4
5
  import { Month } from '../common/month.js';
@@ -44,6 +45,8 @@ export declare class PastInfinity implements Timestamp {
44
45
  isSame(other: TimestampInput): boolean;
45
46
  isSameOrAfter(other: TimestampInput): boolean;
46
47
  isSameOrBefore(other: TimestampInput): boolean;
48
+ until(otherTimestamp: TimestampInput): Duration;
49
+ since(otherTimestamp: TimestampInput): Duration;
47
50
  locale(): string;
48
51
  locale(preset: string | ILocale, object?: Partial<ILocale>): this;
49
52
  setTimezone(_timezone: TimezoneInput): Timestamp;
@@ -1,3 +1,4 @@
1
+ import { Duration, DurationUnit } from '@wisemen/quantity';
1
2
  import { plainDate } from '../plain-date/index.js';
2
3
  import { plainTime } from '../plain-time/plain-time-entry.js';
3
4
  import { factory } from './timestamp.factory.js';
@@ -121,6 +122,22 @@ export class PastInfinity {
121
122
  isSameOrBefore(other) {
122
123
  return this.isBefore(other) || this.isSame(other);
123
124
  }
125
+ until(otherTimestamp) {
126
+ if (this.isSame(otherTimestamp)) {
127
+ return new Duration(0, DurationUnit.MILLISECONDS);
128
+ }
129
+ else {
130
+ return new Duration(Infinity, DurationUnit.MILLISECONDS);
131
+ }
132
+ }
133
+ since(otherTimestamp) {
134
+ if (this.isSame(otherTimestamp)) {
135
+ return new Duration(0, DurationUnit.MILLISECONDS);
136
+ }
137
+ else {
138
+ return new Duration(-Infinity, DurationUnit.MILLISECONDS);
139
+ }
140
+ }
124
141
  locale(preset, _object) {
125
142
  if (preset === undefined) {
126
143
  return '-infinity';
@@ -1 +1 @@
1
- {"version":3,"file":"past-infinity.js","sourceRoot":"","sources":["../../lib/timestamp/past-infinity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"past-infinity.js","sourceRoot":"","sources":["../../lib/timestamp/past-infinity.ts"],"names":[],"mappings":"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"}
@@ -102,5 +102,63 @@ describe('DayjsTimestamp', () => {
102
102
  expect(result.toISOString()).toBe('2025-12-30T23:59:59.999Z');
103
103
  });
104
104
  });
105
+ describe('until and since', () => {
106
+ it('returns zero duration when compared to itself', () => {
107
+ const ts = timestamp('2025-01-01T00:00:00Z');
108
+ const until = ts.until(ts);
109
+ const since = ts.since(ts);
110
+ expect(until.milliseconds).toBe(0);
111
+ expect(since.milliseconds).toBe(0);
112
+ });
113
+ it('returns positive duration for future timestamps', () => {
114
+ const ts = timestamp('2025-01-01T00:00:00Z');
115
+ const future = timestamp('2025-01-01T00:00:01Z');
116
+ const duration = ts.until(future);
117
+ expect(duration.milliseconds).toBe(1000);
118
+ });
119
+ it('returns negative duration for past timestamps', () => {
120
+ const ts = timestamp('2025-01-01T00:00:01Z');
121
+ const past = timestamp('2025-01-01T00:00:00Z');
122
+ const duration = ts.until(past);
123
+ expect(duration.milliseconds).toBe(-1000);
124
+ });
125
+ it('returns negative duration for future timestamps with since', () => {
126
+ const ts = timestamp('2025-01-01T00:00:00Z');
127
+ const future = timestamp('2025-01-01T00:00:01Z');
128
+ const duration = ts.since(future);
129
+ expect(duration.milliseconds).toBe(-1000);
130
+ });
131
+ it('returns positive duration for past timestamps with since', () => {
132
+ const ts = timestamp('2025-01-01T00:00:01Z');
133
+ const past = timestamp('2025-01-01T00:00:00Z');
134
+ const duration = ts.since(past);
135
+ expect(duration.milliseconds).toBe(1000);
136
+ });
137
+ it('until and since are opposites', () => {
138
+ const ts = timestamp('2025-01-01T00:00:00Z');
139
+ const other = timestamp('2025-01-01T00:00:10Z');
140
+ expect(ts.until(other).milliseconds).toBe(-ts.since(other).milliseconds);
141
+ });
142
+ it('until returns infinity when compared to future infinity', () => {
143
+ const ts = timestamp('2025-01-01T00:00:00Z');
144
+ const duration = ts.until('infinity');
145
+ expect(duration.milliseconds).toBe(Infinity);
146
+ });
147
+ it('until returns negative infinity when compared to past infinity', () => {
148
+ const ts = timestamp('2025-01-01T00:00:00Z');
149
+ const duration = ts.until('-infinity');
150
+ expect(duration.milliseconds).toBe(-Infinity);
151
+ });
152
+ it('since returns negative infinity when compared to future infinity', () => {
153
+ const ts = timestamp('2025-01-01T00:00:00Z');
154
+ const duration = ts.since('infinity');
155
+ expect(duration.milliseconds).toBe(-Infinity);
156
+ });
157
+ it('since returns infinity when compared to past infinity', () => {
158
+ const ts = timestamp('2025-01-01T00:00:00Z');
159
+ const duration = ts.since('-infinity');
160
+ expect(duration.milliseconds).toBe(Infinity);
161
+ });
162
+ });
105
163
  });
106
164
  //# sourceMappingURL=dayjs-timestamp.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dayjs-timestamp.unit.test.js","sourceRoot":"","sources":["../../../lib/timestamp/tests/dayjs-timestamp.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dayjs-timestamp.unit.test.js","sourceRoot":"","sources":["../../../lib/timestamp/tests/dayjs-timestamp.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { before, describe, it } from 'node:test';
2
+ import { expect } from 'expect';
3
+ import { FutureInfinity } from '../future-infinity.js';
4
+ import { PastInfinity } from '../past-infinity.js';
5
+ import { timestamp } from '../index.js';
6
+ import { initDayjs } from '../../common/init-dayjs.js';
7
+ describe('FutureInfinity timestamp', () => {
8
+ before(() => initDayjs());
9
+ describe('until', () => {
10
+ it('returns zero duration when compared to itself', () => {
11
+ const futureInfinity = new FutureInfinity();
12
+ const duration = futureInfinity.until(futureInfinity);
13
+ expect(duration.milliseconds).toBe(0);
14
+ });
15
+ it('returns negative infinity when compared to a regular timestamp', () => {
16
+ const futureInfinity = new FutureInfinity();
17
+ const regular = timestamp('2025-01-01T00:00:00Z');
18
+ const duration = futureInfinity.until(regular);
19
+ expect(duration.milliseconds).toBe(-Infinity);
20
+ });
21
+ it('returns negative infinity when compared to PastInfinity', () => {
22
+ const futureInfinity = new FutureInfinity();
23
+ const pastInfinity = new PastInfinity();
24
+ const duration = futureInfinity.until(pastInfinity);
25
+ expect(duration.milliseconds).toBe(-Infinity);
26
+ });
27
+ });
28
+ describe('since', () => {
29
+ it('returns zero duration when compared to itself', () => {
30
+ const futureInfinity = new FutureInfinity();
31
+ const duration = futureInfinity.since(futureInfinity);
32
+ expect(duration.milliseconds).toBe(0);
33
+ });
34
+ it('returns positive infinity when compared to a regular timestamp', () => {
35
+ const futureInfinity = new FutureInfinity();
36
+ const regular = timestamp('2025-01-01T00:00:00Z');
37
+ const duration = futureInfinity.since(regular);
38
+ expect(duration.milliseconds).toBe(Infinity);
39
+ });
40
+ it('returns positive infinity when compared to PastInfinity', () => {
41
+ const futureInfinity = new FutureInfinity();
42
+ const pastInfinity = new PastInfinity();
43
+ const duration = futureInfinity.since(pastInfinity);
44
+ expect(duration.milliseconds).toBe(Infinity);
45
+ });
46
+ });
47
+ });
48
+ //# sourceMappingURL=timestamp.future-infinity.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamp.future-infinity.unit.test.js","sourceRoot":"","sources":["../../../lib/timestamp/tests/timestamp.future-infinity.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { before, describe, it } from 'node:test';
2
+ import { expect } from 'expect';
3
+ import { PastInfinity } from '../past-infinity.js';
4
+ import { FutureInfinity } from '../future-infinity.js';
5
+ import { timestamp } from '../index.js';
6
+ import { initDayjs } from '../../common/init-dayjs.js';
7
+ describe('PastInfinity timestamp', () => {
8
+ before(() => initDayjs());
9
+ describe('until', () => {
10
+ it('returns zero duration when compared to itself', () => {
11
+ const pastInfinity = new PastInfinity();
12
+ const duration = pastInfinity.until(pastInfinity);
13
+ expect(duration.milliseconds).toBe(0);
14
+ });
15
+ it('returns positive infinity when compared to a regular timestamp', () => {
16
+ const pastInfinity = new PastInfinity();
17
+ const regular = timestamp('2025-01-01T00:00:00Z');
18
+ const duration = pastInfinity.until(regular);
19
+ expect(duration.milliseconds).toBe(Infinity);
20
+ });
21
+ it('returns positive infinity when compared to FutureInfinity', () => {
22
+ const pastInfinity = new PastInfinity();
23
+ const futureInfinity = new FutureInfinity();
24
+ const duration = pastInfinity.until(futureInfinity);
25
+ expect(duration.milliseconds).toBe(Infinity);
26
+ });
27
+ });
28
+ describe('since', () => {
29
+ it('returns zero duration when compared to itself', () => {
30
+ const pastInfinity = new PastInfinity();
31
+ const duration = pastInfinity.since(pastInfinity);
32
+ expect(duration.milliseconds).toBe(0);
33
+ });
34
+ it('returns negative infinity when compared to a regular timestamp', () => {
35
+ const pastInfinity = new PastInfinity();
36
+ const regular = timestamp('2025-01-01T00:00:00Z');
37
+ const duration = pastInfinity.since(regular);
38
+ expect(duration.milliseconds).toBe(-Infinity);
39
+ });
40
+ it('returns negative infinity when compared to FutureInfinity', () => {
41
+ const pastInfinity = new PastInfinity();
42
+ const futureInfinity = new FutureInfinity();
43
+ const duration = pastInfinity.since(futureInfinity);
44
+ expect(duration.milliseconds).toBe(-Infinity);
45
+ });
46
+ });
47
+ });
48
+ //# sourceMappingURL=timestamp.past-infinity.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamp.past-infinity.unit.test.js","sourceRoot":"","sources":["../../../lib/timestamp/tests/timestamp.past-infinity.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,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAEtD,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAA;IAEzB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;YACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAEjD,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;YACvC,MAAM,OAAO,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAA;YACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAE5C,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;YACvC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAA;YAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;YAEnD,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;YACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAEjD,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;YACvC,MAAM,OAAO,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAA;YACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAE5C,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;YACvC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAA;YAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;YAEnD,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -85,4 +85,16 @@ export interface Timestamp {
85
85
  /** returns with a plain time based on the current timezone of the timestamp */
86
86
  toPlainTime(): PlainTime;
87
87
  setTimezone(timezone: TimezoneInput): Timestamp;
88
+ /**
89
+ * Returns the duration until the given timestamp.
90
+ * If the timestamp lies before this timestamp, the duration is negative.
91
+ * If the timestamp lies after this timestamp, the duration is positive.
92
+ */
93
+ until(otherTimestamp: TimestampInput): Duration;
94
+ /**
95
+ * Returns the duration since the given timestamp.
96
+ * If the timestamp lies before this timestamp, the duration is positive.
97
+ * If the timestamp lies after this timestamp, the duration is negative.
98
+ */
99
+ since(otherTimestamp: TimestampInput): Duration;
88
100
  }
package/package.json CHANGED
@@ -1,46 +1,50 @@
1
1
  {
2
2
  "name": "@wisemen/datewise",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
4
7
  "main": "./dist/index.js",
5
8
  "types": "./dist/index.d.ts",
6
9
  "type": "module",
7
10
  "files": [
8
11
  "dist/"
9
12
  ],
10
- "scripts": {
11
- "prebuild": "rm -rf ./dist",
12
- "clean": "rm -rf ./dist",
13
- "build": "tsc",
14
- "pretest": "npm run clean && npm run build",
15
- "test": "node --env-file=.env.test --test ./**/*.test.js",
16
- "lint": "eslint --cache",
17
- "prerelease": "npm run build",
18
- "release": "pnpx release-it"
19
- },
20
13
  "peerDependencies": {
21
- "@nestjs/swagger": "^11.2.6",
22
- "@wisemen/pagination": "^0.0.12",
23
- "@wisemen/quantity": "0.3.4",
24
- "class-transformer": "^0.5.1",
25
- "class-validator": "^0.14.3",
26
- "dayjs": "^1.11.19",
27
- "typeorm": "^0.3.28"
14
+ "@nestjs/swagger": ">=11.2.6",
15
+ "class-transformer": ">=0.5.1",
16
+ "class-validator": ">=0.14.3",
17
+ "dayjs": ">=1.11.19",
18
+ "typeorm": ">=0.3.28"
28
19
  },
29
20
  "devDependencies": {
30
- "@nestjs/common": "^11.1.13",
31
- "@stylistic/eslint-plugin": "^5.8.0",
32
- "@types/node": "^25.2.3",
33
- "@typescript-eslint/eslint-plugin": "^8.55.0",
34
- "@wisemen/eslint-config-nestjs": "^0.2.10",
21
+ "@nestjs/common": "11.1.14",
22
+ "@types/node": "25.3.0",
35
23
  "eslint": "9.39.2",
36
- "expect": "^30.2.0",
37
- "typescript": "^5.9.3"
24
+ "expect": "30.2.0",
25
+ "typescript": ">=4.8.4 <=5.9.3",
26
+ "@wisemen/eslint-config-nestjs": "0.2.11"
38
27
  },
39
28
  "author": "Wisemen",
40
29
  "contributors": [],
41
30
  "license": "GPL",
42
31
  "repository": {
43
32
  "type": "git",
44
- "url": "git@github.com:wisemen-digital/node-core.git"
33
+ "url": "https://github.com/wisemen-digital/wisemen-core",
34
+ "directory": "packages/datewise"
35
+ },
36
+ "dependencies": {
37
+ "@wisemen/pagination": "0.0.13",
38
+ "@wisemen/quantity": "0.4.0"
39
+ },
40
+ "scripts": {
41
+ "prebuild": "rm -rf ./dist",
42
+ "clean": "rm -rf ./dist",
43
+ "build": "tsc",
44
+ "pretest": "npm run clean && npm run build",
45
+ "test": "node --env-file=.env.test --experimental-test-isolation=none --test ./**/*.test.js",
46
+ "lint": "eslint --cache",
47
+ "prerelease": "npm run build",
48
+ "release": "pnpx release-it"
45
49
  }
46
- }
50
+ }