@thisisagile/easy 8.41.10 → 8.41.18
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 +4 -4
- package/dist/domain/structs/Address.js +4 -4
- package/dist/domain/structs/Address.js.map +1 -1
- package/dist/types/Text.d.ts +1 -1
- package/dist/types/Text.js +1 -1
- package/dist/types/Text.js.map +1 -1
- package/package.json +2 -2
- package/src/domain/structs/Address.ts +5 -5
- package/src/types/Text.ts +10 -9
package/README.md
CHANGED
|
@@ -66,10 +66,10 @@ All classes that inherit from `Record` or `Entity` will have an internal object
|
|
|
66
66
|
An example of an entity is the `Movie` class below. Here the content of the object comes from an external service (called OMDb), and is mapped to the actual properties of the `Movie` class.
|
|
67
67
|
|
|
68
68
|
export class Movie extends Entity {
|
|
69
|
-
@required() readonly id
|
|
70
|
-
@required() readonly title
|
|
71
|
-
@required() readonly year
|
|
72
|
-
readonly poster
|
|
69
|
+
@required() readonly id = this.state.imdbID as Id;
|
|
70
|
+
@required() readonly title = this.state.Title as string;
|
|
71
|
+
@required() readonly year = this.state.Year as number;
|
|
72
|
+
readonly poster = this.state.Poster as string;
|
|
73
73
|
|
|
74
74
|
update = (add?: Json): Movie => new Movie(this.toJSON(add));
|
|
75
75
|
}
|
|
@@ -37,11 +37,11 @@ class Address extends Struct_1.Struct {
|
|
|
37
37
|
}
|
|
38
38
|
__decorate([
|
|
39
39
|
(0, validation_1.required)(),
|
|
40
|
-
__metadata("design:type",
|
|
40
|
+
__metadata("design:type", Object)
|
|
41
41
|
], Address.prototype, "street", void 0);
|
|
42
42
|
__decorate([
|
|
43
43
|
(0, validation_1.required)(),
|
|
44
|
-
__metadata("design:type",
|
|
44
|
+
__metadata("design:type", Object)
|
|
45
45
|
], Address.prototype, "houseNumber", void 0);
|
|
46
46
|
__decorate([
|
|
47
47
|
(0, validation_1.valid)(),
|
|
@@ -49,11 +49,11 @@ __decorate([
|
|
|
49
49
|
], Address.prototype, "postalCode", void 0);
|
|
50
50
|
__decorate([
|
|
51
51
|
(0, validation_1.required)(),
|
|
52
|
-
__metadata("design:type",
|
|
52
|
+
__metadata("design:type", Object)
|
|
53
53
|
], Address.prototype, "city", void 0);
|
|
54
54
|
__decorate([
|
|
55
55
|
(0, validation_1.required)(),
|
|
56
|
-
__metadata("design:type",
|
|
56
|
+
__metadata("design:type", Object)
|
|
57
57
|
], Address.prototype, "country", void 0);
|
|
58
58
|
exports.Address = Address;
|
|
59
59
|
const isAddress = (a) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Address.js","sourceRoot":"","sources":["../../../src/domain/structs/Address.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAwD;AACxD,sCAAmC;AACnC,iDAAmD;AACnD,oCAAmC;AACnC,sCAAuC;AAEvC,MAAa,OAAQ,SAAQ,eAAM;IAAnC;;QACuB,WAAM,
|
|
1
|
+
{"version":3,"file":"Address.js","sourceRoot":"","sources":["../../../src/domain/structs/Address.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAwD;AACxD,sCAAmC;AACnC,iDAAmD;AACnD,oCAAmC;AACnC,sCAAuC;AAEvC,MAAa,OAAQ,SAAQ,eAAM;IAAnC;;QACuB,WAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAgB,CAAC;QACrC,gBAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAqB,CAAC;QAC3D,cAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAmB,CAAC;QAClC,eAAU,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,SAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAc,CAAC;QACjC,YAAO,GAAG,eAAO,CAAC,IAAI,CAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAW3E,CAAC;IATC,QAAQ;QACN,OAAO,IAAA,YAAI,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;aACzB,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC;aAC1B,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC;aACxB,GAAG,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC;aAC3E,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;aACnB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC;aAC5B,QAAQ,EAAE,CAAC;IAChB,CAAC;CACF;AAhBa;IAAX,IAAA,qBAAQ,GAAE;;uCAA+C;AAC9C;IAAX,IAAA,qBAAQ,GAAE;;4CAAyD;AAE3D;IAAR,IAAA,kBAAK,GAAE;;2CAA6E;AACzE;IAAX,IAAA,qBAAQ,GAAE;;qCAA2C;AAC1C;IAAX,IAAA,qBAAQ,GAAE;;wCAA8D;AAN3E,0BAiBC;AAEM,MAAM,SAAS,GAAG,CAAC,CAAW,EAAgB,EAAE;IACrD,OAAO,CAAC,IAAA,eAAO,EAAC,CAAC,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC;AAC7C,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB"}
|
package/dist/types/Text.d.ts
CHANGED
|
@@ -21,10 +21,10 @@ export declare class ToText implements Text {
|
|
|
21
21
|
get sentence(): ToText;
|
|
22
22
|
get initials(): ToText;
|
|
23
23
|
get trim(): ToText;
|
|
24
|
+
get isEmpty(): boolean;
|
|
24
25
|
parse: (subject: unknown, options?: {}) => ToText;
|
|
25
26
|
is: (...others: unknown[]) => boolean;
|
|
26
27
|
equals: (...others: unknown[]) => boolean;
|
|
27
|
-
get isEmpty(): boolean;
|
|
28
28
|
isLike: (...others: unknown[]) => boolean;
|
|
29
29
|
ifLike: (...others: unknown[]) => this | undefined;
|
|
30
30
|
endsWith: (end?: unknown) => boolean;
|
package/dist/types/Text.js
CHANGED
|
@@ -26,7 +26,7 @@ class ToText {
|
|
|
26
26
|
this.last = (n) => this.map(s => s.substring(s.length - n));
|
|
27
27
|
this.map = (func) => (0, exports.text)((0, Get_1.ofGet)(func, this.subject));
|
|
28
28
|
this.replace = (search, replace) => this.map(s => (0, exports.replaceAll)(s, search, replace));
|
|
29
|
-
this.add = (add, separator = '') => this.map(s => ((0, Is_1.
|
|
29
|
+
this.add = (add, separator = '') => this.map(s => ((0, Is_1.isNotEmpty)(add) ? `${s}${separator}${(0, exports.text)(add)}` : s));
|
|
30
30
|
}
|
|
31
31
|
get cap() {
|
|
32
32
|
return this.map(s => s.charAt(0).toUpperCase() + s.slice(1).toLowerCase());
|
package/dist/types/Text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../src/types/Text.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../src/types/Text.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "8.41.
|
|
3
|
+
"version": "8.41.18",
|
|
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": "8.41.
|
|
34
|
+
"@thisisagile/easy-test": "8.41.18",
|
|
35
35
|
"@types/form-urlencoded": "^4.4.0",
|
|
36
36
|
"@types/jsonwebtoken": "^8.5.8",
|
|
37
37
|
"@types/validator": "^13.7.1"
|
|
@@ -5,12 +5,12 @@ import { Country } from '../enums';
|
|
|
5
5
|
import { postalCode } from '../values';
|
|
6
6
|
|
|
7
7
|
export class Address extends Struct {
|
|
8
|
-
@required() readonly street
|
|
9
|
-
@required() readonly houseNumber
|
|
10
|
-
readonly extension
|
|
8
|
+
@required() readonly street = this.state.street as string;
|
|
9
|
+
@required() readonly houseNumber = this.state.houseNumber as string;
|
|
10
|
+
readonly extension = this.state.extension as string;
|
|
11
11
|
@valid() readonly postalCode = postalCode(this.state.postalCode, this.state.country);
|
|
12
|
-
@required() readonly city
|
|
13
|
-
@required() readonly country
|
|
12
|
+
@required() readonly city = this.state.city as string;
|
|
13
|
+
@required() readonly country = Country.byId<Country>(this.state.country);
|
|
14
14
|
|
|
15
15
|
toString(): string {
|
|
16
16
|
return text(this.street, '')
|
package/src/types/Text.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isDefined, isEmpty } from './Is';
|
|
1
|
+
import { isDefined, isEmpty, isNotEmpty } from './Is';
|
|
2
2
|
import { toName } from './Constructor';
|
|
3
3
|
import { template } from './Template';
|
|
4
4
|
import { isFunc } from './Func';
|
|
@@ -13,7 +13,8 @@ export const asString = (t?: unknown, alt: Get<Text> = ''): string => (isText(t)
|
|
|
13
13
|
export const replaceAll = (origin: Text, search: Text, replace: Text = ''): string => asString(origin).split(asString(search)).join(asString(replace));
|
|
14
14
|
|
|
15
15
|
export class ToText implements Text {
|
|
16
|
-
constructor(readonly subject: string) {
|
|
16
|
+
constructor(readonly subject: string) {
|
|
17
|
+
}
|
|
17
18
|
|
|
18
19
|
get cap(): ToText {
|
|
19
20
|
return this.map(s => s.charAt(0).toUpperCase() + s.slice(1).toLowerCase());
|
|
@@ -24,7 +25,7 @@ export class ToText implements Text {
|
|
|
24
25
|
s
|
|
25
26
|
.split(' ')
|
|
26
27
|
.map(w => text(w).cap)
|
|
27
|
-
.join(' ')
|
|
28
|
+
.join(' '),
|
|
28
29
|
);
|
|
29
30
|
}
|
|
30
31
|
|
|
@@ -69,7 +70,7 @@ export class ToText implements Text {
|
|
|
69
70
|
s
|
|
70
71
|
.split(' ')
|
|
71
72
|
.map(w => w[0])
|
|
72
|
-
.join('')
|
|
73
|
+
.join(''),
|
|
73
74
|
);
|
|
74
75
|
}
|
|
75
76
|
|
|
@@ -77,16 +78,16 @@ export class ToText implements Text {
|
|
|
77
78
|
return this.map(s => s.replace(/ |-|,|_|#|/g, ''));
|
|
78
79
|
}
|
|
79
80
|
|
|
81
|
+
get isEmpty(): boolean {
|
|
82
|
+
return isEmpty(this.toString());
|
|
83
|
+
}
|
|
84
|
+
|
|
80
85
|
parse = (subject: unknown, options = {}): ToText => text(template(this.subject, subject, { type: toName(subject), ...options }));
|
|
81
86
|
|
|
82
87
|
is = (...others: unknown[]): boolean => others.some(o => this.toString() === text(o).toString());
|
|
83
88
|
|
|
84
89
|
equals = this.is;
|
|
85
90
|
|
|
86
|
-
get isEmpty(): boolean {
|
|
87
|
-
return isEmpty(this.toString());
|
|
88
|
-
}
|
|
89
|
-
|
|
90
91
|
isLike = (...others: unknown[]): boolean => others.some(o => this.trim.lower.is(text(o).trim.lower));
|
|
91
92
|
|
|
92
93
|
ifLike = (...others: unknown[]): this | undefined => (this.isLike(...others) ? this : undefined);
|
|
@@ -103,7 +104,7 @@ export class ToText implements Text {
|
|
|
103
104
|
|
|
104
105
|
replace = (search: Text, replace: Text): ToText => this.map(s => replaceAll(s, search, replace));
|
|
105
106
|
|
|
106
|
-
add = (add?: unknown, separator = ''): ToText => this.map(s => (
|
|
107
|
+
add = (add?: unknown, separator = ''): ToText => this.map(s => (isNotEmpty(add) ? `${s}${separator}${text(add)}` : s));
|
|
107
108
|
|
|
108
109
|
toString(): string {
|
|
109
110
|
return this.subject;
|