@thisisagile/easy 8.42.0 → 8.42.3
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/Child.d.ts +1 -1
- package/dist/domain/Child.js +1 -1
- package/dist/domain/Child.js.map +1 -1
- package/dist/domain/Entity.d.ts +1 -1
- package/dist/domain/Entity.js +3 -5
- package/dist/domain/Entity.js.map +1 -1
- package/dist/domain/Repo.d.ts +1 -0
- package/dist/domain/Repo.js +6 -2
- package/dist/domain/Repo.js.map +1 -1
- package/dist/domain/Struct.d.ts +1 -1
- package/dist/domain/Struct.js.map +1 -1
- package/package.json +2 -2
- package/src/domain/Child.ts +2 -1
- package/src/domain/Entity.ts +5 -8
- package/src/domain/Repo.ts +12 -5
- package/src/domain/Struct.ts +1 -1
package/dist/domain/Child.d.ts
CHANGED
package/dist/domain/Child.js
CHANGED
|
@@ -17,7 +17,7 @@ class Child extends Struct_1.Struct {
|
|
|
17
17
|
constructor() {
|
|
18
18
|
super(...arguments);
|
|
19
19
|
this.id = this.state.id ?? (0, types_1.toId)();
|
|
20
|
-
this.merge = (a) => types_1.json.
|
|
20
|
+
this.merge = (a) => types_1.json.merge(this, a, { id: this.id });
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
__decorate([
|
package/dist/domain/Child.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Child.js","sourceRoot":"","sources":["../../src/domain/Child.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAkC;AAClC,oCAAgD;AAChD,8CAAyC;AAEzC,MAAsB,KAAM,SAAQ,eAAM;IAA1C;;QACuB,OAAE,GAAO,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,IAAA,YAAI,GAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Child.js","sourceRoot":"","sources":["../../src/domain/Child.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAkC;AAClC,oCAAgD;AAChD,8CAAyC;AAEzC,MAAsB,KAAM,SAAQ,eAAM;IAA1C;;QACuB,OAAE,GAAO,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,IAAA,YAAI,GAAE,CAAC;QAE5C,UAAK,GAAG,CAAC,CAAU,EAAQ,EAAE,CAAC,YAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;CAAA;AAHa;IAAX,IAAA,qBAAQ,GAAE;;iCAA2C;AADxD,sBAIC"}
|
package/dist/domain/Entity.d.ts
CHANGED
package/dist/domain/Entity.js
CHANGED
|
@@ -20,12 +20,10 @@ class Entity extends Struct_1.Struct {
|
|
|
20
20
|
this.id = this.state.id ?? (0, types_1.toId)();
|
|
21
21
|
this.created = new Audit_1.Audit(this.state.created);
|
|
22
22
|
this.lastModified = new Audit_1.Audit(this.state.lastModified);
|
|
23
|
-
this.merge = (a) => types_1.json.
|
|
24
|
-
...this,
|
|
25
|
-
...a,
|
|
23
|
+
this.merge = (a) => types_1.json.merge(this, a, {
|
|
26
24
|
id: this.id,
|
|
27
|
-
created: this.created
|
|
28
|
-
lastModified: new Audit_1.Audit()
|
|
25
|
+
created: this.created,
|
|
26
|
+
lastModified: new Audit_1.Audit(),
|
|
29
27
|
});
|
|
30
28
|
}
|
|
31
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../src/domain/Entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAkC;AAClC,oCAAgD;AAChD,8CAAyC;AACzC,mCAAgC;AAEhC,MAAsB,MAAO,SAAQ,eAAM;IAA3C;;QACuB,OAAE,GAAO,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,IAAA,YAAI,GAAE,CAAC;QACjC,YAAO,GAAU,IAAI,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,iBAAY,GAAU,IAAI,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEpE,UAAK,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../src/domain/Entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAkC;AAClC,oCAAgD;AAChD,8CAAyC;AACzC,mCAAgC;AAEhC,MAAsB,MAAO,SAAQ,eAAM;IAA3C;;QACuB,OAAE,GAAO,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,IAAA,YAAI,GAAE,CAAC;QACjC,YAAO,GAAU,IAAI,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,iBAAY,GAAU,IAAI,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEpE,UAAK,GAAG,CAAC,CAAU,EAAQ,EAAE,CAAC,YAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE;YAC1D,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,aAAK,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;CAAA;AATa;IAAX,IAAA,qBAAQ,GAAE;;kCAA2C;AAC1C;IAAX,IAAA,qBAAQ,GAAE;8BAAmB,aAAK;uCAAiC;AACxD;IAAX,IAAA,qBAAQ,GAAE;8BAAwB,aAAK;4CAAsC;AAHhF,wBAUC"}
|
package/dist/domain/Repo.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export declare class Repo<T extends Struct> {
|
|
|
13
13
|
add(json: Json): Promise<T>;
|
|
14
14
|
update(id: Id, json: Json): Promise<T>;
|
|
15
15
|
remove(id: Id): Promise<boolean>;
|
|
16
|
+
extend(item: T): Promise<T>;
|
|
16
17
|
validate(item: T): Promise<T>;
|
|
17
18
|
upsert(id: Id, item: Json): Promise<T>;
|
|
18
19
|
}
|
package/dist/domain/Repo.js
CHANGED
|
@@ -31,8 +31,8 @@ class Repo {
|
|
|
31
31
|
return this.gateway.exists(id);
|
|
32
32
|
}
|
|
33
33
|
add(json) {
|
|
34
|
-
return
|
|
35
|
-
.not.isValid.reject()
|
|
34
|
+
return this.extend(new this.ctor(json))
|
|
35
|
+
.then(i => (0, validation_1.when)(i).not.isValid.reject())
|
|
36
36
|
.then(i => this.validate(i))
|
|
37
37
|
.then(i => this.gateway.add((0, types_1.toJson)(i)))
|
|
38
38
|
.then(j => new this.ctor(j));
|
|
@@ -42,6 +42,7 @@ class Repo {
|
|
|
42
42
|
.byId(id)
|
|
43
43
|
.then(j => (0, validation_1.when)(j).not.isDefined.reject(types_1.Exception.DoesNotExist))
|
|
44
44
|
.then(j => new this.ctor(j).update(json))
|
|
45
|
+
.then(i => this.extend(i))
|
|
45
46
|
.then(i => (0, validation_1.when)(i).not.isValid.reject())
|
|
46
47
|
.then(i => this.validate(i))
|
|
47
48
|
.then(i => this.gateway.update((0, types_1.toJson)(i)))
|
|
@@ -50,6 +51,9 @@ class Repo {
|
|
|
50
51
|
remove(id) {
|
|
51
52
|
return this.gateway.remove(id);
|
|
52
53
|
}
|
|
54
|
+
extend(item) {
|
|
55
|
+
return (0, utils_1.resolve)(item);
|
|
56
|
+
}
|
|
53
57
|
validate(item) {
|
|
54
58
|
return (0, utils_1.resolve)(item);
|
|
55
59
|
}
|
package/dist/domain/Repo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Repo.js","sourceRoot":"","sources":["../../src/domain/Repo.ts"],"names":[],"mappings":";;;AAAA,oCAAmG;AACnG,8CAAqC;AACrC,oCAA2C;AAG3C,MAAa,IAAI;IACf,YAAsB,IAAoB,EAAmB,OAAgB;QAAvD,SAAI,GAAJ,IAAI,CAAgB;QAAmB,YAAO,GAAP,OAAO,CAAS;
|
|
1
|
+
{"version":3,"file":"Repo.js","sourceRoot":"","sources":["../../src/domain/Repo.ts"],"names":[],"mappings":";;;AAAA,oCAAmG;AACnG,8CAAqC;AACrC,oCAA2C;AAG3C,MAAa,IAAI;IACf,YAAsB,IAAoB,EAAmB,OAAgB;QAAvD,SAAI,GAAJ,IAAI,CAAgB;QAAmB,YAAO,GAAP,OAAO,CAAS;IAC7E,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,CAAC,EAAM;QACT,OAAO,IAAI,CAAC,OAAO;aAChB,IAAI,CAAC,EAAE,CAAC;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAI,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAS,CAAC,YAAY,CAAC,CAAC;aAC/D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,GAAQ;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,EAAE,CAAC,GAAY,EAAE,KAAgB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,CAAC,CAAY;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,EAAM;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,IAAU;QAEZ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAI,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC,CAAC;aACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,EAAM,EAAE,IAAU;QACvB,OAAO,IAAI,CAAC,OAAO;aAChB,IAAI,CAAC,EAAE,CAAC;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAI,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAS,CAAC,YAAY,CAAC,CAAC;aAC/D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAM,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAI,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC,CAAC;aACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,EAAM;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,IAAO;QACZ,OAAO,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,IAAO;QACd,OAAO,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,EAAM,EAAE,IAAU;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3G,CAAC;CACF;AAnED,oBAmEC"}
|
package/dist/domain/Struct.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Struct.js","sourceRoot":"","sources":["../../src/domain/Struct.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AACnD,8CAAyC;AAEzC,MAAsB,MAAM;IAC1B,YAA+B,QAAa,EAAE;QAAf,UAAK,GAAL,KAAK,CAAU;QAc9C,WAAM,GAAG,CAAC,IAAU,EAAU,EAAE,CAAC,IAAI,CAAC;QAE5B,UAAK,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"Struct.js","sourceRoot":"","sources":["../../src/domain/Struct.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AACnD,8CAAyC;AAEzC,MAAsB,MAAM;IAC1B,YAA+B,QAAa,EAAE;QAAf,UAAK,GAAL,KAAK,CAAU;QAc9C,WAAM,GAAG,CAAC,IAAU,EAAU,EAAE,CAAC,IAAI,CAAC;QAE5B,UAAK,GAAG,CAAC,CAAU,EAAQ,EAAE,CAAC,YAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAhBX,CAAC;IAElD,IAAI,OAAO;QACT,OAAO,IAAA,qBAAQ,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,MAAM;QACJ,OAAO,YAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,CAAC;CAKF;AAlBD,wBAkBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "8.42.
|
|
3
|
+
"version": "8.42.3",
|
|
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.42.
|
|
34
|
+
"@thisisagile/easy-test": "8.42.3",
|
|
35
35
|
"@types/form-urlencoded": "^4.4.0",
|
|
36
36
|
"@types/jsonwebtoken": "^8.5.8",
|
|
37
37
|
"@types/validator": "^13.7.1"
|
package/src/domain/Child.ts
CHANGED
|
@@ -4,5 +4,6 @@ import { required } from '../validation';
|
|
|
4
4
|
|
|
5
5
|
export abstract class Child extends Struct {
|
|
6
6
|
@required() readonly id: Id = this.state.id ?? toId();
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
protected merge = (a: unknown): Json => json.merge(this, a, { id: this.id });
|
|
8
9
|
}
|
package/src/domain/Entity.ts
CHANGED
|
@@ -8,12 +8,9 @@ export abstract class Entity extends Struct {
|
|
|
8
8
|
@required() readonly created: Audit = new Audit(this.state.created);
|
|
9
9
|
@required() readonly lastModified: Audit = new Audit(this.state.lastModified);
|
|
10
10
|
|
|
11
|
-
protected merge = (a:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
created: this.created.toJSON(),
|
|
17
|
-
lastModified: new Audit().toJSON(),
|
|
18
|
-
});
|
|
11
|
+
protected merge = (a: unknown): Json => json.merge(this, a, {
|
|
12
|
+
id: this.id,
|
|
13
|
+
created: this.created,
|
|
14
|
+
lastModified: new Audit(),
|
|
15
|
+
});
|
|
19
16
|
}
|
package/src/domain/Repo.ts
CHANGED
|
@@ -4,7 +4,8 @@ import { reject, resolve } from '../utils';
|
|
|
4
4
|
import { Struct } from './Struct';
|
|
5
5
|
|
|
6
6
|
export class Repo<T extends Struct> {
|
|
7
|
-
constructor(protected ctor: Constructor<T>, private readonly gateway: Gateway) {
|
|
7
|
+
constructor(protected ctor: Constructor<T>, private readonly gateway: Gateway) {
|
|
8
|
+
}
|
|
8
9
|
|
|
9
10
|
all(): Promise<List<T>> {
|
|
10
11
|
return this.gateway.all().then(js => js.map(j => new this.ctor(j)));
|
|
@@ -34,8 +35,9 @@ export class Repo<T extends Struct> {
|
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
add(json: Json): Promise<T> {
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
|
|
39
|
+
return this.extend(new this.ctor(json))
|
|
40
|
+
.then(i => when(i).not.isValid.reject())
|
|
39
41
|
.then(i => this.validate(i))
|
|
40
42
|
.then(i => this.gateway.add(toJson(i)))
|
|
41
43
|
.then(j => new this.ctor(j));
|
|
@@ -45,8 +47,9 @@ export class Repo<T extends Struct> {
|
|
|
45
47
|
return this.gateway
|
|
46
48
|
.byId(id)
|
|
47
49
|
.then(j => when(j).not.isDefined.reject(Exception.DoesNotExist))
|
|
48
|
-
.then(j => new this.ctor(j).update(json))
|
|
49
|
-
.then(i =>
|
|
50
|
+
.then(j => new this.ctor(j).update(json) as T)
|
|
51
|
+
.then(i => this.extend(i))
|
|
52
|
+
.then(i => when(i).not.isValid.reject())
|
|
50
53
|
.then(i => this.validate(i))
|
|
51
54
|
.then(i => this.gateway.update(toJson(i)))
|
|
52
55
|
.then(j => new this.ctor(j));
|
|
@@ -56,6 +59,10 @@ export class Repo<T extends Struct> {
|
|
|
56
59
|
return this.gateway.remove(id);
|
|
57
60
|
}
|
|
58
61
|
|
|
62
|
+
extend(item: T): Promise<T> {
|
|
63
|
+
return resolve(item);
|
|
64
|
+
}
|
|
65
|
+
|
|
59
66
|
validate(item: T): Promise<T> {
|
|
60
67
|
return resolve(item);
|
|
61
68
|
}
|
package/src/domain/Struct.ts
CHANGED