@thisisagile/easy 11.6.4 → 11.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,9 @@
1
1
  import { JsonValue, Value } from '../../types';
2
2
  import { DateTime as LuxonDateTime, DateTimeUnit as LuxonDateTimeUnit } from 'luxon';
3
3
  export declare type DateTimeUnit = LuxonDateTimeUnit;
4
+ export declare type DiffOptions = {
5
+ rounding: 'floor' | 'ceil' | 'round';
6
+ };
4
7
  export declare class DateTime extends Value<string | undefined> {
5
8
  constructor(value?: string | number | Date, format?: string);
6
9
  static get now(): DateTime;
@@ -16,7 +19,7 @@ export declare class DateTime extends Value<string | undefined> {
16
19
  equals(dt: DateTime): boolean;
17
20
  add: (n: number, unit?: DateTimeUnit) => DateTime;
18
21
  subtract: (n: number, unit?: DateTimeUnit) => DateTime;
19
- diff: (other: DateTime, unit?: DateTimeUnit) => number;
22
+ diff: (other: DateTime, unit?: DateTimeUnit, opts?: DiffOptions) => number;
20
23
  startOf: (unit?: DateTimeUnit) => DateTime;
21
24
  endOf: (unit?: DateTimeUnit) => DateTime;
22
25
  withZone: (zone: string) => DateTime;
@@ -13,7 +13,7 @@ class DateTime extends types_1.Value {
13
13
  .else(undefined));
14
14
  this.add = (n, unit = 'day') => new DateTime(this.luxon.plus({ [unit]: n }).toISO());
15
15
  this.subtract = (n, unit = 'day') => new DateTime(this.luxon.minus({ [unit]: n }).toISO());
16
- this.diff = (other, unit = 'day') => Math.floor(this.utc.diff(other.utc).as(unit));
16
+ this.diff = (other, unit = 'day', opts) => Math[opts?.rounding ?? 'floor'](this.utc.diff(other.utc).as(unit));
17
17
  this.startOf = (unit = 'day') => new DateTime(this.luxon.startOf(unit).toISO());
18
18
  this.endOf = (unit = 'day') => new DateTime(this.luxon.endOf(unit).toISO());
19
19
  this.withZone = (zone) => new DateTime(this.utc.setZone(zone).toISO());
@@ -1 +1 @@
1
- {"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../../../src/domain/values/DateTime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../../../src/domain/values/DateTime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "11.6.4",
3
+ "version": "11.6.8",
4
4
  "description": "Straightforward library for building domain-driven microservice architectures",
5
5
  "author": "Sander Hoogendoorn",
6
6
  "license": "MIT",
@@ -31,7 +31,7 @@
31
31
  "access": "public"
32
32
  },
33
33
  "devDependencies": {
34
- "@thisisagile/easy-test": "11.6.4",
34
+ "@thisisagile/easy-test": "11.6.8",
35
35
  "@types/form-urlencoded": "^4.4.0",
36
36
  "@types/jsonwebtoken": "^8.5.8",
37
37
  "@types/luxon": "3.0.0",
@@ -40,7 +40,7 @@
40
40
  "dependencies": {
41
41
  "@types/uuid": "^8.3.4",
42
42
  "axios": "^0.27.2",
43
- "form-urlencoded": "^6.0.6",
43
+ "form-urlencoded": "^6.1.0",
44
44
  "jsonwebtoken": "^8.5.1",
45
45
  "luxon": "^3.0.1",
46
46
  "reflect-metadata": "^0.1.13",
@@ -4,6 +4,9 @@ import { DateTime as LuxonDateTime, DateTimeUnit as LuxonDateTimeUnit, Settings
4
4
  Settings.defaultZone = 'utc';
5
5
 
6
6
  export type DateTimeUnit = LuxonDateTimeUnit;
7
+ export type DiffOptions = {
8
+ rounding: 'floor' | 'ceil' | 'round';
9
+ };
7
10
 
8
11
  export class DateTime extends Value<string | undefined> {
9
12
  constructor(value?: string | number | Date, format?: string) {
@@ -64,7 +67,7 @@ export class DateTime extends Value<string | undefined> {
64
67
 
65
68
  subtract = (n: number, unit: DateTimeUnit = 'day'): DateTime => new DateTime(this.luxon.minus({ [unit]: n }).toISO());
66
69
 
67
- diff = (other: DateTime, unit: DateTimeUnit = 'day'): number => Math.floor(this.utc.diff(other.utc).as(unit));
70
+ diff = (other: DateTime, unit: DateTimeUnit = 'day', opts?: DiffOptions): number => Math[opts?.rounding ?? 'floor'](this.utc.diff(other.utc).as(unit));
68
71
 
69
72
  startOf = (unit: DateTimeUnit = 'day'): DateTime => new DateTime(this.luxon.startOf(unit).toISO());
70
73