@thisisagile/easy 9.5.10 → 10.0.0
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/Audit.js.map +1 -1
- package/dist/http/RestResult.js +1 -1
- package/dist/http/RestResult.js.map +1 -1
- package/dist/process/Search.js +1 -1
- package/dist/process/Search.js.map +1 -1
- package/dist/services/AxiosProvider.d.ts +1 -1
- package/dist/services/AxiosProvider.js +1 -1
- package/dist/services/AxiosProvider.js.map +1 -1
- package/dist/utils/Case.d.ts +10 -12
- package/dist/utils/Case.js +18 -8
- package/dist/utils/Case.js.map +1 -1
- package/dist/utils/View.js.map +1 -1
- package/dist/validation/Validate.js +1 -1
- package/dist/validation/Validate.js.map +1 -1
- package/package.json +2 -2
- package/src/domain/Audit.ts +1 -1
- package/src/http/RestResult.ts +2 -2
- package/src/process/Search.ts +2 -2
- package/src/services/AxiosProvider.ts +20 -4
- package/src/utils/Case.ts +24 -11
- package/src/utils/View.ts +1 -1
- package/src/validation/Validate.ts +2 -2
package/dist/domain/Audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Audit.js","sourceRoot":"","sources":["../../src/domain/Audit.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAkC;AAClC,oCAAoD;AACpD,8CAAgD;AAChD,oCAAkC;AAClC,qCAAoC;AAEpC,MAAa,KAAM,SAAQ,eAAM;IAI/B,YAAY,CAAQ;QAClB,KAAK,CACH,IAAA,cAAM,EAAC,CAAC,CAAC;aACN,IAAI,CAAC,iBAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"Audit.js","sourceRoot":"","sources":["../../src/domain/Audit.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAkC;AAClC,oCAAoD;AACpD,8CAAgD;AAChD,oCAAkC;AAClC,qCAAoC;AAEpC,MAAa,KAAM,SAAQ,eAAM;IAI/B,YAAY,CAAQ;QAClB,KAAK,CACH,IAAA,cAAM,EAAC,CAAC,CAAC;aACN,IAAI,CAAC,iBAAS,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC;aAClC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAC/F,CAAC;QARiB,OAAE,GAA6B,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACrF,SAAI,GAAa,IAAI,iBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAQjE,CAAC;CACF;AAVa;IAAX,IAAA,qBAAQ,GAAE;;iCAA4F;AAC9F;IAAR,IAAA,kBAAK,GAAE;8BAAgB,iBAAQ;mCAAiC;AAFnE,sBAWC"}
|
package/dist/http/RestResult.js
CHANGED
|
@@ -24,7 +24,7 @@ exports.rest = {
|
|
|
24
24
|
},
|
|
25
25
|
}),
|
|
26
26
|
to: (payload, status) => (0, utils_1.choose)(payload)
|
|
27
|
-
.type(types_1.isUndefined,
|
|
27
|
+
.type(types_1.isUndefined, () => undefined)
|
|
28
28
|
.type(HttpStatus_1.isHttpStatus, h => exports.rest.toError(h ?? status ?? HttpStatus_1.HttpStatus.InternalServerError, [(0, types_1.toResult)(h.name)]))
|
|
29
29
|
.type(types_1.isResult, r => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.BadRequest, [r]))
|
|
30
30
|
.type(types_1.isError, e => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.BadRequest, [e]))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestResult.js","sourceRoot":"","sources":["../../src/http/RestResult.ts"],"names":[],"mappings":";;;AAAA,oCAA0H;AAC1H,oCAAkC;AAClC,6CAAwD;AACxD,yCAAwC;AAOxC,MAAM,SAAS,GAAG,CAAC,CAAM,EAA0D,EAAE,CAAC,IAAA,iBAAS,EAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAClH,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAsD,EAAE,CAAC,IAAA,iBAAS,EAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAE7F,QAAA,IAAI,GAAG;IAClB,MAAM,EAAE,CAAC,MAAkB,EAAE,QAAgB,EAAE,EAAc,EAAE,CAAC,CAAC;QAC/D,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,KAAK,EAAE,IAAA,cAAM,EAAC,KAAK,CAAC;YACpB,SAAS,EAAE,KAAK,CAAC,MAAM;SACxB;KACF,CAAC;IACF,OAAO,EAAE,CAAC,MAAkB,EAAE,SAAmB,CAAC,IAAA,gBAAQ,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAc,EAAE,CAAC,CAAC;QACxF,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS;YACtD,MAAM,EAAE,IAAA,cAAM,EAAC,MAAM,CAAC;YACtB,UAAU,EAAE,MAAM,CAAC,MAAM;SAC1B;KACF,CAAC;IACF,EAAE,EAAE,CAAC,OAAqB,EAAE,MAAmB,EAAc,EAAE,CAC7D,IAAA,cAAM,
|
|
1
|
+
{"version":3,"file":"RestResult.js","sourceRoot":"","sources":["../../src/http/RestResult.ts"],"names":[],"mappings":"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"}
|
package/dist/process/Search.js
CHANGED
|
@@ -11,7 +11,7 @@ class Search {
|
|
|
11
11
|
this.byIds = (...ids) => this.repo.byIds(...ids);
|
|
12
12
|
this.byKey = (key) => this.repo.byKey(key);
|
|
13
13
|
this.search = (query) => (0, utils_1.choose)(query)
|
|
14
|
-
.
|
|
14
|
+
.case(types_1.isNotEmpty, q => this.repo.search(q))
|
|
15
15
|
.else((0, utils_1.resolve)((0, types_1.toList)()));
|
|
16
16
|
this.exists = (id) => this.repo.exists(id);
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
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,GAAG,GAAS,EAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAEpE,UAAK,GAAG,CAAC,GAAQ,EAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE7D,WAAM,GAAG,CAAC,KAAgB,EAAoB,EAAE,CAC9C,IAAA,cAAM,
|
|
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,GAAG,GAAS,EAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAEpE,UAAK,GAAG,CAAC,GAAQ,EAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE7D,WAAM,GAAG,CAAC,KAAgB,EAAoB,EAAE,CAC9C,IAAA,cAAM,EAAC,KAAK,CAAC;aACV,IAAI,CAAC,kBAAU,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC1C,IAAI,CAAC,IAAA,eAAO,EAAC,IAAA,cAAM,GAAK,CAAC,CAAC,CAAC;QAEhC,WAAM,GAAG,CAAC,EAAM,EAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAftB,CAAC;CAgBxC;AAjBD,wBAiBC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Request, RequestProvider, Response } from '../http';
|
|
2
2
|
export declare class AxiosProvider implements RequestProvider {
|
|
3
|
-
execute: ({ uri, verb, body, transform, transformError, options }: Request) => Promise<Response>;
|
|
3
|
+
execute: ({ uri, verb, body, transform, transformError, options, }: Request) => Promise<Response>;
|
|
4
4
|
}
|
|
@@ -16,7 +16,7 @@ const asResponse = (uri, verb, error) => (0, utils_1.choose)(error)
|
|
|
16
16
|
.else(e => (0, http_1.toResponse)(http_1.HttpStatus.InternalServerError, (0, types_1.toResult)(e.message, uri.path, uri)));
|
|
17
17
|
class AxiosProvider {
|
|
18
18
|
constructor() {
|
|
19
|
-
this.execute = ({ uri, verb, body, transform = (r) => r, transformError = (r) => r, options = http_1.RequestOptions.Json }) => axios_1.default
|
|
19
|
+
this.execute = ({ uri, verb, body, transform = (r) => r, transformError = (r) => r, options = http_1.RequestOptions.Json, }) => axios_1.default
|
|
20
20
|
.request({
|
|
21
21
|
url: uri.toString(),
|
|
22
22
|
method: verb.toString(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxiosProvider.js","sourceRoot":"","sources":["../../src/services/AxiosProvider.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"AxiosProvider.js","sourceRoot":"","sources":["../../src/services/AxiosProvider.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAiE;AACjE,kCASiB;AACjB,oCAAkE;AAClE,oCAAkC;AAElC,MAAM,UAAU,GAAG,CAAC,CAAU,EAAoC,EAAE,CAAC,IAAA,iBAAS,EAAE,CAAS,EAAE,QAAQ,CAAC,CAAC;AACrG,MAAM,SAAS,GAAG,CAAC,CAAU,EAAyB,EAAE,CAAC,IAAA,iBAAS,EAAE,CAAS,EAAE,OAAO,CAAC,CAAC;AAExF,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,IAAc,EAAE,KAAiB,EAAY,EAAE,CAC3E,IAAA,cAAM,EAAC,KAAK,CAAC;KACV,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CACpB,IAAA,iBAAU,EAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAA,mBAAY,EAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACpJ;KACA,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAU,EAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAA,gBAAQ,EAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;KAC9F,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAU,EAAC,iBAAU,CAAC,mBAAmB,EAAE,IAAA,gBAAQ,EAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE/F,MAAa,aAAa;IAA1B;QACE,YAAO,GAAG,CAAC,EACE,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,SAAS,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EACzB,cAAc,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAC9B,OAAO,GAAG,qBAAc,CAAC,IAAI,GACrB,EAAqB,EAAE,CAC1C,eAAK;aACF,OAAO,CAAC;YACP,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAY;YACjC,OAAO,EAAE,GAAG,CAAC,UAAU,IAAI,IAAA,eAAO,EAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;YAC7H,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SAChC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAU,EAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;aAC7D,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;CAAA;AAlBD,sCAkBC"}
|
package/dist/utils/Case.d.ts
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
import { Get, Predicate } from '../types';
|
|
1
|
+
import { Func, Get, Predicate } from '../types';
|
|
2
|
+
declare class CaseBuilder<V> {
|
|
3
|
+
readonly v: V;
|
|
4
|
+
constructor(v: V);
|
|
5
|
+
case<T>(pred: Predicate<V>, out: Func<T, V>): Case<T, V>;
|
|
6
|
+
type<T, U = unknown>(guard: (u: unknown) => u is U, out: Func<T, U>): Case<T, V>;
|
|
7
|
+
}
|
|
2
8
|
declare class Case<T, V = unknown> {
|
|
3
9
|
protected value: V;
|
|
4
10
|
protected outcome?: T | undefined;
|
|
5
11
|
constructor(value: V, outcome?: T | undefined);
|
|
6
|
-
case(pred: Predicate<V>, out:
|
|
7
|
-
type<U>(
|
|
8
|
-
else(alt: Get<T, V>): T;
|
|
9
|
-
}
|
|
10
|
-
export declare class Found<T, V> extends Case<T, V> {
|
|
11
|
-
protected value: V;
|
|
12
|
-
protected outcome: T;
|
|
13
|
-
constructor(value: V, outcome: T);
|
|
14
|
-
case(pred: Predicate<V>, out: Get<T, V>): this;
|
|
15
|
-
type<U>(pred: (v: unknown) => v is U, out: Get<T, U>): Case<T, V>;
|
|
12
|
+
case(pred: Predicate<V>, out: Func<T, V>): Case<T, V>;
|
|
13
|
+
type<U>(guard: (u: unknown) => u is U, out: Func<T, U>): Case<T, V>;
|
|
16
14
|
else(alt: Get<T, V>): T;
|
|
17
15
|
}
|
|
18
|
-
export declare const choose: <
|
|
16
|
+
export declare const choose: <V>(value: V) => CaseBuilder<V>;
|
|
19
17
|
export {};
|
package/dist/utils/Case.js
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.choose =
|
|
3
|
+
exports.choose = void 0;
|
|
4
4
|
const types_1 = require("../types");
|
|
5
|
+
class CaseBuilder {
|
|
6
|
+
constructor(v) {
|
|
7
|
+
this.v = v;
|
|
8
|
+
}
|
|
9
|
+
case(pred, out) {
|
|
10
|
+
return new Case(this.v).case(pred, out);
|
|
11
|
+
}
|
|
12
|
+
type(guard, out) {
|
|
13
|
+
return new Case(this.v).type(guard, out);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
5
16
|
class Case {
|
|
6
17
|
constructor(value, outcome) {
|
|
7
18
|
this.value = value;
|
|
@@ -10,14 +21,14 @@ class Case {
|
|
|
10
21
|
case(pred, out) {
|
|
11
22
|
return (0, types_1.tryTo)(pred, this.value)
|
|
12
23
|
.is.true()
|
|
13
|
-
.map(() => (
|
|
24
|
+
.map(() => out(this.value))
|
|
14
25
|
.map(res => new Found(this.value, res))
|
|
15
26
|
.or(this);
|
|
16
27
|
}
|
|
17
|
-
type(
|
|
18
|
-
return (0, types_1.tryTo)(
|
|
28
|
+
type(guard, out) {
|
|
29
|
+
return (0, types_1.tryTo)(guard, this.value)
|
|
19
30
|
.is.true()
|
|
20
|
-
.map(() => (
|
|
31
|
+
.map(() => out(this.value))
|
|
21
32
|
.map(res => new Found(this.value, res))
|
|
22
33
|
.or(this);
|
|
23
34
|
}
|
|
@@ -34,14 +45,13 @@ class Found extends Case {
|
|
|
34
45
|
case(pred, out) {
|
|
35
46
|
return this;
|
|
36
47
|
}
|
|
37
|
-
type(
|
|
48
|
+
type(guard, out) {
|
|
38
49
|
return this;
|
|
39
50
|
}
|
|
40
51
|
else(alt) {
|
|
41
52
|
return this.outcome;
|
|
42
53
|
}
|
|
43
54
|
}
|
|
44
|
-
|
|
45
|
-
const choose = (value) => new Case(value);
|
|
55
|
+
const choose = (value) => new CaseBuilder(value);
|
|
46
56
|
exports.choose = choose;
|
|
47
57
|
//# sourceMappingURL=Case.js.map
|
package/dist/utils/Case.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Case.js","sourceRoot":"","sources":["../../src/utils/Case.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Case.js","sourceRoot":"","sources":["../../src/utils/Case.ts"],"names":[],"mappings":";;;AAAA,oCAA8D;AAE9D,MAAM,WAAW;IACf,YAAqB,CAAI;QAAJ,MAAC,GAAD,CAAC,CAAG;IACzB,CAAC;IAED,IAAI,CAAI,IAAkB,EAAE,GAAe;QACzC,OAAO,IAAI,IAAI,CAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAiB,KAA6B,EAAE,GAAe;QACjE,OAAO,IAAI,IAAI,CAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAI,KAAK,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;CACF;AAED,MAAM,IAAI;IACR,YAAsB,KAAQ,EAAY,OAAW;QAA/B,UAAK,GAAL,KAAK,CAAG;QAAY,YAAO,GAAP,OAAO,CAAI;IAAG,CAAC;IAEzD,IAAI,CAAC,IAAkB,EAAE,GAAe;QACtC,OAAO,IAAA,aAAK,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;aAC3B,EAAE,CAAC,IAAI,EAAE;aACT,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAe,CAAC;aACpD,EAAE,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED,IAAI,CAAI,KAA6B,EAAE,GAAe;QACpD,OAAO,IAAA,aAAK,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;aAC5B,EAAE,CAAC,IAAI,EAAE;aACT,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAqB,CAAC,CAAC;aAC1C,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAe,CAAC;aACpD,EAAE,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED,IAAI,CAAC,GAAc;QACjB,OAAO,IAAA,aAAK,EAAO,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;CACF;AAED,MAAM,KAAY,SAAQ,IAAU;IAClC,YAAsB,KAAQ,EAAY,OAAU;QAClD,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QADF,UAAK,GAAL,KAAK,CAAG;QAAY,YAAO,GAAP,OAAO,CAAG;IAEpD,CAAC;IAED,IAAI,CAAC,IAAkB,EAAE,GAAe;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAI,KAA6B,EAAE,GAAe;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,GAAc;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAEM,MAAM,MAAM,GAAG,CAAI,KAAQ,EAAE,EAAE,CAAC,IAAI,WAAW,CAAI,KAAK,CAAC,CAAC;AAApD,QAAA,MAAM,UAA8C"}
|
package/dist/utils/View.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"View.js","sourceRoot":"","sources":["../../src/utils/View.ts"],"names":[],"mappings":";;;AAAA,oCAAiJ;AACjJ,yCAAsC;AACtC,iCAAgC;AAMhC,MAAM,SAAS,GAAG,CAAC,CAAU,EAAc,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,IAAI,IAAA,iBAAS,EAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClG,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAc,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAA,kBAAU,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClG,MAAM,gBAAgB,GAAG,CAAC,CAAU,EAAkC,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,IAAI,IAAA,iBAAS,EAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAA,kBAAU,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7H,MAAM,YAAY,GAAG,CAAC,CAAU,EAAkC,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,IAAI,IAAA,iBAAS,EAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC;AAK7H,MAAM,MAAM,GAAG,CAAC,CAAM,EAAE,GAAW,EAAE,IAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAQ,EAAE,CAC7D,IAAA,aAAK,EAAC,IAAA,mBAAQ,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,eAAO,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAElH,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,KAAc,EAAU,EAAE,CACvD,IAAA,aAAM,
|
|
1
|
+
{"version":3,"file":"View.js","sourceRoot":"","sources":["../../src/utils/View.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ const constraints = (subject) => (0, types_1.tryTo)(() => validators(subject))
|
|
|
17
17
|
.map(vs => vs.mapDefined(v => runValidator(v, subject)))
|
|
18
18
|
.map(res => res.reduce((rs, r) => rs.add(...r.results), (0, types_1.toResults)())).value;
|
|
19
19
|
const validate = (subject) => (0, utils_1.choose)(subject)
|
|
20
|
-
.type(types_1.isUndefined,
|
|
20
|
+
.type(types_1.isUndefined, () => (0, types_1.toResults)('Subject is not defined.'))
|
|
21
21
|
.type(types_1.isEnum, e => (e.isValid ? (0, types_1.toResults)() : (0, exports.asResults)(e, 'This is not a valid {type}.')))
|
|
22
22
|
.type(types_1.isValue, v => (v.isValid ? (0, types_1.toResults)() : (0, exports.asResults)(v, 'This is not a valid {type}.')))
|
|
23
23
|
.type(types_1.isArray, a => a.map(i => (0, exports.validate)(i)).reduce((rs, r) => rs.add(...r.results), (0, types_1.toResults)()))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validate.js","sourceRoot":"","sources":["../../src/validation/Validate.ts"],"names":[],"mappings":";;;AAAA,oCAmBkB;AAElB,iCAA8B;AAC9B,oCAAkC;AAI3B,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,QAAc,EAAE,UAA2B,EAAE,EAAW,EAAE,CACpG,IAAA,iBAAS,EAAC,IAAA,gBAAQ,EAAC,IAAA,YAAI,EAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAA,cAAM,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AADlE,QAAA,SAAS,aACyD;AAE/E,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAmB,EAAE,CACvD,IAAA,YAAI,EAAC,OAAO,CAAC;KACV,IAAI,CAAkB,YAAY,CAAC;KACnC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAA,cAAM,GAAa,CAAC,CAAC;AAE7D,MAAM,YAAY,GAAG,CAAC,CAAY,EAAE,OAAiB,EAAW,EAAE,CAChE,IAAA,aAAK,EAAC,GAAG,EAAE,CAAE,OAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACtC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;KAC7C,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,iBAAS,EAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAS,GAAE,CAAC,CAAC;KAClH,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAS,EAAC,OAAO,EAAE,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAEzD,MAAM,WAAW,GAAG,CAAC,OAAiB,EAAW,EAAE,CACjD,IAAA,aAAK,EAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;KAC7B,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;KACvD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,IAAA,iBAAS,GAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAEzE,MAAM,QAAQ,GAAG,CAAC,OAAiB,EAAW,EAAE,CACrD,IAAA,cAAM,
|
|
1
|
+
{"version":3,"file":"Validate.js","sourceRoot":"","sources":["../../src/validation/Validate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0",
|
|
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": "
|
|
34
|
+
"@thisisagile/easy-test": "10.0.0",
|
|
35
35
|
"@types/form-urlencoded": "^4.4.0",
|
|
36
36
|
"@types/jsonwebtoken": "^8.5.8",
|
|
37
37
|
"@types/validator": "^13.7.2"
|
package/src/domain/Audit.ts
CHANGED
|
@@ -11,7 +11,7 @@ export class Audit extends Struct {
|
|
|
11
11
|
constructor(a?: Json) {
|
|
12
12
|
super(
|
|
13
13
|
choose(a)
|
|
14
|
-
.type(isDefined, (j:
|
|
14
|
+
.type(isDefined, (j: unknown) => j)
|
|
15
15
|
.else({ by: ctx.request?.identity ?? { id: 0, user: 'easy' }, when: DateTime.now.toJSON() })
|
|
16
16
|
);
|
|
17
17
|
}
|
package/src/http/RestResult.ts
CHANGED
|
@@ -28,8 +28,8 @@ export const rest = {
|
|
|
28
28
|
},
|
|
29
29
|
}),
|
|
30
30
|
to: (payload?: any | any[], status?: HttpStatus): RestResult =>
|
|
31
|
-
choose
|
|
32
|
-
.type(isUndefined,
|
|
31
|
+
choose(payload)
|
|
32
|
+
.type(isUndefined, () => undefined as unknown as RestResult)
|
|
33
33
|
.type(isHttpStatus, h => rest.toError(h ?? status ?? HttpStatus.InternalServerError, [toResult(h.name)]))
|
|
34
34
|
.type(isResult, r => rest.toError(status ?? HttpStatus.BadRequest, [r]))
|
|
35
35
|
.type(isError, e => rest.toError(status ?? HttpStatus.BadRequest, [e]))
|
package/src/process/Search.ts
CHANGED
|
@@ -14,8 +14,8 @@ export class Search<T extends Struct> {
|
|
|
14
14
|
byKey = (key: Key): Promise<List<T>> => this.repo.byKey(key);
|
|
15
15
|
|
|
16
16
|
search = (query: JsonValue): Promise<List<T>> =>
|
|
17
|
-
choose
|
|
18
|
-
.
|
|
17
|
+
choose(query)
|
|
18
|
+
.case(isNotEmpty, q => this.repo.search(q))
|
|
19
19
|
.else(resolve(toList<T>()));
|
|
20
20
|
|
|
21
21
|
exists = (id: Id): Promise<boolean> => this.repo.exists(id);
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import axios, { AxiosError, AxiosResponse, Method } from 'axios';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
HttpStatus,
|
|
4
|
+
HttpVerb,
|
|
5
|
+
isRestResult,
|
|
6
|
+
Request,
|
|
7
|
+
RequestOptions,
|
|
8
|
+
RequestProvider,
|
|
9
|
+
Response,
|
|
10
|
+
toResponse,
|
|
11
|
+
} from '../http';
|
|
3
12
|
import { ctx, isDefined, isEmpty, toResult, Uri } from '../types';
|
|
4
13
|
import { choose } from '../utils';
|
|
5
14
|
|
|
@@ -7,15 +16,22 @@ const isResponse = (a: unknown): a is { response: AxiosResponse } => isDefined((
|
|
|
7
16
|
const isRequest = (a: unknown): a is { request: any } => isDefined((a as any)?.request);
|
|
8
17
|
|
|
9
18
|
const asResponse = (uri: Uri, verb: HttpVerb, error: AxiosError): Response =>
|
|
10
|
-
choose
|
|
19
|
+
choose(error)
|
|
11
20
|
.type(isResponse, r =>
|
|
12
|
-
toResponse(r.response.status, isRestResult(r.response.data) ? r.response.data : toResult(r.response.statusText, uri.path, uri), r.response.headers)
|
|
21
|
+
toResponse(r.response.status, isRestResult(r.response.data) ? r.response.data : toResult(r.response.statusText, uri.path, uri), r.response.headers),
|
|
13
22
|
)
|
|
14
23
|
.type(isRequest, r => toResponse(r.request.status, toResult(r.request.message, uri.path, uri)))
|
|
15
24
|
.else(e => toResponse(HttpStatus.InternalServerError, toResult(e.message, uri.path, uri)));
|
|
16
25
|
|
|
17
26
|
export class AxiosProvider implements RequestProvider {
|
|
18
|
-
execute = ({
|
|
27
|
+
execute = ({
|
|
28
|
+
uri,
|
|
29
|
+
verb,
|
|
30
|
+
body,
|
|
31
|
+
transform = (r: any) => r,
|
|
32
|
+
transformError = (r: any) => r,
|
|
33
|
+
options = RequestOptions.Json,
|
|
34
|
+
}: Request): Promise<Response> =>
|
|
19
35
|
axios
|
|
20
36
|
.request({
|
|
21
37
|
url: uri.toString(),
|
package/src/utils/Case.ts
CHANGED
|
@@ -1,39 +1,52 @@
|
|
|
1
|
-
import { Get, ofGet, Predicate, tryTo } from '../types';
|
|
1
|
+
import { Func, Get, ofGet, Predicate, tryTo } from '../types';
|
|
2
|
+
|
|
3
|
+
class CaseBuilder<V> {
|
|
4
|
+
constructor(readonly v: V) {
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
case<T>(pred: Predicate<V>, out: Func<T, V>): Case<T, V> {
|
|
8
|
+
return new Case<T, V>(this.v).case(pred, out);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
type<T, U = unknown>(guard: (u: unknown) => u is U, out: Func<T, U>): Case<T, V> {
|
|
12
|
+
return new Case<T, V>(this.v).type<U>(guard, out);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
2
15
|
|
|
3
16
|
class Case<T, V = unknown> {
|
|
4
17
|
constructor(protected value: V, protected outcome?: T) {}
|
|
5
18
|
|
|
6
|
-
case(pred: Predicate<V>, out:
|
|
19
|
+
case(pred: Predicate<V>, out: Func<T, V>): Case<T, V> {
|
|
7
20
|
return tryTo(pred, this.value)
|
|
8
21
|
.is.true()
|
|
9
|
-
.map(() =>
|
|
22
|
+
.map(() => out(this.value))
|
|
10
23
|
.map(res => new Found(this.value, res) as Case<T, V>)
|
|
11
24
|
.or(this);
|
|
12
25
|
}
|
|
13
26
|
|
|
14
|
-
type<U>(
|
|
15
|
-
return tryTo(
|
|
27
|
+
type<U>(guard: (u: unknown) => u is U, out: Func<T, U>): Case<T, V> {
|
|
28
|
+
return tryTo(guard, this.value)
|
|
16
29
|
.is.true()
|
|
17
|
-
.map(() =>
|
|
30
|
+
.map(() => out(this.value as unknown as U))
|
|
18
31
|
.map(res => new Found(this.value, res) as Case<T, V>)
|
|
19
32
|
.or(this);
|
|
20
33
|
}
|
|
21
34
|
|
|
22
35
|
else(alt: Get<T, V>): T {
|
|
23
|
-
return ofGet(alt, this.value);
|
|
36
|
+
return ofGet<T, V>(alt, this.value);
|
|
24
37
|
}
|
|
25
38
|
}
|
|
26
39
|
|
|
27
|
-
|
|
40
|
+
class Found<T, V> extends Case<T, V> {
|
|
28
41
|
constructor(protected value: V, protected outcome: T) {
|
|
29
42
|
super(value, outcome);
|
|
30
43
|
}
|
|
31
44
|
|
|
32
|
-
case(pred: Predicate<V>, out:
|
|
45
|
+
case(pred: Predicate<V>, out: Func<T, V>): this {
|
|
33
46
|
return this;
|
|
34
47
|
}
|
|
35
48
|
|
|
36
|
-
type<U>(
|
|
49
|
+
type<U>(guard: (u: unknown) => u is U, out: Func<T, U>): Case<T, V> {
|
|
37
50
|
return this;
|
|
38
51
|
}
|
|
39
52
|
|
|
@@ -42,4 +55,4 @@ export class Found<T, V> extends Case<T, V> {
|
|
|
42
55
|
}
|
|
43
56
|
}
|
|
44
57
|
|
|
45
|
-
export const choose = <
|
|
58
|
+
export const choose = <V>(value: V) => new CaseBuilder<V>(value);
|
package/src/utils/View.ts
CHANGED
|
@@ -18,7 +18,7 @@ const toFunc = (a: any, col: string, f: Func = a => a): Func =>
|
|
|
18
18
|
tryTo(traverse(a, col)).map(v => (isArray(v) ? () => v.map(i => f(i)) : (a: any) => f(traverse(a, col)))).value;
|
|
19
19
|
|
|
20
20
|
const toViewer = (key: string, value: unknown): Viewer =>
|
|
21
|
-
choose
|
|
21
|
+
choose(value)
|
|
22
22
|
.type(isUndefined, () => toViewer(key, () => undefined))
|
|
23
23
|
.type(isBoolean, b => toViewer(key, () => b))
|
|
24
24
|
.type(isNumber, n => toViewer(key, () => n))
|
|
@@ -44,8 +44,8 @@ const constraints = (subject?: unknown): Results =>
|
|
|
44
44
|
.map(res => res.reduce((rs, r) => rs.add(...r.results), toResults())).value;
|
|
45
45
|
|
|
46
46
|
export const validate = (subject?: unknown): Results =>
|
|
47
|
-
choose
|
|
48
|
-
.type(isUndefined,
|
|
47
|
+
choose(subject)
|
|
48
|
+
.type(isUndefined, () => toResults( 'Subject is not defined.'))
|
|
49
49
|
.type(isEnum, e => (e.isValid ? toResults() : asResults(e, 'This is not a valid {type}.')))
|
|
50
50
|
.type(isValue, v => (v.isValid ? toResults() : asResults(v, 'This is not a valid {type}.')))
|
|
51
51
|
.type(isArray, a => a.map(i => validate(i)).reduce((rs, r) => rs.add(...r.results), toResults()))
|