@forklaunch/core 0.2.25 → 0.2.27

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.
Files changed (35) hide show
  1. package/lib/eslint.config.d.mts +1 -1
  2. package/lib/src/cache/index.d.ts +1 -0
  3. package/lib/src/cache/index.d.ts.map +1 -1
  4. package/lib/src/cache/index.js +1 -0
  5. package/lib/src/cache/utils/cacheKey.d.ts +2 -0
  6. package/lib/src/cache/utils/cacheKey.d.ts.map +1 -0
  7. package/lib/src/cache/utils/cacheKey.js +3 -0
  8. package/lib/src/controllers/interfaces/controller.interface.d.ts +3 -15
  9. package/lib/src/controllers/interfaces/controller.interface.d.ts.map +1 -1
  10. package/lib/src/http/application/expressLikeApplication.d.ts +3 -2
  11. package/lib/src/http/application/expressLikeApplication.d.ts.map +1 -1
  12. package/lib/src/http/application/expressLikeApplication.js +3 -1
  13. package/lib/src/http/guards/isConstrainedForklaunchRouter.d.ts +4 -0
  14. package/lib/src/http/guards/isConstrainedForklaunchRouter.d.ts.map +1 -0
  15. package/lib/src/http/guards/isConstrainedForklaunchRouter.js +5 -0
  16. package/lib/src/http/guards/isExpressLikeSchemaHandler.d.ts.map +1 -1
  17. package/lib/src/http/guards/isExpressLikeSchemaHandler.js +1 -5
  18. package/lib/src/http/guards/isForklaunchExpressLikeRouter.d.ts +5 -0
  19. package/lib/src/http/guards/isForklaunchExpressLikeRouter.d.ts.map +1 -0
  20. package/lib/src/http/guards/isForklaunchExpressLikeRouter.js +6 -0
  21. package/lib/src/http/interfaces/expressLikeRouter.interface.d.ts +2 -2
  22. package/lib/src/http/interfaces/expressLikeRouter.interface.d.ts.map +1 -1
  23. package/lib/src/http/middleware/request/auth.middleware.d.ts.map +1 -1
  24. package/lib/src/http/middleware/request/auth.middleware.js +2 -1
  25. package/lib/src/http/router/expressLikeRouter.d.ts +7 -5
  26. package/lib/src/http/router/expressLikeRouter.d.ts.map +1 -1
  27. package/lib/src/http/router/expressLikeRouter.js +69 -16
  28. package/lib/src/http/types/apiDefinition.types.d.ts +6 -2
  29. package/lib/src/http/types/apiDefinition.types.d.ts.map +1 -1
  30. package/lib/src/http/types/expressLikeRouter.types.d.ts +24 -8
  31. package/lib/src/http/types/expressLikeRouter.types.d.ts.map +1 -1
  32. package/lib/src/http/types/router.types.d.ts +4 -1
  33. package/lib/src/http/types/router.types.d.ts.map +1 -1
  34. package/lib/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +16 -16
