@forklaunch/core 0.2.31 → 0.2.32
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/src/http/application/expressLikeApplication.d.ts +0 -2
- package/lib/src/http/application/expressLikeApplication.d.ts.map +1 -1
- package/lib/src/http/application/expressLikeApplication.js +0 -1
- package/lib/src/http/openApiV3Generator/openApiV3Generator.js +1 -1
- package/lib/src/http/router/expressLikeRouter.d.ts +2 -1
- package/lib/src/http/router/expressLikeRouter.d.ts.map +1 -1
- package/lib/src/http/router/expressLikeRouter.js +11 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
@@ -1,7 +1,6 @@
|
|
1
1
|
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
2
|
import { ExpressLikeRouter } from '../interfaces/expressLikeRouter.interface';
|
3
3
|
import { ForklaunchExpressLikeRouter } from '../router/expressLikeRouter';
|
4
|
-
import { ForklaunchRouter } from '../types/router.types';
|
5
4
|
/**
|
6
5
|
* ForklaunchExpressLikeApplication class that sets up routes and middleware for an Express-like application, for use with controller/routes pattern.
|
7
6
|
*
|
@@ -11,7 +10,6 @@ import { ForklaunchRouter } from '../types/router.types';
|
|
11
10
|
export declare abstract class ForklaunchExpressLikeApplication<SV extends AnySchemaValidator, Server extends ExpressLikeRouter<RouterHandler, Server>, RouterHandler> extends ForklaunchExpressLikeRouter<SV, '/', RouterHandler, Server> {
|
12
11
|
readonly schemaValidator: SV;
|
13
12
|
readonly internal: Server;
|
14
|
-
routers: ForklaunchRouter<SV>[];
|
15
13
|
/**
|
16
14
|
* Creates an instance of the Application class.
|
17
15
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"expressLikeApplication.d.ts","sourceRoot":"","sources":["../../../../src/http/application/expressLikeApplication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;
|
1
|
+
{"version":3,"file":"expressLikeApplication.d.ts","sourceRoot":"","sources":["../../../../src/http/application/expressLikeApplication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAE1E;;;;;GAKG;AACH,8BAAsB,gCAAgC,CACpD,EAAE,SAAS,kBAAkB,EAC7B,MAAM,SAAS,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,EACvD,aAAa,CACb,SAAQ,2BAA2B,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC;IAOjE,QAAQ,CAAC,eAAe,EAAE,EAAE;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAP3B;;;;OAIG;gBAEQ,eAAe,EAAE,EAAE,EACnB,QAAQ,EAAE,MAAM;IAK3B,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAC1C"}
|
@@ -8,7 +8,6 @@ import { ForklaunchExpressLikeRouter } from '../router/expressLikeRouter';
|
|
8
8
|
export class ForklaunchExpressLikeApplication extends ForklaunchExpressLikeRouter {
|
9
9
|
schemaValidator;
|
10
10
|
internal;
|
11
|
-
routers = [];
|
12
11
|
/**
|
13
12
|
* Creates an instance of the Application class.
|
14
13
|
*
|
@@ -87,7 +87,7 @@ function contentResolver(schemaValidator, body) {
|
|
87
87
|
export function generateSwaggerDocument(schemaValidator, port, routers) {
|
88
88
|
const tags = [];
|
89
89
|
const paths = {};
|
90
|
-
routers.forEach((router) => {
|
90
|
+
routers.flat(Infinity).forEach((router) => {
|
91
91
|
const controllerName = transformBasePath(router.basePath);
|
92
92
|
tags.push({
|
93
93
|
name: controllerName,
|
@@ -3,7 +3,7 @@ import { ExpressLikeRouter, NestableRouterBasedHandler, PathBasedHandler, PathOr
|
|
3
3
|
import { LiveTypeFunction } from '../types/apiDefinition.types';
|
4
4
|
import { Body, HeadersObject, Method, ParamsObject, QueryObject, ResponsesObject } from '../types/contractDetails.types';
|
5
5
|
import { ContractDetailsOrMiddlewareOrTypedHandler, LiveTypeRouteDefinition, MiddlewareOrMiddlewareWithTypedHandler, TypedMiddlewareDefinition, TypedNestableMiddlewareDefinition } from '../types/expressLikeRouter.types';
|
6
|
-
import { ConstrainedForklaunchRouter, ForklaunchRoute } from '../types/router.types';
|
6
|
+
import { ConstrainedForklaunchRouter, ForklaunchRoute, ForklaunchRouter } from '../types/router.types';
|
7
7
|
/**
|
8
8
|
* A class that represents an Express-like router.
|
9
9
|
*/
|
@@ -12,6 +12,7 @@ export declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator,
|
|
12
12
|
readonly schemaValidator: SV;
|
13
13
|
readonly internal: Internal;
|
14
14
|
requestHandler: RouterHandler;
|
15
|
+
routers: ForklaunchRouter<SV>[];
|
15
16
|
readonly routes: ForklaunchRoute<SV>[];
|
16
17
|
readonly basePath: BasePath;
|
17
18
|
constructor(basePath: BasePath, schemaValidator: SV, internal: Internal);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"expressLikeRouter.d.ts","sourceRoot":"","sources":["../../../../src/http/router/expressLikeRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAmB,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"expressLikeRouter.d.ts","sourceRoot":"","sources":["../../../../src/http/router/expressLikeRouter.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { isConstrainedForklaunchRouter } from '../guards/isConstrainedForklaunchRouter';
|
2
2
|
import { isExpressLikeSchemaHandler } from '../guards/isExpressLikeSchemaHandler';
|
3
3
|
import { isForklaunchExpressLikeRouter } from '../guards/isForklaunchExpressLikeRouter';
|
4
|
+
import { isForklaunchRouter } from '../guards/isForklaunchRouter';
|
4
5
|
import { isHttpContractDetails } from '../guards/isHttpContractDetails';
|
5
6
|
import { isPathParamHttpContractDetails } from '../guards/isPathParamContractDetails';
|
6
7
|
import { isTypedHandler } from '../guards/isTypedHandler';
|
@@ -16,6 +17,7 @@ export class ForklaunchExpressLikeRouter {
|
|
16
17
|
schemaValidator;
|
17
18
|
internal;
|
18
19
|
requestHandler;
|
20
|
+
routers = [];
|
19
21
|
routes = [];
|
20
22
|
basePath;
|
21
23
|
constructor(basePath, schemaValidator, internal) {
|
@@ -317,6 +319,15 @@ export class ForklaunchExpressLikeRouter {
|
|
317
319
|
return this;
|
318
320
|
}
|
319
321
|
use = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|
322
|
+
[
|
323
|
+
pathOrContractDetailsOrMiddlewareOrTypedHandler,
|
324
|
+
contractDetailsOrMiddlewareOrTypedHandler,
|
325
|
+
...middlewareOrMiddlewareWithTypedHandler
|
326
|
+
].forEach((arg) => {
|
327
|
+
if (isForklaunchRouter(arg)) {
|
328
|
+
this.routers.push(arg);
|
329
|
+
}
|
330
|
+
});
|
320
331
|
return this.registerNestableMiddlewareHandler(this.internal.use, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
|
321
332
|
};
|
322
333
|
all = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
|