@tsed/common 7.0.0-beta.7 → 7.0.0-rc.1
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/coverage.json +6 -0
- package/jest.config.js +9 -0
- package/lib/cjs/builder/PlatformBuilder.js +86 -68
- package/lib/cjs/builder/PlatformBuilder.js.map +1 -1
- package/lib/cjs/config/interfaces/PlatformLoggerSettings.js.map +1 -1
- package/lib/cjs/config/services/PlatformConfiguration.js +0 -64
- package/lib/cjs/config/services/PlatformConfiguration.js.map +1 -1
- package/lib/cjs/decorators/params/error.js +1 -1
- package/lib/cjs/decorators/params/error.js.map +1 -1
- package/lib/cjs/domain/AnyToPromiseWithCtx.js +4 -5
- package/lib/cjs/domain/AnyToPromiseWithCtx.js.map +1 -1
- package/lib/cjs/domain/PlatformContext.js +46 -38
- package/lib/cjs/domain/PlatformContext.js.map +1 -1
- package/lib/cjs/domain/PlatformRouteDetails.js +0 -21
- package/lib/cjs/domain/PlatformRouteDetails.js.map +1 -1
- package/lib/cjs/exports.js +1 -0
- package/lib/cjs/exports.js.map +1 -1
- package/lib/cjs/index.js +1 -9
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces/PlatformRouteOptions.js.map +1 -1
- package/lib/cjs/interfaces/Route.js.map +1 -1
- package/lib/cjs/middlewares/PlatformAcceptMimesMiddleware.js +2 -1
- package/lib/cjs/middlewares/PlatformAcceptMimesMiddleware.js.map +1 -1
- package/lib/cjs/middlewares/PlatformMulterMiddleware.js +2 -0
- package/lib/cjs/middlewares/PlatformMulterMiddleware.js.map +1 -1
- package/lib/cjs/services/FakeAdapter.js +6 -12
- package/lib/cjs/services/FakeAdapter.js.map +1 -1
- package/lib/cjs/services/Platform.js +30 -86
- package/lib/cjs/services/Platform.js.map +1 -1
- package/lib/cjs/services/PlatformAdapter.js +10 -0
- package/lib/cjs/services/PlatformAdapter.js.map +1 -1
- package/lib/cjs/services/PlatformApplication.js +23 -9
- package/lib/cjs/services/PlatformApplication.js.map +1 -1
- package/lib/cjs/services/PlatformHandler.js +112 -171
- package/lib/cjs/services/PlatformHandler.js.map +1 -1
- package/lib/cjs/services/PlatformMiddlewaresChain.js +5 -19
- package/lib/cjs/services/PlatformMiddlewaresChain.js.map +1 -1
- package/lib/cjs/services/PlatformRequest.js +16 -12
- package/lib/cjs/services/PlatformRequest.js.map +1 -1
- package/lib/cjs/services/PlatformResponse.js +19 -22
- package/lib/cjs/services/PlatformResponse.js.map +1 -1
- package/lib/cjs/services/PlatformTest.js +29 -9
- package/lib/cjs/services/PlatformTest.js.map +1 -1
- package/lib/cjs/utils/createContext.js +32 -21
- package/lib/cjs/utils/createContext.js.map +1 -1
- package/lib/cjs/utils/createHttpServer.js +3 -3
- package/lib/cjs/utils/createHttpServer.js.map +1 -1
- package/lib/cjs/utils/createHttpsServer.js +3 -3
- package/lib/cjs/utils/createHttpsServer.js.map +1 -1
- package/lib/cjs/utils/createInjector.js +6 -8
- package/lib/cjs/utils/createInjector.js.map +1 -1
- package/lib/cjs/utils/ensureContext.js +16 -0
- package/lib/cjs/utils/ensureContext.js.map +1 -0
- package/lib/cjs/utils/getConfiguration.js +6 -12
- package/lib/cjs/utils/getConfiguration.js.map +1 -1
- package/lib/cjs/utils/printRoutes.js +10 -8
- package/lib/cjs/utils/printRoutes.js.map +1 -1
- package/lib/cjs/utils/setResponseHeaders.js +8 -14
- package/lib/cjs/utils/setResponseHeaders.js.map +1 -1
- package/lib/esm/builder/PlatformBuilder.js +63 -68
- package/lib/esm/builder/PlatformBuilder.js.map +1 -1
- package/lib/esm/config/interfaces/PlatformLoggerSettings.js.map +1 -1
- package/lib/esm/config/services/PlatformConfiguration.js +0 -64
- package/lib/esm/config/services/PlatformConfiguration.js.map +1 -1
- package/lib/esm/decorators/params/error.js +1 -1
- package/lib/esm/decorators/params/error.js.map +1 -1
- package/lib/esm/domain/AnyToPromiseWithCtx.js +4 -5
- package/lib/esm/domain/AnyToPromiseWithCtx.js.map +1 -1
- package/lib/esm/domain/PlatformContext.js +46 -38
- package/lib/esm/domain/PlatformContext.js.map +1 -1
- package/lib/esm/domain/PlatformRouteDetails.js +1 -19
- package/lib/esm/domain/PlatformRouteDetails.js.map +1 -1
- package/lib/esm/exports.js +1 -0
- package/lib/esm/exports.js.map +1 -1
- package/lib/esm/index.js +1 -9
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/interfaces/PlatformRouteOptions.js.map +1 -1
- package/lib/esm/interfaces/Route.js.map +1 -1
- package/lib/esm/middlewares/PlatformAcceptMimesMiddleware.js +2 -1
- package/lib/esm/middlewares/PlatformAcceptMimesMiddleware.js.map +1 -1
- package/lib/esm/middlewares/PlatformMulterMiddleware.js +2 -0
- package/lib/esm/middlewares/PlatformMulterMiddleware.js.map +1 -1
- package/lib/esm/services/FakeAdapter.js +6 -12
- package/lib/esm/services/FakeAdapter.js.map +1 -1
- package/lib/esm/services/Platform.js +31 -87
- package/lib/esm/services/Platform.js.map +1 -1
- package/lib/esm/services/PlatformAdapter.js +10 -0
- package/lib/esm/services/PlatformAdapter.js.map +1 -1
- package/lib/esm/services/PlatformApplication.js +23 -9
- package/lib/esm/services/PlatformApplication.js.map +1 -1
- package/lib/esm/services/PlatformHandler.js +114 -173
- package/lib/esm/services/PlatformHandler.js.map +1 -1
- package/lib/esm/services/PlatformMiddlewaresChain.js +5 -19
- package/lib/esm/services/PlatformMiddlewaresChain.js.map +1 -1
- package/lib/esm/services/PlatformRequest.js +16 -12
- package/lib/esm/services/PlatformRequest.js.map +1 -1
- package/lib/esm/services/PlatformResponse.js +19 -22
- package/lib/esm/services/PlatformResponse.js.map +1 -1
- package/lib/esm/services/PlatformTest.js +29 -9
- package/lib/esm/services/PlatformTest.js.map +1 -1
- package/lib/esm/utils/createContext.js +30 -20
- package/lib/esm/utils/createContext.js.map +1 -1
- package/lib/esm/utils/createHttpServer.js +3 -3
- package/lib/esm/utils/createHttpServer.js.map +1 -1
- package/lib/esm/utils/createHttpsServer.js +3 -3
- package/lib/esm/utils/createHttpsServer.js.map +1 -1
- package/lib/esm/utils/createInjector.js +7 -9
- package/lib/esm/utils/createInjector.js.map +1 -1
- package/lib/esm/utils/ensureContext.js +12 -0
- package/lib/esm/utils/ensureContext.js.map +1 -0
- package/lib/esm/utils/getConfiguration.js +8 -14
- package/lib/esm/utils/getConfiguration.js.map +1 -1
- package/lib/esm/utils/printRoutes.js +10 -8
- package/lib/esm/utils/printRoutes.js.map +1 -1
- package/lib/esm/utils/setResponseHeaders.js +8 -14
- package/lib/esm/utils/setResponseHeaders.js.map +1 -1
- package/lib/types/builder/PlatformBuilder.d.ts +17 -16
- package/lib/types/config/interfaces/PlatformLoggerSettings.d.ts +2 -43
- package/lib/types/config/services/PlatformConfiguration.d.ts +6 -22
- package/lib/types/domain/AnyToPromiseWithCtx.d.ts +1 -9
- package/lib/types/domain/PlatformContext.d.ts +32 -18
- package/lib/types/domain/PlatformRouteDetails.d.ts +4 -19
- package/lib/types/exports.d.ts +1 -0
- package/lib/types/index.d.ts +1 -9
- package/lib/types/interfaces/PlatformRouteOptions.d.ts +0 -1
- package/lib/types/interfaces/Route.d.ts +2 -3
- package/lib/types/middlewares/PlatformMulterMiddleware.d.ts +1 -1
- package/lib/types/services/FakeAdapter.d.ts +7 -6
- package/lib/types/services/Platform.d.ts +7 -28
- package/lib/types/services/PlatformAdapter.d.ts +22 -11
- package/lib/types/services/PlatformApplication.d.ts +14 -6
- package/lib/types/services/PlatformHandler.d.ts +21 -59
- package/lib/types/services/PlatformMiddlewaresChain.d.ts +1 -2
- package/lib/types/services/PlatformRequest.d.ts +8 -10
- package/lib/types/services/PlatformResponse.d.ts +11 -15
- package/lib/types/services/PlatformTest.d.ts +4 -3
- package/lib/types/utils/createContext.d.ts +4 -1
- package/lib/types/utils/createHttpsServer.d.ts +1 -0
- package/lib/types/utils/createInjector.d.ts +2 -2
- package/lib/types/utils/ensureContext.d.ts +2 -0
- package/lib/types/utils/listenServer.d.ts +2 -0
- package/package.json +28 -23
- package/readme.md +2 -1
- package/lib/cjs/builder/PlatformControllerBuilder.js +0 -82
- package/lib/cjs/builder/PlatformControllerBuilder.js.map +0 -1
- package/lib/cjs/config/interfaces/EndpointDirectoriesSettings.js +0 -3
- package/lib/cjs/config/interfaces/EndpointDirectoriesSettings.js.map +0 -1
- package/lib/cjs/domain/ControllerProvider.js +0 -51
- package/lib/cjs/domain/ControllerProvider.js.map +0 -1
- package/lib/cjs/domain/HandlerMetadata.js +0 -57
- package/lib/cjs/domain/HandlerMetadata.js.map +0 -1
- package/lib/cjs/middlewares/__mock__/FakeCtrl.js +0 -12
- package/lib/cjs/middlewares/__mock__/FakeCtrl.js.map +0 -1
- package/lib/cjs/middlewares/bindEndpointMiddleware.js +0 -13
- package/lib/cjs/middlewares/bindEndpointMiddleware.js.map +0 -1
- package/lib/cjs/services/PlatformRouter.js +0 -108
- package/lib/cjs/services/PlatformRouter.js.map +0 -1
- package/lib/cjs/utils/__mock__/Test1.js +0 -8
- package/lib/cjs/utils/__mock__/Test1.js.map +0 -1
- package/lib/cjs/utils/__mock__/Test2.js +0 -8
- package/lib/cjs/utils/__mock__/Test2.js.map +0 -1
- package/lib/cjs/utils/createHandlerMetadata.js +0 -49
- package/lib/cjs/utils/createHandlerMetadata.js.map +0 -1
- package/lib/cjs/utils/importProviders.js +0 -29
- package/lib/cjs/utils/importProviders.js.map +0 -1
- package/lib/cjs/utils/useCtxHandler.js +0 -15
- package/lib/cjs/utils/useCtxHandler.js.map +0 -1
- package/lib/esm/builder/PlatformControllerBuilder.js +0 -76
- package/lib/esm/builder/PlatformControllerBuilder.js.map +0 -1
- package/lib/esm/config/interfaces/EndpointDirectoriesSettings.js +0 -2
- package/lib/esm/config/interfaces/EndpointDirectoriesSettings.js.map +0 -1
- package/lib/esm/domain/ControllerProvider.js +0 -47
- package/lib/esm/domain/ControllerProvider.js.map +0 -1
- package/lib/esm/domain/HandlerMetadata.js +0 -53
- package/lib/esm/domain/HandlerMetadata.js.map +0 -1
- package/lib/esm/middlewares/__mock__/FakeCtrl.js +0 -9
- package/lib/esm/middlewares/__mock__/FakeCtrl.js.map +0 -1
- package/lib/esm/middlewares/bindEndpointMiddleware.js +0 -9
- package/lib/esm/middlewares/bindEndpointMiddleware.js.map +0 -1
- package/lib/esm/services/PlatformRouter.js +0 -105
- package/lib/esm/services/PlatformRouter.js.map +0 -1
- package/lib/esm/utils/__mock__/Test1.js +0 -4
- package/lib/esm/utils/__mock__/Test1.js.map +0 -1
- package/lib/esm/utils/__mock__/Test2.js +0 -4
- package/lib/esm/utils/__mock__/Test2.js.map +0 -1
- package/lib/esm/utils/createHandlerMetadata.js +0 -45
- package/lib/esm/utils/createHandlerMetadata.js.map +0 -1
- package/lib/esm/utils/importProviders.js +0 -25
- package/lib/esm/utils/importProviders.js.map +0 -1
- package/lib/esm/utils/useCtxHandler.js +0 -11
- package/lib/esm/utils/useCtxHandler.js.map +0 -1
- package/lib/types/builder/PlatformControllerBuilder.d.ts +0 -18
- package/lib/types/config/interfaces/EndpointDirectoriesSettings.d.ts +0 -3
- package/lib/types/domain/ControllerProvider.d.ts +0 -24
- package/lib/types/domain/HandlerMetadata.d.ts +0 -32
- package/lib/types/middlewares/__mock__/FakeCtrl.d.ts +0 -2
- package/lib/types/middlewares/bindEndpointMiddleware.d.ts +0 -6
- package/lib/types/services/PlatformRouter.d.ts +0 -51
- package/lib/types/utils/__mock__/Test1.d.ts +0 -3
- package/lib/types/utils/__mock__/Test2.d.ts +0 -3
- package/lib/types/utils/createHandlerMetadata.d.ts +0 -8
- package/lib/types/utils/importProviders.d.ts +0 -10
- package/lib/types/utils/useCtxHandler.d.ts +0 -13
|
@@ -6,26 +6,44 @@ const PlatformApplication_1 = require("../services/PlatformApplication");
|
|
|
6
6
|
const PlatformRequest_1 = require("../services/PlatformRequest");
|
|
7
7
|
const PlatformResponse_1 = require("../services/PlatformResponse");
|
|
8
8
|
class PlatformContext extends di_1.DIContext {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
9
|
+
event;
|
|
10
|
+
/**
|
|
11
|
+
* The data return by the previous endpoint if you use multiple handler on the same route. By default data is empty.
|
|
12
|
+
*/
|
|
13
|
+
data;
|
|
14
|
+
/**
|
|
15
|
+
* The error caught by the current handler
|
|
16
|
+
*/
|
|
17
|
+
error;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
next;
|
|
22
|
+
/**
|
|
23
|
+
* The current @@PlatformResponse@@.
|
|
24
|
+
*/
|
|
25
|
+
response;
|
|
26
|
+
/**
|
|
27
|
+
* The current @@PlatformRequest@@.
|
|
28
|
+
*/
|
|
29
|
+
request;
|
|
30
|
+
/**
|
|
31
|
+
* The current @@EndpointMetadata@@ resolved by Ts.ED during the request.
|
|
32
|
+
*/
|
|
33
|
+
endpoint;
|
|
34
|
+
/**
|
|
35
|
+
* The current @@PlatformHandlerMetadata@@ resolved by Ts.ED during the request.
|
|
36
|
+
*/
|
|
37
|
+
handlerMetadata;
|
|
38
|
+
#isFinished = false;
|
|
39
|
+
constructor(options) {
|
|
40
|
+
super(options);
|
|
41
|
+
options.endpoint && (this.endpoint = options.endpoint);
|
|
42
|
+
this.event = options.event;
|
|
43
|
+
this.response = new (options.ResponseKlass || PlatformResponse_1.PlatformResponse)(this);
|
|
44
|
+
this.request = new (options.RequestKlass || PlatformRequest_1.PlatformRequest)(this);
|
|
23
45
|
this.request.request.$ctx = this;
|
|
24
46
|
this.request.request.id = this.id;
|
|
25
|
-
this.logger.url = this.url;
|
|
26
|
-
this.container.set(PlatformResponse_1.PlatformResponse, this.response);
|
|
27
|
-
this.container.set(PlatformRequest_1.PlatformRequest, this.request);
|
|
28
|
-
this.container.set(PlatformContext, this);
|
|
29
47
|
this.response.setHeader("x-request-id", this.id);
|
|
30
48
|
}
|
|
31
49
|
get url() {
|
|
@@ -34,28 +52,18 @@ class PlatformContext extends di_1.DIContext {
|
|
|
34
52
|
get app() {
|
|
35
53
|
return this.injector.get(PlatformApplication_1.PlatformApplication);
|
|
36
54
|
}
|
|
37
|
-
async
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
this.
|
|
42
|
-
this
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
delete this.response;
|
|
47
|
-
// @ts-ignore
|
|
48
|
-
delete this.request;
|
|
55
|
+
async start() {
|
|
56
|
+
return this.emit("$onRequest", this);
|
|
57
|
+
}
|
|
58
|
+
async finish() {
|
|
59
|
+
await Promise.all([this.emit("$onResponse", this), this.destroy()]);
|
|
60
|
+
this.#isFinished = true;
|
|
61
|
+
}
|
|
62
|
+
isFinished() {
|
|
63
|
+
return this.#isFinished;
|
|
49
64
|
}
|
|
50
65
|
isDone() {
|
|
51
|
-
|
|
52
|
-
if (!this.request || !this.response) {
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
if ((_a = this.request) === null || _a === void 0 ? void 0 : _a.isAborted()) {
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
|
-
return (_b = this.response) === null || _b === void 0 ? void 0 : _b.isDone();
|
|
66
|
+
return this.request?.isAborted() || this.response?.isDone() || this.isFinished();
|
|
59
67
|
}
|
|
60
68
|
/**
|
|
61
69
|
* Return the framework request instance (Express, Koa, etc...)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformContext.js","sourceRoot":"","sources":["../../../src/domain/PlatformContext.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"PlatformContext.js","sourceRoot":"","sources":["../../../src/domain/PlatformContext.ts"],"names":[],"mappings":";;;AAAA,iCAAqD;AAKrD,yEAAoE;AACpE,iEAA4D;AAC5D,mEAA8D;AAc9D,MAAa,eAGX,SAAQ,cAAS;IACV,KAAK,CAAgB;IAC5B;;OAEG;IACI,IAAI,CAAM;IACjB;;OAEG;IACI,KAAK,CAAW;IACvB;;OAEG;IACI,IAAI,CAAO;IAClB;;OAEG;IACM,QAAQ,CAAO;IACxB;;OAEG;IACM,OAAO,CAAO;IACvB;;OAEG;IACH,QAAQ,CAAmB;IAC3B;;OAEG;IACH,eAAe,CAA0B;IAEzC,WAAW,GAAY,KAAK,CAAC;IAE7B,YAAY,OAA+B;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEvD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,mCAAgB,CAAC,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,iCAAe,CAAC,CAAC,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAElC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAsB,yCAAmB,CAAE,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;IACnF,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAO,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAO,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAS,CAAC;IAClC,CAAC;CACF;AA9GD,0CA8GC","sourcesContent":["import {DIContext, DIContextOptions} from \"@tsed/di\";\nimport {PlatformHandlerMetadata} from \"@tsed/platform-router\";\nimport {EndpointMetadata} from \"@tsed/schema\";\nimport {IncomingMessage, ServerResponse} from \"http\";\nimport {IncomingEvent} from \"../interfaces/IncomingEvent\";\nimport {PlatformApplication} from \"../services/PlatformApplication\";\nimport {PlatformRequest} from \"../services/PlatformRequest\";\nimport {PlatformResponse} from \"../services/PlatformResponse\";\n\ndeclare global {\n namespace TsED {\n export interface Context extends PlatformContext {}\n }\n}\n\nexport interface PlatformContextOptions extends DIContextOptions {\n event: IncomingEvent;\n ignoreUrlPatterns?: any[];\n endpoint?: EndpointMetadata;\n}\n\nexport class PlatformContext<\n PReq extends PlatformRequest = PlatformRequest,\n PRes extends PlatformResponse = PlatformResponse\n> extends DIContext {\n public event: IncomingEvent;\n /**\n * The data return by the previous endpoint if you use multiple handler on the same route. By default data is empty.\n */\n public data: any;\n /**\n * The error caught by the current handler\n */\n public error?: unknown;\n /**\n *\n */\n public next?: any;\n /**\n * The current @@PlatformResponse@@.\n */\n readonly response: PRes;\n /**\n * The current @@PlatformRequest@@.\n */\n readonly request: PReq;\n /**\n * The current @@EndpointMetadata@@ resolved by Ts.ED during the request.\n */\n endpoint: EndpointMetadata;\n /**\n * The current @@PlatformHandlerMetadata@@ resolved by Ts.ED during the request.\n */\n handlerMetadata: PlatformHandlerMetadata;\n\n #isFinished: boolean = false;\n\n constructor(options: PlatformContextOptions) {\n super(options);\n\n options.endpoint && (this.endpoint = options.endpoint);\n\n this.event = options.event;\n this.response = new (options.ResponseKlass || PlatformResponse)(this);\n this.request = new (options.RequestKlass || PlatformRequest)(this);\n\n this.request.request.$ctx = this;\n this.request.request.id = this.id;\n\n this.response.setHeader(\"x-request-id\", this.id);\n }\n\n get url() {\n return this.request.url;\n }\n\n get app() {\n return this.injector.get<PlatformApplication>(PlatformApplication)!;\n }\n\n async start() {\n return this.emit(\"$onRequest\", this);\n }\n\n async finish() {\n await Promise.all([this.emit(\"$onResponse\", this), this.destroy()]);\n this.#isFinished = true;\n }\n\n isFinished() {\n return this.#isFinished;\n }\n\n isDone() {\n return this.request?.isAborted() || this.response?.isDone() || this.isFinished();\n }\n\n /**\n * Return the framework request instance (Express, Koa, etc...)\n */\n getRequest<Req = any>(): Req {\n return this.request.getRequest<Req>();\n }\n\n /**\n * Return the framework response instance (Express, Koa, etc...)\n */\n getResponse<Res = any>(): Res {\n return this.response.getResponse<Res>();\n }\n\n /**\n * Get Node.js request\n */\n getReq(): IncomingMessage {\n return this.request.getReq();\n }\n\n /**\n * Get Node.js response\n */\n getRes(): ServerResponse {\n return this.response.getRes();\n }\n\n /**\n * Return the original application instance.\n */\n getApp<T = any>(): T {\n return this.app.getApp() as any;\n }\n}\n"]}
|
|
@@ -1,24 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PlatformRouteDetails = void 0;
|
|
4
|
-
const platform_params_1 = require("@tsed/platform-params");
|
|
5
|
-
const schema_1 = require("@tsed/schema");
|
|
6
|
-
class PlatformRouteDetails extends schema_1.JsonOperationRoute {
|
|
7
|
-
constructor(options = {}) {
|
|
8
|
-
super(options);
|
|
9
|
-
this.rawBody = !!this.endpoint.parameters.find((param) => param.paramType === platform_params_1.ParamTypes.RAW_BODY);
|
|
10
|
-
}
|
|
11
|
-
toJSON() {
|
|
12
|
-
return {
|
|
13
|
-
method: this.method,
|
|
14
|
-
name: this.name,
|
|
15
|
-
url: this.url,
|
|
16
|
-
className: this.className,
|
|
17
|
-
methodClassName: this.methodClassName,
|
|
18
|
-
parameters: this.parameters,
|
|
19
|
-
rawBody: this.rawBody
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.PlatformRouteDetails = PlatformRouteDetails;
|
|
24
3
|
//# sourceMappingURL=PlatformRouteDetails.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformRouteDetails.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouteDetails.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlatformRouteDetails.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouteDetails.ts"],"names":[],"mappings":"","sourcesContent":["export interface PlatformRouteDetails {\n method: string;\n name: string;\n url: string;\n className: string;\n methodClassName: string;\n}\n"]}
|
package/lib/cjs/exports.js
CHANGED
|
@@ -12,6 +12,7 @@ tslib_1.__exportStar(require("@tsed/platform-cache"), exports);
|
|
|
12
12
|
tslib_1.__exportStar(require("@tsed/platform-middlewares"), exports);
|
|
13
13
|
tslib_1.__exportStar(require("@tsed/components-scan"), exports);
|
|
14
14
|
tslib_1.__exportStar(require("@tsed/platform-log-middleware"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("@tsed/platform-router"), exports);
|
|
15
16
|
var logger_1 = require("@tsed/logger");
|
|
16
17
|
Object.defineProperty(exports, "$log", { enumerable: true, get: function () { return logger_1.$log; } });
|
|
17
18
|
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } });
|
package/lib/cjs/exports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":";;;;AAAA,wBAAsB;AACtB,6BAA2B;AAE3B,mDAAyB;AACzB,gEAAsC;AACtC,oEAA0C;AAC1C,yEAA+C;AAC/C,+DAAqC;AACrC,qEAA2C;AAC3C,gEAAsC;AACtC,wEAA8C;
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":";;;;AAAA,wBAAsB;AACtB,6BAA2B;AAE3B,mDAAyB;AACzB,gEAAsC;AACtC,oEAA0C;AAC1C,yEAA+C;AAC/C,+DAAqC;AACrC,qEAA2C;AAC3C,gEAAsC;AACtC,wEAA8C;AAC9C,gEAAsC;AAEtC,uCAA0C;AAAlC,8FAAA,IAAI,OAAA;AAAE,gGAAA,MAAM,OAAA;AAEpB,uCAAqH;AAA7G,oGAAA,UAAU,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,8FAAA,IAAI,OAAA;AAAE,6FAAA,GAAG,OAAA;AAAE,8FAAA,IAAI,OAAA;AAAE,6FAAA,GAAG,OAAA;AAAE,+FAAA,KAAK,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,8FAAA,IAAI,OAAA;AAAE,iGAAA,OAAO,OAAA;AAAE,6FAAA,GAAG,OAAA","sourcesContent":["import \"@tsed/logger\";\nimport \"@tsed/logger-file\";\n\nexport * from \"@tsed/di\";\nexport * from \"@tsed/platform-params\";\nexport * from \"@tsed/platform-exceptions\";\nexport * from \"@tsed/platform-response-filter\";\nexport * from \"@tsed/platform-cache\";\nexport * from \"@tsed/platform-middlewares\";\nexport * from \"@tsed/components-scan\";\nexport * from \"@tsed/platform-log-middleware\";\nexport * from \"@tsed/platform-router\";\n\nexport {$log, Logger} from \"@tsed/logger\";\n\nexport {AcceptMime, Location, Redirect, View, Get, Post, Put, Patch, Delete, Head, Options, All} from \"@tsed/schema\";\n"]}
|
package/lib/cjs/index.js
CHANGED
|
@@ -6,9 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
7
|
tslib_1.__exportStar(require("./exports"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./builder/PlatformBuilder"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./builder/PlatformControllerBuilder"), exports);
|
|
10
9
|
tslib_1.__exportStar(require("./config/interfaces/ConverterSettings"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./config/interfaces/EndpointDirectoriesSettings"), exports);
|
|
12
10
|
tslib_1.__exportStar(require("./config/interfaces/PlatformLoggerSettings"), exports);
|
|
13
11
|
tslib_1.__exportStar(require("./config/interfaces/PlatformMulterSettings"), exports);
|
|
14
12
|
tslib_1.__exportStar(require("./config/interfaces/PlatformStaticsSettings"), exports);
|
|
@@ -22,9 +20,7 @@ tslib_1.__exportStar(require("./decorators/params/next"), exports);
|
|
|
22
20
|
tslib_1.__exportStar(require("./decorators/params/request"), exports);
|
|
23
21
|
tslib_1.__exportStar(require("./decorators/params/response"), exports);
|
|
24
22
|
tslib_1.__exportStar(require("./domain/AnyToPromiseWithCtx"), exports);
|
|
25
|
-
tslib_1.__exportStar(require("./domain/ControllerProvider"), exports);
|
|
26
23
|
tslib_1.__exportStar(require("./domain/EndpointMetadata"), exports);
|
|
27
|
-
tslib_1.__exportStar(require("./domain/HandlerMetadata"), exports);
|
|
28
24
|
tslib_1.__exportStar(require("./domain/PlatformContext"), exports);
|
|
29
25
|
tslib_1.__exportStar(require("./domain/PlatformRouteDetails"), exports);
|
|
30
26
|
tslib_1.__exportStar(require("./interfaces/AfterInit"), exports);
|
|
@@ -44,7 +40,6 @@ tslib_1.__exportStar(require("./interfaces/ResponseErrorObject"), exports);
|
|
|
44
40
|
tslib_1.__exportStar(require("./interfaces/Route"), exports);
|
|
45
41
|
tslib_1.__exportStar(require("./middlewares/PlatformAcceptMimesMiddleware"), exports);
|
|
46
42
|
tslib_1.__exportStar(require("./middlewares/PlatformMulterMiddleware"), exports);
|
|
47
|
-
tslib_1.__exportStar(require("./middlewares/bindEndpointMiddleware"), exports);
|
|
48
43
|
tslib_1.__exportStar(require("./services/FakeAdapter"), exports);
|
|
49
44
|
tslib_1.__exportStar(require("./services/Platform"), exports);
|
|
50
45
|
tslib_1.__exportStar(require("./services/PlatformAdapter"), exports);
|
|
@@ -53,18 +48,15 @@ tslib_1.__exportStar(require("./services/PlatformHandler"), exports);
|
|
|
53
48
|
tslib_1.__exportStar(require("./services/PlatformMiddlewaresChain"), exports);
|
|
54
49
|
tslib_1.__exportStar(require("./services/PlatformRequest"), exports);
|
|
55
50
|
tslib_1.__exportStar(require("./services/PlatformResponse"), exports);
|
|
56
|
-
tslib_1.__exportStar(require("./services/PlatformRouter"), exports);
|
|
57
51
|
tslib_1.__exportStar(require("./services/PlatformTest"), exports);
|
|
58
52
|
tslib_1.__exportStar(require("./utils/createContext"), exports);
|
|
59
|
-
tslib_1.__exportStar(require("./utils/createHandlerMetadata"), exports);
|
|
60
53
|
tslib_1.__exportStar(require("./utils/createHttpServer"), exports);
|
|
61
54
|
tslib_1.__exportStar(require("./utils/createHttpsServer"), exports);
|
|
62
55
|
tslib_1.__exportStar(require("./utils/createInjector"), exports);
|
|
56
|
+
tslib_1.__exportStar(require("./utils/ensureContext"), exports);
|
|
63
57
|
tslib_1.__exportStar(require("./utils/getStaticsOptions"), exports);
|
|
64
|
-
tslib_1.__exportStar(require("./utils/importProviders"), exports);
|
|
65
58
|
tslib_1.__exportStar(require("./utils/listenServer"), exports);
|
|
66
59
|
tslib_1.__exportStar(require("./utils/mapReturnedResponse"), exports);
|
|
67
60
|
tslib_1.__exportStar(require("./utils/printRoutes"), exports);
|
|
68
61
|
tslib_1.__exportStar(require("./utils/setResponseHeaders"), exports);
|
|
69
|
-
tslib_1.__exportStar(require("./utils/useCtxHandler"), exports);
|
|
70
62
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,oDAA0B;AAC1B,oEAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,oDAA0B;AAC1B,oEAA0C;AAC1C,gFAAsD;AACtD,qFAA2D;AAC3D,qFAA2D;AAC3D,sFAA4D;AAC5D,kFAAwD;AACxD,oEAA0C;AAC1C,6EAAmD;AACnD,4EAAkD;AAClD,4EAAkD;AAClD,oEAA0C;AAC1C,mEAAyC;AACzC,sEAA4C;AAC5C,uEAA6C;AAC7C,uEAA6C;AAC7C,oEAA0C;AAC1C,mEAAyC;AACzC,wEAA8C;AAC9C,iEAAuC;AACvC,mEAAyC;AACzC,uEAA6C;AAC7C,kEAAwC;AACxC,oEAA0C;AAC1C,wEAA8C;AAC9C,mEAAyC;AACzC,qEAA2C;AAC3C,+DAAqC;AACrC,iEAAuC;AACvC,kEAAwC;AACxC,oEAA0C;AAC1C,4EAAkD;AAClD,2EAAiD;AACjD,6DAAmC;AACnC,sFAA4D;AAC5D,iFAAuD;AACvD,iEAAuC;AACvC,8DAAoC;AACpC,qEAA2C;AAC3C,yEAA+C;AAC/C,qEAA2C;AAC3C,8EAAoD;AACpD,qEAA2C;AAC3C,sEAA4C;AAC5C,kEAAwC;AACxC,gEAAsC;AACtC,mEAAyC;AACzC,oEAA0C;AAC1C,iEAAuC;AACvC,gEAAsC;AACtC,oEAA0C;AAC1C,+DAAqC;AACrC,sEAA4C;AAC5C,8DAAoC;AACpC,qEAA2C","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./exports\";\nexport * from \"./builder/PlatformBuilder\";\nexport * from \"./config/interfaces/ConverterSettings\";\nexport * from \"./config/interfaces/PlatformLoggerSettings\";\nexport * from \"./config/interfaces/PlatformMulterSettings\";\nexport * from \"./config/interfaces/PlatformStaticsSettings\";\nexport * from \"./config/services/PlatformConfiguration\";\nexport * from \"./constants/routerOptions\";\nexport * from \"./decorators/multer/multerFileSize\";\nexport * from \"./decorators/multer/multerOptions\";\nexport * from \"./decorators/multer/multipartFile\";\nexport * from \"./decorators/params/error\";\nexport * from \"./decorators/params/next\";\nexport * from \"./decorators/params/request\";\nexport * from \"./decorators/params/response\";\nexport * from \"./domain/AnyToPromiseWithCtx\";\nexport * from \"./domain/EndpointMetadata\";\nexport * from \"./domain/PlatformContext\";\nexport * from \"./domain/PlatformRouteDetails\";\nexport * from \"./interfaces/AfterInit\";\nexport * from \"./interfaces/AfterListen\";\nexport * from \"./interfaces/AfterRoutesInit\";\nexport * from \"./interfaces/BeforeInit\";\nexport * from \"./interfaces/BeforeListen\";\nexport * from \"./interfaces/BeforeRoutesInit\";\nexport * from \"./interfaces/HandlerType\";\nexport * from \"./interfaces/IncomingEvent\";\nexport * from \"./interfaces/OnReady\";\nexport * from \"./interfaces/OnRequest\";\nexport * from \"./interfaces/OnResponse\";\nexport * from \"./interfaces/OnRoutesInit\";\nexport * from \"./interfaces/PlatformRouteOptions\";\nexport * from \"./interfaces/ResponseErrorObject\";\nexport * from \"./interfaces/Route\";\nexport * from \"./middlewares/PlatformAcceptMimesMiddleware\";\nexport * from \"./middlewares/PlatformMulterMiddleware\";\nexport * from \"./services/FakeAdapter\";\nexport * from \"./services/Platform\";\nexport * from \"./services/PlatformAdapter\";\nexport * from \"./services/PlatformApplication\";\nexport * from \"./services/PlatformHandler\";\nexport * from \"./services/PlatformMiddlewaresChain\";\nexport * from \"./services/PlatformRequest\";\nexport * from \"./services/PlatformResponse\";\nexport * from \"./services/PlatformTest\";\nexport * from \"./utils/createContext\";\nexport * from \"./utils/createHttpServer\";\nexport * from \"./utils/createHttpsServer\";\nexport * from \"./utils/createInjector\";\nexport * from \"./utils/ensureContext\";\nexport * from \"./utils/getStaticsOptions\";\nexport * from \"./utils/listenServer\";\nexport * from \"./utils/mapReturnedResponse\";\nexport * from \"./utils/printRoutes\";\nexport * from \"./utils/setResponseHeaders\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformRouteOptions.js","sourceRoot":"","sources":["../../../src/interfaces/PlatformRouteOptions.ts"],"names":[],"mappings":"","sourcesContent":["import {Type} from \"@tsed/core\";\nimport {PathType} from \"@tsed/di\";\n\n/**\n * @ignore\n */\nexport interface PlatformRouteOptions {\n token?: Type<any>;\n path?: PathType | undefined;\n method?: string;\n
|
|
1
|
+
{"version":3,"file":"PlatformRouteOptions.js","sourceRoot":"","sources":["../../../src/interfaces/PlatformRouteOptions.ts"],"names":[],"mappings":"","sourcesContent":["import {Type} from \"@tsed/core\";\nimport {PathType} from \"@tsed/di\";\n\n/**\n * @ignore\n */\nexport interface PlatformRouteOptions {\n token?: Type<any>;\n path?: PathType | undefined;\n method?: string;\n handlers: any[];\n}\n\n/**\n * @ignore\n */\nexport type PlatformRouteWithoutHandlers = Partial<Omit<PlatformRouteOptions, \"handlers\">>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../../src/interfaces/Route.ts"],"names":[],"mappings":"","sourcesContent":["import {TokenProvider} from \"@tsed/di\";\
|
|
1
|
+
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../../src/interfaces/Route.ts"],"names":[],"mappings":"","sourcesContent":["import {Provider, TokenProvider} from \"@tsed/di\";\n\nexport interface Route extends Record<string, any> {\n route: string;\n token: TokenProvider;\n}\n\nexport interface RouteController {\n route: string;\n provider: Provider;\n}\n"]}
|
|
@@ -12,9 +12,10 @@ const platform_params_1 = require("@tsed/platform-params");
|
|
|
12
12
|
* @platform
|
|
13
13
|
*/
|
|
14
14
|
let PlatformAcceptMimesMiddleware = class PlatformAcceptMimesMiddleware {
|
|
15
|
+
acceptMimes;
|
|
15
16
|
use(ctx) {
|
|
16
17
|
const { endpoint, request } = ctx;
|
|
17
|
-
const mimes = (0, core_1.uniq)((
|
|
18
|
+
const mimes = (0, core_1.uniq)((endpoint?.get("acceptMimes") || []).concat(this.acceptMimes));
|
|
18
19
|
if (mimes.length && !request.accepts(mimes)) {
|
|
19
20
|
throw new exceptions_1.NotAcceptable(mimes.join(", "));
|
|
20
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformAcceptMimesMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/PlatformAcceptMimesMiddleware.ts"],"names":[],"mappings":";;;;AAAA,qCAAgC;AAChC,iCAAkC;AAClC,iDAA+C;AAC/C,qEAAyE;AACzE,2DAA8C;AAE9C;;;GAGG;AAEH,IAAa,6BAA6B,GAA1C,MAAa,6BAA6B;
|
|
1
|
+
{"version":3,"file":"PlatformAcceptMimesMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/PlatformAcceptMimesMiddleware.ts"],"names":[],"mappings":";;;;AAAA,qCAAgC;AAChC,iCAAkC;AAClC,iDAA+C;AAC/C,qEAAyE;AACzE,2DAA8C;AAE9C;;;GAGG;AAEH,IAAa,6BAA6B,GAA1C,MAAa,6BAA6B;IAExC,WAAW,CAAW;IAEf,GAAG,CAAY,GAAY;QAChC,MAAM,EAAC,QAAQ,EAAE,OAAO,EAAC,GAAG,GAAG,CAAC;QAChC,MAAM,KAAK,GAAG,IAAA,WAAI,EAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAElF,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC3C,MAAM,IAAI,0BAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3C;IACH,CAAC;CACF,CAAA;AAVC;IADC,IAAA,aAAQ,EAAC,aAAa,EAAE,EAAE,CAAC;;kEACN;AAEtB;IAAY,mBAAA,IAAA,yBAAO,GAAE,CAAA;;;;wDAOpB;AAXU,6BAA6B;IADzC,IAAA,iCAAU,GAAE;GACA,6BAA6B,CAYzC;AAZY,sEAA6B","sourcesContent":["import {uniq} from \"@tsed/core\";\nimport {Constant} from \"@tsed/di\";\nimport {NotAcceptable} from \"@tsed/exceptions\";\nimport {Middleware, MiddlewareMethods} from \"@tsed/platform-middlewares\";\nimport {Context} from \"@tsed/platform-params\";\n\n/**\n * @middleware\n * @platform\n */\n@Middleware()\nexport class PlatformAcceptMimesMiddleware implements MiddlewareMethods {\n @Constant(\"acceptMimes\", [])\n acceptMimes: string[];\n\n public use(@Context() ctx: Context): void {\n const {endpoint, request} = ctx;\n const mimes = uniq((endpoint?.get(\"acceptMimes\") || []).concat(this.acceptMimes));\n\n if (mimes.length && !request.accepts(mimes)) {\n throw new NotAcceptable(mimes.join(\", \"));\n }\n }\n}\n"]}
|
|
@@ -20,6 +20,8 @@ exports.MulterException = MulterException;
|
|
|
20
20
|
* @middleware
|
|
21
21
|
*/
|
|
22
22
|
let PlatformMulterMiddleware = PlatformMulterMiddleware_1 = class PlatformMulterMiddleware {
|
|
23
|
+
settings;
|
|
24
|
+
app;
|
|
23
25
|
async use(ctx) {
|
|
24
26
|
try {
|
|
25
27
|
const { fields, options = {} } = ctx.endpoint.get(PlatformMulterMiddleware_1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformMulterMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/PlatformMulterMiddleware.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"PlatformMulterMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/PlatformMulterMiddleware.ts"],"names":[],"mappings":";;;;;AAAA,iCAAuC;AACvC,iDAA4C;AAC5C,qEAAyE;AACzE,2DAA8C;AAG9C,yEAAoE;AAMpE,MAAa,eAAgB,SAAQ,uBAAU;IAC7C,YAAY,EAAe;QACzB,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;IACtB,CAAC;CACF;AAND,0CAMC;AAED;;GAEG;AAEH,IAAa,wBAAwB,gCAArC,MAAa,wBAAwB;IAEzB,QAAQ,CAAyB;IAGjC,GAAG,CAAsB;IAEnC,KAAK,CAAC,GAAG,CAAY,GAAY;QAC/B,IAAI;YACF,MAAM,EAAC,MAAM,EAAE,OAAO,GAAG,EAAE,EAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,0BAAwB,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAA2B;gBACvC,GAAG,IAAI,CAAC,QAAQ;gBAChB,GAAG,OAAO;aACX,CAAC;YAEF,0BAA0B;YAC1B,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACpB,OAAO,QAAQ,CAAC,IAAI,CAAC;aACtB;YAED,MAAM,UAAU,GAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC;YAEnF,OAAO,MAAM,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;SAC9D;QAAC,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,CAAC,IAAI,EAAE;gBACX,MAAM,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;aAC/B;YAED,MAAM,EAAE,CAAC;SACV;IACH,CAAC;IAES,SAAS,CAAC,IAAwB;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC;IACnE,CAAC;CACF,CAAA;AAjCC;IADC,IAAA,UAAK,EAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,4EAA4E;;;0DACtD;AAG3C;IADC,IAAA,WAAM,GAAE;sCACM,yCAAmB;qDAAC;AAEnC;IAAW,mBAAA,IAAA,yBAAO,GAAE,CAAA;;;;mDAuBnB;AA9BU,wBAAwB;IADpC,IAAA,iCAAU,GAAE;GACA,wBAAwB,CAmCpC;AAnCY,4DAAwB","sourcesContent":["import {Inject, Value} from \"@tsed/di\";\nimport {BadRequest} from \"@tsed/exceptions\";\nimport {Middleware, MiddlewareMethods} from \"@tsed/platform-middlewares\";\nimport {Context} from \"@tsed/platform-params\";\nimport type {MulterError} from \"multer\";\nimport {PlatformMulterField, PlatformMulterSettings} from \"../config/interfaces/PlatformMulterSettings\";\nimport {PlatformApplication} from \"../services/PlatformApplication\";\n\nexport interface MulterInputOptions {\n fields: PlatformMulterField[];\n}\n\nexport class MulterException extends BadRequest {\n constructor(er: MulterError) {\n super(er.message);\n this.origin = er;\n this.name = er.code;\n }\n}\n\n/**\n * @middleware\n */\n@Middleware()\nexport class PlatformMulterMiddleware implements MiddlewareMethods {\n @Value(\"multer\", {}) // NOTE: don't use constant to getting multer configuration. See issue #1840\n protected settings: PlatformMulterSettings;\n\n @Inject()\n protected app: PlatformApplication;\n\n async use(@Context() ctx: Context) {\n try {\n const {fields, options = {}} = ctx.endpoint.get(PlatformMulterMiddleware);\n const settings: PlatformMulterSettings = {\n ...this.settings,\n ...options\n };\n\n /* istanbul ignore next */\n if (settings.storage) {\n delete settings.dest;\n }\n\n const middleware: any = this.app.multer(settings).fields(this.getFields({fields}));\n\n return await middleware(ctx.getRequest(), ctx.getResponse());\n } catch (er) {\n if (er.code) {\n throw new MulterException(er);\n }\n\n throw er;\n }\n }\n\n protected getFields(conf: MulterInputOptions) {\n return conf.fields.map(({name, maxCount}) => ({name, maxCount}));\n }\n}\n"]}
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FakeAdapter = void 0;
|
|
4
4
|
class FakeAdapter {
|
|
5
|
-
|
|
6
|
-
this.providers = [];
|
|
7
|
-
}
|
|
5
|
+
providers = [];
|
|
8
6
|
static createFakeRawDriver() {
|
|
9
7
|
// istanbul ignore next
|
|
10
8
|
function FakeRawDriver() { }
|
|
@@ -35,21 +33,17 @@ class FakeAdapter {
|
|
|
35
33
|
multipart(options) {
|
|
36
34
|
return {};
|
|
37
35
|
}
|
|
38
|
-
router(routerOptions) {
|
|
39
|
-
const router = FakeAdapter.createFakeRawDriver();
|
|
40
|
-
return {
|
|
41
|
-
router,
|
|
42
|
-
callback() {
|
|
43
|
-
return router;
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
36
|
statics(endpoint, options) {
|
|
48
37
|
return {};
|
|
49
38
|
}
|
|
50
39
|
bodyParser(type) {
|
|
51
40
|
return () => { };
|
|
52
41
|
}
|
|
42
|
+
mapLayers(layers) { }
|
|
43
|
+
mapHandler(handler) {
|
|
44
|
+
return handler;
|
|
45
|
+
}
|
|
46
|
+
useContext() { }
|
|
53
47
|
}
|
|
54
48
|
exports.FakeAdapter = FakeAdapter;
|
|
55
49
|
//# sourceMappingURL=FakeAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FakeAdapter.js","sourceRoot":"","sources":["../../../src/services/FakeAdapter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"FakeAdapter.js","sourceRoot":"","sources":["../../../src/services/FakeAdapter.ts"],"names":[],"mappings":";;;AAOA,MAAa,WAAW;IACtB,SAAS,GAAmB,EAAE,CAAC;IAE/B,MAAM,CAAC,mBAAmB;QACxB,uBAAuB;QACvB,SAAS,aAAa,KAAI,CAAC;QAE3B,uBAAuB;QACvB,SAAS,GAAG;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;QACxB,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;QACxB,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;QACxB,aAAa,CAAC,KAAK,GAAG,GAAG,CAAC;QAC1B,aAAa,CAAC,IAAI,GAAG,GAAG,CAAC;QACzB,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;QACxB,aAAa,CAAC,IAAI,GAAG,GAAG,CAAC;QACzB,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC;QAC3B,aAAa,CAAC,OAAO,GAAG,GAAG,CAAC;QAE5B,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,GAAG;QACD,MAAM,GAAG,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC9C,OAAO;YACL,GAAG;YACH,QAAQ;gBACN,OAAO,GAAG,CAAC;YACb,CAAC;SACF,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,OAA+B;QACvC,OAAO,EAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,QAAgB,EAAE,OAA+B;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,MAAuB,IAAG,CAAC;IAErC,UAAU,CAAC,OAAgD;QACzD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,UAAU,KAAI,CAAC;CAChB;AAtDD,kCAsDC","sourcesContent":["import {ProviderOpts} from \"@tsed/di\";\nimport {PlatformContextHandler, PlatformLayer} from \"@tsed/platform-router\";\nimport {PlatformMulter, PlatformMulterSettings} from \"../config/interfaces/PlatformMulterSettings\";\nimport {PlatformStaticsOptions} from \"../config/interfaces/PlatformStaticsSettings\";\nimport {PlatformContext} from \"../domain/PlatformContext\";\nimport {PlatformAdapter} from \"./PlatformAdapter\";\n\nexport class FakeAdapter implements PlatformAdapter<any> {\n providers: ProviderOpts[] = [];\n\n static createFakeRawDriver() {\n // istanbul ignore next\n function FakeRawDriver() {}\n\n // istanbul ignore next\n function use() {\n return this;\n }\n\n FakeRawDriver.use = use;\n FakeRawDriver.all = use;\n FakeRawDriver.get = use;\n FakeRawDriver.patch = use;\n FakeRawDriver.post = use;\n FakeRawDriver.put = use;\n FakeRawDriver.head = use;\n FakeRawDriver.delete = use;\n FakeRawDriver.options = use;\n\n return FakeRawDriver;\n }\n\n app(): {app: any; callback(): any} {\n const app = FakeAdapter.createFakeRawDriver();\n return {\n app,\n callback() {\n return app;\n }\n };\n }\n\n multipart(options: PlatformMulterSettings): PlatformMulter {\n return {} as any;\n }\n\n statics(endpoint: string, options: PlatformStaticsOptions): any {\n return {};\n }\n\n bodyParser(type: string): any {\n return () => {};\n }\n\n mapLayers(layers: PlatformLayer[]) {}\n\n mapHandler(handler: PlatformContextHandler<PlatformContext>) {\n return handler;\n }\n\n useContext() {}\n}\n"]}
|
|
@@ -3,126 +3,70 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Platform = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const di_1 = require("@tsed/di");
|
|
6
|
-
const
|
|
7
|
-
const PlatformControllerBuilder_1 = require("../builder/PlatformControllerBuilder");
|
|
8
|
-
const PlatformRouteDetails_1 = require("../domain/PlatformRouteDetails");
|
|
6
|
+
const platform_router_1 = require("@tsed/platform-router");
|
|
9
7
|
const PlatformApplication_1 = require("./PlatformApplication");
|
|
10
|
-
const
|
|
8
|
+
const PlatformHandler_1 = require("./PlatformHandler");
|
|
11
9
|
/**
|
|
12
10
|
* `Platform` is used to provide all routes collected by annotation `@Controller`.
|
|
13
11
|
*
|
|
14
12
|
* @platform
|
|
15
13
|
*/
|
|
16
14
|
let Platform = class Platform {
|
|
17
|
-
|
|
15
|
+
injector;
|
|
16
|
+
platformApplication;
|
|
17
|
+
platformRouters;
|
|
18
|
+
#controllers = new Map();
|
|
19
|
+
constructor(injector, platformApplication, platformRouters) {
|
|
18
20
|
this.injector = injector;
|
|
19
21
|
this.platformApplication = platformApplication;
|
|
20
|
-
this.
|
|
21
|
-
|
|
22
|
-
this.createRouters();
|
|
22
|
+
this.platformRouters = platformRouters;
|
|
23
|
+
platformRouters.prebuild();
|
|
23
24
|
}
|
|
24
25
|
get app() {
|
|
25
26
|
return this.platformApplication;
|
|
26
27
|
}
|
|
27
|
-
get routes() {
|
|
28
|
-
return this._routes;
|
|
29
|
-
}
|
|
30
28
|
addRoutes(routes) {
|
|
31
29
|
routes.forEach((routeSettings) => {
|
|
32
30
|
this.addRoute(routeSettings.route, routeSettings.token);
|
|
33
31
|
});
|
|
34
32
|
}
|
|
35
|
-
addRoute(
|
|
36
|
-
const
|
|
37
|
-
const provider = injector.getProvider(token);
|
|
33
|
+
addRoute(route, token) {
|
|
34
|
+
const provider = this.injector.getProvider(token);
|
|
38
35
|
if (!provider || provider.hasParent()) {
|
|
39
|
-
return;
|
|
36
|
+
return this;
|
|
40
37
|
}
|
|
41
|
-
this.
|
|
42
|
-
|
|
43
|
-
this.app.use(ctrlPath, ...[].concat((0, PlatformControllerBuilder_1.getRouter)(injector, provider).callback()));
|
|
44
|
-
this._routes = (0, schema_1.getOperationsRoutes)(provider.token, {
|
|
45
|
-
withChildren: true,
|
|
46
|
-
basePath
|
|
47
|
-
}).reduce((routes, operationRoute) => {
|
|
48
|
-
if (injector.hasProvider(token)) {
|
|
49
|
-
const provider = injector.getProvider(operationRoute.token);
|
|
50
|
-
const route = new PlatformRouteDetails_1.PlatformRouteDetails({
|
|
51
|
-
...operationRoute,
|
|
52
|
-
provider
|
|
53
|
-
});
|
|
54
|
-
routes = routes.concat(route);
|
|
55
|
-
}
|
|
56
|
-
return routes;
|
|
57
|
-
}, this._routes);
|
|
38
|
+
const router = this.platformRouters.from(provider.token);
|
|
39
|
+
this.app.use(route, router);
|
|
58
40
|
return this;
|
|
59
41
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
42
|
+
getLayers() {
|
|
43
|
+
this.#controllers = new Map();
|
|
44
|
+
return this.platformRouters.getLayers(this.app).map((layer) => {
|
|
45
|
+
if (layer.isProvider()) {
|
|
46
|
+
this.#controllers.set(layer.provider.token, {
|
|
47
|
+
route: String(layer.path).split(layer.provider.path)[0],
|
|
48
|
+
provider: layer.provider
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return layer;
|
|
52
|
+
});
|
|
66
53
|
}
|
|
67
54
|
/**
|
|
68
55
|
* Get all controllers mounted on the application.
|
|
69
56
|
* @returns {RouteController[]}
|
|
70
57
|
*/
|
|
71
58
|
getMountedControllers() {
|
|
72
|
-
return this.
|
|
73
|
-
}
|
|
74
|
-
$onInit() {
|
|
75
|
-
this.buildControllers();
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Create routers from the collected controllers.
|
|
79
|
-
* @private
|
|
80
|
-
*/
|
|
81
|
-
createRouters() {
|
|
82
|
-
const { injector } = this;
|
|
83
|
-
injector.getProviders(di_1.ProviderType.CONTROLLER).map((provider) => {
|
|
84
|
-
(0, PlatformControllerBuilder_1.createRouter)(injector, provider);
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Get all router controllers from the controller token.
|
|
89
|
-
* @private
|
|
90
|
-
*/
|
|
91
|
-
getAllControllers(basePath, token) {
|
|
92
|
-
const store = token.isStore ? token : (0, schema_1.getJsonEntityStore)(token);
|
|
93
|
-
const ctrlPath = (0, schema_1.concatPath)(basePath, schema_1.JsonEntityStore.from(token).path);
|
|
94
|
-
const children = store.get("childrenControllers", []);
|
|
95
|
-
return children
|
|
96
|
-
.reduce((controllers, token) => {
|
|
97
|
-
const childBasePath = (0, schema_1.concatPath)(basePath, store.path);
|
|
98
|
-
return controllers.concat(this.getAllControllers(childBasePath, token));
|
|
99
|
-
}, [])
|
|
100
|
-
.concat([
|
|
101
|
-
{
|
|
102
|
-
route: ctrlPath,
|
|
103
|
-
provider: this.injector.getProvider(token)
|
|
104
|
-
}
|
|
105
|
-
]);
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Create controllers from DI
|
|
109
|
-
* @private
|
|
110
|
-
*/
|
|
111
|
-
buildControllers() {
|
|
112
|
-
const { injector } = this;
|
|
113
|
-
injector.getProviders(di_1.ProviderType.CONTROLLER).map((provider) => {
|
|
114
|
-
if (!provider.hasParent()) {
|
|
115
|
-
return (0, PlatformControllerBuilder_1.buildRouter)(injector, provider);
|
|
116
|
-
}
|
|
117
|
-
});
|
|
59
|
+
return [...this.#controllers.values()];
|
|
118
60
|
}
|
|
119
61
|
};
|
|
120
62
|
Platform = tslib_1.__decorate([
|
|
121
63
|
(0, di_1.Injectable)({
|
|
122
64
|
scope: di_1.ProviderScope.SINGLETON,
|
|
123
|
-
imports: [
|
|
65
|
+
imports: [PlatformHandler_1.PlatformHandler]
|
|
124
66
|
}),
|
|
125
|
-
tslib_1.__metadata("design:paramtypes", [di_1.InjectorService,
|
|
67
|
+
tslib_1.__metadata("design:paramtypes", [di_1.InjectorService,
|
|
68
|
+
PlatformApplication_1.PlatformApplication,
|
|
69
|
+
platform_router_1.PlatformRouters])
|
|
126
70
|
], Platform);
|
|
127
71
|
exports.Platform = Platform;
|
|
128
72
|
//# sourceMappingURL=Platform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Platform.js","sourceRoot":"","sources":["../../../src/services/Platform.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"Platform.js","sourceRoot":"","sources":["../../../src/services/Platform.ts"],"names":[],"mappings":";;;;AAAA,iCAAuG;AACvG,2DAAsD;AAEtD,+DAA0D;AAC1D,uDAAkD;AAElD;;;;GAIG;AAKH,IAAa,QAAQ,GAArB,MAAa,QAAQ;IAIR;IACA;IACA;IALX,YAAY,GAAiC,IAAI,GAAG,EAAE,CAAC;IAEvD,YACW,QAAyB,EACzB,mBAAwC,EACxC,eAAgC;QAFhC,aAAQ,GAAR,QAAQ,CAAiB;QACzB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,oBAAe,GAAf,eAAe,CAAiB;QAEzC,eAAe,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEM,SAAS,CAAC,MAAe;QAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,QAAQ,CAAC,KAAa,EAAE,KAAoB;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAuB,CAAC;QAExE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE;YACrC,OAAO,IAAI,CAAC;SACb;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEzD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS;QACd,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAE9B,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5D,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE;gBACtB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;oBAC1C,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvD,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACzB,CAAC,CAAC;aACJ;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,qBAAqB;QAC1B,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AAzDY,QAAQ;IAJpB,IAAA,eAAU,EAAC;QACV,KAAK,EAAE,kBAAa,CAAC,SAAS;QAC9B,OAAO,EAAE,CAAC,iCAAe,CAAC;KAC3B,CAAC;6CAKqB,oBAAe;QACJ,yCAAmB;QACvB,iCAAe;GANhC,QAAQ,CAyDpB;AAzDY,4BAAQ","sourcesContent":["import {ControllerProvider, Injectable, InjectorService, ProviderScope, TokenProvider} from \"@tsed/di\";\nimport {PlatformRouters} from \"@tsed/platform-router\";\nimport {Route, RouteController} from \"../interfaces/Route\";\nimport {PlatformApplication} from \"./PlatformApplication\";\nimport {PlatformHandler} from \"./PlatformHandler\";\n\n/**\n * `Platform` is used to provide all routes collected by annotation `@Controller`.\n *\n * @platform\n */\n@Injectable({\n scope: ProviderScope.SINGLETON,\n imports: [PlatformHandler]\n})\nexport class Platform {\n #controllers: Map<string, RouteController> = new Map();\n\n constructor(\n readonly injector: InjectorService,\n readonly platformApplication: PlatformApplication,\n readonly platformRouters: PlatformRouters\n ) {\n platformRouters.prebuild();\n }\n\n get app() {\n return this.platformApplication;\n }\n\n public addRoutes(routes: Route[]) {\n routes.forEach((routeSettings) => {\n this.addRoute(routeSettings.route, routeSettings.token);\n });\n }\n\n public addRoute(route: string, token: TokenProvider) {\n const provider = this.injector.getProvider(token) as ControllerProvider;\n\n if (!provider || provider.hasParent()) {\n return this;\n }\n\n const router = this.platformRouters.from(provider.token);\n\n this.app.use(route, router);\n\n return this;\n }\n\n public getLayers() {\n this.#controllers = new Map();\n\n return this.platformRouters.getLayers(this.app).map((layer) => {\n if (layer.isProvider()) {\n this.#controllers.set(layer.provider.token, {\n route: String(layer.path).split(layer.provider.path)[0],\n provider: layer.provider\n });\n }\n\n return layer;\n });\n }\n\n /**\n * Get all controllers mounted on the application.\n * @returns {RouteController[]}\n */\n public getMountedControllers(): RouteController[] {\n return [...this.#controllers.values()];\n }\n}\n"]}
|
|
@@ -4,6 +4,16 @@ exports.PlatformAdapter = void 0;
|
|
|
4
4
|
const di_1 = require("@tsed/di");
|
|
5
5
|
const FakeAdapter_1 = require("./FakeAdapter");
|
|
6
6
|
class PlatformAdapter {
|
|
7
|
+
/**
|
|
8
|
+
* Load providers in top priority
|
|
9
|
+
*/
|
|
10
|
+
providers;
|
|
11
|
+
/**
|
|
12
|
+
* Called after the injector instantiation
|
|
13
|
+
*/
|
|
14
|
+
onInit;
|
|
15
|
+
beforeLoadRoutes;
|
|
16
|
+
afterLoadRoutes;
|
|
7
17
|
}
|
|
8
18
|
exports.PlatformAdapter = PlatformAdapter;
|
|
9
19
|
(0, di_1.registerProvider)({
|