@thisisagile/easy 12.7.18 → 12.7.20
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/http/NoRequestStore.d.ts +6 -0
- package/dist/http/NoRequestStore.js +10 -0
- package/dist/http/NoRequestStore.js.map +1 -0
- package/dist/services/Api.d.ts +8 -7
- package/dist/services/Api.js +31 -4
- package/dist/services/Api.js.map +1 -1
- package/dist/services/RouteGateway.d.ts +1 -2
- package/dist/services/RouteGateway.js.map +1 -1
- package/package.json +2 -2
- package/src/http/NoRequestStore.ts +9 -0
- package/src/services/Api.ts +76 -46
- package/src/services/RouteGateway.ts +1 -3
- package/src/types/Cache.ts +0 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Func, Store } from "../types";
|
|
2
|
+
import { Request } from "./Request";
|
|
3
|
+
import { Response } from "./Response";
|
|
4
|
+
export declare class NoRequestStore implements Store<Response, Request> {
|
|
5
|
+
execute(req: Request, f: Func<Promise<Response>, Request>): Promise<Response>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NoRequestStore = void 0;
|
|
4
|
+
class NoRequestStore {
|
|
5
|
+
execute(req, f) {
|
|
6
|
+
return f(req);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.NoRequestStore = NoRequestStore;
|
|
10
|
+
//# sourceMappingURL=NoRequestStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoRequestStore.js","sourceRoot":"","sources":["../../src/http/NoRequestStore.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IACvB,OAAO,CAAC,GAAY,EAAE,CAAmC;QACrD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;CACJ;AAJD,wCAIC"}
|
package/dist/services/Api.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FetchOptions, Uri } from '../types';
|
|
2
2
|
import { HttpVerb, RequestOptions, RequestProvider, Response } from '../http';
|
|
3
|
+
export declare type RouteOptions = RequestOptions | FetchOptions;
|
|
3
4
|
export declare class Api {
|
|
4
5
|
readonly provider: RequestProvider;
|
|
5
6
|
constructor(provider?: RequestProvider);
|
|
6
|
-
get(uri: Uri, options?:
|
|
7
|
-
post(uri: Uri, body?: unknown, options?:
|
|
8
|
-
put(uri: Uri, body?: unknown, options?:
|
|
9
|
-
patch(uri: Uri, body?: unknown, options?:
|
|
10
|
-
delete(uri: Uri, options?:
|
|
11
|
-
options(verb: HttpVerb, options?:
|
|
7
|
+
get(uri: Uri, options?: RouteOptions, transform?: (r: any) => any, transformError?: (r: any) => any): Promise<Response>;
|
|
8
|
+
post(uri: Uri, body?: unknown, options?: RouteOptions, transform?: (r: any) => any, transformError?: (r: any) => any): Promise<Response>;
|
|
9
|
+
put(uri: Uri, body?: unknown, options?: RouteOptions, transform?: (r: any) => any, transformError?: (r: any) => any): Promise<Response>;
|
|
10
|
+
patch(uri: Uri, body?: unknown, options?: RouteOptions, transform?: (r: any) => any, transformError?: (r: any) => any): Promise<Response>;
|
|
11
|
+
delete(uri: Uri, options?: RouteOptions, transform?: (b: any) => any, transformError?: (r: any) => any): Promise<Response>;
|
|
12
|
+
options(verb: HttpVerb, options?: RouteOptions): RequestOptions;
|
|
12
13
|
}
|
|
13
14
|
export declare const api: Api;
|
package/dist/services/Api.js
CHANGED
|
@@ -17,16 +17,43 @@ class Api {
|
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
post(uri, body, options = http_1.RequestOptions.Json, transform, transformError = (r) => r) {
|
|
20
|
-
return this.provider.execute({
|
|
20
|
+
return this.provider.execute({
|
|
21
|
+
uri,
|
|
22
|
+
verb: http_1.HttpVerb.Post,
|
|
23
|
+
body,
|
|
24
|
+
transform,
|
|
25
|
+
transformError,
|
|
26
|
+
options: this.options(http_1.HttpVerb.Post, options)
|
|
27
|
+
});
|
|
21
28
|
}
|
|
22
29
|
put(uri, body, options = http_1.RequestOptions.Json, transform, transformError = (r) => r) {
|
|
23
|
-
return this.provider.execute({
|
|
30
|
+
return this.provider.execute({
|
|
31
|
+
uri,
|
|
32
|
+
verb: http_1.HttpVerb.Put,
|
|
33
|
+
body,
|
|
34
|
+
transform,
|
|
35
|
+
transformError,
|
|
36
|
+
options: this.options(http_1.HttpVerb.Put, options)
|
|
37
|
+
});
|
|
24
38
|
}
|
|
25
39
|
patch(uri, body, options = http_1.RequestOptions.Json, transform, transformError = (r) => r) {
|
|
26
|
-
return this.provider.execute({
|
|
40
|
+
return this.provider.execute({
|
|
41
|
+
uri,
|
|
42
|
+
verb: http_1.HttpVerb.Patch,
|
|
43
|
+
body,
|
|
44
|
+
transform,
|
|
45
|
+
transformError,
|
|
46
|
+
options: this.options(http_1.HttpVerb.Patch, options)
|
|
47
|
+
});
|
|
27
48
|
}
|
|
28
49
|
delete(uri, options = http_1.RequestOptions.Json, transform, transformError = (r) => r) {
|
|
29
|
-
return this.provider.execute({
|
|
50
|
+
return this.provider.execute({
|
|
51
|
+
uri,
|
|
52
|
+
verb: http_1.HttpVerb.Delete,
|
|
53
|
+
transform,
|
|
54
|
+
transformError,
|
|
55
|
+
options: this.options(http_1.HttpVerb.Delete, options)
|
|
56
|
+
});
|
|
30
57
|
}
|
|
31
58
|
options(verb, options) {
|
|
32
59
|
return options instanceof http_1.RequestOptions ? options : http_1.RequestOptions.Json;
|
package/dist/services/Api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Api.js","sourceRoot":"","sources":["../../src/services/Api.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"Api.js","sourceRoot":"","sources":["../../src/services/Api.ts"],"names":[],"mappings":";;;AACA,kCAA2F;AAC3F,mDAA8C;AAI9C,MAAa,GAAG;IACZ,YAAqB,WAA4B,IAAI,6BAAa,EAAE;QAA/C,aAAQ,GAAR,QAAQ,CAAuC;IACpE,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,OAAsB,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACzB,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,IAAA,oBAAa,EAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAA,oBAAa,EAAC,OAAO,CAAC,EAAE,IAAI,CAAC;YAC9E,IAAI,EAAE,eAAQ,CAAC,GAAG;YAClB,SAAS;YACT,cAAc;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;SAC/C,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CACA,GAAQ,EACR,IAAc,EACd,UAAwB,qBAAc,CAAC,IAAI,EAC3C,SAA2B,EAC3B,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACzB,GAAG;YACH,IAAI,EAAE,eAAQ,CAAC,IAAI;YACnB,IAAI;YACJ,SAAS;YACT,cAAc;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;SAChD,CAAC,CAAC;IACP,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,IAAc,EAAE,UAAwB,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACzB,GAAG;YACH,IAAI,EAAE,eAAQ,CAAC,GAAG;YAClB,IAAI;YACJ,SAAS;YACT,cAAc;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;SAC/C,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CACD,GAAQ,EACR,IAAc,EACd,UAAwB,qBAAc,CAAC,IAAI,EAC3C,SAA2B,EAC3B,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACzB,GAAG;YACH,IAAI,EAAE,eAAQ,CAAC,KAAK;YACpB,IAAI;YACJ,SAAS;YACT,cAAc;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;SACjD,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,GAAQ,EAAE,UAAwB,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QACrH,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACzB,GAAG;YACH,IAAI,EAAE,eAAQ,CAAC,MAAM;YACrB,SAAS;YACT,cAAc;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;SAClD,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,IAAc,EAAE,OAAsB;QAC1C,OAAO,OAAO,YAAY,qBAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAc,CAAC,IAAI,CAAC;IAC7E,CAAC;CACJ;AAxED,kBAwEC;AAEY,QAAA,GAAG,GAAQ,IAAI,GAAG,EAAE,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Api } from './Api';
|
|
1
|
+
import { Api, RouteOptions } from './Api';
|
|
2
2
|
import { FetchOptions, Func, Gateway, Id, Json, JsonValue, PageList, Uri } from '../types';
|
|
3
3
|
import { RequestOptions } from '../http';
|
|
4
|
-
export declare type RouteOptions = RequestOptions | FetchOptions;
|
|
5
4
|
export declare class RouteGateway extends Gateway<RouteOptions> {
|
|
6
5
|
readonly route: Func<Uri>;
|
|
7
6
|
readonly routeId: Func<Uri>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteGateway.js","sourceRoot":"","sources":["../../src/services/RouteGateway.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"RouteGateway.js","sourceRoot":"","sources":["../../src/services/RouteGateway.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "12.7.
|
|
3
|
+
"version": "12.7.20",
|
|
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": "12.7.
|
|
34
|
+
"@thisisagile/easy-test": "12.7.20",
|
|
35
35
|
"@types/form-urlencoded": "^4.4.0",
|
|
36
36
|
"@types/jsonwebtoken": "^8.5.9",
|
|
37
37
|
"@types/luxon": "3.0.2",
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import {Func, Store} from "../types";
|
|
2
|
+
import {Request} from "./Request";
|
|
3
|
+
import {Response} from "./Response";
|
|
4
|
+
|
|
5
|
+
export class NoRequestStore implements Store<Response, Request> {
|
|
6
|
+
execute(req: Request, f: Func<Promise<Response>, Request>): Promise<Response> {
|
|
7
|
+
return f(req);
|
|
8
|
+
}
|
|
9
|
+
}
|
package/src/services/Api.ts
CHANGED
|
@@ -1,51 +1,81 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import {FetchOptions, Uri} from '../types';
|
|
2
|
+
import {HttpVerb, RequestOptions, RequestProvider, Response, toPageOptions} from '../http';
|
|
3
|
+
import {AxiosProvider} from './AxiosProvider';
|
|
4
|
+
|
|
5
|
+
export type RouteOptions = RequestOptions | FetchOptions;
|
|
4
6
|
|
|
5
7
|
export class Api {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
transform?: (r: any) => any,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
8
|
+
constructor(readonly provider: RequestProvider = new AxiosProvider()) {
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
get(uri: Uri, options?: RouteOptions, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> {
|
|
12
|
+
return this.provider.execute({
|
|
13
|
+
uri: uri.skip(toPageOptions(options)?.skip).take(toPageOptions(options)?.take),
|
|
14
|
+
verb: HttpVerb.Get,
|
|
15
|
+
transform,
|
|
16
|
+
transformError,
|
|
17
|
+
options: this.options(HttpVerb.Get, options),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
post(
|
|
22
|
+
uri: Uri,
|
|
23
|
+
body?: unknown,
|
|
24
|
+
options: RouteOptions = RequestOptions.Json,
|
|
25
|
+
transform?: (r: any) => any,
|
|
26
|
+
transformError = (r: any) => r
|
|
27
|
+
): Promise<Response> {
|
|
28
|
+
return this.provider.execute({
|
|
29
|
+
uri,
|
|
30
|
+
verb: HttpVerb.Post,
|
|
31
|
+
body,
|
|
32
|
+
transform,
|
|
33
|
+
transformError,
|
|
34
|
+
options: this.options(HttpVerb.Post, options)
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
put(uri: Uri, body?: unknown, options: RouteOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> {
|
|
39
|
+
return this.provider.execute({
|
|
40
|
+
uri,
|
|
41
|
+
verb: HttpVerb.Put,
|
|
42
|
+
body,
|
|
43
|
+
transform,
|
|
44
|
+
transformError,
|
|
45
|
+
options: this.options(HttpVerb.Put, options)
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
patch(
|
|
50
|
+
uri: Uri,
|
|
51
|
+
body?: unknown,
|
|
52
|
+
options: RouteOptions = RequestOptions.Json,
|
|
53
|
+
transform?: (r: any) => any,
|
|
54
|
+
transformError = (r: any) => r
|
|
55
|
+
): Promise<Response> {
|
|
56
|
+
return this.provider.execute({
|
|
57
|
+
uri,
|
|
58
|
+
verb: HttpVerb.Patch,
|
|
59
|
+
body,
|
|
60
|
+
transform,
|
|
61
|
+
transformError,
|
|
62
|
+
options: this.options(HttpVerb.Patch, options)
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
delete(uri: Uri, options: RouteOptions = RequestOptions.Json, transform?: (b: any) => any, transformError = (r: any) => r): Promise<Response> {
|
|
67
|
+
return this.provider.execute({
|
|
68
|
+
uri,
|
|
69
|
+
verb: HttpVerb.Delete,
|
|
70
|
+
transform,
|
|
71
|
+
transformError,
|
|
72
|
+
options: this.options(HttpVerb.Delete, options)
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
options(verb: HttpVerb, options?: RouteOptions): RequestOptions {
|
|
77
|
+
return options instanceof RequestOptions ? options : RequestOptions.Json;
|
|
78
|
+
}
|
|
49
79
|
}
|
|
50
80
|
|
|
51
81
|
export const api: Api = new Api();
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import {Api} from './Api';
|
|
1
|
+
import {Api, RouteOptions} from './Api';
|
|
2
2
|
import {FetchOptions, Filter, Func, Gateway, Id, Json, JsonValue, PageList, toPageList, Uri} from '../types';
|
|
3
3
|
import {HttpStatus, RequestOptions, toPageOptions} from '../http';
|
|
4
4
|
|
|
5
|
-
export type RouteOptions = RequestOptions | FetchOptions;
|
|
6
|
-
|
|
7
5
|
export class RouteGateway extends Gateway<RouteOptions> {
|
|
8
6
|
constructor(readonly route: Func<Uri>, readonly routeId: Func<Uri>, readonly api: Api = new Api()) {
|
|
9
7
|
super();
|
package/src/types/Cache.ts
CHANGED