@tsed/platform-http 8.0.0-rc.5 → 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 +55 -51
- 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/decorators/PlatformProvider.js +6 -2
- package/lib/esm/common/decorators/PlatformProvider.js.map +1 -1
- package/lib/esm/common/domain/PlatformContext.js +5 -4
- package/lib/esm/common/domain/PlatformContext.js.map +1 -1
- package/lib/esm/common/fn/adapter.js +15 -0
- package/lib/esm/common/fn/adapter.js.map +1 -0
- package/lib/esm/common/fn/application.js +9 -0
- package/lib/esm/common/fn/application.js.map +1 -0
- package/lib/esm/common/index.js +4 -1
- package/lib/esm/common/index.js.map +1 -1
- package/lib/esm/common/middlewares/PlatformAcceptMimesMiddleware.js +7 -14
- package/lib/esm/common/middlewares/PlatformAcceptMimesMiddleware.js.map +1 -1
- package/lib/esm/common/middlewares/PlatformMulterMiddleware.js +9 -22
- package/lib/esm/common/middlewares/PlatformMulterMiddleware.js.map +1 -1
- package/lib/esm/common/services/Platform.js +13 -25
- package/lib/esm/common/services/Platform.js.map +1 -1
- package/lib/esm/common/services/PlatformAdapter.js +15 -56
- package/lib/esm/common/services/PlatformAdapter.js.map +1 -1
- package/lib/esm/common/services/PlatformApplication.js +8 -18
- package/lib/esm/common/services/PlatformApplication.js.map +1 -1
- package/lib/esm/common/services/PlatformHandler.js +12 -34
- package/lib/esm/common/services/PlatformHandler.js.map +1 -1
- package/lib/esm/common/services/PlatformMiddlewaresChain.js +8 -20
- package/lib/esm/common/services/PlatformMiddlewaresChain.js.map +1 -1
- package/lib/esm/common/services/PlatformRequest.js +4 -10
- package/lib/esm/common/services/PlatformRequest.js.map +1 -1
- package/lib/esm/common/services/PlatformResponse.js +4 -10
- package/lib/esm/common/services/PlatformResponse.js.map +1 -1
- package/lib/esm/common/utils/createContext.js +5 -5
- package/lib/esm/common/utils/createContext.js.map +1 -1
- package/lib/esm/common/utils/createHttpServer.js +5 -5
- package/lib/esm/common/utils/createHttpServer.js.map +1 -1
- package/lib/esm/common/utils/createHttpsServer.js +5 -5
- package/lib/esm/common/utils/createHttpsServer.js.map +1 -1
- package/lib/esm/common/utils/createInjector.js +18 -17
- package/lib/esm/common/utils/createInjector.js.map +1 -1
- package/lib/esm/common/utils/createServer.js +7 -8
- package/lib/esm/common/utils/createServer.js.map +1 -1
- package/lib/esm/common/utils/resolveControllers.js +48 -0
- package/lib/esm/common/utils/resolveControllers.js.map +1 -0
- package/lib/esm/testing/FakeAdapter.js +51 -1
- package/lib/esm/testing/FakeAdapter.js.map +1 -1
- package/lib/esm/testing/PlatformTest.js +12 -13
- package/lib/esm/testing/PlatformTest.js.map +1 -1
- package/lib/types/common/builder/PlatformBuilder.d.ts +12 -10
- package/lib/types/common/builder/__fixtures__/PlatformCustom.d.ts +17 -0
- package/lib/types/common/decorators/PlatformProvider.d.ts +4 -0
- package/lib/types/common/fn/adapter.d.ts +6 -0
- package/lib/types/common/fn/application.d.ts +6 -0
- package/lib/types/common/index.d.ts +4 -1
- package/lib/types/common/middlewares/PlatformMulterMiddleware.d.ts +2 -3
- package/lib/types/common/services/Platform.d.ts +3 -6
- package/lib/types/common/services/PlatformAdapter.d.ts +4 -33
- package/lib/types/common/services/PlatformApplication.d.ts +1 -3
- package/lib/types/common/services/PlatformHandler.d.ts +3 -3
- package/lib/types/common/services/PlatformMiddlewaresChain.d.ts +1 -3
- package/lib/types/common/utils/createContext.d.ts +1 -3
- package/lib/types/common/utils/createHttpServer.d.ts +1 -2
- package/lib/types/common/utils/createHttpsServer.d.ts +1 -2
- package/lib/types/common/utils/createInjector.d.ts +1 -8
- package/lib/types/common/utils/createServer.d.ts +3 -3
- package/lib/types/common/utils/resolveControllers.d.ts +8 -0
- package/lib/types/testing/FakeAdapter.d.ts +29 -1
- package/lib/types/testing/PlatformTest.d.ts +1 -3
- package/package.json +16 -18
- package/vitest.config.mts +9 -5
- package/lib/esm/common/utils/registerPlatformAdapter.js +0 -7
- package/lib/esm/common/utils/registerPlatformAdapter.js.map +0 -1
- package/lib/types/common/utils/registerPlatformAdapter.d.ts +0 -3
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { isClass, isFunction, isString, nameOf } from "@tsed/core";
|
|
2
|
-
import { colors, setLoggerConfiguration } from "@tsed/di";
|
|
2
|
+
import { colors, configuration, constant, createContainer, destroyInjector, injector, logger, ProviderScope, setLoggerConfiguration } from "@tsed/di";
|
|
3
|
+
import { $asyncAlter, $asyncEmit } from "@tsed/hooks";
|
|
3
4
|
import { getMiddlewaresForHook } from "@tsed/platform-middlewares";
|
|
5
|
+
import { application } from "../fn/application.js";
|
|
4
6
|
import { Platform } from "../services/Platform.js";
|
|
5
7
|
import { PlatformAdapter } from "../services/PlatformAdapter.js";
|
|
6
8
|
import { PlatformApplication } from "../services/PlatformApplication.js";
|
|
@@ -9,49 +11,40 @@ import { createInjector } from "../utils/createInjector.js";
|
|
|
9
11
|
import { getConfiguration } from "../utils/getConfiguration.js";
|
|
10
12
|
import { getStaticsOptions } from "../utils/getStaticsOptions.js";
|
|
11
13
|
import { printRoutes } from "../utils/printRoutes.js";
|
|
14
|
+
import { resolveControllers } from "../utils/resolveControllers.js";
|
|
12
15
|
/**
|
|
13
16
|
* @platform
|
|
14
17
|
*/
|
|
15
18
|
export class PlatformBuilder {
|
|
16
|
-
#injector;
|
|
17
19
|
#rootModule;
|
|
18
|
-
#adapter;
|
|
19
20
|
#promise;
|
|
20
21
|
#servers;
|
|
21
22
|
#listeners;
|
|
22
|
-
constructor(
|
|
23
|
-
this.name = "";
|
|
23
|
+
constructor(module, settings) {
|
|
24
24
|
this.startedAt = new Date();
|
|
25
25
|
this.current = new Date();
|
|
26
26
|
this.#listeners = [];
|
|
27
27
|
this.#rootModule = module;
|
|
28
28
|
const configuration = getConfiguration(settings, module);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
this.name = adapterKlass.NAME;
|
|
32
|
-
this.#injector = createInjector({
|
|
33
|
-
adapter: adapterKlass,
|
|
34
|
-
settings: configuration
|
|
35
|
-
});
|
|
36
|
-
this.log(`Loading ${adapterKlass.NAME.toUpperCase()} platform adapter...`);
|
|
37
|
-
this.#adapter = this.#injector.get(PlatformAdapter);
|
|
29
|
+
createInjector(configuration);
|
|
30
|
+
this.log(`Loading ${this.name.toUpperCase()} platform adapter...`);
|
|
38
31
|
this.createHttpServers();
|
|
39
32
|
this.log("Injector created...");
|
|
40
33
|
}
|
|
41
|
-
get
|
|
42
|
-
return this
|
|
34
|
+
get name() {
|
|
35
|
+
return this.adapter.NAME;
|
|
43
36
|
}
|
|
44
37
|
get rootModule() {
|
|
45
|
-
return
|
|
38
|
+
return injector().get(this.#rootModule);
|
|
46
39
|
}
|
|
47
40
|
get app() {
|
|
48
|
-
return
|
|
41
|
+
return injector().get(PlatformApplication);
|
|
49
42
|
}
|
|
50
43
|
get platform() {
|
|
51
|
-
return
|
|
44
|
+
return injector().get(Platform);
|
|
52
45
|
}
|
|
53
46
|
get adapter() {
|
|
54
|
-
return
|
|
47
|
+
return injector().get(PlatformAdapter);
|
|
55
48
|
}
|
|
56
49
|
/**
|
|
57
50
|
* Return the settings configured by the decorator @@Configuration@@.
|
|
@@ -74,13 +67,19 @@ export class PlatformBuilder {
|
|
|
74
67
|
* @returns {PlatformConfiguration}
|
|
75
68
|
*/
|
|
76
69
|
get settings() {
|
|
77
|
-
return
|
|
70
|
+
return configuration();
|
|
78
71
|
}
|
|
79
72
|
get logger() {
|
|
80
|
-
return
|
|
73
|
+
return logger();
|
|
81
74
|
}
|
|
82
75
|
get disableBootstrapLog() {
|
|
83
|
-
return
|
|
76
|
+
return constant("logger.disableBootstrapLog");
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* @deprecated use injector() instead of this method.
|
|
80
|
+
*/
|
|
81
|
+
get injector() {
|
|
82
|
+
return injector();
|
|
84
83
|
}
|
|
85
84
|
static create(module, settings) {
|
|
86
85
|
return this.build(module, {
|
|
@@ -89,8 +88,8 @@ export class PlatformBuilder {
|
|
|
89
88
|
...settings
|
|
90
89
|
});
|
|
91
90
|
}
|
|
92
|
-
static build(module,
|
|
93
|
-
return new PlatformBuilder(
|
|
91
|
+
static build(module, settings) {
|
|
92
|
+
return new PlatformBuilder(module, settings);
|
|
94
93
|
}
|
|
95
94
|
/**
|
|
96
95
|
* Bootstrap a server application
|
|
@@ -104,7 +103,7 @@ export class PlatformBuilder {
|
|
|
104
103
|
return this.adapter.app.callback(...args);
|
|
105
104
|
}
|
|
106
105
|
log(...data) {
|
|
107
|
-
return !this.disableBootstrapLog &&
|
|
106
|
+
return !this.disableBootstrapLog && logger().info(...data, this.diff());
|
|
108
107
|
}
|
|
109
108
|
/**
|
|
110
109
|
* Add classes decorated by @@Controller@@ to components container.
|
|
@@ -128,22 +127,22 @@ export class PlatformBuilder {
|
|
|
128
127
|
*/
|
|
129
128
|
addControllers(endpoint, controllers) {
|
|
130
129
|
[].concat(controllers).forEach((token) => {
|
|
131
|
-
|
|
130
|
+
configuration().routes.push({ token, route: endpoint });
|
|
132
131
|
});
|
|
133
132
|
}
|
|
134
133
|
async runLifecycle() {
|
|
135
134
|
// init adapter (Express, Koa, etc...)
|
|
136
|
-
await this
|
|
137
|
-
setLoggerConfiguration(
|
|
135
|
+
await this.adapter.onInit();
|
|
136
|
+
setLoggerConfiguration();
|
|
138
137
|
// create the middleware mapping to be executed to the expected hook
|
|
139
138
|
await this.mapTokenMiddlewares();
|
|
140
139
|
await this.loadInjector();
|
|
141
140
|
// add the context middleware to the application
|
|
142
141
|
this.log("Mount app context");
|
|
143
|
-
this
|
|
142
|
+
this.adapter.useContext();
|
|
144
143
|
// init routes (controllers, middlewares, etc...)
|
|
145
144
|
this.log("Load routes");
|
|
146
|
-
await this
|
|
145
|
+
await this.adapter.beforeLoadRoutes();
|
|
147
146
|
if (this.rootModule.$beforeRoutesInit) {
|
|
148
147
|
await this.rootModule.$beforeRoutesInit();
|
|
149
148
|
// remove method to avoid multiple call and preserve hook order
|
|
@@ -152,12 +151,12 @@ export class PlatformBuilder {
|
|
|
152
151
|
// Hooks execution (adding middlewares, controllers, services, etc...)
|
|
153
152
|
await this.loadStatics("$beforeRoutesInit");
|
|
154
153
|
await this.callHook("$beforeRoutesInit");
|
|
155
|
-
const routes =
|
|
154
|
+
const routes = configuration().get("routes");
|
|
156
155
|
this.platform.addRoutes(routes);
|
|
157
156
|
await this.callHook("$onRoutesInit");
|
|
158
157
|
await this.loadStatics("$afterRoutesInit");
|
|
159
158
|
await this.callHook("$afterRoutesInit");
|
|
160
|
-
await this
|
|
159
|
+
await this.adapter.afterLoadRoutes();
|
|
161
160
|
// map routers are loaded after all hooks because it contains all added middlewares/controllers in the virtual Ts.ED layers
|
|
162
161
|
// This step will convert all Ts.ED layers to the platform layer (Express or Koa)
|
|
163
162
|
await this.mapRouters();
|
|
@@ -165,9 +164,16 @@ export class PlatformBuilder {
|
|
|
165
164
|
return this;
|
|
166
165
|
}
|
|
167
166
|
async loadInjector() {
|
|
168
|
-
const { injector } = this;
|
|
169
167
|
this.log("Build providers");
|
|
170
|
-
|
|
168
|
+
const settings = configuration();
|
|
169
|
+
settings.set("routes", settings.get("routes").concat(resolveControllers(settings)));
|
|
170
|
+
const container = createContainer();
|
|
171
|
+
container.delete(this.#rootModule);
|
|
172
|
+
container.addProvider(this.#rootModule, {
|
|
173
|
+
type: "server:module",
|
|
174
|
+
scope: ProviderScope.SINGLETON
|
|
175
|
+
});
|
|
176
|
+
await injector().load(container);
|
|
171
177
|
this.log("Settings and injector loaded...");
|
|
172
178
|
await this.callHook("$afterInit");
|
|
173
179
|
}
|
|
@@ -184,35 +190,34 @@ export class PlatformBuilder {
|
|
|
184
190
|
}
|
|
185
191
|
async stop() {
|
|
186
192
|
await this.callHook("$onDestroy");
|
|
187
|
-
await
|
|
193
|
+
await destroyInjector();
|
|
188
194
|
this.#listeners.map(closeServer);
|
|
189
195
|
}
|
|
190
196
|
async ready() {
|
|
191
197
|
const { startedAt } = this;
|
|
192
198
|
await this.callHook("$onReady");
|
|
193
|
-
await this.injector.emit("$onServerReady");
|
|
194
199
|
this.log(`Started in ${new Date().getTime() - startedAt.getTime()} ms`);
|
|
195
200
|
}
|
|
196
201
|
async callHook(hook, ...args) {
|
|
197
|
-
const { injector } = this;
|
|
198
202
|
if (!this.disableBootstrapLog) {
|
|
199
|
-
|
|
203
|
+
logger().debug(`\x1B[1mCall hook ${hook}\x1B[22m`);
|
|
200
204
|
}
|
|
201
205
|
// Load middlewares for the given hook
|
|
202
206
|
this.loadMiddlewaresFor(hook);
|
|
203
207
|
// call hooks added by providers
|
|
204
|
-
await
|
|
208
|
+
await $asyncEmit(hook, args);
|
|
205
209
|
}
|
|
206
210
|
loadStatics(hook) {
|
|
207
|
-
const statics =
|
|
211
|
+
const statics = constant("statics");
|
|
212
|
+
const app = application();
|
|
208
213
|
getStaticsOptions(statics).forEach(({ path, options }) => {
|
|
209
214
|
if (options.hook === hook) {
|
|
210
|
-
|
|
215
|
+
app.statics(path, options);
|
|
211
216
|
}
|
|
212
217
|
});
|
|
213
218
|
}
|
|
214
219
|
useProvider(token, settings) {
|
|
215
|
-
|
|
220
|
+
injector().addProvider(token, settings);
|
|
216
221
|
return this;
|
|
217
222
|
}
|
|
218
223
|
bootstrap() {
|
|
@@ -221,8 +226,8 @@ export class PlatformBuilder {
|
|
|
221
226
|
}
|
|
222
227
|
mapRouters() {
|
|
223
228
|
const layers = this.platform.getLayers();
|
|
224
|
-
this
|
|
225
|
-
const rawBody =
|
|
229
|
+
this.adapter.mapLayers(layers);
|
|
230
|
+
const rawBody = constant("rawBody") ||
|
|
226
231
|
layers.some(({ handlers }) => {
|
|
227
232
|
return handlers.some((handler) => handler.opts?.paramsTypes?.RAW_BODY);
|
|
228
233
|
});
|
|
@@ -245,13 +250,12 @@ export class PlatformBuilder {
|
|
|
245
250
|
});
|
|
246
251
|
}
|
|
247
252
|
createHttpServers() {
|
|
248
|
-
this.#servers = this
|
|
253
|
+
this.#servers = this.adapter.getServers();
|
|
249
254
|
}
|
|
250
255
|
async listenServers() {
|
|
251
256
|
this.#listeners = await Promise.all(this.#servers.map((cb) => cb && cb()));
|
|
252
257
|
}
|
|
253
258
|
async logRoutes(layers) {
|
|
254
|
-
const { logger } = this;
|
|
255
259
|
this.log("Routes mounted...");
|
|
256
260
|
if (!this.settings.get("logger.disableRoutesSummary") && !this.disableBootstrapLog) {
|
|
257
261
|
const routes = layers.map((layer) => {
|
|
@@ -263,12 +267,12 @@ export class PlatformBuilder {
|
|
|
263
267
|
methodClassName: layer.opts.methodClassName || ""
|
|
264
268
|
};
|
|
265
269
|
});
|
|
266
|
-
logger.info(printRoutes(await
|
|
270
|
+
logger().info(printRoutes(await $asyncAlter("$logRoutes", routes)));
|
|
267
271
|
}
|
|
268
272
|
}
|
|
269
273
|
async mapTokenMiddlewares() {
|
|
270
|
-
let middlewares =
|
|
271
|
-
const
|
|
274
|
+
let middlewares = constant("middlewares", []);
|
|
275
|
+
const env = constant("env");
|
|
272
276
|
const defaultHook = "$beforeRoutesInit";
|
|
273
277
|
const promises = middlewares.map(async (middleware) => {
|
|
274
278
|
if (isFunction(middleware)) {
|
|
@@ -302,7 +306,7 @@ export class PlatformBuilder {
|
|
|
302
306
|
};
|
|
303
307
|
});
|
|
304
308
|
middlewares = await Promise.all(promises);
|
|
305
|
-
|
|
309
|
+
configuration().set("middlewares", middlewares.filter((middleware) => middleware.use));
|
|
306
310
|
}
|
|
307
311
|
}
|
|
308
312
|
//# sourceMappingURL=PlatformBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformBuilder.js","sourceRoot":"","sources":["../../../../src/common/builder/PlatformBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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,7 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { adapter } from "../fn/adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* Register a new platform adapter.
|
|
4
|
+
* @decorator
|
|
5
|
+
*/
|
|
2
6
|
export function PlatformProvider() {
|
|
3
7
|
return (klass) => {
|
|
4
|
-
|
|
8
|
+
adapter(klass);
|
|
5
9
|
};
|
|
6
10
|
}
|
|
7
11
|
//# sourceMappingURL=PlatformProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformProvider.js","sourceRoot":"","sources":["../../../../src/common/decorators/PlatformProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlatformProvider.js","sourceRoot":"","sources":["../../../../src/common/decorators/PlatformProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAGzC;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,KAA4B,EAAE,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DIContext, injector } from "@tsed/di";
|
|
2
|
+
import { $asyncEmit } from "@tsed/hooks";
|
|
2
3
|
import { PlatformApplication } from "../services/PlatformApplication.js";
|
|
3
4
|
import { PlatformRequest } from "../services/PlatformRequest.js";
|
|
4
5
|
import { PlatformResponse } from "../services/PlatformResponse.js";
|
|
@@ -20,13 +21,13 @@ export class PlatformContext extends DIContext {
|
|
|
20
21
|
return this.request.url;
|
|
21
22
|
}
|
|
22
23
|
get app() {
|
|
23
|
-
return
|
|
24
|
+
return injector().get(PlatformApplication);
|
|
24
25
|
}
|
|
25
26
|
start() {
|
|
26
|
-
return $
|
|
27
|
+
return $asyncEmit("$onRequest", [this]);
|
|
27
28
|
}
|
|
28
29
|
async finish() {
|
|
29
|
-
await Promise.all([$
|
|
30
|
+
await Promise.all([$asyncEmit("$onResponse", [this]), this.destroy()]);
|
|
30
31
|
this.#isFinished = true;
|
|
31
32
|
}
|
|
32
33
|
isFinished() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformContext.js","sourceRoot":"","sources":["../../../../src/common/domain/PlatformContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"PlatformContext.js","sourceRoot":"","sources":["../../../../src/common/domain/PlatformContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAoB,QAAQ,EAAC,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAMvC,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAcjE,MAAM,OAAO,eAGX,SAAQ,SAAS;IAgCjB,WAAW,CAAkB;IAE7B,YAAY,OAA+B;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QAlCR,aAAQ,GAAW,KAAK,CAAC;QA+BlC,gBAAW,GAAY,KAAK,CAAC;QAK3B,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,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,eAAe,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,QAAQ,EAAE,CAAC,GAAG,CAAsB,mBAAmB,CAAE,CAAC;IACnE,CAAC;IAED,KAAK;QACH,OAAO,UAAU,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACvE,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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { refValue } from "@tsed/di";
|
|
2
|
+
const ADAPTER = "platform.adapter";
|
|
3
|
+
let globalAdapter;
|
|
4
|
+
/**
|
|
5
|
+
* Set the platform adapter
|
|
6
|
+
*/
|
|
7
|
+
export function adapter(adapter) {
|
|
8
|
+
const ref = refValue(ADAPTER);
|
|
9
|
+
if (adapter) {
|
|
10
|
+
globalAdapter ||= adapter;
|
|
11
|
+
}
|
|
12
|
+
ref.value ||= globalAdapter;
|
|
13
|
+
return ref.value;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { injector } from "@tsed/di";
|
|
2
|
+
/**
|
|
3
|
+
* Return the injectable Application instance.
|
|
4
|
+
* @note Application is only available after PlatformExpress/PlatformKoa instance creation.
|
|
5
|
+
*/
|
|
6
|
+
export function application() {
|
|
7
|
+
return injector().get("PlatformApplication");
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=application.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../src/common/fn/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAIlC;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,QAAQ,EAAE,CAAC,GAAG,CAA2B,qBAAqB,CAAE,CAAC;AAC1E,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";
|
|
@@ -21,6 +22,8 @@ export * from "./domain/EndpointMetadata.js";
|
|
|
21
22
|
export * from "./domain/PlatformContext.js";
|
|
22
23
|
export * from "./domain/PlatformRouteDetails.js";
|
|
23
24
|
export * from "./exports.js";
|
|
25
|
+
export * from "./fn/adapter.js";
|
|
26
|
+
export * from "./fn/application.js";
|
|
24
27
|
export * from "./interfaces/AfterInit.js";
|
|
25
28
|
export * from "./interfaces/AfterListen.js";
|
|
26
29
|
export * from "./interfaces/AfterRoutesInit.js";
|
|
@@ -56,6 +59,6 @@ export * from "./utils/getStaticsOptions.js";
|
|
|
56
59
|
export * from "./utils/listenServer.js";
|
|
57
60
|
export * from "./utils/mapReturnedResponse.js";
|
|
58
61
|
export * from "./utils/printRoutes.js";
|
|
59
|
-
export * from "./utils/
|
|
62
|
+
export * from "./utils/resolveControllers.js";
|
|
60
63
|
export * from "./utils/setResponseHeaders.js";
|
|
61
64
|
//# sourceMappingURL=index.js.map
|
|
@@ -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,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,
|
|
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"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { __decorate, __metadata, __param } from "tslib";
|
|
2
2
|
import { uniq } from "@tsed/core";
|
|
3
|
-
import {
|
|
3
|
+
import { constant, injectable, ProviderType } from "@tsed/di";
|
|
4
4
|
import { NotAcceptable } from "@tsed/exceptions";
|
|
5
|
-
import { Middleware } from "@tsed/platform-middlewares";
|
|
6
5
|
import { Context } from "@tsed/platform-params";
|
|
7
6
|
/**
|
|
8
7
|
* @middleware
|
|
9
8
|
* @platform
|
|
10
9
|
*/
|
|
11
|
-
|
|
10
|
+
export class PlatformAcceptMimesMiddleware {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.acceptMimes = constant("acceptMimes", []);
|
|
13
|
+
}
|
|
12
14
|
use(ctx) {
|
|
13
15
|
const { endpoint, request } = ctx;
|
|
14
16
|
const mimes = uniq((endpoint?.get("acceptMimes") || []).concat(this.acceptMimes));
|
|
@@ -16,21 +18,12 @@ let PlatformAcceptMimesMiddleware = class PlatformAcceptMimesMiddleware {
|
|
|
16
18
|
throw new NotAcceptable(mimes.join(", "));
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
|
-
}
|
|
20
|
-
__decorate([
|
|
21
|
-
Constant("acceptMimes", []),
|
|
22
|
-
__metadata("design:type", Array)
|
|
23
|
-
], PlatformAcceptMimesMiddleware.prototype, "acceptMimes", void 0);
|
|
21
|
+
}
|
|
24
22
|
__decorate([
|
|
25
23
|
__param(0, Context()),
|
|
26
24
|
__metadata("design:type", Function),
|
|
27
25
|
__metadata("design:paramtypes", [Object]),
|
|
28
26
|
__metadata("design:returntype", void 0)
|
|
29
27
|
], PlatformAcceptMimesMiddleware.prototype, "use", null);
|
|
30
|
-
PlatformAcceptMimesMiddleware
|
|
31
|
-
Middleware({
|
|
32
|
-
priority: -10
|
|
33
|
-
})
|
|
34
|
-
], PlatformAcceptMimesMiddleware);
|
|
35
|
-
export { PlatformAcceptMimesMiddleware };
|
|
28
|
+
injectable(PlatformAcceptMimesMiddleware).type(ProviderType.MIDDLEWARE).priority(-10);
|
|
36
29
|
//# sourceMappingURL=PlatformAcceptMimesMiddleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformAcceptMimesMiddleware.js","sourceRoot":"","sources":["../../../../src/common/middlewares/PlatformAcceptMimesMiddleware.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"PlatformAcceptMimesMiddleware.js","sourceRoot":"","sources":["../../../../src/common/middlewares/PlatformAcceptMimesMiddleware.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAE9C;;;GAGG;AACH,MAAM,OAAO,6BAA6B;IAA1C;QACE,gBAAW,GAAG,QAAQ,CAAW,aAAa,EAAE,EAAE,CAAC,CAAC;IAUtD,CAAC;IARQ,GAAG,CAAY,GAAY;QAChC,MAAM,EAAC,QAAQ,EAAE,OAAO,EAAC,GAAG,GAAG,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,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,CAAC;YAC5C,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AARQ;IAAK,WAAA,OAAO,EAAE,CAAA;;;;wDAOpB;AAGH,UAAU,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
var PlatformMulterMiddleware_1;
|
|
2
1
|
import { __decorate, __metadata, __param } from "tslib";
|
|
3
|
-
import {
|
|
2
|
+
import { constant, inject, injectable, ProviderType } from "@tsed/di";
|
|
4
3
|
import { BadRequest } from "@tsed/exceptions";
|
|
5
|
-
import { Middleware } from "@tsed/platform-middlewares";
|
|
6
4
|
import { Context } from "@tsed/platform-params";
|
|
7
5
|
import { PlatformContext } from "../domain/PlatformContext.js";
|
|
8
6
|
import { PlatformApplication } from "../services/PlatformApplication.js";
|
|
@@ -16,12 +14,15 @@ export class MulterException extends BadRequest {
|
|
|
16
14
|
/**
|
|
17
15
|
* @middleware
|
|
18
16
|
*/
|
|
19
|
-
|
|
17
|
+
export class PlatformMulterMiddleware {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.app = inject(PlatformApplication);
|
|
20
|
+
}
|
|
20
21
|
async use(ctx) {
|
|
21
22
|
try {
|
|
22
|
-
const { fields, options = {} } = ctx.endpoint.get(
|
|
23
|
+
const { fields, options = {} } = ctx.endpoint.get(PlatformMulterMiddleware);
|
|
23
24
|
const settings = {
|
|
24
|
-
...
|
|
25
|
+
...constant("multer", {}),
|
|
25
26
|
...options
|
|
26
27
|
};
|
|
27
28
|
/* istanbul ignore next */
|
|
@@ -41,26 +42,12 @@ let PlatformMulterMiddleware = PlatformMulterMiddleware_1 = class PlatformMulter
|
|
|
41
42
|
getFields(conf) {
|
|
42
43
|
return conf.fields.map(({ name, maxCount }) => ({ name, maxCount }));
|
|
43
44
|
}
|
|
44
|
-
}
|
|
45
|
-
__decorate([
|
|
46
|
-
Value("multer", {}) // NOTE: don't use constant to getting multer configuration. See issue #1840
|
|
47
|
-
,
|
|
48
|
-
__metadata("design:type", Object)
|
|
49
|
-
], PlatformMulterMiddleware.prototype, "settings", void 0);
|
|
50
|
-
__decorate([
|
|
51
|
-
Inject(),
|
|
52
|
-
__metadata("design:type", PlatformApplication)
|
|
53
|
-
], PlatformMulterMiddleware.prototype, "app", void 0);
|
|
45
|
+
}
|
|
54
46
|
__decorate([
|
|
55
47
|
__param(0, Context()),
|
|
56
48
|
__metadata("design:type", Function),
|
|
57
49
|
__metadata("design:paramtypes", [PlatformContext]),
|
|
58
50
|
__metadata("design:returntype", Promise)
|
|
59
51
|
], PlatformMulterMiddleware.prototype, "use", null);
|
|
60
|
-
PlatformMulterMiddleware
|
|
61
|
-
Middleware({
|
|
62
|
-
priority: 10
|
|
63
|
-
})
|
|
64
|
-
], PlatformMulterMiddleware);
|
|
65
|
-
export { PlatformMulterMiddleware };
|
|
52
|
+
injectable(PlatformMulterMiddleware).type(ProviderType.MIDDLEWARE).priority(-10);
|
|
66
53
|
//# sourceMappingURL=PlatformMulterMiddleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformMulterMiddleware.js","sourceRoot":"","sources":["../../../../src/common/middlewares/PlatformMulterMiddleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlatformMulterMiddleware.js","sourceRoot":"","sources":["../../../../src/common/middlewares/PlatformMulterMiddleware.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AACpE,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAI9C,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAMvE,MAAM,OAAO,eAAgB,SAAQ,UAAU;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;AAED;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAArC;QACY,QAAG,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IA8B9C,CAAC;IA5BO,AAAN,KAAK,CAAC,GAAG,CAAY,GAAoB;QACvC,IAAI,CAAC;YACH,MAAM,EAAC,MAAM,EAAE,OAAO,GAAG,EAAE,EAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAA2B;gBACvC,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACzB,GAAG,OAAO;aACX,CAAC;YAEF,0BAA0B;YAC1B,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;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;QAC/D,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBACZ,MAAM,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;YAED,MAAM,EAAE,CAAC;QACX,CAAC;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;AA5BO;IAAK,WAAA,OAAO,EAAE,CAAA;;qCAAM,eAAe;;mDAuBxC;AAOH,UAAU,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC"}
|