@thisisagile/easy 8.44.6 → 8.44.10
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/Repo.d.ts +2 -1
- package/dist/domain/Repo.js +3 -2
- package/dist/domain/Repo.js.map +1 -1
- package/dist/types/Exception.d.ts +1 -0
- package/dist/types/Exception.js +3 -1
- package/dist/types/Exception.js.map +1 -1
- package/package.json +2 -2
- package/src/domain/Repo.ts +5 -3
- package/src/types/Exception.ts +1 -0
package/dist/domain/Repo.d.ts
CHANGED
|
@@ -4,13 +4,14 @@ export declare class Repo<T extends Struct> {
|
|
|
4
4
|
protected ctor: Constructor<T>;
|
|
5
5
|
private readonly gateway;
|
|
6
6
|
constructor(ctor: Constructor<T>, gateway: Gateway);
|
|
7
|
+
create: (item: T | Json) => T;
|
|
7
8
|
all(): Promise<List<T>>;
|
|
8
9
|
byId(id: Id): Promise<T>;
|
|
9
10
|
byKey(key: Key): Promise<List<T>>;
|
|
10
11
|
by(key: keyof T, value: JsonValue): Promise<List<T>>;
|
|
11
12
|
search(q: JsonValue): Promise<List<T>>;
|
|
12
13
|
exists(id: Id): Promise<boolean>;
|
|
13
|
-
add(
|
|
14
|
+
add(t: T | Json): Promise<T>;
|
|
14
15
|
update(id: Id, json: Json): Promise<T>;
|
|
15
16
|
remove(id: Id): Promise<boolean>;
|
|
16
17
|
extend(item: T): Promise<T>;
|
package/dist/domain/Repo.js
CHANGED
|
@@ -8,6 +8,7 @@ class Repo {
|
|
|
8
8
|
constructor(ctor, gateway) {
|
|
9
9
|
this.ctor = ctor;
|
|
10
10
|
this.gateway = gateway;
|
|
11
|
+
this.create = (item) => (0, types_1.isValidatable)(item) ? item : new this.ctor(item);
|
|
11
12
|
}
|
|
12
13
|
all() {
|
|
13
14
|
return this.gateway.all().then(js => js.map(j => new this.ctor(j)));
|
|
@@ -30,8 +31,8 @@ class Repo {
|
|
|
30
31
|
exists(id) {
|
|
31
32
|
return this.gateway.exists(id);
|
|
32
33
|
}
|
|
33
|
-
add(
|
|
34
|
-
return this.extend(
|
|
34
|
+
add(t) {
|
|
35
|
+
return this.extend(this.create(t))
|
|
35
36
|
.then(i => (0, validation_1.when)(i).not.isValid.reject())
|
|
36
37
|
.then(i => this.validate(i))
|
|
37
38
|
.then(i => this.gateway.add((0, types_1.toJson)(i)))
|
package/dist/domain/Repo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Repo.js","sourceRoot":"","sources":["../../src/domain/Repo.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Repo.js","sourceRoot":"","sources":["../../src/domain/Repo.ts"],"names":[],"mappings":"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"}
|
package/dist/types/Exception.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isException = exports.Exception = void 0;
|
|
3
|
+
exports.isDoesNotExist = exports.isException = exports.Exception = void 0;
|
|
4
4
|
const Text_1 = require("./Text");
|
|
5
5
|
const Enum_1 = require("./Enum");
|
|
6
6
|
const Is_1 = require("./Is");
|
|
@@ -24,4 +24,6 @@ Exception.CouldNotValidate = (target) => new Exception(`Could not validate ${tar
|
|
|
24
24
|
Exception.EnvironmentVariableNotFound = (variable) => new Exception(`Environment variable ${(0, Text_1.text)(variable).upper} could not be found.`, 'EnvironmentVariableNotFound');
|
|
25
25
|
const isException = (e, t) => e instanceof Exception && ((0, Is_1.isDefined)(t) ? e.equals((0, Text_1.asString)(t)) : true);
|
|
26
26
|
exports.isException = isException;
|
|
27
|
+
const isDoesNotExist = (e) => e instanceof Exception && Exception.DoesNotExist.equals(e);
|
|
28
|
+
exports.isDoesNotExist = isDoesNotExist;
|
|
27
29
|
//# sourceMappingURL=Exception.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Exception.js","sourceRoot":"","sources":["../../src/types/Exception.ts"],"names":[],"mappings":";;;AAAA,iCAA8C;AAC9C,iCAA8B;AAC9B,6BAAiC;AAGjC,MAAa,SAAU,SAAQ,WAAI;IAQjC,YAAqB,OAAe,EAAE,EAAO,EAAW,MAAa;QACnE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,IAAA,WAAI,EAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QADnC,YAAO,GAAP,OAAO,CAAQ;QAAoB,WAAM,GAAN,MAAM,CAAO;QAWrE,YAAO,GAAG,CAAC,MAAY,EAAa,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IATpF,CAAC;;AAVH,8BAoBC;AAnBiB,uBAAa,GAAG,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;AACxD,sBAAY,GAAG,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAC/C,qBAAW,GAAG,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;AACxD,0BAAgB,GAAG,IAAI,SAAS,CAAC,oBAAoB,CAAC,CAAC;AACvD,oBAAU,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;AAC3C,iBAAO,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;AAMzC,yBAAe,GAAG,CAAC,MAAY,EAAa,EAAE,CAAC,IAAI,SAAS,CAAC,qBAAqB,MAAM,GAAG,EAAE,iBAAiB,CAAC,CAAC;AAEhH,0BAAgB,GAAG,CAAC,MAAY,EAAa,EAAE,CAAC,IAAI,SAAS,CAAC,sBAAsB,MAAM,GAAG,EAAE,kBAAkB,CAAC,CAAC;AAEnH,qCAA2B,GAAG,CAAC,QAAc,EAAa,EAAE,CAC1E,IAAI,SAAS,CAAC,wBAAwB,IAAA,WAAI,EAAC,QAAQ,CAAC,CAAC,KAAK,sBAAsB,EAAE,6BAA6B,CAAC,CAAC;AAK9G,MAAM,WAAW,GAAG,CAAC,CAAW,EAAE,CAAQ,EAAkB,EAAE,CAAC,CAAC,YAAY,SAAS,IAAI,CAAC,IAAA,cAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAAjI,QAAA,WAAW,eAAsH"}
|
|
1
|
+
{"version":3,"file":"Exception.js","sourceRoot":"","sources":["../../src/types/Exception.ts"],"names":[],"mappings":";;;AAAA,iCAA8C;AAC9C,iCAA8B;AAC9B,6BAAiC;AAGjC,MAAa,SAAU,SAAQ,WAAI;IAQjC,YAAqB,OAAe,EAAE,EAAO,EAAW,MAAa;QACnE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,IAAA,WAAI,EAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QADnC,YAAO,GAAP,OAAO,CAAQ;QAAoB,WAAM,GAAN,MAAM,CAAO;QAWrE,YAAO,GAAG,CAAC,MAAY,EAAa,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IATpF,CAAC;;AAVH,8BAoBC;AAnBiB,uBAAa,GAAG,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;AACxD,sBAAY,GAAG,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAC/C,qBAAW,GAAG,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;AACxD,0BAAgB,GAAG,IAAI,SAAS,CAAC,oBAAoB,CAAC,CAAC;AACvD,oBAAU,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;AAC3C,iBAAO,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;AAMzC,yBAAe,GAAG,CAAC,MAAY,EAAa,EAAE,CAAC,IAAI,SAAS,CAAC,qBAAqB,MAAM,GAAG,EAAE,iBAAiB,CAAC,CAAC;AAEhH,0BAAgB,GAAG,CAAC,MAAY,EAAa,EAAE,CAAC,IAAI,SAAS,CAAC,sBAAsB,MAAM,GAAG,EAAE,kBAAkB,CAAC,CAAC;AAEnH,qCAA2B,GAAG,CAAC,QAAc,EAAa,EAAE,CAC1E,IAAI,SAAS,CAAC,wBAAwB,IAAA,WAAI,EAAC,QAAQ,CAAC,CAAC,KAAK,sBAAsB,EAAE,6BAA6B,CAAC,CAAC;AAK9G,MAAM,WAAW,GAAG,CAAC,CAAW,EAAE,CAAQ,EAAkB,EAAE,CAAC,CAAC,YAAY,SAAS,IAAI,CAAC,IAAA,cAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAAjI,QAAA,WAAW,eAAsH;AACvI,MAAM,cAAc,GAAG,CAAC,CAAW,EAAkB,EAAE,CAAC,CAAC,YAAY,SAAS,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAA7G,QAAA,cAAc,kBAA+F"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "8.44.
|
|
3
|
+
"version": "8.44.10",
|
|
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.44.
|
|
34
|
+
"@thisisagile/easy-test": "8.44.10",
|
|
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/Repo.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Constructor, Exception, Gateway, Id, Json, JsonValue, Key, List, toJson } from '../types';
|
|
1
|
+
import { Constructor, Exception, Gateway, Id, isValidatable, Json, JsonValue, Key, List, toJson } from '../types';
|
|
2
2
|
import { when } from '../validation';
|
|
3
3
|
import { reject, resolve } from '../utils';
|
|
4
4
|
import { Struct } from './Struct';
|
|
@@ -7,6 +7,8 @@ export class Repo<T extends Struct> {
|
|
|
7
7
|
constructor(protected ctor: Constructor<T>, private readonly gateway: Gateway) {
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
create = (item: T | Json): T => isValidatable(item) ? item : new this.ctor(item);
|
|
11
|
+
|
|
10
12
|
all(): Promise<List<T>> {
|
|
11
13
|
return this.gateway.all().then(js => js.map(j => new this.ctor(j)));
|
|
12
14
|
}
|
|
@@ -34,8 +36,8 @@ export class Repo<T extends Struct> {
|
|
|
34
36
|
return this.gateway.exists(id);
|
|
35
37
|
}
|
|
36
38
|
|
|
37
|
-
add(
|
|
38
|
-
return this.extend(
|
|
39
|
+
add(t: T | Json): Promise<T> {
|
|
40
|
+
return this.extend(this.create(t))
|
|
39
41
|
.then(i => when(i).not.isValid.reject())
|
|
40
42
|
.then(i => this.validate(i))
|
|
41
43
|
.then(i => this.gateway.add(toJson(i)))
|
package/src/types/Exception.ts
CHANGED
|
@@ -26,3 +26,4 @@ export class Exception extends Enum {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
export const isException = (e?: unknown, t?: Text): e is Exception => e instanceof Exception && (isDefined(t) ? e.equals(asString(t)) : true);
|
|
29
|
+
export const isDoesNotExist = (e?: unknown): e is Exception => e instanceof Exception && Exception.DoesNotExist.equals(e);
|