@@ -1,6 +1,6 @@
1
1
  declare const _default: ({
2
2
  readonly rules: Readonly<import("eslint").Linter.RulesRecord>;
3
- } | import(".pnpm/@typescript-eslint+utils@8.13.0_eslint@9.14.0_typescript@5.6.3/node_modules/@typescript-eslint/utils/ts-eslint").FlatConfig.Config | {
3
+ } | import(".pnpm/@typescript-eslint+utils@8.14.0_eslint@9.14.0_typescript@5.6.3/node_modules/@typescript-eslint/utils/ts-eslint").FlatConfig.Config | {
4
4
  languageOptions: {
5
5
  globals: {
6
6
  readonly AbortController: false;
@@ -1,4 +1,5 @@
1
1
  export * from './interfaces/ttlCache.interface';
2
2
  export * from './redisTtlCache';
3
3
  export * from './types/ttlCacheRecord.types';
4
+ export * from './utils/cacheKey';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './interfaces/ttlCache.interface';
2
2
  export * from './redisTtlCache';
3
3
  export * from './types/ttlCacheRecord.types';
4
+ export * from './utils/cacheKey';
@@ -0,0 +1,2 @@
1
+ export declare const createCacheKey: (cacheKeyPrefix: string) => (id: string) => string;
2
+ //# sourceMappingURL=cacheKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheKey.d.ts","sourceRoot":"","sources":["../../../../src/cache/utils/cacheKey.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,mBAAoB,MAAM,UAAU,MAAM,WAEpE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export const createCacheKey = (cacheKeyPrefix) => (id) => {
2
+ return `${cacheKeyPrefix}:${id}`;
3
+ };
@@ -1,16 +1,4 @@
1
- /**
2
- * Interface representing a controller.
3
- *
4
- * @interface Controller
5
- */
6
- interface Controller {
7
- /**
8
- * The base path for the controller.
9
- *
10
- * @type {string}
11
- * @readonly
12
- */
13
- readonly basePath: string;
14
- }
15
- export default Controller;
1
+ export type Controller<Service> = {
2
+ [K in keyof Service]: unknown;
3
+ };
16
4
  //# sourceMappingURL=controller.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.interface.d.ts","sourceRoot":"","sources":["../../../../src/controllers/interfaces/controller.interface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,UAAU,UAAU;IAClB;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"controller.interface.d.ts","sourceRoot":"","sources":["../../../../src/controllers/interfaces/controller.interface.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,OAAO,IAAI;KAC/B,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO;CAC9B,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { ExpressLikeRouter } from '../interfaces/expressLikeRouter.interface';
3
+ import { ForklaunchExpressLikeRouter } from '../router/expressLikeRouter';
2
4
  import { ForklaunchRouter } from '../types/router.types';
3
5
  /**
4
6
  * ForklaunchExpressLikeApplication class that sets up routes and middleware for an Express-like application, for use with controller/routes pattern.
@@ -6,7 +8,7 @@ import { ForklaunchRouter } from '../types/router.types';
6
8
  * @template SV - A type that extends AnySchemaValidator.
7
9
  * @template Server - The server type.
8
10
  */
9
- export declare abstract class ForklaunchExpressLikeApplication<SV extends AnySchemaValidator, Server> {
11
+ export declare abstract class ForklaunchExpressLikeApplication<SV extends AnySchemaValidator, Server extends ExpressLikeRouter<RouterHandler, Server>, RouterHandler> extends ForklaunchExpressLikeRouter<SV, '/', RouterHandler, Server> {
10
12
  readonly schemaValidator: SV;
11
13
  readonly internal: Server;
12
14
  routers: ForklaunchRouter<SV>[];
@@ -16,7 +18,6 @@ export declare abstract class ForklaunchExpressLikeApplication<SV extends AnySch
16
18
  * @param {SV} schemaValidator - The schema validator.
17
19
  */
18
20
  constructor(schemaValidator: SV, internal: Server);
19
- abstract use(...args: unknown[]): this;
20
21
  abstract listen(...args: unknown[]): void;
21
22
  }
22
23
  //# sourceMappingURL=expressLikeApplication.d.ts.map
@@ -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,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;GAKG;AACH,8BAAsB,gCAAgC,CACpD,EAAE,SAAS,kBAAkB,EAC7B,MAAM;IAUJ,QAAQ,CAAC,eAAe,EAAE,EAAE;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAT3B,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAM;IAErC;;;;OAIG;gBAEQ,eAAe,EAAE,EAAE,EACnB,QAAQ,EAAE,MAAM;IAG3B,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IACtC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAC1C"}
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;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;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;IASjE,QAAQ,CAAC,eAAe,EAAE,EAAE;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAT3B,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAM;IAErC;;;;OAIG;gBAEQ,eAAe,EAAE,EAAE,EACnB,QAAQ,EAAE,MAAM;IAM3B,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAC1C"}
@@ -1,10 +1,11 @@
1
+ import { ForklaunchExpressLikeRouter } from '../router/expressLikeRouter';
1
2
  /**
2
3
  * ForklaunchExpressLikeApplication class that sets up routes and middleware for an Express-like application, for use with controller/routes pattern.
3
4
  *
4
5
  * @template SV - A type that extends AnySchemaValidator.
5
6
  * @template Server - The server type.
6
7
  */
7
- export class ForklaunchExpressLikeApplication {
8
+ export class ForklaunchExpressLikeApplication extends ForklaunchExpressLikeRouter {
8
9
  schemaValidator;
9
10
  internal;
10
11
  routers = [];
@@ -14,6 +15,7 @@ export class ForklaunchExpressLikeApplication {
14
15
  * @param {SV} schemaValidator - The schema validator.
15
16
  */
16
17
  constructor(schemaValidator, internal) {
18
+ super('/', schemaValidator, internal);
17
19
  this.schemaValidator = schemaValidator;
18
20
  this.internal = internal;
19
21
  }
@@ -0,0 +1,4 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { ConstrainedForklaunchRouter } from '../types/router.types';
3
+ export declare function isConstrainedForklaunchRouter<SV extends AnySchemaValidator, RouterHandler>(maybeForklaunchExpressLikeRouter: unknown): maybeForklaunchExpressLikeRouter is ConstrainedForklaunchRouter<SV, RouterHandler>;
4
+ //# sourceMappingURL=isConstrainedForklaunchRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isConstrainedForklaunchRouter.d.ts","sourceRoot":"","sources":["../../../../src/http/guards/isConstrainedForklaunchRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAGpE,wBAAgB,6BAA6B,CAC3C,EAAE,SAAS,kBAAkB,EAC7B,aAAa,EAEb,gCAAgC,EAAE,OAAO,GACxC,gCAAgC,IAAI,2BAA2B,CAChE,EAAE,EACF,aAAa,CACd,CAKA"}
@@ -0,0 +1,5 @@
1
+ import { isForklaunchRouter } from './isForklaunchRouter';
2
+ export function isConstrainedForklaunchRouter(maybeForklaunchExpressLikeRouter) {
3
+ return (isForklaunchRouter(maybeForklaunchExpressLikeRouter) &&
4
+ 'requestHandler' in maybeForklaunchExpressLikeRouter);
5
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"isExpressLikeSchemaHandler.d.ts","sourceRoot":"","sources":["../../../../src/http/guards/isExpressLikeSchemaHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAExC,wBAAgB,0BAA0B,CACxC,EAAE,SAAS,kBAAkB,EAC7B,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,UAAU,EAAE,OAAO,GAClB,UAAU,IAAI,wBAAwB,CACvC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,CAeA"}
1
+ {"version":3,"file":"isExpressLikeSchemaHandler.d.ts","sourceRoot":"","sources":["../../../../src/http/guards/isExpressLikeSchemaHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAExC,wBAAgB,0BAA0B,CACxC,EAAE,SAAS,kBAAkB,EAC7B,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,UAAU,EAAE,OAAO,GAClB,UAAU,IAAI,wBAAwB,CACvC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,CASA"}
@@ -2,9 +2,5 @@ import { extractArgumentNames } from '@forklaunch/common';
2
2
  export function isExpressLikeSchemaHandler(middleware) {
3
3
  const extractedArgumentNames = typeof middleware === 'function' &&
4
4
  new Set(extractArgumentNames(middleware).map((argumentName) => argumentName.toLowerCase()));
5
- return (extractedArgumentNames &&
6
- (extractedArgumentNames.has('req') ||
7
- extractedArgumentNames.has('request')) &&
8
- (extractedArgumentNames.has('res') ||
9
- extractedArgumentNames.has('response')));
5
+ return extractedArgumentNames && extractedArgumentNames.size <= 3;
10
6
  }
@@ -0,0 +1,5 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { ExpressLikeRouter } from '../interfaces/expressLikeRouter.interface';
3
+ import { ForklaunchExpressLikeRouter } from '../router/expressLikeRouter';
4
+ export declare function isForklaunchExpressLikeRouter<SV extends AnySchemaValidator, Path extends `/${string}`, RouterHandler, Internal extends ExpressLikeRouter<RouterHandler, Internal>>(maybeForklaunchExpressLikeRouter: unknown): maybeForklaunchExpressLikeRouter is ForklaunchExpressLikeRouter<SV, Path, RouterHandler, Internal>;
5
+ //# sourceMappingURL=isForklaunchExpressLikeRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isForklaunchExpressLikeRouter.d.ts","sourceRoot":"","sources":["../../../../src/http/guards/isForklaunchExpressLikeRouter.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;AAG1E,wBAAgB,6BAA6B,CAC3C,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,aAAa,EACb,QAAQ,SAAS,iBAAiB,CAAC,aAAa,EAAE,QAAQ,CAAC,EAE3D,gCAAgC,EAAE,OAAO,GACxC,gCAAgC,IAAI,2BAA2B,CAChE,EAAE,EACF,IAAI,EACJ,aAAa,EACb,QAAQ,CACT,CAQA"}
@@ -0,0 +1,6 @@
1
+ import { isConstrainedForklaunchRouter } from './isConstrainedForklaunchRouter';
2
+ export function isForklaunchExpressLikeRouter(maybeForklaunchExpressLikeRouter) {
3
+ return (isConstrainedForklaunchRouter(maybeForklaunchExpressLikeRouter) &&
4
+ 'basePath' in maybeForklaunchExpressLikeRouter &&
5
+ 'internal' in maybeForklaunchExpressLikeRouter);
6
+ }
@@ -5,8 +5,8 @@ export interface PathOrMiddlewareBasedHandler<RouterHandler> extends PathBasedHa
5
5
  (...args: RouterHandler[]): unknown;
6
6
  }
7
7
  export interface NestableRouterBasedHandler<RouterHandler, Router> extends PathOrMiddlewareBasedHandler<RouterHandler> {
8
- (...args: Router[]): unknown;
9
- (path: string, ...handlers: Router[]): unknown;
8
+ (...args: (Router | RouterHandler)[]): unknown;
9
+ (path: string, ...handlers: (Router | RouterHandler)[]): unknown;
10
10
  }
11
11
  export interface ExpressLikeRouter<RouterHandler, Router> {
12
12
  use: NestableRouterBasedHandler<RouterHandler, Router>;
@@ -1 +1 @@
1
- {"version":3,"file":"expressLikeRouter.interface.d.ts","sourceRoot":"","sources":["../../../../src/http/interfaces/expressLikeRouter.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB,CAAC,aAAa;IAC7C,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;CACvD;AAED,MAAM,WAAW,4BAA4B,CAAC,aAAa,CACzD,SAAQ,gBAAgB,CAAC,aAAa,CAAC;IACvC,CAAC,GAAG,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAC/D,SAAQ,4BAA4B,CAAC,aAAa,CAAC;IACnD,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC7B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;CAChD;AAED,MAAM,WAAW,iBAAiB,CAAC,aAAa,EAAE,MAAM;IACtD,GAAG,EAAE,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvD,GAAG,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACjD,OAAO,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACrD,GAAG,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACrC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACtC,GAAG,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACrC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACxC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACtC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;CACxC"}
1
+ {"version":3,"file":"expressLikeRouter.interface.d.ts","sourceRoot":"","sources":["../../../../src/http/interfaces/expressLikeRouter.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB,CAAC,aAAa;IAC7C,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;CACvD;AAED,MAAM,WAAW,4BAA4B,CAAC,aAAa,CACzD,SAAQ,gBAAgB,CAAC,aAAa,CAAC;IACvC,CAAC,GAAG,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAC/D,SAAQ,4BAA4B,CAAC,aAAa,CAAC;IACnD,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,aAAa,CAAC,EAAE,GAAG,OAAO,CAAC;IAC/C,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,MAAM,GAAG,aAAa,CAAC,EAAE,GAAG,OAAO,CAAC;CAClE;AAED,MAAM,WAAW,iBAAiB,CAAC,aAAa,EAAE,MAAM;IACtD,GAAG,EAAE,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvD,GAAG,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACjD,OAAO,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACrD,GAAG,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACrC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACtC,GAAG,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACrC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACxC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACtC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;CACxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../../../src/http/middleware/request/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,IAAI,EACJ,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,mCAAmC,CAAC;AA4K3C;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,SAAS,kBAAkB,EAC7B,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,GAAG,EAAE,iBAAiB,CACpB,EAAE,EACF,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,EACtB,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,EAC7B,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAC/B,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,CACpC,EACD,GAAG,EAAE,kBAAkB,CACrB,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,EACnC,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,EACnC,SAAS,CACV,EACD,IAAI,CAAC,EAAE,sBAAsB,iBA0B9B"}
1
+ {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../../../src/http/middleware/request/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,IAAI,EACJ,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,mCAAmC,CAAC;AA4K3C;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,SAAS,kBAAkB,EAC7B,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,GAAG,EAAE,iBAAiB,CACpB,EAAE,EACF,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,EACtB,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,EAC7B,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAC/B,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,CACpC,EACD,GAAG,EAAE,kBAAkB,CACrB,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,EACnC,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,EACnC,SAAS,CACV,EACD,IAAI,CAAC,EAAE,sBAAsB,iBA2B9B"}
@@ -129,6 +129,7 @@ async function checkAuthorizationToken(authorizationMethod, authorizationToken,
129
129
  * @param {NextFunction} [next] - The next middleware function.
130
130
  */
131
131
  export async function parseRequestAuth(req, res, next) {
132
+ console.debug('[MIDDLEWARE] parseRequest started');
132
133
  const auth = req.contractDetails.auth;
133
134
  if (auth) {
134
135
  const errorAndMessage = await checkAuthorizationToken(auth, req.headers[(auth.method === 'other' ? auth.headerName : undefined) ??
@@ -137,6 +138,6 @@ export async function parseRequestAuth(req, res, next) {
137
138
  res.status(errorAndMessage[0]).send(errorAndMessage[1]);
138
139
  next?.(new Error(errorAndMessage[1]));
139
140
  }
140
- next?.();
141
141
  }
142
+ next?.();
142
143
  }
@@ -1,22 +1,24 @@
1
1
  import { AnySchemaValidator } from '@forklaunch/validator';
2
- import { ExpressLikeRouter, PathBasedHandler, PathOrMiddlewareBasedHandler } from '../interfaces/expressLikeRouter.interface';
2
+ import { ExpressLikeRouter, NestableRouterBasedHandler, PathBasedHandler, PathOrMiddlewareBasedHandler } from '../interfaces/expressLikeRouter.interface';
3
3
  import { LiveTypeFunction } from '../types/apiDefinition.types';
4
4
  import { Body, HeadersObject, Method, ParamsObject, QueryObject, ResponsesObject } from '../types/contractDetails.types';
5
- import { ContractDetailsOrMiddlewareOrTypedHandler, LiveTypeRouteDefinition, MiddlewareOrMiddlewareWithTypedHandler, TypedMiddlewareDefinition } from '../types/expressLikeRouter.types';
6
- import { ForklaunchRoute } from '../types/router.types';
5
+ import { ContractDetailsOrMiddlewareOrTypedHandler, LiveTypeRouteDefinition, MiddlewareOrMiddlewareWithTypedHandler, TypedMiddlewareDefinition, TypedNestableMiddlewareDefinition } from '../types/expressLikeRouter.types';
6
+ import { ConstrainedForklaunchRouter, ForklaunchRoute } from '../types/router.types';
7
7
  /**
8
8
  * A class that represents an Express-like router.
9
9
  */
10
- export declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePath extends `/${string}`, RouterHandler, Internal extends ExpressLikeRouter<RouterHandler, Internal>> {
10
+ export declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePath extends `/${string}`, RouterHandler, Internal extends ExpressLikeRouter<RouterHandler, Internal>> implements ConstrainedForklaunchRouter<SV, RouterHandler> {
11
11
  #private;
12
12
  readonly schemaValidator: SV;
13
13
  readonly internal: Internal;
14
+ requestHandler: RouterHandler;
14
15
  readonly routes: ForklaunchRoute<SV>[];
15
16
  readonly basePath: BasePath;
16
17
  constructor(basePath: BasePath, schemaValidator: SV, internal: Internal);
17
18
  registerRoute<ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(method: ContractMethod, path: Path, registrationMethod: PathBasedHandler<RouterHandler>, contractDetailsOrMiddlewareOrTypedHandler: ContractDetailsOrMiddlewareOrTypedHandler<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>, ...middlewareOrMiddlewareAndTypedHandler: MiddlewareOrMiddlewareWithTypedHandler<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]): LiveTypeFunction<SV, `${BasePath}${Path}`, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
18
19
  registerMiddlewareHandler<Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(registrationMethod: PathOrMiddlewareBasedHandler<RouterHandler>, pathOrContractDetailsOrMiddlewareOrTypedHandler: Path | ContractDetailsOrMiddlewareOrTypedHandler<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>, contractDetailsOrMiddlewareOrTypedHandler?: ContractDetailsOrMiddlewareOrTypedHandler<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>, ...middlewareOrMiddlewareWithTypedHandler: MiddlewareOrMiddlewareWithTypedHandler<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]): this;
19
- use: TypedMiddlewareDefinition<this, SV>;
20
+ registerNestableMiddlewareHandler<Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(registrationMethod: NestableRouterBasedHandler<RouterHandler, Internal>, pathOrContractDetailsOrMiddlewareOrTypedHandler: Path | ContractDetailsOrMiddlewareOrTypedHandler<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj> | ConstrainedForklaunchRouter<SV, RouterHandler>, contractDetailsOrMiddlewareOrTypedHandler?: ContractDetailsOrMiddlewareOrTypedHandler<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj> | ConstrainedForklaunchRouter<SV, RouterHandler>, ...middlewareOrMiddlewareWithTypedHandler: (MiddlewareOrMiddlewareWithTypedHandler<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj> | ConstrainedForklaunchRouter<SV, RouterHandler>)[]): this;
21
+ use: TypedNestableMiddlewareDefinition<this, RouterHandler, Internal, SV>;
20
22
  all: TypedMiddlewareDefinition<this, SV>;
21
23
  connect: TypedMiddlewareDefinition<this, SV>;
22
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"expressLikeRouter.d.ts","sourceRoot":"","sources":["../../../../src/http/router/expressLikeRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expressLikeRouter.d.ts","sourceRoot":"","sources":["../../../../src/http/router/expressLikeRouter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ import { isConstrainedForklaunchRouter } from '../guards/isConstrainedForklaunchRouter';
1
2
  import { isExpressLikeSchemaHandler } from '../guards/isExpressLikeSchemaHandler';
3
+ import { isForklaunchExpressLikeRouter } from '../guards/isForklaunchExpressLikeRouter';
2
4
  import { isHttpContractDetails } from '../guards/isHttpContractDetails';
3
5
  import { isPathParamHttpContractDetails } from '../guards/isPathParamContractDetails';
4
6
  import { isTypedHandler } from '../guards/isTypedHandler';
@@ -13,6 +15,7 @@ import { parse } from '../middleware/request/parse.middleware';
13
15
  export class ForklaunchExpressLikeRouter {
14
16
  schemaValidator;
15
17
  internal;
18
+ requestHandler;
16
19
  routes = [];
17
20
  basePath;
18
21
  constructor(basePath, schemaValidator, internal) {
@@ -225,28 +228,53 @@ export class ForklaunchExpressLikeRouter {
225
228
  }
226
229
  }
227
230
  }
228
- #extractMiddlewareFromEnrichedTypedHandlerArray(middlewareOrMiddlewareWithTypedHandler) {
229
- const lastHandler = middlewareOrMiddlewareWithTypedHandler.pop();
230
- let rawHandler = [lastHandler];
231
- if (isTypedHandler(lastHandler)) {
232
- rawHandler = lastHandler.handlers;
231
+ #extractHandlers(handlers, processMiddleware) {
232
+ const last = handlers.pop();
233
+ let finalHandlers = last ? [last] : [];
234
+ if (isTypedHandler(last)) {
235
+ finalHandlers = last.handlers;
233
236
  }
234
- return [
235
- ...middlewareOrMiddlewareWithTypedHandler,
236
- ...rawHandler
237
- ];
237
+ handlers.forEach((handler) => {
238
+ if (isTypedHandler(handler)) {
239
+ throw new Error('Only the last argument supplied to this function can be a typed handler. Please use only middleware.');
240
+ }
241
+ });
242
+ const middleware = processMiddleware
243
+ ? handlers.map(processMiddleware)
244
+ : handlers;
245
+ return [...middleware, ...finalHandlers];
238
246
  }
239
- #extractMiddlewareAsRouterHandlers(contractDetailsOrMiddlewareOrTypedHandler, middlewareOrMiddlewareWithTypedHandler) {
240
- const middleware = [];
241
- if (isTypedHandler(contractDetailsOrMiddlewareOrTypedHandler)) {
242
- middleware.push(...contractDetailsOrMiddlewareOrTypedHandler.handlers);
247
+ #extractMiddlewareFromEnrichedTypedHandlerArray(handlers) {
248
+ return this.#extractHandlers(handlers);
249
+ }
250
+ #extractNestableMiddlewareFromEnrichedTypedHandlerArray(handlers) {
251
+ return this.#extractHandlers(handlers, (handler) => isForklaunchExpressLikeRouter(handler)
252
+ ? handler.internal
253
+ : handler);
254
+ }
255
+ #processTypedHandlerOrMiddleware(handler, middleware) {
256
+ if (isTypedHandler(handler)) {
257
+ middleware.push(...handler.handlers);
243
258
  }
244
- else if (isExpressLikeSchemaHandler(contractDetailsOrMiddlewareOrTypedHandler)) {
245
- middleware.push(contractDetailsOrMiddlewareOrTypedHandler);
259
+ else if (isExpressLikeSchemaHandler(handler)) {
260
+ middleware.push(handler);
246
261
  }
262
+ }
263
+ #extractMiddlewareAsRouterHandlers(contractDetailsOrMiddlewareOrTypedHandler, middlewareOrMiddlewareWithTypedHandler) {
264
+ const middleware = [];
265
+ this.#processTypedHandlerOrMiddleware(contractDetailsOrMiddlewareOrTypedHandler, middleware);
247
266
  middleware.push(...this.#extractMiddlewareFromEnrichedTypedHandlerArray(middlewareOrMiddlewareWithTypedHandler));
248
267
  return middleware;
249
268
  }
269
+ #extractNestableMiddlewareAsRouterHandlers(contractDetailsOrMiddlewareOrTypedHandler, middlewareOrMiddlewareWithTypedHandler) {
270
+ const middleware = [];
271
+ this.#processTypedHandlerOrMiddleware(contractDetailsOrMiddlewareOrTypedHandler, middleware);
272
+ if (isForklaunchExpressLikeRouter(contractDetailsOrMiddlewareOrTypedHandler)) {
273
+ middleware.push(contractDetailsOrMiddlewareOrTypedHandler.internal);
274
+ }
275
+ middleware.push(...this.#extractNestableMiddlewareFromEnrichedTypedHandlerArray(middlewareOrMiddlewareWithTypedHandler));
276
+ return middleware;
277
+ }
250
278
  registerMiddlewareHandler(registrationMethod, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) {
251
279
  const middleware = [];
252
280
  if (typeof pathOrContractDetailsOrMiddlewareOrTypedHandler === 'string') {
@@ -263,8 +291,33 @@ export class ForklaunchExpressLikeRouter {
263
291
  }
264
292
  return this;
265
293
  }
294
+ registerNestableMiddlewareHandler(registrationMethod, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) {
295
+ const middleware = [];
296
+ let path;
297
+ if (typeof pathOrContractDetailsOrMiddlewareOrTypedHandler === 'string') {
298
+ middleware.push(...this.#extractNestableMiddlewareAsRouterHandlers(contractDetailsOrMiddlewareOrTypedHandler, middlewareOrMiddlewareWithTypedHandler));
299
+ path = pathOrContractDetailsOrMiddlewareOrTypedHandler;
300
+ }
301
+ else {
302
+ if (isConstrainedForklaunchRouter(pathOrContractDetailsOrMiddlewareOrTypedHandler)) {
303
+ path = pathOrContractDetailsOrMiddlewareOrTypedHandler.basePath;
304
+ }
305
+ middleware.push(...this.#extractNestableMiddlewareAsRouterHandlers(pathOrContractDetailsOrMiddlewareOrTypedHandler, (isExpressLikeSchemaHandler(contractDetailsOrMiddlewareOrTypedHandler) ||
306
+ isTypedHandler(contractDetailsOrMiddlewareOrTypedHandler) ||
307
+ isConstrainedForklaunchRouter(contractDetailsOrMiddlewareOrTypedHandler)
308
+ ? [contractDetailsOrMiddlewareOrTypedHandler]
309
+ : []).concat(middlewareOrMiddlewareWithTypedHandler)));
310
+ }
311
+ if (path) {
312
+ registrationMethod.bind(this.internal)(path, ...middleware);
313
+ }
314
+ else {
315
+ registrationMethod.bind(this.internal)(...middleware);
316
+ }
317
+ return this;
318
+ }
266
319
  use = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
267
- return this.registerMiddlewareHandler(this.internal.use, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
320
+ return this.registerNestableMiddlewareHandler(this.internal.use, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
268
321
  };
269
322
  all = (pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler) => {
270
323
  return this.registerMiddlewareHandler(this.internal.all, pathOrContractDetailsOrMiddlewareOrTypedHandler, contractDetailsOrMiddlewareOrTypedHandler, ...middlewareOrMiddlewareWithTypedHandler);
@@ -1,4 +1,4 @@
1
- import { Prettify } from '@forklaunch/common';
1
+ import { MakePropertyOptionalIfChildrenOptional, Prettify, RemoveTrailingSlash } from '@forklaunch/common';
2
2
  import { AnySchemaValidator, SchemaValidator } from '@forklaunch/validator';
3
3
  import { ParsedQs } from 'qs';
4
4
  import { Body, HeadersObject, HttpContractDetails, MapSchema, ParamsDictionary, ParamsObject, PathParamHttpContractDetails, QueryObject, ResponseCompiledSchema, ResponsesObject } from './contractDetails.types';
@@ -198,7 +198,7 @@ export type LiveTypeFunction<SV extends AnySchemaValidator, Route extends string
198
198
  query: MapSchema<SV, ReqQuery>;
199
199
  }) & (HeadersObject<SV> extends ReqHeaders ? unknown : {
200
200
  headers: MapSchema<SV, ReqHeaders>;
201
- }) extends infer Request ? SdkResponse<ForklaunchResErrors & (HeadersObject<SV> extends ResBodyMap ? unknown : MapSchema<SV, ResBodyMap>), ForklaunchResHeaders extends ResHeaders ? unknown : MapSchema<SV, ResHeaders>> extends infer Return ? unknown extends Request ? (route: Route) => Promise<Return> : (route: Route, request: Request) => Promise<Return> : never : never;
201
+ }) extends infer Request ? SdkResponse<ForklaunchResErrors & (HeadersObject<SV> extends ResBodyMap ? unknown : MapSchema<SV, ResBodyMap>), ForklaunchResHeaders extends ResHeaders ? unknown : MapSchema<SV, ResHeaders>> extends infer Return ? unknown extends Request ? (route: RemoveTrailingSlash<Route>) => Promise<Return> : (route: RemoveTrailingSlash<Route>, request: MakePropertyOptionalIfChildrenOptional<Request> & unknown) => Promise<Return> : never : never;
202
202
  /**
203
203
  * Represents a basic SDK Response object.
204
204
  *
@@ -252,5 +252,9 @@ export type ResponseShape<Params, Headers, Query, Body> = {
252
252
  export type ApiClient<Routes extends Record<string, unknown>> = {
253
253
  [Key in keyof Routes]: Routes[Key] extends (...args: never[]) => infer ReturnType ? Omit<ReturnType, 'router'> : never;
254
254
  };
255
+ /**
256
+ * Represents a path match.
257
+ */
258
+ export type PathMatch<SuppliedPath extends `/${string}`, ActualPath extends `/${string}`> = ActualPath extends SuppliedPath ? SuppliedPath extends ActualPath ? SuppliedPath : never : never;
255
259
  export {};
256
260
  //# sourceMappingURL=apiDefinition.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiDefinition.types.d.ts","sourceRoot":"","sources":["../../../../src/http/types/apiDefinition.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiDefinition.types.d.ts","sourceRoot":"","sources":["../../../../src/http/types/apiDefinition.types.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,27 @@
1
1
  import { AnySchemaValidator } from '@forklaunch/validator';
2
- import { ExpressLikeSchemaHandler, LiveTypeFunction } from './apiDefinition.types';
2
+ import { ExpressLikeRouter } from '../interfaces/expressLikeRouter.interface';
3
+ import { ExpressLikeSchemaHandler, LiveTypeFunction, PathMatch } from './apiDefinition.types';
3
4
  import { Body, ContractDetails, HeadersObject, Method, ParamsObject, QueryObject, ResponsesObject } from './contractDetails.types';
5
+ import { ConstrainedForklaunchRouter } from './router.types';
4
6
  import { TypedHandler } from './typedHandler.types';
5
7
  export interface LiveTypeRouteDefinition<SV extends AnySchemaValidator, BasePath extends `/${string}`, ContractMethod extends Method> {
6
- <Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(path: Path, typedHandler: TypedHandler<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>): {
7
- [key in ContractMethod]: LiveTypeFunction<SV, `${BasePath}${Path}`, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
8
+ <Path extends `/${string}`, SuppliedPath extends Path, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(path: PathMatch<SuppliedPath, Path>, typedHandler: TypedHandler<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>): {
9
+ [Key in ContractMethod]: LiveTypeFunction<SV, `${BasePath}${Path}`, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
8
10
  };
9
- <Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(path: Path, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>, ...middlewareAndTypedHandler: [
11
+ <Path extends `/${string}`, SuppliedPath extends Path, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(path: PathMatch<SuppliedPath, Path>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>, ...middlewareAndTypedHandler: [
10
12
  ...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[],
11
13
  TypedHandler<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>
12
14
  ]): {
13
- [key in ContractMethod]: LiveTypeFunction<SV, `${BasePath}${Path}`, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
15
+ [Key in ContractMethod]: LiveTypeFunction<SV, `${BasePath}${Path}`, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
14
16
  };
15
17
  <Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(path: Path, contractDetails: ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, ...middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]): {
16
- [key in ContractMethod]: LiveTypeFunction<SV, `${BasePath}${Path}`, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
18
+ [Key in ContractMethod]: LiveTypeFunction<SV, `${BasePath}${Path}`, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
17
19
  };
18
20
  }
19
21
  export interface TypedMiddlewareDefinition<ChainableRouter, SV extends AnySchemaValidator> {
20
- <Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(path: Path, typedHandler: TypedHandler<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>): ChainableRouter;
22
+ <Path extends `/${string}`, SuppliedPath extends Path, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(path: PathMatch<SuppliedPath, Path>, typedHandler: TypedHandler<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>): ChainableRouter;
21
23
  <Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(typedHandler: TypedHandler<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>): ChainableRouter;
22
- <Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(path: Path, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>, ...middlewareAndTypedHandler: [
24
+ <Path extends `/${string}`, SuppliedPath extends Path, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(path: PathMatch<SuppliedPath, Path>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>, ...middlewareAndTypedHandler: [
23
25
  ...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[],
24
26
  TypedHandler<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>
25
27
  ]): ChainableRouter;
@@ -30,6 +32,20 @@ export interface TypedMiddlewareDefinition<ChainableRouter, SV extends AnySchema
30
32
  <Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(path: Path, contractDetails: ContractDetails<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>, ...middlewares: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]): ChainableRouter;
31
33
  <Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(contractDetails: ContractDetails<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>, ...middlewares: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]): ChainableRouter;
32
34
  }
35
+ export interface TypedNestableMiddlewareDefinition<ChainableRouter, RouterHandler, Internal extends ExpressLikeRouter<RouterHandler, Internal>, SV extends AnySchemaValidator> extends TypedMiddlewareDefinition<ChainableRouter, SV> {
36
+ (router: ConstrainedForklaunchRouter<SV, RouterHandler>): ChainableRouter;
37
+ <Path extends `/${string}`>(path: Path, router: ConstrainedForklaunchRouter<SV, RouterHandler>): ChainableRouter;
38
+ <Path extends `/${string}`, SuppliedPath extends Path, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(path: PathMatch<SuppliedPath, Path>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj> | ConstrainedForklaunchRouter<SV, RouterHandler>, ...middlewareAndTypedHandler: [
39
+ ...(ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj> | ConstrainedForklaunchRouter<SV, RouterHandler>)[],
40
+ TypedHandler<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>
41
+ ]): ChainableRouter;
42
+ <Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj> | ConstrainedForklaunchRouter<SV, RouterHandler>, ...middlewareAndTypedHandler: [
43
+ ...(ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj> | ConstrainedForklaunchRouter<SV, RouterHandler>)[],
44
+ TypedHandler<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>
45
+ ]): ChainableRouter;
46
+ <Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(path: Path, contractDetails: ContractDetails<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj> | ConstrainedForklaunchRouter<SV, RouterHandler>, ...middlewares: (ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj> | ConstrainedForklaunchRouter<SV, RouterHandler>)[]): ChainableRouter;
47
+ <Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(contractDetails: ContractDetails<SV, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj> | ConstrainedForklaunchRouter<SV, RouterHandler>, ...middlewares: (ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj> | ConstrainedForklaunchRouter<SV, RouterHandler>)[]): ChainableRouter;
48
+ }
33
49
  export type ContractDetailsOrMiddlewareOrTypedHandler<SV extends AnySchemaValidator, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>> = ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders> | ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj> | TypedHandler<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>;
34
50
  export type MiddlewareOrMiddlewareWithTypedHandler<SV extends AnySchemaValidator, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>> = ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj> | TypedHandler<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>;
35
51
  //# sourceMappingURL=expressLikeRouter.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expressLikeRouter.types.d.ts","sourceRoot":"","sources":["../../../../src/http/types/expressLikeRouter.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expressLikeRouter.types.d.ts","sourceRoot":"","sources":["../../../../src/http/types/expressLikeRouter.types.ts"],"names":[],"mappings":"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"}