@tsed/platform-http 8.0.0-rc.6 → 8.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/lib/esm/common/builder/PlatformBuilder.js +15 -21
- package/lib/esm/common/builder/PlatformBuilder.js.map +1 -1
- package/lib/esm/common/builder/__fixtures__/PlatformCustom.js +35 -0
- package/lib/esm/common/builder/__fixtures__/PlatformCustom.js.map +1 -0
- package/lib/esm/common/fn/adapter.js.map +1 -1
- package/lib/esm/common/index.js +1 -0
- package/lib/esm/common/index.js.map +1 -1
- package/lib/esm/common/services/PlatformAdapter.js +11 -47
- package/lib/esm/common/services/PlatformAdapter.js.map +1 -1
- package/lib/esm/common/utils/createInjector.js +17 -16
- package/lib/esm/common/utils/createInjector.js.map +1 -1
- package/lib/esm/testing/FakeAdapter.js +51 -1
- package/lib/esm/testing/FakeAdapter.js.map +1 -1
- package/lib/esm/testing/PlatformTest.js +10 -10
- package/lib/esm/testing/PlatformTest.js.map +1 -1
- package/lib/types/common/builder/PlatformBuilder.d.ts +6 -7
- package/lib/types/common/builder/__fixtures__/PlatformCustom.d.ts +17 -0
- package/lib/types/common/fn/adapter.d.ts +2 -8
- package/lib/types/common/index.d.ts +1 -0
- package/lib/types/common/services/PlatformAdapter.d.ts +3 -30
- package/lib/types/common/utils/createInjector.d.ts +1 -8
- package/lib/types/testing/FakeAdapter.d.ts +29 -1
- package/package.json +16 -19
- package/vitest.config.mts +5 -1
|
@@ -17,29 +17,23 @@ import { resolveControllers } from "../utils/resolveControllers.js";
|
|
|
17
17
|
*/
|
|
18
18
|
export class PlatformBuilder {
|
|
19
19
|
#rootModule;
|
|
20
|
-
#adapter;
|
|
21
20
|
#promise;
|
|
22
21
|
#servers;
|
|
23
22
|
#listeners;
|
|
24
|
-
constructor(
|
|
25
|
-
this.name = "";
|
|
23
|
+
constructor(module, settings) {
|
|
26
24
|
this.startedAt = new Date();
|
|
27
25
|
this.current = new Date();
|
|
28
26
|
this.#listeners = [];
|
|
29
27
|
this.#rootModule = module;
|
|
30
28
|
const configuration = getConfiguration(settings, module);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
this.name = adapterKlass.NAME;
|
|
34
|
-
createInjector({
|
|
35
|
-
adapter: adapterKlass,
|
|
36
|
-
settings: configuration
|
|
37
|
-
});
|
|
38
|
-
this.log(`Loading ${adapterKlass.NAME.toUpperCase()} platform adapter...`);
|
|
39
|
-
this.#adapter = injector().get(PlatformAdapter);
|
|
29
|
+
createInjector(configuration);
|
|
30
|
+
this.log(`Loading ${this.name.toUpperCase()} platform adapter...`);
|
|
40
31
|
this.createHttpServers();
|
|
41
32
|
this.log("Injector created...");
|
|
42
33
|
}
|
|
34
|
+
get name() {
|
|
35
|
+
return this.adapter.NAME;
|
|
36
|
+
}
|
|
43
37
|
get rootModule() {
|
|
44
38
|
return injector().get(this.#rootModule);
|
|
45
39
|
}
|
|
@@ -50,7 +44,7 @@ export class PlatformBuilder {
|
|
|
50
44
|
return injector().get(Platform);
|
|
51
45
|
}
|
|
52
46
|
get adapter() {
|
|
53
|
-
return
|
|
47
|
+
return injector().get(PlatformAdapter);
|
|
54
48
|
}
|
|
55
49
|
/**
|
|
56
50
|
* Return the settings configured by the decorator @@Configuration@@.
|
|
@@ -94,8 +88,8 @@ export class PlatformBuilder {
|
|
|
94
88
|
...settings
|
|
95
89
|
});
|
|
96
90
|
}
|
|
97
|
-
static build(module,
|
|
98
|
-
return new PlatformBuilder(
|
|
91
|
+
static build(module, settings) {
|
|
92
|
+
return new PlatformBuilder(module, settings);
|
|
99
93
|
}
|
|
100
94
|
/**
|
|
101
95
|
* Bootstrap a server application
|
|
@@ -138,17 +132,17 @@ export class PlatformBuilder {
|
|
|
138
132
|
}
|
|
139
133
|
async runLifecycle() {
|
|
140
134
|
// init adapter (Express, Koa, etc...)
|
|
141
|
-
await this
|
|
135
|
+
await this.adapter.onInit();
|
|
142
136
|
setLoggerConfiguration();
|
|
143
137
|
// create the middleware mapping to be executed to the expected hook
|
|
144
138
|
await this.mapTokenMiddlewares();
|
|
145
139
|
await this.loadInjector();
|
|
146
140
|
// add the context middleware to the application
|
|
147
141
|
this.log("Mount app context");
|
|
148
|
-
this
|
|
142
|
+
this.adapter.useContext();
|
|
149
143
|
// init routes (controllers, middlewares, etc...)
|
|
150
144
|
this.log("Load routes");
|
|
151
|
-
await this
|
|
145
|
+
await this.adapter.beforeLoadRoutes();
|
|
152
146
|
if (this.rootModule.$beforeRoutesInit) {
|
|
153
147
|
await this.rootModule.$beforeRoutesInit();
|
|
154
148
|
// remove method to avoid multiple call and preserve hook order
|
|
@@ -162,7 +156,7 @@ export class PlatformBuilder {
|
|
|
162
156
|
await this.callHook("$onRoutesInit");
|
|
163
157
|
await this.loadStatics("$afterRoutesInit");
|
|
164
158
|
await this.callHook("$afterRoutesInit");
|
|
165
|
-
await this
|
|
159
|
+
await this.adapter.afterLoadRoutes();
|
|
166
160
|
// map routers are loaded after all hooks because it contains all added middlewares/controllers in the virtual Ts.ED layers
|
|
167
161
|
// This step will convert all Ts.ED layers to the platform layer (Express or Koa)
|
|
168
162
|
await this.mapRouters();
|
|
@@ -232,7 +226,7 @@ export class PlatformBuilder {
|
|
|
232
226
|
}
|
|
233
227
|
mapRouters() {
|
|
234
228
|
const layers = this.platform.getLayers();
|
|
235
|
-
this
|
|
229
|
+
this.adapter.mapLayers(layers);
|
|
236
230
|
const rawBody = constant("rawBody") ||
|
|
237
231
|
layers.some(({ handlers }) => {
|
|
238
232
|
return handlers.some((handler) => handler.opts?.paramsTypes?.RAW_BODY);
|
|
@@ -256,7 +250,7 @@ export class PlatformBuilder {
|
|
|
256
250
|
});
|
|
257
251
|
}
|
|
258
252
|
createHttpServers() {
|
|
259
|
-
this.#servers = this
|
|
253
|
+
this.#servers = this.adapter.getServers();
|
|
260
254
|
}
|
|
261
255
|
async listenServers() {
|
|
262
256
|
this.#listeners = await Promise.all(this.#servers.map((cb) => cb && cb()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformBuilder.js","sourceRoot":"","sources":["../../../../src/common/builder/PlatformBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAO,MAAM,YAAY,CAAC;AACjF,OAAO,EACL,MAAM,EACN,aAAa,EACb,QAAQ,EACR,eAAe,EACf,eAAe,EACf,QAAQ,EAER,MAAM,EAEN,aAAa,EACb,sBAAsB,EAEvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,aAAa,CAAC;AACpD,OAAO,EAAC,qBAAqB,EAAmC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"PlatformBuilder.js","sourceRoot":"","sources":["../../../../src/common/builder/PlatformBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { FakeAdapter } from "../../../testing/index.js";
|
|
2
|
+
import { PlatformBuilder } from "../PlatformBuilder.js";
|
|
3
|
+
export class PlatformCustom extends FakeAdapter {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.NAME = "custom";
|
|
7
|
+
this.providers = [
|
|
8
|
+
{
|
|
9
|
+
token: class Test {
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
];
|
|
13
|
+
}
|
|
14
|
+
static create(module, settings = {}) {
|
|
15
|
+
return PlatformBuilder.create(module, {
|
|
16
|
+
...settings,
|
|
17
|
+
adapter: PlatformCustom
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
static bootstrap(module, settings = {}) {
|
|
21
|
+
return PlatformBuilder.build(module, {
|
|
22
|
+
...settings,
|
|
23
|
+
adapter: PlatformCustom
|
|
24
|
+
}).bootstrap();
|
|
25
|
+
}
|
|
26
|
+
afterLoadRoutes() {
|
|
27
|
+
return Promise.resolve(undefined);
|
|
28
|
+
}
|
|
29
|
+
beforeLoadRoutes() {
|
|
30
|
+
return Promise.resolve(undefined);
|
|
31
|
+
}
|
|
32
|
+
useContext() { }
|
|
33
|
+
useRouter() { }
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=PlatformCustom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformCustom.js","sourceRoot":"","sources":["../../../../../src/common/builder/__fixtures__/PlatformCustom.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAEtD,MAAM,OAAO,cAAe,SAAQ,WAAW;IAA/C;;QACW,SAAI,GAAG,QAAQ,CAAC;QAChB,cAAS,GAAG;YACnB;gBACE,KAAK,EAAE,MAAM,IAAI;iBAAG;aACrB;SACF,CAAC;IA2BJ,CAAC;IAzBC,MAAM,CAAC,MAAM,CAAC,MAAiB,EAAE,WAAwC,EAAE;QACzE,OAAO,eAAe,CAAC,MAAM,CAAM,MAAM,EAAE;YACzC,GAAG,QAAQ;YACX,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAiB,EAAE,WAAwC,EAAE;QAC5E,OAAO,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE;YACnC,GAAG,QAAQ;YACX,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC,SAAS,EAAE,CAAC;IACjB,CAAC;IAED,eAAe;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,gBAAgB;QACd,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,UAAU,KAAS,CAAC;IAEpB,SAAS,KAAS,CAAC;CACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/common/fn/adapter.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/common/fn/adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAIlC,MAAM,OAAO,GAAG,kBAAkB,CAAC;AAEnC,IAAI,aAAyC,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,OAAoC;IAC1D,MAAM,GAAG,GAAG,QAAQ,CAA6B,OAAO,CAAC,CAAC;IAE1D,IAAI,OAAO,EAAE,CAAC;QACZ,aAAa,KAAK,OAAO,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC;IAE5B,OAAO,GAAG,CAAC,KAAmC,CAAC;AACjD,CAAC"}
|
package/lib/esm/common/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Automatically generated by @tsed/barrels.
|
|
3
3
|
*/
|
|
4
|
+
export * from "./builder/__fixtures__/PlatformCustom.js";
|
|
4
5
|
export * from "./builder/PlatformBuilder.js";
|
|
5
6
|
export * from "./config/interfaces/PlatformJsonMapperSettings.js";
|
|
6
7
|
export * from "./config/interfaces/PlatformMulterSettings.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC"}
|
|
@@ -3,6 +3,12 @@ import { application } from "../fn/application.js";
|
|
|
3
3
|
import { createHttpServer } from "../utils/createHttpServer.js";
|
|
4
4
|
import { createHttpsServer } from "../utils/createHttpsServer.js";
|
|
5
5
|
export class PlatformAdapter {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* Load providers in top priority
|
|
9
|
+
*/
|
|
10
|
+
this.providers = [];
|
|
11
|
+
}
|
|
6
12
|
get app() {
|
|
7
13
|
return application();
|
|
8
14
|
}
|
|
@@ -19,54 +25,12 @@ export class PlatformAdapter {
|
|
|
19
25
|
afterLoadRoutes() {
|
|
20
26
|
return Promise.resolve();
|
|
21
27
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
this.providers = [];
|
|
27
|
-
}
|
|
28
|
-
static { this.NAME = "FAKE_ADAPTER"; }
|
|
29
|
-
static createFakeRawDriver() {
|
|
30
|
-
// istanbul ignore next
|
|
31
|
-
function FakeRawDriver() { }
|
|
32
|
-
// istanbul ignore next
|
|
33
|
-
function use() {
|
|
34
|
-
return this;
|
|
35
|
-
}
|
|
36
|
-
FakeRawDriver.use = use;
|
|
37
|
-
FakeRawDriver.all = use;
|
|
38
|
-
FakeRawDriver.get = use;
|
|
39
|
-
FakeRawDriver.patch = use;
|
|
40
|
-
FakeRawDriver.post = use;
|
|
41
|
-
FakeRawDriver.put = use;
|
|
42
|
-
FakeRawDriver.head = use;
|
|
43
|
-
FakeRawDriver.delete = use;
|
|
44
|
-
FakeRawDriver.options = use;
|
|
45
|
-
return FakeRawDriver;
|
|
46
|
-
}
|
|
47
|
-
createApp() {
|
|
48
|
-
const app = FakeAdapter.createFakeRawDriver();
|
|
49
|
-
return {
|
|
50
|
-
app,
|
|
51
|
-
callback() {
|
|
52
|
-
return app;
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
multipart(options) {
|
|
57
|
-
return {};
|
|
58
|
-
}
|
|
59
|
-
statics(endpoint, options) {
|
|
60
|
-
return {};
|
|
61
|
-
}
|
|
62
|
-
bodyParser(type) {
|
|
63
|
-
return () => { };
|
|
64
|
-
}
|
|
65
|
-
mapLayers(layers) { }
|
|
66
|
-
mapHandler(handler) {
|
|
28
|
+
/**
|
|
29
|
+
* Map handler to the targeted framework
|
|
30
|
+
*/
|
|
31
|
+
mapHandler(handler, layer) {
|
|
67
32
|
return handler;
|
|
68
33
|
}
|
|
69
|
-
useContext() { }
|
|
70
34
|
}
|
|
71
|
-
injectable(PlatformAdapter).
|
|
35
|
+
injectable(PlatformAdapter).alias("PlatformAdapter");
|
|
72
36
|
//# sourceMappingURL=PlatformAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformAdapter.js","sourceRoot":"","sources":["../../../../src/common/services/PlatformAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAe,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"PlatformAdapter.js","sourceRoot":"","sources":["../../../../src/common/services/PlatformAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAe,MAAM,UAAU,CAAC;AAMlD,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAIhE,MAAM,OAAgB,eAAe;IAArC;QAEE;;WAEG;QACH,cAAS,GAAmB,EAAE,CAAC;IAgEjC,CAAC;IA9DC,IAAI,GAAG;QACL,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,UAAU;QACR,MAAM,GAAG,GAAG,WAAW,EAAO,CAAC;QAC/B,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAU,CAAC;IACxG,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,gBAAgB;QACd,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,eAAe;QACb,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAYD;;OAEG;IACH,UAAU,CAAC,OAAiB,EAAE,KAA8B;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;CA0BF;AAMD,UAAU,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { toMap } from "@tsed/core";
|
|
|
2
2
|
import { injector, setLoggerConfiguration } from "@tsed/di";
|
|
3
3
|
import { $log } from "@tsed/logger";
|
|
4
4
|
import { PlatformConfiguration } from "../config/services/PlatformConfiguration.js";
|
|
5
|
+
import { adapter as $adapter } from "../fn/adapter.js";
|
|
5
6
|
import { Platform } from "../services/Platform.js";
|
|
6
7
|
import { PlatformAdapter } from "../services/PlatformAdapter.js";
|
|
7
8
|
import { PlatformApplication } from "../services/PlatformApplication.js";
|
|
@@ -10,32 +11,32 @@ import { PlatformRequest } from "../services/PlatformRequest.js";
|
|
|
10
11
|
import { PlatformResponse } from "../services/PlatformResponse.js";
|
|
11
12
|
$log.name = "TSED";
|
|
12
13
|
const DEFAULT_PROVIDERS = [
|
|
13
|
-
{
|
|
14
|
-
{
|
|
15
|
-
{
|
|
16
|
-
{
|
|
17
|
-
{
|
|
14
|
+
{ token: PlatformHandler },
|
|
15
|
+
{ token: PlatformResponse },
|
|
16
|
+
{ token: PlatformRequest },
|
|
17
|
+
{ token: PlatformApplication },
|
|
18
|
+
{ token: Platform }
|
|
18
19
|
];
|
|
19
|
-
export function createInjector(
|
|
20
|
+
export function createInjector(settings) {
|
|
20
21
|
const inj = injector();
|
|
21
22
|
inj.addProvider(PlatformConfiguration);
|
|
22
23
|
inj.settings = inj.invoke(PlatformConfiguration);
|
|
23
24
|
inj.logger = $log;
|
|
24
25
|
inj.settings.set(settings);
|
|
25
|
-
if (adapter) {
|
|
26
|
-
inj.addProvider(PlatformAdapter, {
|
|
27
|
-
useClass: adapter
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
inj.invoke(PlatformAdapter);
|
|
31
|
-
inj.alias(PlatformAdapter, "PlatformAdapter");
|
|
32
26
|
setLoggerConfiguration();
|
|
27
|
+
const adapterToken = $adapter(settings.adapter);
|
|
28
|
+
inj
|
|
29
|
+
.addProvider(PlatformAdapter, {
|
|
30
|
+
useClass: adapterToken
|
|
31
|
+
})
|
|
32
|
+
.alias(PlatformAdapter, "PlatformAdapter");
|
|
33
|
+
const adapter = inj.invoke(PlatformAdapter);
|
|
34
|
+
inj.settings.set("PLATFORM_NAME", settings.PLATFORM_NAME || adapter.NAME);
|
|
33
35
|
const instance = inj.get(PlatformAdapter);
|
|
34
|
-
instance.providers
|
|
35
|
-
toMap(instance.providers, "provide").forEach((provider, token) => {
|
|
36
|
+
toMap(instance.providers, "token").forEach((provider, token) => {
|
|
36
37
|
inj.addProvider(token, provider);
|
|
37
38
|
});
|
|
38
|
-
DEFAULT_PROVIDERS.map((provider) => inj.get(provider.
|
|
39
|
+
DEFAULT_PROVIDERS.map((provider) => inj.get(provider.token));
|
|
39
40
|
return inj;
|
|
40
41
|
}
|
|
41
42
|
//# sourceMappingURL=createInjector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createInjector.js","sourceRoot":"","sources":["../../../../src/common/utils/createInjector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"createInjector.js","sourceRoot":"","sources":["../../../../src/common/utils/createInjector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAgB,sBAAsB,EAAC,MAAM,UAAU,CAAC;AACxE,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAAC,qBAAqB,EAAC,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAEjE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;AAEnB,MAAM,iBAAiB,GAAG;IACxB,EAAC,KAAK,EAAE,eAAe,EAAC;IACxB,EAAC,KAAK,EAAE,gBAAgB,EAAC;IACzB,EAAC,KAAK,EAAE,eAAe,EAAC;IACxB,EAAC,KAAK,EAAE,mBAAmB,EAAC;IAC5B,EAAC,KAAK,EAAE,QAAQ,EAAC;CAClB,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,QAAqC;IAClE,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;IACvB,GAAG,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAEvC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACjD,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE3B,sBAAsB,EAAE,CAAC;IAEzB,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEhD,GAAG;SACA,WAAW,CAAC,eAAe,EAAE;QAC5B,QAAQ,EAAE,YAAY;KACvB,CAAC;SACD,KAAK,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAE5C,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAkB,eAAe,CAAE,CAAC;IAE5D,KAAK,CAAoB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAChF,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7D,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,2 +1,52 @@
|
|
|
1
|
-
|
|
1
|
+
import { injectable } from "@tsed/di";
|
|
2
|
+
import { PlatformAdapter } from "../common/index.js";
|
|
3
|
+
export class FakeAdapter extends PlatformAdapter {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.NAME = "FAKE_ADAPTER";
|
|
7
|
+
this.providers = [];
|
|
8
|
+
}
|
|
9
|
+
static createFakeRawDriver() {
|
|
10
|
+
// istanbul ignore next
|
|
11
|
+
function FakeRawDriver() { }
|
|
12
|
+
// istanbul ignore next
|
|
13
|
+
function use() {
|
|
14
|
+
return this;
|
|
15
|
+
}
|
|
16
|
+
FakeRawDriver.use = use;
|
|
17
|
+
FakeRawDriver.all = use;
|
|
18
|
+
FakeRawDriver.get = use;
|
|
19
|
+
FakeRawDriver.patch = use;
|
|
20
|
+
FakeRawDriver.post = use;
|
|
21
|
+
FakeRawDriver.put = use;
|
|
22
|
+
FakeRawDriver.head = use;
|
|
23
|
+
FakeRawDriver.delete = use;
|
|
24
|
+
FakeRawDriver.options = use;
|
|
25
|
+
return FakeRawDriver;
|
|
26
|
+
}
|
|
27
|
+
createApp() {
|
|
28
|
+
const app = FakeAdapter.createFakeRawDriver();
|
|
29
|
+
return {
|
|
30
|
+
app,
|
|
31
|
+
callback() {
|
|
32
|
+
return app;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
multipart(options) {
|
|
37
|
+
return {};
|
|
38
|
+
}
|
|
39
|
+
statics(endpoint, options) {
|
|
40
|
+
return {};
|
|
41
|
+
}
|
|
42
|
+
bodyParser(type) {
|
|
43
|
+
return () => { };
|
|
44
|
+
}
|
|
45
|
+
mapLayers(layers) { }
|
|
46
|
+
mapHandler(handler) {
|
|
47
|
+
return handler;
|
|
48
|
+
}
|
|
49
|
+
useContext() { }
|
|
50
|
+
}
|
|
51
|
+
injectable(PlatformAdapter).class(FakeAdapter);
|
|
2
52
|
//# sourceMappingURL=FakeAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FakeAdapter.js","sourceRoot":"","sources":["../../../src/testing/FakeAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"FakeAdapter.js","sourceRoot":"","sources":["../../../src/testing/FakeAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAoB,MAAM,UAAU,CAAC;AAGvD,OAAO,EACL,eAAe,EAKhB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,OAAO,WAAY,SAAQ,eAAoB;IAArD;;QACW,SAAI,GAAW,cAAc,CAAC;QACvC,cAAS,GAAmB,EAAE,CAAC;IAqDjC,CAAC;IAnDC,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,SAAS;QACP,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;AAED,UAAU,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC"}
|
|
@@ -2,16 +2,24 @@ import { DITest, injector } from "@tsed/di";
|
|
|
2
2
|
import accepts from "accepts";
|
|
3
3
|
import { PlatformBuilder } from "../common/builder/PlatformBuilder.js";
|
|
4
4
|
import { PlatformContext } from "../common/domain/PlatformContext.js";
|
|
5
|
-
import {
|
|
5
|
+
import { PlatformAdapter } from "../common/services/PlatformAdapter.js";
|
|
6
6
|
import { PlatformApplication } from "../common/services/PlatformApplication.js";
|
|
7
7
|
import { createInjector } from "../common/utils/createInjector.js";
|
|
8
8
|
import { getConfiguration } from "../common/utils/getConfiguration.js";
|
|
9
|
+
import { FakeAdapter } from "./FakeAdapter.js";
|
|
9
10
|
import { FakeResponse } from "./FakeResponse.js";
|
|
10
11
|
/**
|
|
11
12
|
* @platform
|
|
12
13
|
*/
|
|
13
14
|
export class PlatformTest extends DITest {
|
|
14
15
|
static async create(settings = {}) {
|
|
16
|
+
settings.imports = [
|
|
17
|
+
{
|
|
18
|
+
token: PlatformAdapter,
|
|
19
|
+
useClass: FakeAdapter
|
|
20
|
+
},
|
|
21
|
+
...(settings.imports || [])
|
|
22
|
+
];
|
|
15
23
|
PlatformTest.createInjector(getConfiguration(settings));
|
|
16
24
|
await DITest.createContainer();
|
|
17
25
|
}
|
|
@@ -19,9 +27,7 @@ export class PlatformTest extends DITest {
|
|
|
19
27
|
* Create a new injector with the right default services
|
|
20
28
|
*/
|
|
21
29
|
static createInjector(settings = {}) {
|
|
22
|
-
return createInjector({
|
|
23
|
-
settings: DITest.configure({ httpPort: false, httpsPort: false, ...settings })
|
|
24
|
-
});
|
|
30
|
+
return createInjector(DITest.configure({ httpPort: false, httpsPort: false, ...settings }));
|
|
25
31
|
}
|
|
26
32
|
/**
|
|
27
33
|
* Load the server silently without listening port and configure it on test profile.
|
|
@@ -34,14 +40,8 @@ export class PlatformTest extends DITest {
|
|
|
34
40
|
static bootstrap(mod, { listen, ...settings } = {}) {
|
|
35
41
|
return async function before() {
|
|
36
42
|
let instance;
|
|
37
|
-
const adapter = $adapter(settings.platform || settings.adapter);
|
|
38
|
-
/* istanbul ignore next */
|
|
39
|
-
if (!adapter) {
|
|
40
|
-
throw new Error("Platform adapter is not specified. Have you added at least `import @tsed/platform-express` (or equivalent) on your Server.ts ?");
|
|
41
|
-
}
|
|
42
43
|
// @ts-ignore
|
|
43
44
|
settings = DITest.configure(settings);
|
|
44
|
-
settings.adapter = adapter;
|
|
45
45
|
const configuration = getConfiguration(settings, mod);
|
|
46
46
|
instance = await PlatformBuilder.build(mod, configuration).bootstrap();
|
|
47
47
|
await instance.listen(!!listen);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformTest.js","sourceRoot":"","sources":["../../../src/testing/PlatformTest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlatformTest.js","sourceRoot":"","sources":["../../../src/testing/PlatformTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAkB,MAAM,UAAU,CAAC;AAC3D,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAC,eAAe,EAAC,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAC,eAAe,EAAyB,MAAM,qCAAqC,CAAC;AAC5F,OAAO,EAAC,eAAe,EAA0B,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAC,mBAAmB,EAAC,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAC,cAAc,EAAC,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,MAAM;IACtC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAwC,EAAE;QAC5D,QAAQ,CAAC,OAAO,GAAG;YACjB;gBACE,KAAK,EAAE,eAAe;gBACtB,QAAQ,EAAE,WAAW;aACtB;YACD,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;SAC5B,CAAC;QAEF,YAAY,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxD,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,WAAgB,EAAE;QACtC,OAAO,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,SAAS,CACd,GAAQ,EACR,EACE,MAAM,EACN,GAAG,QAAQ,KAKT,EAAE;QAEN,OAAO,KAAK,UAAU,MAAM;YAC1B,IAAI,QAAyB,CAAC;YAC9B,aAAa;YACb,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEtC,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAEtD,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC;YAEvE,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,MAAM,CAAI,OAAc,EAAE,IAAwC;QACvE,OAAO,KAAK,IAAgB,EAAE;YAC5B,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;YAE5B,MAAM,GAAG,GAAoB,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,EAAE,CAAC;YAEhB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1E,CAAC;YAED,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,QAAQ;QACb,OAAO,QAAQ,EAAE,CAAC,GAAG,CAAsB,mBAAmB,CAAC,EAAE,QAAQ,EAAS,CAAC;IACrF,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAAe,EAAE;QACpC,OAAO;YACL,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,EAAE;YACT,GAAG,CAAC,GAAW;gBACb,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,CAAC,IAAwB;gBAC9B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAa,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,UAAe,EAAE;QACrC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,UAAiD,EAAE;QAC7E,MAAM,KAAK,GAAG;YACZ,GAAG,OAAO,CAAC,KAAK;YAChB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE;YAC7F,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI,OAAO,EAAE,KAAK,EAAE,QAAQ,IAAI,YAAY,CAAC,cAAc,EAAE;SACnG,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAC/B,EAAE,EAAE,IAAI;YACR,GAAG,EAAE,GAAG;YACR,GAAG,OAAO;YACV,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -11,15 +11,14 @@ import { PlatformApplication } from "../services/PlatformApplication.js";
|
|
|
11
11
|
*/
|
|
12
12
|
export declare class PlatformBuilder<App = TsED.Application> {
|
|
13
13
|
#private;
|
|
14
|
-
static adapter: Type<PlatformAdapter<any>>;
|
|
15
|
-
readonly name: string;
|
|
16
14
|
protected startedAt: Date;
|
|
17
15
|
protected current: Date;
|
|
18
|
-
protected constructor(
|
|
16
|
+
protected constructor(module: Type, settings: Partial<TsED.Configuration>);
|
|
17
|
+
get name(): string;
|
|
19
18
|
get rootModule(): any;
|
|
20
19
|
get app(): PlatformApplication<App>;
|
|
21
20
|
get platform(): Platform;
|
|
22
|
-
get adapter(): PlatformAdapter<
|
|
21
|
+
get adapter(): PlatformAdapter<any>;
|
|
23
22
|
/**
|
|
24
23
|
* Return the settings configured by the decorator @@Configuration@@.
|
|
25
24
|
*
|
|
@@ -47,14 +46,14 @@ export declare class PlatformBuilder<App = TsED.Application> {
|
|
|
47
46
|
* @deprecated use injector() instead of this method.
|
|
48
47
|
*/
|
|
49
48
|
get injector(): InjectorService;
|
|
50
|
-
static create<App = TsED.Application>(module: Type<any>, settings: PlatformBuilderSettings<App>): PlatformBuilder<
|
|
51
|
-
static build<App = TsED.Application>(module: Type<any>,
|
|
49
|
+
static create<App = TsED.Application>(module: Type<any>, settings: PlatformBuilderSettings<App>): PlatformBuilder<TsED.Application>;
|
|
50
|
+
static build<App = TsED.Application>(module: Type<any>, settings: PlatformBuilderSettings<App>): PlatformBuilder<TsED.Application>;
|
|
52
51
|
/**
|
|
53
52
|
* Bootstrap a server application
|
|
54
53
|
* @param module
|
|
55
54
|
* @param settings
|
|
56
55
|
*/
|
|
57
|
-
static bootstrap<App = TsED.Application>(module: Type<any>, settings: PlatformBuilderSettings<App>): Promise<PlatformBuilder<
|
|
56
|
+
static bootstrap<App = TsED.Application>(module: Type<any>, settings: PlatformBuilderSettings<App>): Promise<PlatformBuilder<TsED.Application>>;
|
|
58
57
|
callback(): (req: IncomingMessage, res: ServerResponse) => void;
|
|
59
58
|
callback(req: IncomingMessage, res: ServerResponse): void;
|
|
60
59
|
log(...data: any[]): any;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Type } from "@tsed/core";
|
|
2
|
+
import { FakeAdapter } from "../../../testing/index.js";
|
|
3
|
+
import { PlatformBuilder } from "../PlatformBuilder.js";
|
|
4
|
+
export declare class PlatformCustom extends FakeAdapter {
|
|
5
|
+
readonly NAME = "custom";
|
|
6
|
+
readonly providers: {
|
|
7
|
+
token: {
|
|
8
|
+
new (): {};
|
|
9
|
+
};
|
|
10
|
+
}[];
|
|
11
|
+
static create(module: Type<any>, settings?: Partial<TsED.Configuration>): PlatformBuilder<TsED.Application>;
|
|
12
|
+
static bootstrap(module: Type<any>, settings?: Partial<TsED.Configuration>): Promise<PlatformBuilder<TsED.Application>>;
|
|
13
|
+
afterLoadRoutes(): Promise<any>;
|
|
14
|
+
beforeLoadRoutes(): Promise<any>;
|
|
15
|
+
useContext(): any;
|
|
16
|
+
useRouter(): any;
|
|
17
|
+
}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { Type } from "@tsed/core";
|
|
2
2
|
import { PlatformAdapter } from "../services/PlatformAdapter.js";
|
|
3
3
|
/**
|
|
4
|
-
* Set
|
|
5
|
-
* Ensure that the adapter is registered before using the platform.
|
|
4
|
+
* Set the platform adapter
|
|
6
5
|
*/
|
|
7
|
-
export declare function adapter(): Type<PlatformAdapter<any
|
|
8
|
-
NAME: string;
|
|
9
|
-
};
|
|
10
|
-
export declare function adapter(adapter: Type<PlatformAdapter<any>>): Type<PlatformAdapter<any>> & {
|
|
11
|
-
NAME: string;
|
|
12
|
-
};
|
|
6
|
+
export declare function adapter(adapter?: Type<PlatformAdapter<any>>): Type<PlatformAdapter<any>>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Automatically generated by @tsed/barrels.
|
|
3
3
|
*/
|
|
4
|
+
export * from "./builder/__fixtures__/PlatformCustom.js";
|
|
4
5
|
export * from "./builder/PlatformBuilder.js";
|
|
5
6
|
export * from "./config/interfaces/PlatformJsonMapperSettings.js";
|
|
6
7
|
export * from "./config/interfaces/PlatformMulterSettings.js";
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { Type } from "@tsed/core";
|
|
3
3
|
import { ProviderOpts } from "@tsed/di";
|
|
4
|
-
import {
|
|
4
|
+
import { PlatformHandlerMetadata, PlatformLayer } from "@tsed/platform-router";
|
|
5
5
|
import { IncomingMessage, ServerResponse } from "http";
|
|
6
6
|
import { PlatformMulter, PlatformMulterSettings } from "../config/interfaces/PlatformMulterSettings.js";
|
|
7
7
|
import { PlatformStaticsOptions } from "../config/interfaces/PlatformStaticsSettings.js";
|
|
8
|
-
import { PlatformContext } from "../domain/PlatformContext.js";
|
|
9
8
|
import { CreateServerReturn } from "../utils/createServer.js";
|
|
10
9
|
import type { PlatformApplication } from "./PlatformApplication.js";
|
|
11
10
|
export declare abstract class PlatformAdapter<App = TsED.Application> {
|
|
12
|
-
|
|
11
|
+
abstract readonly NAME: string;
|
|
13
12
|
/**
|
|
14
13
|
* Load providers in top priority
|
|
15
14
|
*/
|
|
@@ -30,7 +29,7 @@ export declare abstract class PlatformAdapter<App = TsED.Application> {
|
|
|
30
29
|
/**
|
|
31
30
|
* Map handler to the targeted framework
|
|
32
31
|
*/
|
|
33
|
-
|
|
32
|
+
mapHandler(handler: Function, layer: PlatformHandlerMetadata): Function;
|
|
34
33
|
/**
|
|
35
34
|
* Return the app instance
|
|
36
35
|
*/
|
|
@@ -59,29 +58,3 @@ export declare abstract class PlatformAdapter<App = TsED.Application> {
|
|
|
59
58
|
export interface PlatformBuilderSettings<App = TsED.Application> extends Partial<TsED.Configuration> {
|
|
60
59
|
adapter?: Type<PlatformAdapter<App>>;
|
|
61
60
|
}
|
|
62
|
-
export declare class FakeAdapter extends PlatformAdapter<any> {
|
|
63
|
-
providers: ProviderOpts[];
|
|
64
|
-
static readonly NAME: string;
|
|
65
|
-
static createFakeRawDriver(): {
|
|
66
|
-
(): void;
|
|
67
|
-
use: () => any;
|
|
68
|
-
all: () => any;
|
|
69
|
-
get: () => any;
|
|
70
|
-
patch: () => any;
|
|
71
|
-
post: () => any;
|
|
72
|
-
put: () => any;
|
|
73
|
-
head: () => any;
|
|
74
|
-
delete: () => any;
|
|
75
|
-
options: () => any;
|
|
76
|
-
};
|
|
77
|
-
createApp(): {
|
|
78
|
-
app: any;
|
|
79
|
-
callback(): any;
|
|
80
|
-
};
|
|
81
|
-
multipart(options: PlatformMulterSettings): PlatformMulter;
|
|
82
|
-
statics(endpoint: string, options: PlatformStaticsOptions): any;
|
|
83
|
-
bodyParser(type: string): any;
|
|
84
|
-
mapLayers(layers: PlatformLayer[]): void;
|
|
85
|
-
mapHandler(handler: PlatformContextHandler<PlatformContext>): PlatformContextHandler<PlatformContext<import("./PlatformRequest.js").PlatformRequest<any>, import("./PlatformResponse.js").PlatformResponse<any>>>;
|
|
86
|
-
useContext(): void;
|
|
87
|
-
}
|
|
@@ -1,8 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { PlatformAdapter } from "../services/PlatformAdapter.js";
|
|
3
|
-
interface CreateInjectorOptions {
|
|
4
|
-
adapter?: Type<PlatformAdapter<any>>;
|
|
5
|
-
settings?: Partial<TsED.Configuration>;
|
|
6
|
-
}
|
|
7
|
-
export declare function createInjector({ adapter, settings }: CreateInjectorOptions): import("@tsed/di").InjectorService;
|
|
8
|
-
export {};
|
|
1
|
+
export declare function createInjector(settings: Partial<TsED.Configuration>): import("@tsed/di").InjectorService;
|
|
@@ -1 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
import { type ProviderOpts } from "@tsed/di";
|
|
2
|
+
import { type PlatformContextHandler, PlatformLayer } from "@tsed/platform-router";
|
|
3
|
+
import { PlatformAdapter, PlatformContext, type PlatformMulter, type PlatformMulterSettings, type PlatformStaticsOptions } from "../common/index.js";
|
|
4
|
+
export declare class FakeAdapter extends PlatformAdapter<any> {
|
|
5
|
+
readonly NAME: string;
|
|
6
|
+
providers: ProviderOpts[];
|
|
7
|
+
static createFakeRawDriver(): {
|
|
8
|
+
(): void;
|
|
9
|
+
use: () => any;
|
|
10
|
+
all: () => any;
|
|
11
|
+
get: () => any;
|
|
12
|
+
patch: () => any;
|
|
13
|
+
post: () => any;
|
|
14
|
+
put: () => any;
|
|
15
|
+
head: () => any;
|
|
16
|
+
delete: () => any;
|
|
17
|
+
options: () => any;
|
|
18
|
+
};
|
|
19
|
+
createApp(): {
|
|
20
|
+
app: any;
|
|
21
|
+
callback(): any;
|
|
22
|
+
};
|
|
23
|
+
multipart(options: PlatformMulterSettings): PlatformMulter;
|
|
24
|
+
statics(endpoint: string, options: PlatformStaticsOptions): any;
|
|
25
|
+
bodyParser(type: string): any;
|
|
26
|
+
mapLayers(layers: PlatformLayer[]): void;
|
|
27
|
+
mapHandler(handler: PlatformContextHandler<PlatformContext>): PlatformContextHandler<PlatformContext<import("../common/index.js").PlatformRequest<any>, import("../common/index.js").PlatformResponse<any>>>;
|
|
28
|
+
useContext(): void;
|
|
29
|
+
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@tsed/platform-http",
|
|
3
3
|
"description": "A TypeScript Framework on top of Express",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "8.0.0
|
|
5
|
+
"version": "8.0.0",
|
|
6
6
|
"source": "./src/common/index.ts",
|
|
7
7
|
"main": "./lib/esm/common/index.js",
|
|
8
8
|
"module": "./lib/esm/common/index.js",
|
|
@@ -68,29 +68,29 @@
|
|
|
68
68
|
}
|
|
69
69
|
],
|
|
70
70
|
"dependencies": {
|
|
71
|
-
"@tsed/core": "8.0.0
|
|
72
|
-
"@tsed/di": "8.0.0
|
|
73
|
-
"@tsed/exceptions": "8.0.0
|
|
74
|
-
"@tsed/hooks": "8.0.0
|
|
75
|
-
"@tsed/json-mapper": "8.0.0
|
|
71
|
+
"@tsed/core": "8.0.0",
|
|
72
|
+
"@tsed/di": "8.0.0",
|
|
73
|
+
"@tsed/exceptions": "8.0.0",
|
|
74
|
+
"@tsed/hooks": "8.0.0",
|
|
75
|
+
"@tsed/json-mapper": "8.0.0",
|
|
76
76
|
"@tsed/logger": "^6.7.8",
|
|
77
77
|
"@tsed/logger-file": "^6.7.8",
|
|
78
|
-
"@tsed/platform-exceptions": "8.0.0
|
|
79
|
-
"@tsed/platform-middlewares": "8.0.0
|
|
80
|
-
"@tsed/platform-params": "8.0.0
|
|
81
|
-
"@tsed/platform-response-filter": "8.0.0
|
|
82
|
-
"@tsed/platform-router": "8.0.0
|
|
83
|
-
"@tsed/platform-views": "8.0.0
|
|
84
|
-
"@tsed/schema": "8.0.0
|
|
78
|
+
"@tsed/platform-exceptions": "8.0.0",
|
|
79
|
+
"@tsed/platform-middlewares": "8.0.0",
|
|
80
|
+
"@tsed/platform-params": "8.0.0",
|
|
81
|
+
"@tsed/platform-response-filter": "8.0.0",
|
|
82
|
+
"@tsed/platform-router": "8.0.0",
|
|
83
|
+
"@tsed/platform-views": "8.0.0",
|
|
84
|
+
"@tsed/schema": "8.0.0",
|
|
85
85
|
"@types/json-schema": "7.0.15",
|
|
86
86
|
"accepts": "^1.3.8",
|
|
87
87
|
"tslib": "2.7.0",
|
|
88
88
|
"uuid": "10.0.0"
|
|
89
89
|
},
|
|
90
90
|
"devDependencies": {
|
|
91
|
-
"@tsed/barrels": "8.0.0
|
|
92
|
-
"@tsed/engines": "8.0.0
|
|
93
|
-
"@tsed/typescript": "8.0.0
|
|
91
|
+
"@tsed/barrels": "8.0.0",
|
|
92
|
+
"@tsed/engines": "8.0.0",
|
|
93
|
+
"@tsed/typescript": "8.0.0",
|
|
94
94
|
"cross-env": "7.0.3",
|
|
95
95
|
"eslint": "9.12.0",
|
|
96
96
|
"typescript": "5.4.5",
|
|
@@ -106,8 +106,5 @@
|
|
|
106
106
|
"@tsed/logger-file": {
|
|
107
107
|
"optional": false
|
|
108
108
|
}
|
|
109
|
-
},
|
|
110
|
-
"publishConfig": {
|
|
111
|
-
"tag": "rc"
|
|
112
109
|
}
|
|
113
110
|
}
|
package/vitest.config.mts
CHANGED
|
@@ -9,6 +9,10 @@ export default defineConfig(
|
|
|
9
9
|
...presets.test,
|
|
10
10
|
coverage: {
|
|
11
11
|
...presets.test.coverage,
|
|
12
|
+
exclude:[
|
|
13
|
+
...presets.test.coverage.exclude ||[],
|
|
14
|
+
"**/Fake*"
|
|
15
|
+
],
|
|
12
16
|
thresholds: {
|
|
13
17
|
statements: 96.88,
|
|
14
18
|
branches: 95.5,
|
|
@@ -18,4 +22,4 @@ export default defineConfig(
|
|
|
18
22
|
}
|
|
19
23
|
}
|
|
20
24
|
}
|
|
21
|
-
);
|
|
25
|
+
);
|