@thisisagile/easy 13.0.4 → 13.0.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.
- package/dist/domain/structs/Name.d.ts +9 -0
- package/dist/domain/structs/Name.js +38 -0
- package/dist/domain/structs/Name.js.map +1 -0
- package/dist/domain/structs/index.d.ts +1 -0
- package/dist/domain/structs/index.js +1 -0
- package/dist/domain/structs/index.js.map +1 -1
- package/dist/domain/values/DateTime.d.ts +3 -2
- package/dist/domain/values/DateTime.js +8 -6
- package/dist/domain/values/DateTime.js.map +1 -1
- package/package.json +2 -2
- package/src/domain/structs/Name.ts +15 -0
- package/src/domain/structs/index.ts +1 -0
- package/src/domain/values/DateTime.ts +13 -8
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Struct } from '../Struct';
|
|
2
|
+
import { Json } from '../../types';
|
|
3
|
+
export declare class Name extends Struct {
|
|
4
|
+
readonly first: string;
|
|
5
|
+
readonly middle: string;
|
|
6
|
+
readonly last: string;
|
|
7
|
+
toString(): string;
|
|
8
|
+
}
|
|
9
|
+
export declare const name: (n?: Json) => Name;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.name = exports.Name = void 0;
|
|
13
|
+
const Struct_1 = require("../Struct");
|
|
14
|
+
const validation_1 = require("../../validation");
|
|
15
|
+
const types_1 = require("../../types");
|
|
16
|
+
class Name extends Struct_1.Struct {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.first = this.state.first;
|
|
20
|
+
this.middle = this.state.middle;
|
|
21
|
+
this.last = this.state.last;
|
|
22
|
+
}
|
|
23
|
+
toString() {
|
|
24
|
+
return (0, types_1.text)(this.first, '').add(this.middle, ' ').add(this.last, ' ').toString();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, validation_1.required)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], Name.prototype, "first", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, validation_1.required)(),
|
|
33
|
+
__metadata("design:type", String)
|
|
34
|
+
], Name.prototype, "last", void 0);
|
|
35
|
+
exports.Name = Name;
|
|
36
|
+
const name = (n) => new Name(n);
|
|
37
|
+
exports.name = name;
|
|
38
|
+
//# sourceMappingURL=Name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Name.js","sourceRoot":"","sources":["../../../src/domain/structs/Name.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAmC;AACnC,iDAA4C;AAC5C,uCAAyC;AAEzC,MAAa,IAAK,SAAQ,eAAM;IAAhC;;QACuB,UAAK,GAAW,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7C,WAAM,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACvB,SAAI,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAKtD,CAAC;IAHC,QAAQ;QACN,OAAO,IAAA,YAAI,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnF,CAAC;CACF;AAPC;IAAC,IAAA,qBAAQ,GAAE;;mCAA2C;AAEtD;IAAC,IAAA,qBAAQ,GAAE;;kCAAyC;AAHtD,oBAQC;AAEM,MAAM,IAAI,GAAG,CAAC,CAAQ,EAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAAvC,QAAA,IAAI,QAAmC"}
|
|
@@ -18,5 +18,6 @@ __exportStar(require("./Address"), exports);
|
|
|
18
18
|
__exportStar(require("./Box"), exports);
|
|
19
19
|
__exportStar(require("./Dimension"), exports);
|
|
20
20
|
__exportStar(require("./Money"), exports);
|
|
21
|
+
__exportStar(require("./Name"), exports);
|
|
21
22
|
__exportStar(require("./Weight"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/structs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,wCAAsB;AACtB,8CAA4B;AAC5B,0CAAwB;AACxB,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/structs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,wCAAsB;AACtB,8CAA4B;AAC5B,0CAAwB;AACxB,yCAAuB;AACvB,2CAAyB"}
|
|
@@ -9,11 +9,11 @@ export declare class DateTime extends Value<Optional<string>> {
|
|
|
9
9
|
static get now(): DateTime;
|
|
10
10
|
get isValid(): boolean;
|
|
11
11
|
get fromNow(): string;
|
|
12
|
+
protected get utc(): LuxonDateTime;
|
|
13
|
+
protected get luxon(): LuxonDateTime;
|
|
12
14
|
from(date?: DateTime): string;
|
|
13
15
|
from(locale?: string): string;
|
|
14
16
|
from(date?: DateTime, locale?: string): string;
|
|
15
|
-
protected get utc(): LuxonDateTime;
|
|
16
|
-
protected get luxon(): LuxonDateTime;
|
|
17
17
|
isAfter(dt: DateTime): boolean;
|
|
18
18
|
isBefore(dt: DateTime): boolean;
|
|
19
19
|
equals(dt: DateTime): boolean;
|
|
@@ -31,3 +31,4 @@ export declare class DateTime extends Value<Optional<string>> {
|
|
|
31
31
|
toDate(): Optional<Date>;
|
|
32
32
|
}
|
|
33
33
|
export declare const isDateTime: (dt?: unknown) => dt is DateTime;
|
|
34
|
+
export declare const dt: (dt?: unknown) => DateTime;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isDateTime = exports.DateTime = void 0;
|
|
3
|
+
exports.dt = exports.isDateTime = exports.DateTime = void 0;
|
|
4
4
|
const types_1 = require("../../types");
|
|
5
5
|
const luxon_1 = require("luxon");
|
|
6
6
|
luxon_1.Settings.defaultZone = 'utc';
|
|
@@ -30,17 +30,17 @@ class DateTime extends types_1.Value {
|
|
|
30
30
|
get fromNow() {
|
|
31
31
|
return this.from();
|
|
32
32
|
}
|
|
33
|
-
from(param, other) {
|
|
34
|
-
const date = (0, types_1.isA)(param) ? param : undefined;
|
|
35
|
-
const locale = (0, types_1.isString)(param) ? param : undefined ?? other ?? 'en';
|
|
36
|
-
return (0, types_1.isDefined)(date) ? this.utc.setLocale(locale).toRelative({ base: date.utc }) : this.utc.setLocale(locale).toRelative();
|
|
37
|
-
}
|
|
38
33
|
get utc() {
|
|
39
34
|
return this.luxon.setZone('utc');
|
|
40
35
|
}
|
|
41
36
|
get luxon() {
|
|
42
37
|
return luxon_1.DateTime.fromISO(this.value, { setZone: true });
|
|
43
38
|
}
|
|
39
|
+
from(param, other) {
|
|
40
|
+
const date = (0, types_1.isA)(param) ? param : undefined;
|
|
41
|
+
const locale = (0, types_1.isString)(param) ? param : undefined ?? other ?? 'en';
|
|
42
|
+
return (0, types_1.isDefined)(date) ? this.utc.setLocale(locale).toRelative({ base: date.utc }) : this.utc.setLocale(locale).toRelative();
|
|
43
|
+
}
|
|
44
44
|
isAfter(dt) {
|
|
45
45
|
return this.utc > dt.utc;
|
|
46
46
|
}
|
|
@@ -63,4 +63,6 @@ class DateTime extends types_1.Value {
|
|
|
63
63
|
exports.DateTime = DateTime;
|
|
64
64
|
const isDateTime = (dt) => (0, types_1.isDefined)(dt) && dt instanceof DateTime;
|
|
65
65
|
exports.isDateTime = isDateTime;
|
|
66
|
+
const dt = (dt) => ((0, types_1.isString)(dt) || (0, types_1.isNumber)(dt) || dt instanceof Date ? new DateTime(dt) : new DateTime());
|
|
67
|
+
exports.dt = dt;
|
|
66
68
|
//# sourceMappingURL=DateTime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../../../src/domain/values/DateTime.ts"],"names":[],"mappings":";;;AAAA,uCAA6G;AAC7G,iCAA+F;AAE/F,gBAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;AAO7B,MAAa,QAAS,SAAQ,aAAuB;IACnD,YAAY,KAA8B,EAAE,MAAe;QACzD,KAAK,CACH,IAAA,cAAM,EAAC,KAAK,CAAC;aACV,IAAI,CAAC,gBAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAa,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAa,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;aAC5I,IAAI,CAAC,gBAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,gBAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;aACxD,IAAI,CAAC,cAAM,EAAE,CAAC,CAAC,EAAE,CAAC,gBAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;aACtD,IAAI,CAAC,SAA8B,CAAC,CACxC,CAAC;
|
|
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": "13.0.
|
|
3
|
+
"version": "13.0.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": "13.0.
|
|
34
|
+
"@thisisagile/easy-test": "13.0.8",
|
|
35
35
|
"@types/form-urlencoded": "^4.4.0",
|
|
36
36
|
"@types/jsonwebtoken": "^9.0.1",
|
|
37
37
|
"@types/luxon": "3.2.0",
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Struct } from '../Struct';
|
|
2
|
+
import { required } from '../../validation';
|
|
3
|
+
import { Json, text } from '../../types';
|
|
4
|
+
|
|
5
|
+
export class Name extends Struct {
|
|
6
|
+
@required() readonly first: string = this.state.first;
|
|
7
|
+
readonly middle: string = this.state.middle;
|
|
8
|
+
@required() readonly last: string = this.state.last;
|
|
9
|
+
|
|
10
|
+
toString(): string {
|
|
11
|
+
return text(this.first, '').add(this.middle, ' ').add(this.last, ' ').toString();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const name = (n?: Json): Name => new Name(n);
|
|
@@ -34,23 +34,26 @@ export class DateTime extends Value<Optional<string>> {
|
|
|
34
34
|
return this.from();
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
protected get utc(): LuxonDateTime {
|
|
38
|
+
return this.luxon.setZone('utc');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
protected get luxon(): LuxonDateTime {
|
|
42
|
+
return LuxonDateTime.fromISO(this.value as string, { setZone: true });
|
|
43
|
+
}
|
|
44
|
+
|
|
37
45
|
from(date?: DateTime): string;
|
|
46
|
+
|
|
38
47
|
from(locale?: string): string;
|
|
48
|
+
|
|
39
49
|
from(date?: DateTime, locale?: string): string;
|
|
50
|
+
|
|
40
51
|
from(param?: string | DateTime, other?: string): string {
|
|
41
52
|
const date: Optional<DateTime> = isA<DateTime>(param) ? param : undefined;
|
|
42
53
|
const locale: string = isString(param) ? param : undefined ?? other ?? 'en';
|
|
43
54
|
return isDefined(date) ? (this.utc.setLocale(locale).toRelative({ base: date.utc }) as string) : (this.utc.setLocale(locale).toRelative() as string);
|
|
44
55
|
}
|
|
45
56
|
|
|
46
|
-
protected get utc(): LuxonDateTime {
|
|
47
|
-
return this.luxon.setZone('utc');
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
protected get luxon(): LuxonDateTime {
|
|
51
|
-
return LuxonDateTime.fromISO(this.value as string, { setZone: true });
|
|
52
|
-
}
|
|
53
|
-
|
|
54
57
|
isAfter(dt: DateTime): boolean {
|
|
55
58
|
return this.utc > dt.utc;
|
|
56
59
|
}
|
|
@@ -95,3 +98,5 @@ export class DateTime extends Value<Optional<string>> {
|
|
|
95
98
|
}
|
|
96
99
|
|
|
97
100
|
export const isDateTime = (dt?: unknown): dt is DateTime => isDefined(dt) && dt instanceof DateTime;
|
|
101
|
+
|
|
102
|
+
export const dt = (dt?: unknown): DateTime => (isString(dt) || isNumber(dt) || dt instanceof Date ? new DateTime(dt) : new DateTime());
|