@tsed/platform-router 7.18.3-rc.1 → 7.18.3

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/.eslintignore ADDED
@@ -0,0 +1,13 @@
1
+ node_modules
2
+ docs
3
+ docs-references
4
+ lib
5
+ dist
6
+ coverage
7
+ .nyc_output
8
+ *-lock.json
9
+ *.lock
10
+ benchmarks.*
11
+ **/generated
12
+
13
+ **/*.js
package/.eslintrc.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require("@tsed/eslint/node.js");
package/jest.config.js CHANGED
@@ -2,8 +2,17 @@
2
2
  // https://jestjs.io/docs/en/configuration.html
3
3
 
4
4
  module.exports = {
5
- ...require("@tsed/jest-config")(__dirname, "platform-router"),
5
+ ...require("@tsed/jest-config"),
6
+ roots: ["<rootDir>/src", "<rootDir>/test"],
7
+ moduleNameMapper: {
8
+ "@tsed/platform-router": "<rootDir>/src/index.ts"
9
+ },
6
10
  coverageThreshold: {
7
- global: require("./coverage.json")
11
+ global: {
12
+ statements: 100,
13
+ branches: 95.27,
14
+ functions: 100,
15
+ lines: 100
16
+ }
8
17
  }
9
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformHandlerMetadata.js","sourceRoot":"","sources":["../../../src/domain/PlatformHandlerMetadata.ts"],"names":[],"mappings":"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","sourcesContent":["import {nameOf} from \"@tsed/core\";\nimport {InjectorService, Provider, ProviderScope, TokenProvider} from \"@tsed/di\";\nimport {ParamTypes} from \"@tsed/platform-params\";\nimport {EndpointMetadata, JsonEntityStore, JsonParameterStore} from \"@tsed/schema\";\nimport {PlatformHandlerType} from \"./PlatformHandlerType\";\nimport {SinglePathType} from \"./SinglePathType\";\n\nexport interface PlatformHandlerMetadataOpts extends Record<string, any> {\n token?: TokenProvider;\n}\n\nexport interface PlatformHandlerMetadataProps {\n provider?: Provider;\n handler?: any;\n opts?: PlatformHandlerMetadataOpts;\n propertyKey?: string | symbol;\n type?: PlatformHandlerType;\n}\n\nexport class PlatformHandlerMetadata {\n path: SinglePathType;\n\n readonly provider?: Provider;\n readonly propertyKey: string | symbol;\n readonly type: PlatformHandlerType = PlatformHandlerType.RAW_FN;\n readonly hasNextFunction: boolean = false;\n readonly opts: PlatformHandlerMetadataOpts = {};\n\n #handler: any;\n\n constructor(props: PlatformHandlerMetadataProps) {\n const {propertyKey, type, provider, handler, opts} = props;\n\n this.provider = provider;\n this.type = type || handler.type || PlatformHandlerType.RAW_FN;\n this.opts = opts || {};\n\n this.#handler = propertyKey ? this.target.prototype[propertyKey] : handler;\n\n if (propertyKey) {\n this.propertyKey = propertyKey;\n this.hasNextFunction = this.hasParamType(ParamTypes.NEXT_FN);\n\n if (this.hasParamType(ParamTypes.ERR)) {\n this.type = PlatformHandlerType.ERR_MIDDLEWARE;\n }\n } else {\n if (this.#handler.length === 4) {\n this.type = PlatformHandlerType.RAW_ERR_FN;\n }\n this.hasNextFunction = this.#handler.length >= 3;\n }\n }\n\n get target() {\n return this.provider?.useClass || this.#handler;\n }\n\n get token() {\n return this.provider?.token || this.#handler;\n }\n\n get handler() {\n return this.#handler;\n }\n\n get scope() {\n return this.provider?.scope || ProviderScope.SINGLETON;\n }\n\n get hasErrorParam() {\n return this.type === PlatformHandlerType.ERR_MIDDLEWARE || this.type === PlatformHandlerType.RAW_ERR_FN;\n }\n\n get store() {\n return JsonEntityStore.fromMethod(this.provider!.useClass, this.propertyKey!);\n }\n\n static from(injector: InjectorService, input: any, opts: PlatformHandlerMetadataOpts = {}): PlatformHandlerMetadata {\n if (input instanceof PlatformHandlerMetadata) {\n return input;\n }\n\n if (input instanceof EndpointMetadata) {\n const provider = injector.getProvider(opts.token)!;\n\n return new PlatformHandlerMetadata({\n provider,\n type: PlatformHandlerType.ENDPOINT,\n propertyKey: input.propertyKey,\n opts\n });\n }\n\n const provider = injector.getProvider(input);\n\n if (provider) {\n return new PlatformHandlerMetadata({\n provider,\n type: PlatformHandlerType.MIDDLEWARE,\n propertyKey: \"use\",\n opts\n });\n }\n\n return new PlatformHandlerMetadata({\n handler: input,\n type: input.type,\n opts\n });\n }\n\n public getParams() {\n return JsonParameterStore.getParams(this.target, this.propertyKey) || [];\n }\n\n public hasParamType(paramType: any): boolean {\n return this.getParams().findIndex((p) => p.paramType === paramType) > -1;\n }\n\n public isInjectable() {\n return !(this.isRawMiddleware() || this.isResponseFn());\n }\n\n public isRawMiddleware() {\n return this.type === PlatformHandlerType.RAW_ERR_FN || this.type === PlatformHandlerType.RAW_FN;\n }\n\n public isEndpoint() {\n return this.type === PlatformHandlerType.ENDPOINT;\n }\n\n public isCtxFn() {\n return this.type === PlatformHandlerType.CTX_FN;\n }\n\n public isResponseFn() {\n return this.type === PlatformHandlerType.RESPONSE_FN;\n }\n\n toString() {\n return [nameOf(this.target), this.propertyKey].filter(Boolean).join(\".\");\n }\n}\n"]}
1
+ {"version":3,"file":"PlatformHandlerMetadata.js","sourceRoot":"","sources":["../../../src/domain/PlatformHandlerMetadata.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformHandlerType.js","sourceRoot":"","sources":["../../../src/domain/PlatformHandlerType.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC7B,wCAAiB,CAAA;IACjB,4CAAqB,CAAA;IACrB,gDAAyB,CAAA;IACzB,wDAAiC,CAAA;IACjC,yCAAkB,CAAA;IAClB,+CAAwB,CAAA;IACxB,gDAAyB,CAAA;IACzB,wDAAiC,CAAA;AACnC,CAAC,EATW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAS9B","sourcesContent":["export enum PlatformHandlerType {\n CUSTOM = \"custom\",\n ENDPOINT = \"endpoint\",\n MIDDLEWARE = \"middleware\",\n ERR_MIDDLEWARE = \"err:middleware\",\n CTX_FN = \"context\",\n RESPONSE_FN = \"response\",\n RAW_FN = \"raw:middleware\",\n RAW_ERR_FN = \"raw:err:middleware\"\n}\n"]}
1
+ {"version":3,"file":"PlatformHandlerType.js","sourceRoot":"","sources":["../../../src/domain/PlatformHandlerType.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC7B,wCAAiB,CAAA;IACjB,4CAAqB,CAAA;IACrB,gDAAyB,CAAA;IACzB,wDAAiC,CAAA;IACjC,yCAAkB,CAAA;IAClB,+CAAwB,CAAA;IACxB,gDAAyB,CAAA;IACzB,wDAAiC,CAAA;AACnC,CAAC,EATW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAS9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformLayer.js","sourceRoot":"","sources":["../../../src/domain/PlatformLayer.ts"],"names":[],"mappings":";;;AAAA,qCAAqD;AAGrD,yCAAwC;AAqBxC,MAAa,aAAa;IACjB,QAAQ,CAAW;IACnB,IAAI,GAAmB,EAAE,CAAC;IAC1B,MAAM,CAAS;IACf,QAAQ,GAA8B,EAAE,CAAC;IACzC,MAAM,CAAkB;IACxB,IAAI,GAAyB,EAAE,CAAC;IAEhC,MAAM,GAAoB,EAAE,CAAC;IAE7B,MAAM,CAAiB;IAC9B,QAAQ,CAAiB;IACzB,KAAK,CAA2B;IAEhC,YAAY,QAAqC,EAAE;QACjD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,OAAO,IAAI,aAAa,CAAC;gBACvB,GAAG,KAAK;gBACR,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,IAA8B;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,UAAU;QACR,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,OAAO;QACL,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC3D,OAAO;oBACL,GAAG,GAAG;oBACN,CAAC,GAAG,CAAC,EAAE,IAAA,kBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,aAAM,EAAC,KAAK,CAAC;iBAClD,CAAC;YACJ,CAAC,EAAE,EAAE,CAAC;SACP,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO,IAAA,mBAAU,EAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,CAAC,MAAuB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,OAAO,IAAI,aAAa,CAAC;gBACvB,GAAG,KAAK;gBACR,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAhED,sCAgEC","sourcesContent":["import {isPrimitive, nameOf, Type} from \"@tsed/core\";\nimport {Provider} from \"@tsed/di\";\nimport type {PlatformParamsCallback} from \"@tsed/platform-params\";\nimport {concatPath} from \"@tsed/schema\";\n\nimport {PlatformHandlerMetadata} from \"./PlatformHandlerMetadata\";\nimport type {PlatformRouter} from \"./PlatformRouter\";\nimport {SinglePathType} from \"./SinglePathType\";\n\nexport interface PlatformLayerOptions extends Record<string, any> {\n token?: Type<any>;\n}\n\nexport interface PlatformLayerProps {\n parent: PlatformLayer;\n provider: Provider;\n path: SinglePathType;\n basePath: SinglePathType;\n method: string;\n handlers: any[];\n router: PlatformRouter;\n opts: PlatformLayerOptions;\n}\n\nexport class PlatformLayer {\n public provider: Provider;\n public path: SinglePathType = \"\";\n public method: string;\n public handlers: PlatformHandlerMetadata[] = [];\n public router?: PlatformRouter;\n public opts: PlatformLayerOptions = {};\n\n public layers: PlatformLayer[] = [];\n\n public parent?: PlatformLayer;\n basePath: SinglePathType;\n #args: PlatformParamsCallback[];\n\n constructor(props: Partial<PlatformLayerProps> = {}) {\n Object.assign(this, props);\n\n this.layers = this.layers.map((layer) => {\n return new PlatformLayer({\n ...layer,\n parent: this\n });\n });\n }\n\n set(args: PlatformParamsCallback[]) {\n this.#args = args;\n }\n\n getArgs() {\n return [this.path, ...this.#args].filter(Boolean);\n }\n\n isProvider() {\n return !!this.provider;\n }\n\n inspect() {\n return {\n basePath: this.getBasePath(),\n path: this.path,\n method: this.method,\n handlers: this.handlers.map((item: any) => String(item)),\n opts: Object.entries(this.opts).reduce((obj, [key, value]) => {\n return {\n ...obj,\n [key]: isPrimitive(value) ? value : nameOf(value)\n };\n }, {})\n };\n }\n\n getBasePath(): string {\n return concatPath(this.parent?.getBasePath(), this.basePath);\n }\n\n setLayers(layers: PlatformLayer[]) {\n this.layers = layers.map((layer) => {\n return new PlatformLayer({\n ...layer,\n parent: this\n });\n });\n }\n}\n"]}
1
+ {"version":3,"file":"PlatformLayer.js","sourceRoot":"","sources":["../../../src/domain/PlatformLayer.ts"],"names":[],"mappings":";;;AAAA,qCAAqD;AAGrD,yCAAwC;AAqBxC,MAAa,aAAa;IACjB,QAAQ,CAAW;IACnB,IAAI,GAAmB,EAAE,CAAC;IAC1B,MAAM,CAAS;IACf,QAAQ,GAA8B,EAAE,CAAC;IACzC,MAAM,CAAkB;IACxB,IAAI,GAAyB,EAAE,CAAC;IAEhC,MAAM,GAAoB,EAAE,CAAC;IAE7B,MAAM,CAAiB;IAC9B,QAAQ,CAAiB;IACzB,KAAK,CAA2B;IAEhC,YAAY,QAAqC,EAAE;QACjD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,OAAO,IAAI,aAAa,CAAC;gBACvB,GAAG,KAAK;gBACR,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,IAA8B;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,UAAU;QACR,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,OAAO;QACL,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC3D,OAAO;oBACL,GAAG,GAAG;oBACN,CAAC,GAAG,CAAC,EAAE,IAAA,kBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,aAAM,EAAC,KAAK,CAAC;iBAClD,CAAC;YACJ,CAAC,EAAE,EAAE,CAAC;SACP,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO,IAAA,mBAAU,EAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,CAAC,MAAuB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,OAAO,IAAI,aAAa,CAAC;gBACvB,GAAG,KAAK;gBACR,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAhED,sCAgEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformRouter.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouter.ts"],"names":[],"mappings":"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","sourcesContent":["import {isString} from \"@tsed/core\";\nimport {Injectable, InjectorService, Provider, ProviderScope, Scope} from \"@tsed/di\";\nimport {concatPath} from \"@tsed/schema\";\nimport {formatMethod} from \"../utils/formatMethod\";\nimport {PlatformHandlerMetadata} from \"./PlatformHandlerMetadata\";\nimport {PlatformLayer, PlatformLayerOptions} from \"./PlatformLayer\";\nimport {SinglePathType} from \"./SinglePathType\";\n\nfunction printHandler(handler: any) {\n return handler.toString().split(\"{\")[0].trim();\n}\n\n@Injectable()\n@Scope(ProviderScope.INSTANCE)\nexport class PlatformRouter {\n readonly layers: PlatformLayer[] = [];\n provider: Provider;\n #isBuilt = false;\n\n constructor(protected readonly injector: InjectorService) {}\n\n use(...handlers: any[]) {\n const layer = handlers.reduce(\n (layer: PlatformLayer, item) => {\n if (isString(item) || item instanceof RegExp) {\n layer.path = item;\n layer.basePath = item;\n } else {\n if (item instanceof PlatformRouter) {\n layer.router = item;\n layer.setLayers(item.layers);\n\n if (!this.provider && item.provider) {\n layer.path = concatPath(layer.path, item.provider.path);\n } else {\n layer.path = layer.path || item.provider.path;\n }\n } else {\n item = PlatformHandlerMetadata.from(this.injector, item);\n }\n\n layer.handlers.push(item);\n }\n\n return layer;\n },\n new PlatformLayer({\n method: \"use\",\n basePath: this.provider?.path || \"/\",\n provider: this.provider\n })\n );\n\n this.layers.push(layer);\n\n return this;\n }\n\n addRoute(method: string, path: SinglePathType, handlers: any[], opts: PlatformLayerOptions = {}) {\n const layer = new PlatformLayer({\n provider: this.provider,\n method: formatMethod(method),\n path,\n handlers: handlers.map((input) => {\n return PlatformHandlerMetadata.from(this.injector, input, opts);\n }),\n opts\n });\n\n this.layers.push(layer);\n\n return this;\n }\n\n all(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"all\", path, handlers);\n }\n\n get(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"get\", path, handlers);\n }\n\n post(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"post\", path, handlers);\n }\n\n put(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"put\", path, handlers);\n }\n\n delete(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"delete\", path, handlers);\n }\n\n patch(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"patch\", path, handlers);\n }\n\n head(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"head\", path, handlers);\n }\n\n options(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"options\", path, handlers);\n }\n\n statics(path: string, options: any) {\n return this.addRoute(\"statics\", path, [], options);\n }\n\n inspect() {\n return this.layers.map((layer) => {\n const obj = layer.inspect();\n\n return {\n ...obj,\n handlers: obj.handlers.map(printHandler),\n path: concatPath(this.provider?.path, obj.path)\n };\n });\n }\n\n isBuilt() {\n if (this.#isBuilt) {\n return true;\n }\n\n this.#isBuilt = true;\n\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"PlatformRouter.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformRouters.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouters.ts"],"names":[],"mappings":"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","sourcesContent":["import {getValue, Hooks, Type} from \"@tsed/core\";\nimport {ControllerProvider, GlobalProviders, Injectable, InjectorService, Provider, ProviderType, TokenProvider} from \"@tsed/di\";\nimport {concatPath, getOperationsRoutes} from \"@tsed/schema\";\nimport {useContextHandler} from \"../utils/useContextHandler\";\nimport {PlatformLayer} from \"./PlatformLayer\";\nimport {PlatformRouter} from \"./PlatformRouter\";\n\nlet AUTO_INC = 0;\n\nfunction getInjectableRouter(injector: InjectorService, provider: Provider): PlatformRouter {\n return injector.get(provider.tokenRouter)!;\n}\n\nfunction createTokenRouter(provider: ControllerProvider) {\n return (provider.tokenRouter = provider.tokenRouter || `${provider.name}_ROUTER_${AUTO_INC++}`);\n}\n\nfunction createInjectableRouter(injector: InjectorService, provider: ControllerProvider): PlatformRouter {\n const tokenRouter = createTokenRouter(provider);\n\n if (injector.has(tokenRouter)) {\n return getInjectableRouter(injector, provider);\n }\n\n const router = injector.invoke<PlatformRouter>(PlatformRouter);\n router.provider = provider;\n\n return injector\n .add(tokenRouter, {\n useValue: router\n })\n .invoke<PlatformRouter>(tokenRouter);\n}\n\nGlobalProviders.createRegistry(ProviderType.CONTROLLER, ControllerProvider, {\n onInvoke(provider: ControllerProvider, locals: any, {injector}) {\n const router = createInjectableRouter(injector, provider);\n locals.set(PlatformRouter, router);\n }\n});\n\n@Injectable()\nexport class PlatformRouters {\n readonly hooks = new Hooks();\n\n constructor(protected readonly injector: InjectorService) {}\n\n prebuild() {\n this.injector.getProviders(ProviderType.CONTROLLER).forEach((provider: ControllerProvider) => {\n createInjectableRouter(this.injector, provider);\n });\n }\n\n from(token: TokenProvider, parentMiddlewares: any[] = []) {\n const {injector} = this;\n const provider = injector.getProvider<ControllerProvider>(token)!;\n\n if (!provider) {\n throw new Error(\"Token not found in the provider registry\");\n }\n\n const router = createInjectableRouter(injector, provider);\n\n if (router.isBuilt()) {\n return router;\n }\n\n const useBefore = getValue(provider, \"middlewares.useBefore\", []);\n\n const {children} = provider;\n\n getOperationsRoutes(provider.token).forEach((operationRoute) => {\n const {endpoint} = operationRoute;\n const {beforeMiddlewares, middlewares: mldwrs, afterMiddlewares} = endpoint;\n\n const useBefore = getValue(provider, \"middlewares.useBefore\", []);\n const use = getValue(provider, \"middlewares.use\", []);\n const useAfter = getValue(provider, \"middlewares.useAfter\", []);\n\n const handlers = this.hooks.alter(\n \"alterEndpointHandlers\",\n [\n ...parentMiddlewares,\n ...useBefore,\n ...beforeMiddlewares,\n ...use,\n ...mldwrs,\n operationRoute.endpoint,\n ...afterMiddlewares,\n ...useAfter\n ],\n [operationRoute],\n this\n );\n\n router.addRoute(\n operationRoute.method,\n operationRoute.path || \"\",\n [\n useContextHandler(($ctx) => {\n $ctx.endpoint = operationRoute.endpoint;\n }),\n ...handlers\n ],\n operationRoute\n );\n });\n\n const middlewares: any[] = [...parentMiddlewares, ...useBefore];\n\n children.forEach((token: Type<any>) => {\n const nested = this.from(token, middlewares);\n\n router.use(nested);\n });\n\n return router;\n }\n\n getLayers(router: PlatformRouter): PlatformLayer[] {\n return this.flatMapLayers(router.layers);\n }\n\n private flatMapLayers(layers: PlatformLayer[]): PlatformLayer[] {\n return layers\n .flatMap((layer) => {\n if (layer.router) {\n return this.flatMapLayers(layer.layers).map((subLayer: PlatformLayer) => {\n return new PlatformLayer({\n ...subLayer,\n path: concatPath(layer.path, subLayer.path)\n });\n });\n }\n\n return new PlatformLayer(layer);\n })\n .map((layer) => {\n const handlers = layer.handlers.map((handlerMetadata) => {\n // set path on handler metadata to retrieve it later in $ctx\n handlerMetadata.path = layer.path;\n\n return this.hooks.alter(\"alterHandler\", handlerMetadata);\n });\n\n layer.set(handlers);\n\n return layer;\n });\n }\n}\n"]}
1
+ {"version":3,"file":"PlatformRouters.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouters.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SinglePathType.js","sourceRoot":"","sources":["../../../src/domain/SinglePathType.ts"],"names":[],"mappings":"","sourcesContent":["export type SinglePathType = string | RegExp;\n"]}
1
+ {"version":3,"file":"SinglePathType.js","sourceRoot":"","sources":["../../../src/domain/SinglePathType.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,2EAAiD;AACjD,uEAA6C;AAC7C,iEAAuC;AACvC,kEAAwC;AACxC,mEAAyC;AACzC,kEAAwC;AACxC,+DAAqC;AACrC,oEAA0C","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./domain/PlatformHandlerMetadata\";\nexport * from \"./domain/PlatformHandlerType\";\nexport * from \"./domain/PlatformLayer\";\nexport * from \"./domain/PlatformRouter\";\nexport * from \"./domain/PlatformRouters\";\nexport * from \"./domain/SinglePathType\";\nexport * from \"./utils/formatMethod\";\nexport * from \"./utils/useContextHandler\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,2EAAiD;AACjD,uEAA6C;AAC7C,iEAAuC;AACvC,kEAAwC;AACxC,mEAAyC;AACzC,kEAAwC;AACxC,+DAAqC;AACrC,oEAA0C"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatMethod.js","sourceRoot":"","sources":["../../../src/utils/formatMethod.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAE9C,SAAgB,YAAY,CAAC,MAA0B;IACrD,OAAO,CAAC,MAAM,KAAK,yBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AACtF,CAAC;AAFD,oCAEC","sourcesContent":["import {OperationMethods} from \"@tsed/schema\";\n\nexport function formatMethod(method: string | undefined) {\n return (method === OperationMethods.CUSTOM ? \"use\" : method || \"use\").toLowerCase();\n}\n"]}
1
+ {"version":3,"file":"formatMethod.js","sourceRoot":"","sources":["../../../src/utils/formatMethod.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAE9C,SAAgB,YAAY,CAAC,MAA0B;IACrD,OAAO,CAAC,MAAM,KAAK,yBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AACtF,CAAC;AAFD,oCAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useContextHandler.js","sourceRoot":"","sources":["../../../src/utils/useContextHandler.ts"],"names":[],"mappings":";;;AACA,uEAAkE;AAIlE;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,EAAyD;IACzF,EAAE,CAAC,IAAI,GAAG,yCAAmB,CAAC,MAAM,CAAC;IAErC,OAAO,EAAE,CAAC;AACZ,CAAC;AAJD,8CAIC;AAED,SAAgB,kBAAkB,CAAC,EAAyD;IAC1F,EAAE,CAAC,IAAI,GAAG,yCAAmB,CAAC,WAAW,CAAC;IAE1C,OAAO,EAAE,CAAC;AACZ,CAAC;AAJD,gDAIC","sourcesContent":["import {DIContext} from \"@tsed/di\";\nimport {PlatformHandlerType} from \"../domain/PlatformHandlerType\";\n\nexport type PlatformContextHandler<Context = DIContext> = ($ctx: Context) => any | Promise<any>;\n\n/**\n * Create Ts.ED context handler\n * @param fn\n * @ignore\n */\nexport function useContextHandler(fn: PlatformContextHandler & {type?: PlatformHandlerType}) {\n fn.type = PlatformHandlerType.CTX_FN;\n\n return fn;\n}\n\nexport function useResponseHandler(fn: PlatformContextHandler & {type?: PlatformHandlerType}) {\n fn.type = PlatformHandlerType.RESPONSE_FN;\n\n return fn;\n}\n"]}
1
+ {"version":3,"file":"useContextHandler.js","sourceRoot":"","sources":["../../../src/utils/useContextHandler.ts"],"names":[],"mappings":";;;AACA,uEAAkE;AAIlE;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,EAAyD;IACzF,EAAE,CAAC,IAAI,GAAG,yCAAmB,CAAC,MAAM,CAAC;IAErC,OAAO,EAAE,CAAC;AACZ,CAAC;AAJD,8CAIC;AAED,SAAgB,kBAAkB,CAAC,EAAyD;IAC1F,EAAE,CAAC,IAAI,GAAG,yCAAmB,CAAC,WAAW,CAAC;IAE1C,OAAO,EAAE,CAAC;AACZ,CAAC;AAJD,gDAIC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformHandlerMetadata.js","sourceRoot":"","sources":["../../../src/domain/PlatformHandlerMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAClC,OAAO,EAA4B,aAAa,EAAgB,MAAM,UAAU,CAAC;AACjF,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAC,MAAM,cAAc,CAAC;AACnF,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAe1D,MAAM,OAAO,uBAAuB;IAClC,IAAI,CAAiB;IAEZ,QAAQ,CAAY;IACpB,WAAW,CAAkB;IAC7B,IAAI,GAAwB,mBAAmB,CAAC,MAAM,CAAC;IACvD,eAAe,GAAY,KAAK,CAAC;IACjC,IAAI,GAAgC,EAAE,CAAC;IAEhD,QAAQ,CAAM;IAEd,YAAY,KAAmC;QAC7C,MAAM,EAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;QAE3D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAE3E,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE7D,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACrC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC,cAAc,CAAC;aAChD;SACF;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC,UAAU,CAAC;aAC5C;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;SAClD;IACH,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;IAClD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,UAAU,CAAC;IAC1G,CAAC;IAED,IAAI,KAAK;QACP,OAAO,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,QAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAY,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,QAAyB,EAAE,KAAU,EAAE,OAAoC,EAAE;QACvF,IAAI,KAAK,YAAY,uBAAuB,EAAE;YAC5C,OAAO,KAAK,CAAC;SACd;QAED,IAAI,KAAK,YAAY,gBAAgB,EAAE;YACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;YAEnD,OAAO,IAAI,uBAAuB,CAAC;gBACjC,QAAQ;gBACR,IAAI,EAAE,mBAAmB,CAAC,QAAQ;gBAClC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,IAAI;aACL,CAAC,CAAC;SACJ;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAI,QAAQ,EAAE;YACZ,OAAO,IAAI,uBAAuB,CAAC;gBACjC,QAAQ;gBACR,IAAI,EAAE,mBAAmB,CAAC,UAAU;gBACpC,WAAW,EAAE,KAAK;gBAClB,IAAI;aACL,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,uBAAuB,CAAC;YACjC,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAEM,SAAS;QACd,OAAO,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC3E,CAAC;IAEM,YAAY,CAAC,SAAc;QAChC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEM,YAAY;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,MAAM,CAAC;IAClG,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,QAAQ,CAAC;IACpD,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,MAAM,CAAC;IAClD,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,WAAW,CAAC;IACvD,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;CACF","sourcesContent":["import {nameOf} from \"@tsed/core\";\nimport {InjectorService, Provider, ProviderScope, TokenProvider} from \"@tsed/di\";\nimport {ParamTypes} from \"@tsed/platform-params\";\nimport {EndpointMetadata, JsonEntityStore, JsonParameterStore} from \"@tsed/schema\";\nimport {PlatformHandlerType} from \"./PlatformHandlerType\";\nimport {SinglePathType} from \"./SinglePathType\";\n\nexport interface PlatformHandlerMetadataOpts extends Record<string, any> {\n token?: TokenProvider;\n}\n\nexport interface PlatformHandlerMetadataProps {\n provider?: Provider;\n handler?: any;\n opts?: PlatformHandlerMetadataOpts;\n propertyKey?: string | symbol;\n type?: PlatformHandlerType;\n}\n\nexport class PlatformHandlerMetadata {\n path: SinglePathType;\n\n readonly provider?: Provider;\n readonly propertyKey: string | symbol;\n readonly type: PlatformHandlerType = PlatformHandlerType.RAW_FN;\n readonly hasNextFunction: boolean = false;\n readonly opts: PlatformHandlerMetadataOpts = {};\n\n #handler: any;\n\n constructor(props: PlatformHandlerMetadataProps) {\n const {propertyKey, type, provider, handler, opts} = props;\n\n this.provider = provider;\n this.type = type || handler.type || PlatformHandlerType.RAW_FN;\n this.opts = opts || {};\n\n this.#handler = propertyKey ? this.target.prototype[propertyKey] : handler;\n\n if (propertyKey) {\n this.propertyKey = propertyKey;\n this.hasNextFunction = this.hasParamType(ParamTypes.NEXT_FN);\n\n if (this.hasParamType(ParamTypes.ERR)) {\n this.type = PlatformHandlerType.ERR_MIDDLEWARE;\n }\n } else {\n if (this.#handler.length === 4) {\n this.type = PlatformHandlerType.RAW_ERR_FN;\n }\n this.hasNextFunction = this.#handler.length >= 3;\n }\n }\n\n get target() {\n return this.provider?.useClass || this.#handler;\n }\n\n get token() {\n return this.provider?.token || this.#handler;\n }\n\n get handler() {\n return this.#handler;\n }\n\n get scope() {\n return this.provider?.scope || ProviderScope.SINGLETON;\n }\n\n get hasErrorParam() {\n return this.type === PlatformHandlerType.ERR_MIDDLEWARE || this.type === PlatformHandlerType.RAW_ERR_FN;\n }\n\n get store() {\n return JsonEntityStore.fromMethod(this.provider!.useClass, this.propertyKey!);\n }\n\n static from(injector: InjectorService, input: any, opts: PlatformHandlerMetadataOpts = {}): PlatformHandlerMetadata {\n if (input instanceof PlatformHandlerMetadata) {\n return input;\n }\n\n if (input instanceof EndpointMetadata) {\n const provider = injector.getProvider(opts.token)!;\n\n return new PlatformHandlerMetadata({\n provider,\n type: PlatformHandlerType.ENDPOINT,\n propertyKey: input.propertyKey,\n opts\n });\n }\n\n const provider = injector.getProvider(input);\n\n if (provider) {\n return new PlatformHandlerMetadata({\n provider,\n type: PlatformHandlerType.MIDDLEWARE,\n propertyKey: \"use\",\n opts\n });\n }\n\n return new PlatformHandlerMetadata({\n handler: input,\n type: input.type,\n opts\n });\n }\n\n public getParams() {\n return JsonParameterStore.getParams(this.target, this.propertyKey) || [];\n }\n\n public hasParamType(paramType: any): boolean {\n return this.getParams().findIndex((p) => p.paramType === paramType) > -1;\n }\n\n public isInjectable() {\n return !(this.isRawMiddleware() || this.isResponseFn());\n }\n\n public isRawMiddleware() {\n return this.type === PlatformHandlerType.RAW_ERR_FN || this.type === PlatformHandlerType.RAW_FN;\n }\n\n public isEndpoint() {\n return this.type === PlatformHandlerType.ENDPOINT;\n }\n\n public isCtxFn() {\n return this.type === PlatformHandlerType.CTX_FN;\n }\n\n public isResponseFn() {\n return this.type === PlatformHandlerType.RESPONSE_FN;\n }\n\n toString() {\n return [nameOf(this.target), this.propertyKey].filter(Boolean).join(\".\");\n }\n}\n"]}
1
+ {"version":3,"file":"PlatformHandlerMetadata.js","sourceRoot":"","sources":["../../../src/domain/PlatformHandlerMetadata.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformHandlerType.js","sourceRoot":"","sources":["../../../src/domain/PlatformHandlerType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC7B,wCAAiB,CAAA;IACjB,4CAAqB,CAAA;IACrB,gDAAyB,CAAA;IACzB,wDAAiC,CAAA;IACjC,yCAAkB,CAAA;IAClB,+CAAwB,CAAA;IACxB,gDAAyB,CAAA;IACzB,wDAAiC,CAAA;AACnC,CAAC,EATW,mBAAmB,KAAnB,mBAAmB,QAS9B","sourcesContent":["export enum PlatformHandlerType {\n CUSTOM = \"custom\",\n ENDPOINT = \"endpoint\",\n MIDDLEWARE = \"middleware\",\n ERR_MIDDLEWARE = \"err:middleware\",\n CTX_FN = \"context\",\n RESPONSE_FN = \"response\",\n RAW_FN = \"raw:middleware\",\n RAW_ERR_FN = \"raw:err:middleware\"\n}\n"]}
1
+ {"version":3,"file":"PlatformHandlerType.js","sourceRoot":"","sources":["../../../src/domain/PlatformHandlerType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC7B,wCAAiB,CAAA;IACjB,4CAAqB,CAAA;IACrB,gDAAyB,CAAA;IACzB,wDAAiC,CAAA;IACjC,yCAAkB,CAAA;IAClB,+CAAwB,CAAA;IACxB,gDAAyB,CAAA;IACzB,wDAAiC,CAAA;AACnC,CAAC,EATW,mBAAmB,KAAnB,mBAAmB,QAS9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformLayer.js","sourceRoot":"","sources":["../../../src/domain/PlatformLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,MAAM,EAAO,MAAM,YAAY,CAAC;AAGrD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAqBxC,MAAM,OAAO,aAAa;IACjB,QAAQ,CAAW;IACnB,IAAI,GAAmB,EAAE,CAAC;IAC1B,MAAM,CAAS;IACf,QAAQ,GAA8B,EAAE,CAAC;IACzC,MAAM,CAAkB;IACxB,IAAI,GAAyB,EAAE,CAAC;IAEhC,MAAM,GAAoB,EAAE,CAAC;IAE7B,MAAM,CAAiB;IAC9B,QAAQ,CAAiB;IACzB,KAAK,CAA2B;IAEhC,YAAY,QAAqC,EAAE;QACjD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,OAAO,IAAI,aAAa,CAAC;gBACvB,GAAG,KAAK;gBACR,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,IAA8B;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,UAAU;QACR,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,OAAO;QACL,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC3D,OAAO;oBACL,GAAG,GAAG;oBACN,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAClD,CAAC;YACJ,CAAC,EAAE,EAAE,CAAC;SACP,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,CAAC,MAAuB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,OAAO,IAAI,aAAa,CAAC;gBACvB,GAAG,KAAK;gBACR,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import {isPrimitive, nameOf, Type} from \"@tsed/core\";\nimport {Provider} from \"@tsed/di\";\nimport type {PlatformParamsCallback} from \"@tsed/platform-params\";\nimport {concatPath} from \"@tsed/schema\";\n\nimport {PlatformHandlerMetadata} from \"./PlatformHandlerMetadata\";\nimport type {PlatformRouter} from \"./PlatformRouter\";\nimport {SinglePathType} from \"./SinglePathType\";\n\nexport interface PlatformLayerOptions extends Record<string, any> {\n token?: Type<any>;\n}\n\nexport interface PlatformLayerProps {\n parent: PlatformLayer;\n provider: Provider;\n path: SinglePathType;\n basePath: SinglePathType;\n method: string;\n handlers: any[];\n router: PlatformRouter;\n opts: PlatformLayerOptions;\n}\n\nexport class PlatformLayer {\n public provider: Provider;\n public path: SinglePathType = \"\";\n public method: string;\n public handlers: PlatformHandlerMetadata[] = [];\n public router?: PlatformRouter;\n public opts: PlatformLayerOptions = {};\n\n public layers: PlatformLayer[] = [];\n\n public parent?: PlatformLayer;\n basePath: SinglePathType;\n #args: PlatformParamsCallback[];\n\n constructor(props: Partial<PlatformLayerProps> = {}) {\n Object.assign(this, props);\n\n this.layers = this.layers.map((layer) => {\n return new PlatformLayer({\n ...layer,\n parent: this\n });\n });\n }\n\n set(args: PlatformParamsCallback[]) {\n this.#args = args;\n }\n\n getArgs() {\n return [this.path, ...this.#args].filter(Boolean);\n }\n\n isProvider() {\n return !!this.provider;\n }\n\n inspect() {\n return {\n basePath: this.getBasePath(),\n path: this.path,\n method: this.method,\n handlers: this.handlers.map((item: any) => String(item)),\n opts: Object.entries(this.opts).reduce((obj, [key, value]) => {\n return {\n ...obj,\n [key]: isPrimitive(value) ? value : nameOf(value)\n };\n }, {})\n };\n }\n\n getBasePath(): string {\n return concatPath(this.parent?.getBasePath(), this.basePath);\n }\n\n setLayers(layers: PlatformLayer[]) {\n this.layers = layers.map((layer) => {\n return new PlatformLayer({\n ...layer,\n parent: this\n });\n });\n }\n}\n"]}
1
+ {"version":3,"file":"PlatformLayer.js","sourceRoot":"","sources":["../../../src/domain/PlatformLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,MAAM,EAAO,MAAM,YAAY,CAAC;AAGrD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAqBxC,MAAM,OAAO,aAAa;IACjB,QAAQ,CAAW;IACnB,IAAI,GAAmB,EAAE,CAAC;IAC1B,MAAM,CAAS;IACf,QAAQ,GAA8B,EAAE,CAAC;IACzC,MAAM,CAAkB;IACxB,IAAI,GAAyB,EAAE,CAAC;IAEhC,MAAM,GAAoB,EAAE,CAAC;IAE7B,MAAM,CAAiB;IAC9B,QAAQ,CAAiB;IACzB,KAAK,CAA2B;IAEhC,YAAY,QAAqC,EAAE;QACjD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,OAAO,IAAI,aAAa,CAAC;gBACvB,GAAG,KAAK;gBACR,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,IAA8B;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,UAAU;QACR,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,OAAO;QACL,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC3D,OAAO;oBACL,GAAG,GAAG;oBACN,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAClD,CAAC;YACJ,CAAC,EAAE,EAAE,CAAC;SACP,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,CAAC,MAAuB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,OAAO,IAAI,aAAa,CAAC;gBACvB,GAAG,KAAK;gBACR,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformRouter.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouter.ts"],"names":[],"mappings":"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","sourcesContent":["import {isString} from \"@tsed/core\";\nimport {Injectable, InjectorService, Provider, ProviderScope, Scope} from \"@tsed/di\";\nimport {concatPath} from \"@tsed/schema\";\nimport {formatMethod} from \"../utils/formatMethod\";\nimport {PlatformHandlerMetadata} from \"./PlatformHandlerMetadata\";\nimport {PlatformLayer, PlatformLayerOptions} from \"./PlatformLayer\";\nimport {SinglePathType} from \"./SinglePathType\";\n\nfunction printHandler(handler: any) {\n return handler.toString().split(\"{\")[0].trim();\n}\n\n@Injectable()\n@Scope(ProviderScope.INSTANCE)\nexport class PlatformRouter {\n readonly layers: PlatformLayer[] = [];\n provider: Provider;\n #isBuilt = false;\n\n constructor(protected readonly injector: InjectorService) {}\n\n use(...handlers: any[]) {\n const layer = handlers.reduce(\n (layer: PlatformLayer, item) => {\n if (isString(item) || item instanceof RegExp) {\n layer.path = item;\n layer.basePath = item;\n } else {\n if (item instanceof PlatformRouter) {\n layer.router = item;\n layer.setLayers(item.layers);\n\n if (!this.provider && item.provider) {\n layer.path = concatPath(layer.path, item.provider.path);\n } else {\n layer.path = layer.path || item.provider.path;\n }\n } else {\n item = PlatformHandlerMetadata.from(this.injector, item);\n }\n\n layer.handlers.push(item);\n }\n\n return layer;\n },\n new PlatformLayer({\n method: \"use\",\n basePath: this.provider?.path || \"/\",\n provider: this.provider\n })\n );\n\n this.layers.push(layer);\n\n return this;\n }\n\n addRoute(method: string, path: SinglePathType, handlers: any[], opts: PlatformLayerOptions = {}) {\n const layer = new PlatformLayer({\n provider: this.provider,\n method: formatMethod(method),\n path,\n handlers: handlers.map((input) => {\n return PlatformHandlerMetadata.from(this.injector, input, opts);\n }),\n opts\n });\n\n this.layers.push(layer);\n\n return this;\n }\n\n all(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"all\", path, handlers);\n }\n\n get(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"get\", path, handlers);\n }\n\n post(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"post\", path, handlers);\n }\n\n put(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"put\", path, handlers);\n }\n\n delete(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"delete\", path, handlers);\n }\n\n patch(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"patch\", path, handlers);\n }\n\n head(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"head\", path, handlers);\n }\n\n options(path: SinglePathType, ...handlers: any[]) {\n return this.addRoute(\"options\", path, handlers);\n }\n\n statics(path: string, options: any) {\n return this.addRoute(\"statics\", path, [], options);\n }\n\n inspect() {\n return this.layers.map((layer) => {\n const obj = layer.inspect();\n\n return {\n ...obj,\n handlers: obj.handlers.map(printHandler),\n path: concatPath(this.provider?.path, obj.path)\n };\n });\n }\n\n isBuilt() {\n if (this.#isBuilt) {\n return true;\n }\n\n this.#isBuilt = true;\n\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"PlatformRouter.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformRouters.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouters.ts"],"names":[],"mappings":"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","sourcesContent":["import {getValue, Hooks, Type} from \"@tsed/core\";\nimport {ControllerProvider, GlobalProviders, Injectable, InjectorService, Provider, ProviderType, TokenProvider} from \"@tsed/di\";\nimport {concatPath, getOperationsRoutes} from \"@tsed/schema\";\nimport {useContextHandler} from \"../utils/useContextHandler\";\nimport {PlatformLayer} from \"./PlatformLayer\";\nimport {PlatformRouter} from \"./PlatformRouter\";\n\nlet AUTO_INC = 0;\n\nfunction getInjectableRouter(injector: InjectorService, provider: Provider): PlatformRouter {\n return injector.get(provider.tokenRouter)!;\n}\n\nfunction createTokenRouter(provider: ControllerProvider) {\n return (provider.tokenRouter = provider.tokenRouter || `${provider.name}_ROUTER_${AUTO_INC++}`);\n}\n\nfunction createInjectableRouter(injector: InjectorService, provider: ControllerProvider): PlatformRouter {\n const tokenRouter = createTokenRouter(provider);\n\n if (injector.has(tokenRouter)) {\n return getInjectableRouter(injector, provider);\n }\n\n const router = injector.invoke<PlatformRouter>(PlatformRouter);\n router.provider = provider;\n\n return injector\n .add(tokenRouter, {\n useValue: router\n })\n .invoke<PlatformRouter>(tokenRouter);\n}\n\nGlobalProviders.createRegistry(ProviderType.CONTROLLER, ControllerProvider, {\n onInvoke(provider: ControllerProvider, locals: any, {injector}) {\n const router = createInjectableRouter(injector, provider);\n locals.set(PlatformRouter, router);\n }\n});\n\n@Injectable()\nexport class PlatformRouters {\n readonly hooks = new Hooks();\n\n constructor(protected readonly injector: InjectorService) {}\n\n prebuild() {\n this.injector.getProviders(ProviderType.CONTROLLER).forEach((provider: ControllerProvider) => {\n createInjectableRouter(this.injector, provider);\n });\n }\n\n from(token: TokenProvider, parentMiddlewares: any[] = []) {\n const {injector} = this;\n const provider = injector.getProvider<ControllerProvider>(token)!;\n\n if (!provider) {\n throw new Error(\"Token not found in the provider registry\");\n }\n\n const router = createInjectableRouter(injector, provider);\n\n if (router.isBuilt()) {\n return router;\n }\n\n const useBefore = getValue(provider, \"middlewares.useBefore\", []);\n\n const {children} = provider;\n\n getOperationsRoutes(provider.token).forEach((operationRoute) => {\n const {endpoint} = operationRoute;\n const {beforeMiddlewares, middlewares: mldwrs, afterMiddlewares} = endpoint;\n\n const useBefore = getValue(provider, \"middlewares.useBefore\", []);\n const use = getValue(provider, \"middlewares.use\", []);\n const useAfter = getValue(provider, \"middlewares.useAfter\", []);\n\n const handlers = this.hooks.alter(\n \"alterEndpointHandlers\",\n [\n ...parentMiddlewares,\n ...useBefore,\n ...beforeMiddlewares,\n ...use,\n ...mldwrs,\n operationRoute.endpoint,\n ...afterMiddlewares,\n ...useAfter\n ],\n [operationRoute],\n this\n );\n\n router.addRoute(\n operationRoute.method,\n operationRoute.path || \"\",\n [\n useContextHandler(($ctx) => {\n $ctx.endpoint = operationRoute.endpoint;\n }),\n ...handlers\n ],\n operationRoute\n );\n });\n\n const middlewares: any[] = [...parentMiddlewares, ...useBefore];\n\n children.forEach((token: Type<any>) => {\n const nested = this.from(token, middlewares);\n\n router.use(nested);\n });\n\n return router;\n }\n\n getLayers(router: PlatformRouter): PlatformLayer[] {\n return this.flatMapLayers(router.layers);\n }\n\n private flatMapLayers(layers: PlatformLayer[]): PlatformLayer[] {\n return layers\n .flatMap((layer) => {\n if (layer.router) {\n return this.flatMapLayers(layer.layers).map((subLayer: PlatformLayer) => {\n return new PlatformLayer({\n ...subLayer,\n path: concatPath(layer.path, subLayer.path)\n });\n });\n }\n\n return new PlatformLayer(layer);\n })\n .map((layer) => {\n const handlers = layer.handlers.map((handlerMetadata) => {\n // set path on handler metadata to retrieve it later in $ctx\n handlerMetadata.path = layer.path;\n\n return this.hooks.alter(\"alterHandler\", handlerMetadata);\n });\n\n layer.set(handlers);\n\n return layer;\n });\n }\n}\n"]}
1
+ {"version":3,"file":"PlatformRouters.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouters.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SinglePathType.js","sourceRoot":"","sources":["../../../src/domain/SinglePathType.ts"],"names":[],"mappings":"","sourcesContent":["export type SinglePathType = string | RegExp;\n"]}
1
+ {"version":3,"file":"SinglePathType.js","sourceRoot":"","sources":["../../../src/domain/SinglePathType.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./domain/PlatformHandlerMetadata\";\nexport * from \"./domain/PlatformHandlerType\";\nexport * from \"./domain/PlatformLayer\";\nexport * from \"./domain/PlatformRouter\";\nexport * from \"./domain/PlatformRouters\";\nexport * from \"./domain/SinglePathType\";\nexport * from \"./utils/formatMethod\";\nexport * from \"./utils/useContextHandler\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatMethod.js","sourceRoot":"","sources":["../../../src/utils/formatMethod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAE9C,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,OAAO,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AACtF,CAAC","sourcesContent":["import {OperationMethods} from \"@tsed/schema\";\n\nexport function formatMethod(method: string | undefined) {\n return (method === OperationMethods.CUSTOM ? \"use\" : method || \"use\").toLowerCase();\n}\n"]}
1
+ {"version":3,"file":"formatMethod.js","sourceRoot":"","sources":["../../../src/utils/formatMethod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAE9C,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,OAAO,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AACtF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useContextHandler.js","sourceRoot":"","sources":["../../../src/utils/useContextHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AAIlE;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAyD;IACzF,EAAE,CAAC,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAErC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAyD;IAC1F,EAAE,CAAC,IAAI,GAAG,mBAAmB,CAAC,WAAW,CAAC;IAE1C,OAAO,EAAE,CAAC;AACZ,CAAC","sourcesContent":["import {DIContext} from \"@tsed/di\";\nimport {PlatformHandlerType} from \"../domain/PlatformHandlerType\";\n\nexport type PlatformContextHandler<Context = DIContext> = ($ctx: Context) => any | Promise<any>;\n\n/**\n * Create Ts.ED context handler\n * @param fn\n * @ignore\n */\nexport function useContextHandler(fn: PlatformContextHandler & {type?: PlatformHandlerType}) {\n fn.type = PlatformHandlerType.CTX_FN;\n\n return fn;\n}\n\nexport function useResponseHandler(fn: PlatformContextHandler & {type?: PlatformHandlerType}) {\n fn.type = PlatformHandlerType.RESPONSE_FN;\n\n return fn;\n}\n"]}
1
+ {"version":3,"file":"useContextHandler.js","sourceRoot":"","sources":["../../../src/utils/useContextHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AAIlE;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAyD;IACzF,EAAE,CAAC,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAErC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAyD;IAC1F,EAAE,CAAC,IAAI,GAAG,mBAAmB,CAAC,WAAW,CAAC;IAE1C,OAAO,EAAE,CAAC;AACZ,CAAC"}