@thisisagile/easy 7.10.0 → 7.10.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 -0
- package/dist/domain/Repo.js.map +1 -1
- package/dist/process/Search.d.ts +2 -1
- package/dist/process/Search.js +1 -0
- package/dist/process/Search.js.map +1 -1
- package/dist/types/Id.d.ts +2 -1
- package/dist/types/Id.js.map +1 -1
- package/package.json +2 -2
- package/src/domain/Repo.ts +5 -1
- package/src/process/Search.ts +3 -1
- package/src/types/Id.ts +2 -1
package/dist/domain/Repo.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Constructor, Gateway, Id, Json, JsonValue, List } from '../types';
|
|
1
|
+
import { Constructor, Gateway, Id, Json, JsonValue, Key, List } from '../types';
|
|
2
2
|
import { Struct } from './Struct';
|
|
3
3
|
export declare class Repo<T extends Struct> {
|
|
4
4
|
protected ctor: Constructor<T>;
|
|
@@ -6,6 +6,7 @@ export declare class Repo<T extends Struct> {
|
|
|
6
6
|
constructor(ctor: Constructor<T>, gateway: Gateway);
|
|
7
7
|
all(): Promise<List<T>>;
|
|
8
8
|
byId(id: Id): Promise<T>;
|
|
9
|
+
byKey(key: Key): Promise<List<T>>;
|
|
9
10
|
by(key: keyof T, value: JsonValue): Promise<List<T>>;
|
|
10
11
|
search(q: JsonValue): Promise<List<T>>;
|
|
11
12
|
exists(id: Id): Promise<boolean>;
|
package/dist/domain/Repo.js
CHANGED
|
@@ -18,6 +18,9 @@ class Repo {
|
|
|
18
18
|
.then(j => validation_1.when(j).not.isDefined.reject(types_1.Exception.DoesNotExist))
|
|
19
19
|
.then(j => new this.ctor(j));
|
|
20
20
|
}
|
|
21
|
+
byKey(key) {
|
|
22
|
+
return this.gateway.by('key', key).then(js => js.map(j => new this.ctor(j)));
|
|
23
|
+
}
|
|
21
24
|
by(key, value) {
|
|
22
25
|
return this.gateway.by(key.toString(), value).then(js => js.map(j => new this.ctor(j)));
|
|
23
26
|
}
|
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/process/Search.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Repo, Struct } from '../domain';
|
|
2
|
-
import { Id, JsonValue, List } from '../types';
|
|
2
|
+
import { Id, JsonValue, Key, List } from '../types';
|
|
3
3
|
export declare class Search<T extends Struct> {
|
|
4
4
|
protected repo: Repo<T>;
|
|
5
5
|
constructor(repo: Repo<T>);
|
|
6
6
|
all: () => Promise<List<T>>;
|
|
7
7
|
byId: (id: Id) => Promise<T>;
|
|
8
|
+
byKey: (key: Key) => Promise<List<T>>;
|
|
8
9
|
search: (query: JsonValue) => Promise<List<T>>;
|
|
9
10
|
exists: (id: Id) => Promise<boolean>;
|
|
10
11
|
}
|
package/dist/process/Search.js
CHANGED
|
@@ -8,6 +8,7 @@ class Search {
|
|
|
8
8
|
this.repo = repo;
|
|
9
9
|
this.all = () => this.repo.all();
|
|
10
10
|
this.byId = (id) => this.repo.byId(id);
|
|
11
|
+
this.byKey = (key) => this.repo.byKey(key);
|
|
11
12
|
this.search = (query) => utils_1.choose(query)
|
|
12
13
|
.case(q => types_1.isNotEmpty(q), q => this.repo.search(q))
|
|
13
14
|
.else(utils_1.resolve(types_1.toList()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.js","sourceRoot":"","sources":["../../src/process/Search.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"Search.js","sourceRoot":"","sources":["../../src/process/Search.ts"],"names":[],"mappings":";;;AACA,oCAAwE;AACxE,oCAA2C;AAE3C,MAAa,MAAM;IACjB,YAAsB,IAAa;QAAb,SAAI,GAAJ,IAAI,CAAS;QAEnC,QAAG,GAAG,GAAqB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAE9C,SAAI,GAAG,CAAC,EAAM,EAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAElD,UAAK,GAAG,CAAC,GAAQ,EAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE7D,WAAM,GAAG,CAAC,KAAgB,EAAoB,EAAE,CAC9C,cAAM,CAA8B,KAAK,CAAC;aACvC,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,kBAAU,CAAC,CAAC,CAAC,EAClB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACzB;aACA,IAAI,CAAC,eAAO,CAAC,cAAM,EAAK,CAAC,CAAC,CAAC;QAEhC,WAAM,GAAG,CAAC,EAAM,EAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAhBtB,CAAC;CAiBxC;AAlBD,wBAkBC"}
|
package/dist/types/Id.d.ts
CHANGED
package/dist/types/Id.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Id.js","sourceRoot":"","sources":["../../src/types/Id.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;
|
|
1
|
+
{"version":3,"file":"Id.js","sourceRoot":"","sources":["../../src/types/Id.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAMzB,MAAM,IAAI,GAAG,GAAO,EAAE,CAAC,aAAM,EAAE,CAAC;AAA1B,QAAA,IAAI,QAAsB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "7.10.
|
|
3
|
+
"version": "7.10.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": "7.10.
|
|
34
|
+
"@thisisagile/easy-test": "7.10.10",
|
|
35
35
|
"@types/form-urlencoded": "^4.4.0",
|
|
36
36
|
"@types/jsonwebtoken": "^8.5.5",
|
|
37
37
|
"@types/validator": "^13.6.3"
|
package/src/domain/Repo.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Constructor, Exception, Gateway, Id, Json, JsonValue, List, toJson } from '../types';
|
|
1
|
+
import { Constructor, Exception, Gateway, Id, 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';
|
|
@@ -17,6 +17,10 @@ export class Repo<T extends Struct> {
|
|
|
17
17
|
.then(j => new this.ctor(j));
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
byKey(key: Key): Promise<List<T>> {
|
|
21
|
+
return this.gateway.by('key', key).then(js => js.map(j => new this.ctor(j)));
|
|
22
|
+
}
|
|
23
|
+
|
|
20
24
|
by(key: keyof T, value: JsonValue): Promise<List<T>> {
|
|
21
25
|
return this.gateway.by(key.toString(), value).then(js => js.map(j => new this.ctor(j)));
|
|
22
26
|
}
|
package/src/process/Search.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Repo, Struct } from '../domain';
|
|
2
|
-
import { Id, isNotEmpty, JsonValue, List, toList } from '../types';
|
|
2
|
+
import { Id, isNotEmpty, JsonValue, Key, List, toList } from '../types';
|
|
3
3
|
import { choose, resolve } from '../utils';
|
|
4
4
|
|
|
5
5
|
export class Search<T extends Struct> {
|
|
@@ -9,6 +9,8 @@ export class Search<T extends Struct> {
|
|
|
9
9
|
|
|
10
10
|
byId = (id: Id): Promise<T> => this.repo.byId(id);
|
|
11
11
|
|
|
12
|
+
byKey = (key: Key): Promise<List<T>> => this.repo.byKey(key);
|
|
13
|
+
|
|
12
14
|
search = (query: JsonValue): Promise<List<T>> =>
|
|
13
15
|
choose<Promise<List<T>>, JsonValue>(query)
|
|
14
16
|
.case(
|