gemi 0.9.0 → 0.9.2
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/dist/app/index.js +2 -2
- package/dist/app/index.js.map +1 -1
- package/dist/bin/index.js +5 -5
- package/dist/broadcasting/index.js +1 -1
- package/dist/{chunk-c28nrk1f.js → chunk-0wqf4729.js} +3 -3
- package/dist/{chunk-c28nrk1f.js.map → chunk-0wqf4729.js.map} +1 -1
- package/dist/{chunk-vqttt2vp.js → chunk-2myc2s6w.js} +3 -3
- package/dist/{chunk-vqttt2vp.js.map → chunk-2myc2s6w.js.map} +1 -1
- package/dist/chunk-36mj8mav.js +8 -0
- package/dist/{chunk-5khtwy9k.js.map → chunk-36mj8mav.js.map} +2 -2
- package/dist/chunk-5yex263y.js +4 -0
- package/dist/{chunk-95n0qa4n.js.map → chunk-5yex263y.js.map} +5 -5
- package/dist/chunk-6g1mntab.js +4 -0
- package/dist/{chunk-rbx889ps.js.map → chunk-6g1mntab.js.map} +6 -6
- package/dist/chunk-8arqqbhx.js +20 -0
- package/dist/{chunk-nx841nvj.js.map → chunk-8arqqbhx.js.map} +16 -11
- package/dist/chunk-9qk0pjxc.js +4 -0
- package/dist/{chunk-d08fsdk6.js.map → chunk-9qk0pjxc.js.map} +2 -2
- package/dist/chunk-ameyxxdy.js +4 -0
- package/dist/{chunk-56rgrraz.js.map → chunk-ameyxxdy.js.map} +5 -5
- package/dist/chunk-avqfpn5v.js +11 -0
- package/dist/{chunk-5ynf2rsg.js.map → chunk-avqfpn5v.js.map} +5 -5
- package/dist/chunk-b8d5htph.js +4 -0
- package/dist/{chunk-n84kj7wm.js.map → chunk-b8d5htph.js.map} +4 -4
- package/dist/chunk-crahc1t6.js +4 -0
- package/dist/{chunk-w7mr84t1.js.map → chunk-crahc1t6.js.map} +1 -1
- package/dist/chunk-d1jvc299.js +4 -0
- package/dist/chunk-d1jvc299.js.map +16 -0
- package/dist/chunk-ek6n8gyv.js +4 -0
- package/dist/chunk-ek6n8gyv.js.map +10 -0
- package/dist/chunk-hwaaf04e.js +4 -0
- package/dist/{chunk-newr6djh.js.map → chunk-hwaaf04e.js.map} +4 -4
- package/dist/{chunk-rxz71va5.js → chunk-hzfj9k0z.js} +2 -2
- package/dist/{chunk-rxz71va5.js.map → chunk-hzfj9k0z.js.map} +1 -1
- package/dist/{chunk-15121mab.js → chunk-k9katf2f.js} +2 -2
- package/dist/{chunk-15121mab.js.map → chunk-k9katf2f.js.map} +1 -1
- package/dist/chunk-qbvhdtxt.js +4 -0
- package/dist/{chunk-8mn27b0d.js.map → chunk-qbvhdtxt.js.map} +3 -3
- package/dist/{chunk-6zwq2e83.js → chunk-t0br3jky.js} +2 -2
- package/dist/{chunk-6zwq2e83.js.map → chunk-t0br3jky.js.map} +1 -1
- package/dist/chunk-t6h32cqw.js +5 -0
- package/dist/{chunk-5757y8bm.js.map → chunk-t6h32cqw.js.map} +4 -4
- package/dist/chunk-vqpqea57.js +4 -0
- package/dist/{chunk-f8w5mnyk.js.map → chunk-vqpqea57.js.map} +2 -2
- package/dist/{chunk-72ymmgtz.js → chunk-vress81a.js} +3 -3
- package/dist/{chunk-72ymmgtz.js.map → chunk-vress81a.js.map} +1 -1
- package/dist/{chunk-09kjpedw.js → chunk-vvdgy5ba.js} +2 -2
- package/dist/{chunk-09kjpedw.js.map → chunk-vvdgy5ba.js.map} +1 -1
- package/dist/{chunk-e6q6yr9r.js → chunk-w8eezrzs.js} +3 -3
- package/dist/{chunk-e6q6yr9r.js.map → chunk-w8eezrzs.js.map} +1 -1
- package/dist/{chunk-rrb06401.js → chunk-wrtx683g.js} +3 -3
- package/dist/{chunk-rrb06401.js.map → chunk-wrtx683g.js.map} +1 -1
- package/dist/chunk-wv5423nm.js +4 -0
- package/dist/{chunk-grzk91g3.js.map → chunk-wv5423nm.js.map} +2 -2
- package/dist/{chunk-xam5kps4.js → chunk-x46drz7r.js} +2 -2
- package/dist/{chunk-xam5kps4.js.map → chunk-x46drz7r.js.map} +1 -1
- package/dist/chunk-zp1h0k9v.js +4 -0
- package/dist/{chunk-zx3ka227.js.map → chunk-zp1h0k9v.js.map} +6 -6
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +1 -1
- package/dist/http/ApiRouter.d.ts +2 -2
- package/dist/http/ApiRouter.d.ts.map +1 -1
- package/dist/http/Controller.d.ts +1 -1
- package/dist/http/Controller.d.ts.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +2 -2
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/services/index.js +3 -12
- package/dist/services/index.js.map +5 -16
- package/package.json +1 -1
- package/dist/chunk-41ekjwjk.js +0 -3
- package/dist/chunk-41ekjwjk.js.map +0 -16
- package/dist/chunk-56rgrraz.js +0 -4
- package/dist/chunk-5757y8bm.js +0 -5
- package/dist/chunk-5khtwy9k.js +0 -8
- package/dist/chunk-5ynf2rsg.js +0 -11
- package/dist/chunk-8h7xg91g.js +0 -3
- package/dist/chunk-8h7xg91g.js.map +0 -15
- package/dist/chunk-8mn27b0d.js +0 -4
- package/dist/chunk-95n0qa4n.js +0 -4
- package/dist/chunk-d08fsdk6.js +0 -4
- package/dist/chunk-f8w5mnyk.js +0 -4
- package/dist/chunk-grzk91g3.js +0 -4
- package/dist/chunk-n84kj7wm.js +0 -4
- package/dist/chunk-newr6djh.js +0 -4
- package/dist/chunk-nx841nvj.js +0 -20
- package/dist/chunk-rbx889ps.js +0 -4
- package/dist/chunk-w7mr84t1.js +0 -4
- package/dist/chunk-zx3ka227.js +0 -4
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"sources": ["../internal/isConstructor.ts", "../http/ApiRouter.ts", "../http/Error.ts", "../http/Router.ts", "../http/requestContext.ts", "../http/Cookie.ts", "../http/HttpRequest.ts", "../kernel/context.ts", "../services/ServiceContainer.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"export function isConstructor(value: any) {\n return typeof value === \"function\" && value.prototype !== undefined;\n}\n",
|
|
6
|
-
"import { isConstructor } from \"../internal/isConstructor\";\nimport type { KeyAndValue, KeyAndValueToObject } from \"../internal/type-utils\";\nimport {\n Controller,\n ResourceController,\n type ControllerMethods,\n} from \"./Controller\";\nimport { HttpRequest } from \"./HttpRequest\";\nimport type { MiddlewareReturnType } from \"./Router\";\n\ntype HttpMethod = \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n\nexport type ApiRouterHandler<Input, Output, Params> = (\n req: HttpRequest<Input, Params>,\n) => Output;\n\ntype CallbackHandler<Input, Output, Params> = (\n req: HttpRequest<Input, Params>,\n) => Promise<Output> | Output;\n\ntype ParseRouteHandler<\n T extends new () => Controller,\n K extends ControllerMethods<T>,\n M extends HttpMethod,\n> = InstanceType<T>[K] extends (\n req: HttpRequest<infer Input, infer Params>,\n) => infer Output\n ? RouteHandler<M, Input, Output, Params>\n : never;\n\nfunction isController(\n candidate: CallbackHandler<any, any, any> | (new () => Controller),\n): candidate is new () => Controller {\n return isConstructor(candidate);\n}\n\nexport class RouteHandler<M extends HttpMethod, Input, Output, Params> {\n __internal_brand = \"RouteHandler\";\n middlewares: string[] = [];\n\n constructor(\n public method: M,\n private handler:\n | CallbackHandler<Input, Output, Params>\n | (new () => Controller),\n private methodName?: any,\n ) {\n this.handler = handler;\n this.methodName = methodName;\n this.method = method;\n }\n\n __internal_use() {\n return {\n run: this.run.bind(this),\n middlewares: this.middlewares,\n };\n }\n\n run(_req: HttpRequest<Input, Params>) {\n if (isController(this.handler)) {\n const controller = new this.handler();\n const handler = controller[this.methodName].bind(controller);\n return handler();\n } else {\n // @ts-ignore\n return this.handler();\n }\n }\n\n middleware(middlewareList: string[]) {\n this.middlewares = middlewareList;\n return this;\n }\n}\n\nexport class FileHandler {\n constructor(...args: ConstructorParameters<typeof RouteHandler>) {\n return new RouteHandler(...args) as any;\n }\n}\n\nexport type RouteHandlers =\n | {\n create: RouteHandler<\"POST\", any, any, any>;\n list: RouteHandler<\"GET\", any, any, any>;\n }\n | {\n update: RouteHandler<\"PUT\", any, any, any>;\n show: RouteHandler<\"GET\", any, any, any>;\n delete: RouteHandler<\"DELETE\", any, any, any>;\n };\n\ntype IdKey<T> = `/:${T & string}`;\n\nexport type ApiRoutes = Record<\n string,\n | RouteHandler<any, any, any, any>\n | FileHandler\n | RouteHandlers\n | typeof ApiRouter\n | ((resourceId: string) => ResourceRoutes<any, string>)\n>;\n\nexport type ResourceRoutes<\n T extends new () => ResourceController,\n U extends PropertyKey,\n> = Record<\n \"/\",\n {\n list: ParseRouteHandler<T, TestControllerMethod<T, \"list\">, \"GET\">;\n create: ParseRouteHandler<T, TestControllerMethod<T, \"create\">, \"POST\">;\n }\n> &\n Record<\n IdKey<U>,\n {\n show: ParseRouteHandler<T, TestControllerMethod<T, \"show\">, \"GET\">;\n update: ParseRouteHandler<T, TestControllerMethod<T, \"update\">, \"PUT\">;\n delete: ParseRouteHandler<T, TestControllerMethod<T, \"delete\">, \"DELETE\">;\n }\n >;\n\nexport class ApiRouter {\n static __brand = \"ApiRouter\";\n public routes: ApiRoutes = {};\n public middlewares: string[] = [];\n public middleware(_req: HttpRequest<any, any>): MiddlewareReturnType {}\n\n public get<Input, Output, Params>(\n handler: CallbackHandler<Input, Output, Params>,\n ): RouteHandler<\"GET\", Input, Output, Params>;\n public get<T extends new () => Controller, K extends ControllerMethods<T>>(\n handler: T,\n methodName: K,\n ): ParseRouteHandler<T, K, \"GET\">;\n public get<\n T extends CallbackHandler<any, any, any> | (new () => Controller),\n K extends ControllerMethods<any>,\n >(handler: T, methodName?: K) {\n return new RouteHandler(\"GET\", handler, methodName);\n }\n\n public post<Input, Output, Params>(\n handler: CallbackHandler<Input, Output, Params>,\n ): RouteHandler<\"POST\", Input, Output, Params>;\n public post<T extends new () => Controller, K extends ControllerMethods<T>>(\n handler: T,\n methodName: K,\n ): ParseRouteHandler<T, K, \"POST\">;\n public post<\n T extends CallbackHandler<any, any, any> | (new () => Controller),\n K extends ControllerMethods<any>,\n >(handler: T, methodName?: K) {\n return new RouteHandler(\"POST\", handler, methodName);\n }\n\n public put<Input, Output, Params>(\n handler: CallbackHandler<Input, Output, Params>,\n ): RouteHandler<\"PUT\", Input, Output, Params>;\n public put<T extends new () => Controller, K extends ControllerMethods<T>>(\n handler: T,\n methodName: K,\n ): ParseRouteHandler<T, K, \"PUT\">;\n public put<\n T extends CallbackHandler<any, any, any> | (new () => Controller),\n K extends ControllerMethods<any>,\n >(handler: T, methodName?: K) {\n return new RouteHandler(\"PUT\", handler, methodName);\n }\n\n public patch<Input, Output, Params>(\n handler: CallbackHandler<Input, Output, Params>,\n ): RouteHandler<\"PATCH\", Input, Output, Params>;\n public patch<T extends new () => Controller, K extends ControllerMethods<T>>(\n handler: T,\n methodName: K,\n ): ParseRouteHandler<T, K, \"PATCH\">;\n public patch<\n T extends CallbackHandler<any, any, any> | (new () => Controller),\n K extends ControllerMethods<any>,\n >(handler: T, methodName?: K) {\n return new RouteHandler(\"PATCH\", handler, methodName);\n }\n\n public delete<Input, Output, Params>(\n handler: CallbackHandler<Input, Output, Params>,\n ): RouteHandler<\"DELETE\", Input, Output, Params>;\n public delete<T extends new () => Controller, K extends ControllerMethods<T>>(\n handler: T,\n methodName: K,\n ): ParseRouteHandler<T, K, \"DELETE\">;\n public delete<\n T extends CallbackHandler<any, any, any> | (new () => Controller),\n K extends ControllerMethods<any>,\n >(handler: T, methodName?: K) {\n return new RouteHandler(\"DELETE\", handler, methodName);\n }\n\n public resource<T extends new () => ResourceController>(Controller: T) {\n return <U extends PropertyKey>(resourceId: U) => {\n return {\n \"/\": {\n list: new RouteHandler(\"GET\", Controller, \"list\"),\n create: new RouteHandler(\"POST\", Controller, \"create\"),\n },\n [`/:${String(resourceId)}`]: {\n show: new RouteHandler(\"GET\", Controller, \"show\"),\n update: new RouteHandler(\"PUT\", Controller, \"update\"),\n delete: new RouteHandler(\"DELETE\", Controller, \"delete\"),\n },\n } as ResourceRoutes<T, U>;\n };\n }\n\n public file<Input, Output, Params>(\n handler: CallbackHandler<Input, Output, Params>,\n ): FileHandler;\n public file<T extends new () => Controller, K extends ControllerMethods<T>>(\n handler: T,\n methodName: K,\n ): FileHandler;\n public file<\n T extends CallbackHandler<any, any, any> | (new () => Controller),\n K extends ControllerMethods<any>,\n >(handler: T, methodName?: K) {\n return new FileHandler(\"GET\", handler, methodName);\n }\n}\n\ntype TestControllerMethod<T extends new () => Controller, K extends string> =\n K extends ControllerMethods<T> ? K : never;\n\ntype RouteHandlerParser<T, Prefix extends string = \"\"> =\n T extends RouteHandler<infer Method, infer Input, infer Output, infer Params>\n ? KeyAndValue<\n `${Method & string}:${Prefix & string}`,\n ApiRouterHandler<Input, Output, Params>\n >\n : never;\n\ntype RouteHandlersParser<\n T,\n Prefix extends string = \"\",\n> = T extends RouteHandlers\n ? {\n [K in keyof T]: T[K] extends RouteHandler<\n infer Method,\n infer Input,\n infer Output,\n infer Params\n >\n ? KeyAndValue<\n `${Method & string}:${Prefix & string}`,\n ApiRouterHandler<Input, Output, Params>\n >\n : never;\n }[keyof T]\n : never;\n\ntype RouterInstanceParser<\n T extends new () => ApiRouter,\n Prefix extends string,\n> = T extends new () => ApiRouter\n ? RouteParser<InstanceType<T>[\"routes\"], `${Prefix & string}`>\n : never;\n\ntype ParsePrefixAndKey<\n P extends PropertyKey,\n K extends PropertyKey,\n U = `${P & string}${K & string}`,\n> = U extends \"//\"\n ? \"/\"\n : U extends `${infer T1}//${infer T2}`\n ? `${T1}/${T2}`\n : U extends `${infer T1}/${infer T2}/`\n ? `${T1}/${T2}`\n : U;\n\ntype LastUrlSegment<T extends string> =\n T extends `${infer _}/${infer LastSegment}` ? LastUrlSegment<LastSegment> : T;\n\ntype ToCamelCase<T extends string> = T extends `${infer F}-${infer L}`\n ? `${F}${Capitalize<ToCamelCase<L>>}`\n : T;\n\ntype ResourceRoutesParser<\n T extends ResourceRoutes<new () => ResourceController, PropertyKey>,\n U extends PropertyKey,\n K extends keyof T = keyof T,\n> = T[K] extends RouteHandlers\n ? K extends \"/\"\n ? RouteHandlersParser<T[K], `${U & string}`>\n : RouteHandlersParser<\n T[K],\n `${U & string}/:${ToCamelCase<LastUrlSegment<U & string>>}Id`\n >\n : KeyAndValue<\"YY\", any>;\n\ntype RouteParser<\n T extends ApiRoutes,\n Prefix extends PropertyKey = \"\",\n K extends keyof T = keyof T,\n> = K extends any\n ? T[K] extends (\n res: string,\n ) => ResourceRoutes<new () => ResourceController, PropertyKey>\n ? ResourceRoutesParser<ReturnType<T[K]>, ParsePrefixAndKey<Prefix, K>>\n : T[K] extends RouteHandler<any, any, any, any>\n ? RouteHandlerParser<T[K], ParsePrefixAndKey<Prefix, K>>\n : T[K] extends new () => ApiRouter\n ? RouterInstanceParser<T[K], ParsePrefixAndKey<Prefix, K>>\n : T[K] extends RouteHandlers\n ? RouteHandlersParser<\n T[K],\n `${Prefix & string}${K extends \"/\" ? \"\" : K & string}`\n >\n : never\n : never;\n\nexport type CreateRPC<\n T extends ApiRouter,\n Prefix extends PropertyKey = \"\",\n> = KeyAndValueToObject<RouteParser<T[\"routes\"], Prefix>>;\n",
|
|
6
|
+
"import { isConstructor } from \"../internal/isConstructor\";\nimport type { KeyAndValue, KeyAndValueToObject } from \"../internal/type-utils\";\nimport {\n Controller,\n ResourceController,\n type ControllerMethods,\n} from \"./Controller\";\nimport { HttpRequest } from \"./HttpRequest\";\nimport type { MiddlewareReturnType } from \"./Router\";\n\ntype HttpMethod = \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n\nexport type ApiRouterHandler<Input, Output, Params> = (\n req: HttpRequest<Input, Params>,\n) => Output;\n\ntype CallbackHandler<Input, Output, Params> = (\n req: HttpRequest<Input, Params>,\n) => Promise<Output> | Output;\n\ntype ParseRouteHandler<\n T extends new () => Controller,\n K extends ControllerMethods<T>,\n M extends HttpMethod,\n> = InstanceType<T>[K] extends (\n req: HttpRequest<infer Input, infer Params>,\n) => infer Output\n ? RouteHandler<M, Input, Output, Params>\n : never;\n\nfunction isController(\n candidate: CallbackHandler<any, any, any> | (new () => Controller),\n): candidate is new () => Controller {\n return isConstructor(candidate);\n}\n\nexport class RouteHandler<M extends HttpMethod, Input, Output, Params> {\n __internal_brand = \"RouteHandler\";\n middlewares: string[] = [];\n\n constructor(\n public method: M,\n private handler:\n | CallbackHandler<Input, Output, Params>\n | (new () => Controller),\n private methodName?: any,\n ) {\n this.handler = handler;\n this.methodName = methodName;\n this.method = method;\n }\n\n __internal_use() {\n return {\n run: this.run.bind(this),\n middlewares: this.middlewares,\n };\n }\n\n run(_req: HttpRequest<Input, Params>) {\n if (isController(this.handler)) {\n const controller = new this.handler();\n const handler = controller[this.methodName].bind(controller);\n return handler();\n } else {\n // @ts-ignore\n return this.handler();\n }\n }\n\n middleware(middlewareList: string[]) {\n this.middlewares = middlewareList;\n return this;\n }\n}\n\nexport class FileHandler {\n constructor(...args: ConstructorParameters<typeof RouteHandler>) {\n return new RouteHandler(...args) as any;\n }\n}\n\nexport type RouteHandlers =\n | {\n store: RouteHandler<\"POST\", any, any, any>;\n list: RouteHandler<\"GET\", any, any, any>;\n }\n | {\n update: RouteHandler<\"PUT\", any, any, any>;\n show: RouteHandler<\"GET\", any, any, any>;\n delete: RouteHandler<\"DELETE\", any, any, any>;\n };\n\ntype IdKey<T> = `/:${T & string}`;\n\nexport type ApiRoutes = Record<\n string,\n | RouteHandler<any, any, any, any>\n | FileHandler\n | RouteHandlers\n | typeof ApiRouter\n | ((resourceId: string) => ResourceRoutes<any, string>)\n>;\n\nexport type ResourceRoutes<\n T extends new () => ResourceController,\n U extends PropertyKey,\n> = Record<\n \"/\",\n {\n list: ParseRouteHandler<T, TestControllerMethod<T, \"list\">, \"GET\">;\n store: ParseRouteHandler<T, TestControllerMethod<T, \"store\">, \"POST\">;\n }\n> &\n Record<\n IdKey<U>,\n {\n show: ParseRouteHandler<T, TestControllerMethod<T, \"show\">, \"GET\">;\n update: ParseRouteHandler<T, TestControllerMethod<T, \"update\">, \"PUT\">;\n delete: ParseRouteHandler<T, TestControllerMethod<T, \"delete\">, \"DELETE\">;\n }\n >;\n\nexport class ApiRouter {\n static __brand = \"ApiRouter\";\n public routes: ApiRoutes = {};\n public middlewares: string[] = [];\n public middleware(_req: HttpRequest<any, any>): MiddlewareReturnType {}\n\n public get<Input, Output, Params>(\n handler: CallbackHandler<Input, Output, Params>,\n ): RouteHandler<\"GET\", Input, Output, Params>;\n public get<T extends new () => Controller, K extends ControllerMethods<T>>(\n handler: T,\n methodName: K,\n ): ParseRouteHandler<T, K, \"GET\">;\n public get<\n T extends CallbackHandler<any, any, any> | (new () => Controller),\n K extends ControllerMethods<any>,\n >(handler: T, methodName?: K) {\n return new RouteHandler(\"GET\", handler, methodName);\n }\n\n public post<Input, Output, Params>(\n handler: CallbackHandler<Input, Output, Params>,\n ): RouteHandler<\"POST\", Input, Output, Params>;\n public post<T extends new () => Controller, K extends ControllerMethods<T>>(\n handler: T,\n methodName: K,\n ): ParseRouteHandler<T, K, \"POST\">;\n public post<\n T extends CallbackHandler<any, any, any> | (new () => Controller),\n K extends ControllerMethods<any>,\n >(handler: T, methodName?: K) {\n return new RouteHandler(\"POST\", handler, methodName);\n }\n\n public put<Input, Output, Params>(\n handler: CallbackHandler<Input, Output, Params>,\n ): RouteHandler<\"PUT\", Input, Output, Params>;\n public put<T extends new () => Controller, K extends ControllerMethods<T>>(\n handler: T,\n methodName: K,\n ): ParseRouteHandler<T, K, \"PUT\">;\n public put<\n T extends CallbackHandler<any, any, any> | (new () => Controller),\n K extends ControllerMethods<any>,\n >(handler: T, methodName?: K) {\n return new RouteHandler(\"PUT\", handler, methodName);\n }\n\n public patch<Input, Output, Params>(\n handler: CallbackHandler<Input, Output, Params>,\n ): RouteHandler<\"PATCH\", Input, Output, Params>;\n public patch<T extends new () => Controller, K extends ControllerMethods<T>>(\n handler: T,\n methodName: K,\n ): ParseRouteHandler<T, K, \"PATCH\">;\n public patch<\n T extends CallbackHandler<any, any, any> | (new () => Controller),\n K extends ControllerMethods<any>,\n >(handler: T, methodName?: K) {\n return new RouteHandler(\"PATCH\", handler, methodName);\n }\n\n public delete<Input, Output, Params>(\n handler: CallbackHandler<Input, Output, Params>,\n ): RouteHandler<\"DELETE\", Input, Output, Params>;\n public delete<T extends new () => Controller, K extends ControllerMethods<T>>(\n handler: T,\n methodName: K,\n ): ParseRouteHandler<T, K, \"DELETE\">;\n public delete<\n T extends CallbackHandler<any, any, any> | (new () => Controller),\n K extends ControllerMethods<any>,\n >(handler: T, methodName?: K) {\n return new RouteHandler(\"DELETE\", handler, methodName);\n }\n\n public resource<T extends new () => ResourceController>(Controller: T) {\n return <U extends PropertyKey>(resourceId: U) => {\n return {\n \"/\": {\n list: new RouteHandler(\"GET\", Controller, \"list\"),\n store: new RouteHandler(\"POST\", Controller, \"store\"),\n },\n [`/:${String(resourceId)}`]: {\n show: new RouteHandler(\"GET\", Controller, \"show\"),\n update: new RouteHandler(\"PUT\", Controller, \"update\"),\n delete: new RouteHandler(\"DELETE\", Controller, \"delete\"),\n },\n } as ResourceRoutes<T, U>;\n };\n }\n\n public file<Input, Output, Params>(\n handler: CallbackHandler<Input, Output, Params>,\n ): FileHandler;\n public file<T extends new () => Controller, K extends ControllerMethods<T>>(\n handler: T,\n methodName: K,\n ): FileHandler;\n public file<\n T extends CallbackHandler<any, any, any> | (new () => Controller),\n K extends ControllerMethods<any>,\n >(handler: T, methodName?: K) {\n return new FileHandler(\"GET\", handler, methodName);\n }\n}\n\ntype TestControllerMethod<T extends new () => Controller, K extends string> =\n K extends ControllerMethods<T> ? K : never;\n\ntype RouteHandlerParser<T, Prefix extends string = \"\"> =\n T extends RouteHandler<infer Method, infer Input, infer Output, infer Params>\n ? KeyAndValue<\n `${Method & string}:${Prefix & string}`,\n ApiRouterHandler<Input, Output, Params>\n >\n : never;\n\ntype RouteHandlersParser<\n T,\n Prefix extends string = \"\",\n> = T extends RouteHandlers\n ? {\n [K in keyof T]: T[K] extends RouteHandler<\n infer Method,\n infer Input,\n infer Output,\n infer Params\n >\n ? KeyAndValue<\n `${Method & string}:${Prefix & string}`,\n ApiRouterHandler<Input, Output, Params>\n >\n : never;\n }[keyof T]\n : never;\n\ntype RouterInstanceParser<\n T extends new () => ApiRouter,\n Prefix extends string,\n> = T extends new () => ApiRouter\n ? RouteParser<InstanceType<T>[\"routes\"], `${Prefix & string}`>\n : never;\n\ntype ParsePrefixAndKey<\n P extends PropertyKey,\n K extends PropertyKey,\n U = `${P & string}${K & string}`,\n> = U extends \"//\"\n ? \"/\"\n : U extends `${infer T1}//${infer T2}`\n ? `${T1}/${T2}`\n : U extends `${infer T1}/${infer T2}/`\n ? `${T1}/${T2}`\n : U;\n\ntype LastUrlSegment<T extends string> =\n T extends `${infer _}/${infer LastSegment}` ? LastUrlSegment<LastSegment> : T;\n\ntype ToCamelCase<T extends string> = T extends `${infer F}-${infer L}`\n ? `${F}${Capitalize<ToCamelCase<L>>}`\n : T;\n\ntype ResourceRoutesParser<\n T extends ResourceRoutes<new () => ResourceController, PropertyKey>,\n U extends PropertyKey,\n K extends keyof T = keyof T,\n> = T[K] extends RouteHandlers\n ? K extends \"/\"\n ? RouteHandlersParser<T[K], `${U & string}`>\n : RouteHandlersParser<\n T[K],\n `${U & string}/:${ToCamelCase<LastUrlSegment<U & string>>}Id`\n >\n : KeyAndValue<\"YY\", any>;\n\ntype RouteParser<\n T extends ApiRoutes,\n Prefix extends PropertyKey = \"\",\n K extends keyof T = keyof T,\n> = K extends any\n ? T[K] extends (\n res: string,\n ) => ResourceRoutes<new () => ResourceController, PropertyKey>\n ? ResourceRoutesParser<ReturnType<T[K]>, ParsePrefixAndKey<Prefix, K>>\n : T[K] extends RouteHandler<any, any, any, any>\n ? RouteHandlerParser<T[K], ParsePrefixAndKey<Prefix, K>>\n : T[K] extends new () => ApiRouter\n ? RouterInstanceParser<T[K], ParsePrefixAndKey<Prefix, K>>\n : T[K] extends RouteHandlers\n ? RouteHandlersParser<\n T[K],\n `${Prefix & string}${K extends \"/\" ? \"\" : K & string}`\n >\n : never\n : never;\n\nexport type CreateRPC<\n T extends ApiRouter,\n Prefix extends PropertyKey = \"\",\n> = KeyAndValueToObject<RouteParser<T[\"routes\"], Prefix>>;\n",
|
|
7
7
|
"export const GEMI_REQUEST_BREAKER_ERROR = \"GEMI_REQUEST_BREAKER_ERROR\";\n\nexport class RequestBreakerError extends Error {\n public kind = GEMI_REQUEST_BREAKER_ERROR;\n public payload: {\n api: Record<string, any>;\n view: Record<string, any>;\n } = { api: {}, view: {} };\n}\n",
|
|
8
8
|
"import { RequestBreakerError } from \"./Error\";\nimport type { HttpRequest } from \"./HttpRequest\";\n\ntype MiddlewareResult = Partial<{\n headers: Record<string, string>;\n cookies: Record<string, string>;\n}>;\n\nexport type MiddlewareReturnType =\n | void\n | Promise<MiddlewareResult>\n | MiddlewareResult;\n\nexport type RouterMiddleware = (\n req: HttpRequest,\n ctx: any,\n) => MiddlewareReturnType;\n\nexport class ValidationError extends RequestBreakerError {\n errors: Record<string, string[]> = {};\n constructor(errors: Record<string, string[]>) {\n super(\"Validation error\");\n this.name = \"ValidationError\";\n this.errors = errors;\n this.payload = {\n api: {\n status: 400,\n data: {\n error: {\n kind: \"validation_error\",\n messages: errors,\n },\n },\n headers: {\n \"Content-Type\": \"application/json\",\n },\n },\n view: {\n status: 400,\n },\n };\n }\n}\n",
|
|
9
9
|
"import { AsyncLocalStorage } from \"async_hooks\";\nimport { Cookie, type CreateCookieOptions } from \"./Cookie\";\nimport { HttpRequest } from \"./HttpRequest\";\n\nconst requestContext = new AsyncLocalStorage<Store>();\n\nclass Store {\n cookies: Set<Cookie> = new Set();\n headers: Headers = new Headers();\n prefetchedResources = new Map<string, Record<string, any>>();\n prefetchPromiseQueue = new Set<() => Promise<any>>();\n user: any = null;\n csrfHmac: string | null = null;\n\n constructor(public req: HttpRequest) {}\n\n setCSRFHmac(hmac: string) {\n this.csrfHmac = hmac;\n }\n\n setCookie(name: string, value: string, options: CreateCookieOptions = {}) {\n this.cookies.add(new Cookie(name, value, options));\n }\n\n setHeaders(name: string, value: string) {\n this.headers.set(name, value);\n }\n\n setUser(user: any) {\n this.user = user;\n }\n\n setRequest(req: HttpRequest<any, any>) {\n this.req = req;\n }\n\n destroy() {\n delete this.cookies;\n delete this.headers;\n delete this.prefetchedResources;\n delete this.prefetchPromiseQueue;\n delete this.user;\n }\n}\n\nexport class RequestContext {\n static getStore() {\n return requestContext.getStore()!;\n }\n\n static setRequest(req: HttpRequest<any, any>) {\n requestContext.getStore().req = req;\n }\n\n static run<T>(httpRequest: HttpRequest, fn: () => T): T {\n return requestContext.run(new Store(httpRequest), fn);\n }\n}\n",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"import { AsyncLocalStorage } from \"async_hooks\";\n\nexport const kernelContext = new AsyncLocalStorage();\n",
|
|
13
13
|
"import { kernelContext } from \"../kernel/context\";\nimport { ServiceProvider } from \"./ServiceProvider\";\n\nexport class ServiceContainer {\n static _name: string;\n service: ServiceProvider;\n\n static use<T extends ServiceContainer>(\n this: new (service: ServiceProvider) => T,\n ): T {\n const store = kernelContext.getStore();\n if (!store) {\n // console.error(\"Kernel is not available\");\n return;\n }\n // @ts-ignore\n if (!store?.[this._name]) {\n // @ts-ignore\n console.log(\"Container is not registered\", this._name);\n console.log(\"Available containers\", Object.keys(store));\n }\n\n // @ts-ignore\n return store[this._name];\n }\n}\n"
|
|
14
14
|
],
|
|
15
|
-
"mappings": "AAAO,SAAS,CAAa,CAAC,EAAY,CACxC,cAAc,IAAU,YAAc,EAAM,YAAc,OC6B5D,SAAS,CAAY,CACnB,EACmC,CACnC,OAAO,EAAc,CAAS,EAGzB,MAAM,CAA0D,CAK5D,EACC,EAGA,EARV,iBAAmB,eACnB,YAAwB,CAAC,EAEzB,WAAW,CACF,EACC,EAGA,EACR,CALO,cACC,eAGA,kBAER,KAAK,QAAU,EACf,KAAK,WAAa,EAClB,KAAK,OAAS,EAGhB,cAAc,EAAG,CACf,MAAO,CACL,IAAK,KAAK,IAAI,KAAK,IAAI,EACvB,YAAa,KAAK,WACpB,EAGF,GAAG,CAAC,EAAkC,CACpC,GAAI,EAAa,KAAK,OAAO,EAAG,CAC9B,IAAM,EAAa,IAAI,KAAK,QAE5B,OADgB,EAAW,KAAK,YAAY,KAAK,CAAU,EAC5C,MAGf,QAAO,KAAK,QAAQ,EAIxB,UAAU,CAAC,EAA0B,CAEnC,OADA,KAAK,YAAc,EACZ,KAEX,CAEO,MAAM,CAAY,CACvB,WAAW,IAAI,EAAkD,CAC/D,OAAO,IAAI,EAAa,GAAG,CAAI,EAEnC,CA2CO,MAAM,CAAU,OACd,SAAU,YACV,OAAoB,CAAC,EACrB,YAAwB,CAAC,EACzB,UAAU,CAAC,EAAmD,EAS9D,GAGN,CAAC,EAAY,EAAgB,CAC5B,OAAO,IAAI,EAAa,MAAO,EAAS,CAAU,EAU7C,IAGN,CAAC,EAAY,EAAgB,CAC5B,OAAO,IAAI,EAAa,OAAQ,EAAS,CAAU,EAU9C,GAGN,CAAC,EAAY,EAAgB,CAC5B,OAAO,IAAI,EAAa,MAAO,EAAS,CAAU,EAU7C,KAGN,CAAC,EAAY,EAAgB,CAC5B,OAAO,IAAI,EAAa,QAAS,EAAS,CAAU,EAU/C,MAGN,CAAC,EAAY,EAAgB,CAC5B,OAAO,IAAI,EAAa,SAAU,EAAS,CAAU,EAGhD,QAAgD,CAAC,EAAe,CACrE,MAAO,CAAwB,IAAkB,CAC/C,MAAO,CACL,IAAK,CACH,KAAM,IAAI,EAAa,MAAO,EAAY,MAAM,EAChD,
|
|
16
|
-
"debugId": "
|
|
15
|
+
"mappings": "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",
|
|
16
|
+
"debugId": "ED07278CC6EA6F5464756E2164756E21",
|
|
17
17
|
"names": []
|
|
18
18
|
}
|