moonflower 1.5.4 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/router/Router.cjs.map +1 -1
- package/dist/router/Router.d.ts +17 -10
- package/dist/router/Router.d.ts.map +1 -1
- package/dist/router/Router.mjs.map +1 -1
- package/package.json +9 -13
- package/src/router/Router.ts +11 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.cjs","sources":["../../src/router/Router.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"Router.cjs","sources":["../../src/router/Router.ts"],"sourcesContent":["import KoaRouter, { RouterContext, RouterMiddleware } from '@koa/router'\nimport Koa from 'koa'\n\nimport { OpenApiManager } from '../openapi/manager/OpenApiManager'\nimport { ExtractedRequestParams } from '../utils/TypeUtils'\nimport { parseEndpointReturnValue } from './parseEndpointReturnValue'\n\ntype Props = {\n\tskipOpenApiAnalysis: boolean\n}\n\nexport class Router<StateT = Koa.DefaultState, ContextT = Koa.DefaultContext> {\n\tpublic koaRouter: KoaRouter = new KoaRouter()\n\n\tpublic constructor(props: Props = { skipOpenApiAnalysis: false }) {\n\t\tif (!props.skipOpenApiAnalysis) {\n\t\t\tconst openApiManager = OpenApiManager.getInstance()\n\t\t\topenApiManager.registerRouters([this])\n\t\t}\n\t}\n\n\tprivate async sendResponseValue<P extends string>(\n\t\tctx: RouterContext,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\t// @ts-expect-error - Context is valid\n\t\tconst responseValue = await callback(ctx, undefined)\n\t\tconst { value, status, contentType } = parseEndpointReturnValue(responseValue)\n\t\tctx.body = value\n\t\tif (status !== 'unset') {\n\t\t\tctx.status = status\n\t\t}\n\t\tctx.set('Content-Type', contentType)\n\t}\n\n\tpublic use(...middleware: Array<RouterMiddleware<StateT, ContextT>>) {\n\t\tthis.koaRouter.use(...middleware)\n\t\treturn this\n\t}\n\n\tpublic with<ResponseTypeT extends Record<string, any>>(\n\t\tmiddleware: (ctx: Koa.ParameterizedContext<ContextT>) => ResponseTypeT,\n\t) {\n\t\ttype AugmentedData = ResponseTypeT extends Promise<any> ? Awaited<ResponseTypeT> : ResponseTypeT\n\t\tthis.koaRouter.use(async (ctx, next) => {\n\t\t\tconst userData = await Promise.resolve(middleware(ctx))\n\t\t\tObject.keys(userData).forEach((key) => {\n\t\t\t\tctx[key] = userData[key]\n\t\t\t})\n\t\t\tawait next()\n\t\t})\n\t\treturn this as Router<StateT, ContextT & AugmentedData>\n\t}\n\n\tpublic get<P extends string>(\n\t\tpath: P,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\tthis.koaRouter.get(path, async (ctx) => {\n\t\t\tawait this.sendResponseValue(ctx, callback)\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic post<P extends string>(\n\t\tpath: P,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\tthis.koaRouter.post(path, async (ctx) => {\n\t\t\tawait this.sendResponseValue(ctx, callback)\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic put<P extends string>(\n\t\tpath: P,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\tthis.koaRouter.put(path, async (ctx) => {\n\t\t\tawait this.sendResponseValue(ctx, callback)\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic delete<P extends string>(\n\t\tpath: P,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\tthis.koaRouter.delete(path, async (ctx) => {\n\t\t\tawait this.sendResponseValue(ctx, callback)\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic del<P extends string>(\n\t\tpath: P,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\tthis.koaRouter.del(path, async (ctx) => {\n\t\t\tawait this.sendResponseValue(ctx, callback)\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic patch<P extends string>(\n\t\tpath: P,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\tthis.koaRouter.patch(path, async (ctx) => {\n\t\t\tawait this.sendResponseValue(ctx, callback)\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic routes() {\n\t\treturn this.koaRouter.routes()\n\t}\n\n\tpublic allowedMethods() {\n\t\treturn this.koaRouter.allowedMethods()\n\t}\n}\n"],"names":["Router","props","KoaRouter","OpenApiManager","ctx","callback","responseValue","value","status","contentType","parseEndpointReturnValue","middleware","next","userData","key","path"],"mappings":"8MAWO,MAAMA,CAAiE,CAGtE,YAAYC,EAAe,CAAE,oBAAqB,IAAS,CAF3D,KAAA,UAAuB,IAAIC,EAG5BD,EAAM,qBACaE,iBAAe,YAAY,EACnC,gBAAgB,CAAC,IAAI,CAAC,CACtC,CAGD,MAAc,kBACbC,EACAC,EACC,CAED,MAAMC,EAAgB,MAAMD,EAASD,EAAK,MAAS,EAC7C,CAAE,MAAAG,EAAO,OAAAC,EAAQ,YAAAC,CAAY,EAAIC,EAAAA,yBAAyBJ,CAAa,EAC7EF,EAAI,KAAOG,EACPC,IAAW,UACdJ,EAAI,OAASI,GAEVJ,EAAA,IAAI,eAAgBK,CAAW,CAAA,CAG7B,OAAOE,EAAuD,CAC/D,YAAA,UAAU,IAAI,GAAGA,CAAU,EACzB,IAAA,CAGD,KACNA,EACC,CAED,YAAK,UAAU,IAAI,MAAOP,EAAKQ,IAAS,CACvC,MAAMC,EAAW,MAAM,QAAQ,QAAQF,EAAWP,CAAG,CAAC,EACtD,OAAO,KAAKS,CAAQ,EAAE,QAASC,GAAQ,CAClCV,EAAAU,CAAG,EAAID,EAASC,CAAG,CAAA,CACvB,EACD,MAAMF,EAAK,CAAA,CACX,EACM,IAAA,CAGD,IACNG,EACAV,EACC,CACD,YAAK,UAAU,IAAIU,EAAM,MAAOX,GAAQ,CACjC,MAAA,KAAK,kBAAkBA,EAAKC,CAAQ,CAAA,CAC1C,EACM,IAAA,CAGD,KACNU,EACAV,EACC,CACD,YAAK,UAAU,KAAKU,EAAM,MAAOX,GAAQ,CAClC,MAAA,KAAK,kBAAkBA,EAAKC,CAAQ,CAAA,CAC1C,EACM,IAAA,CAGD,IACNU,EACAV,EACC,CACD,YAAK,UAAU,IAAIU,EAAM,MAAOX,GAAQ,CACjC,MAAA,KAAK,kBAAkBA,EAAKC,CAAQ,CAAA,CAC1C,EACM,IAAA,CAGD,OACNU,EACAV,EACC,CACD,YAAK,UAAU,OAAOU,EAAM,MAAOX,GAAQ,CACpC,MAAA,KAAK,kBAAkBA,EAAKC,CAAQ,CAAA,CAC1C,EACM,IAAA,CAGD,IACNU,EACAV,EACC,CACD,YAAK,UAAU,IAAIU,EAAM,MAAOX,GAAQ,CACjC,MAAA,KAAK,kBAAkBA,EAAKC,CAAQ,CAAA,CAC1C,EACM,IAAA,CAGD,MACNU,EACAV,EACC,CACD,YAAK,UAAU,MAAMU,EAAM,MAAOX,GAAQ,CACnC,MAAA,KAAK,kBAAkBA,EAAKC,CAAQ,CAAA,CAC1C,EACM,IAAA,CAGD,QAAS,CACR,OAAA,KAAK,UAAU,OAAO,CAAA,CAGvB,gBAAiB,CAChB,OAAA,KAAK,UAAU,eAAe,CAAA,CAEvC"}
|
package/dist/router/Router.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { default as KoaRouter } from '@koa/router';
|
|
1
|
+
import { default as KoaRouter, RouterMiddleware } from '@koa/router';
|
|
2
2
|
import { default as Koa } from 'koa';
|
|
3
3
|
import { ExtractedRequestParams } from '../utils/TypeUtils';
|
|
4
4
|
|
|
@@ -9,16 +9,23 @@ export declare class Router<StateT = Koa.DefaultState, ContextT = Koa.DefaultCon
|
|
|
9
9
|
koaRouter: KoaRouter;
|
|
10
10
|
constructor(props?: Props);
|
|
11
11
|
private sendResponseValue;
|
|
12
|
-
use(...middleware: Array<
|
|
12
|
+
use(...middleware: Array<RouterMiddleware<StateT, ContextT>>): this;
|
|
13
13
|
with<ResponseTypeT extends Record<string, any>>(middleware: (ctx: Koa.ParameterizedContext<ContextT>) => ResponseTypeT): Router<StateT, ContextT & (ResponseTypeT extends Promise<any> ? Awaited<ResponseTypeT> : ResponseTypeT)>;
|
|
14
|
-
get<P extends string>(path: P, callback:
|
|
15
|
-
post<P extends string>(path: P, callback:
|
|
16
|
-
put<P extends string>(path: P, callback:
|
|
17
|
-
delete<P extends string>(path: P, callback:
|
|
18
|
-
del<P extends string>(path: P, callback:
|
|
19
|
-
patch<P extends string>(path: P, callback:
|
|
20
|
-
routes():
|
|
21
|
-
|
|
14
|
+
get<P extends string>(path: P, callback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>): this;
|
|
15
|
+
post<P extends string>(path: P, callback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>): this;
|
|
16
|
+
put<P extends string>(path: P, callback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>): this;
|
|
17
|
+
delete<P extends string>(path: P, callback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>): this;
|
|
18
|
+
del<P extends string>(path: P, callback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>): this;
|
|
19
|
+
patch<P extends string>(path: P, callback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>): this;
|
|
20
|
+
routes(): Koa.Middleware<Koa.DefaultState, Koa.DefaultContext & {
|
|
21
|
+
params: Record<string, string>;
|
|
22
|
+
router: import('@koa/router').RouterInstance<Koa.DefaultState, Koa.DefaultContext>;
|
|
23
|
+
_matchedRoute?: string | RegExp;
|
|
24
|
+
_matchedRouteName?: string;
|
|
25
|
+
}> & {
|
|
26
|
+
router?: KoaRouter<Koa.DefaultState, Koa.DefaultContext> | undefined;
|
|
27
|
+
};
|
|
28
|
+
allowedMethods(): RouterMiddleware<Koa.DefaultState, Koa.DefaultContext, unknown>;
|
|
22
29
|
}
|
|
23
30
|
export {};
|
|
24
31
|
//# sourceMappingURL=Router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/router/Router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/router/Router.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAiB,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,GAAG,MAAM,KAAK,CAAA;AAGrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAG3D,KAAK,KAAK,GAAG;IACZ,mBAAmB,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,qBAAa,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,QAAQ,GAAG,GAAG,CAAC,cAAc;IACpE,SAAS,EAAE,SAAS,CAAkB;gBAE1B,KAAK,GAAE,KAAsC;YAOlD,iBAAiB;IAcxB,GAAG,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAK5D,IAAI,CAAC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpD,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,aAAa,GAUvD,MAAM,CAAC,MAAM,EAAE,QAAQ,gFAAgB,CAAC;IAGjD,GAAG,CAAC,CAAC,SAAS,MAAM,EAC1B,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAQlE,IAAI,CAAC,CAAC,SAAS,MAAM,EAC3B,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAQlE,GAAG,CAAC,CAAC,SAAS,MAAM,EAC1B,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAQlE,MAAM,CAAC,CAAC,SAAS,MAAM,EAC7B,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAQlE,GAAG,CAAC,CAAC,SAAS,MAAM,EAC1B,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAQlE,KAAK,CAAC,CAAC,SAAS,MAAM,EAC5B,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAQlE,MAAM;;;;;;;;IAIN,cAAc;CAGrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.mjs","sources":["../../src/router/Router.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"Router.mjs","sources":["../../src/router/Router.ts"],"sourcesContent":["import KoaRouter, { RouterContext, RouterMiddleware } from '@koa/router'\nimport Koa from 'koa'\n\nimport { OpenApiManager } from '../openapi/manager/OpenApiManager'\nimport { ExtractedRequestParams } from '../utils/TypeUtils'\nimport { parseEndpointReturnValue } from './parseEndpointReturnValue'\n\ntype Props = {\n\tskipOpenApiAnalysis: boolean\n}\n\nexport class Router<StateT = Koa.DefaultState, ContextT = Koa.DefaultContext> {\n\tpublic koaRouter: KoaRouter = new KoaRouter()\n\n\tpublic constructor(props: Props = { skipOpenApiAnalysis: false }) {\n\t\tif (!props.skipOpenApiAnalysis) {\n\t\t\tconst openApiManager = OpenApiManager.getInstance()\n\t\t\topenApiManager.registerRouters([this])\n\t\t}\n\t}\n\n\tprivate async sendResponseValue<P extends string>(\n\t\tctx: RouterContext,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\t// @ts-expect-error - Context is valid\n\t\tconst responseValue = await callback(ctx, undefined)\n\t\tconst { value, status, contentType } = parseEndpointReturnValue(responseValue)\n\t\tctx.body = value\n\t\tif (status !== 'unset') {\n\t\t\tctx.status = status\n\t\t}\n\t\tctx.set('Content-Type', contentType)\n\t}\n\n\tpublic use(...middleware: Array<RouterMiddleware<StateT, ContextT>>) {\n\t\tthis.koaRouter.use(...middleware)\n\t\treturn this\n\t}\n\n\tpublic with<ResponseTypeT extends Record<string, any>>(\n\t\tmiddleware: (ctx: Koa.ParameterizedContext<ContextT>) => ResponseTypeT,\n\t) {\n\t\ttype AugmentedData = ResponseTypeT extends Promise<any> ? Awaited<ResponseTypeT> : ResponseTypeT\n\t\tthis.koaRouter.use(async (ctx, next) => {\n\t\t\tconst userData = await Promise.resolve(middleware(ctx))\n\t\t\tObject.keys(userData).forEach((key) => {\n\t\t\t\tctx[key] = userData[key]\n\t\t\t})\n\t\t\tawait next()\n\t\t})\n\t\treturn this as Router<StateT, ContextT & AugmentedData>\n\t}\n\n\tpublic get<P extends string>(\n\t\tpath: P,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\tthis.koaRouter.get(path, async (ctx) => {\n\t\t\tawait this.sendResponseValue(ctx, callback)\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic post<P extends string>(\n\t\tpath: P,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\tthis.koaRouter.post(path, async (ctx) => {\n\t\t\tawait this.sendResponseValue(ctx, callback)\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic put<P extends string>(\n\t\tpath: P,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\tthis.koaRouter.put(path, async (ctx) => {\n\t\t\tawait this.sendResponseValue(ctx, callback)\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic delete<P extends string>(\n\t\tpath: P,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\tthis.koaRouter.delete(path, async (ctx) => {\n\t\t\tawait this.sendResponseValue(ctx, callback)\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic del<P extends string>(\n\t\tpath: P,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\tthis.koaRouter.del(path, async (ctx) => {\n\t\t\tawait this.sendResponseValue(ctx, callback)\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic patch<P extends string>(\n\t\tpath: P,\n\t\tcallback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,\n\t) {\n\t\tthis.koaRouter.patch(path, async (ctx) => {\n\t\t\tawait this.sendResponseValue(ctx, callback)\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic routes() {\n\t\treturn this.koaRouter.routes()\n\t}\n\n\tpublic allowedMethods() {\n\t\treturn this.koaRouter.allowedMethods()\n\t}\n}\n"],"names":["Router","props","KoaRouter","OpenApiManager","ctx","callback","responseValue","value","status","contentType","parseEndpointReturnValue","middleware","next","userData","key","path"],"mappings":";;;AAWO,MAAMA,EAAiE;AAAA,EAGtE,YAAYC,IAAe,EAAE,qBAAqB,MAAS;AAF3D,SAAA,YAAuB,IAAIC,EAAU,GAGtCD,EAAM,uBACaE,EAAe,YAAY,EACnC,gBAAgB,CAAC,IAAI,CAAC;AAAA,EACtC;AAAA,EAGD,MAAc,kBACbC,GACAC,GACC;AAED,UAAMC,IAAgB,MAAMD,EAASD,GAAK,MAAS,GAC7C,EAAE,OAAAG,GAAO,QAAAC,GAAQ,aAAAC,EAAY,IAAIC,EAAyBJ,CAAa;AAC7E,IAAAF,EAAI,OAAOG,GACPC,MAAW,YACdJ,EAAI,SAASI,IAEVJ,EAAA,IAAI,gBAAgBK,CAAW;AAAA,EAAA;AAAA,EAG7B,OAAOE,GAAuD;AAC/D,gBAAA,UAAU,IAAI,GAAGA,CAAU,GACzB;AAAA,EAAA;AAAA,EAGD,KACNA,GACC;AAED,gBAAK,UAAU,IAAI,OAAOP,GAAKQ,MAAS;AACvC,YAAMC,IAAW,MAAM,QAAQ,QAAQF,EAAWP,CAAG,CAAC;AACtD,aAAO,KAAKS,CAAQ,EAAE,QAAQ,CAACC,MAAQ;AAClC,QAAAV,EAAAU,CAAG,IAAID,EAASC,CAAG;AAAA,MAAA,CACvB,GACD,MAAMF,EAAK;AAAA,IAAA,CACX,GACM;AAAA,EAAA;AAAA,EAGD,IACNG,GACAV,GACC;AACD,gBAAK,UAAU,IAAIU,GAAM,OAAOX,MAAQ;AACjC,YAAA,KAAK,kBAAkBA,GAAKC,CAAQ;AAAA,IAAA,CAC1C,GACM;AAAA,EAAA;AAAA,EAGD,KACNU,GACAV,GACC;AACD,gBAAK,UAAU,KAAKU,GAAM,OAAOX,MAAQ;AAClC,YAAA,KAAK,kBAAkBA,GAAKC,CAAQ;AAAA,IAAA,CAC1C,GACM;AAAA,EAAA;AAAA,EAGD,IACNU,GACAV,GACC;AACD,gBAAK,UAAU,IAAIU,GAAM,OAAOX,MAAQ;AACjC,YAAA,KAAK,kBAAkBA,GAAKC,CAAQ;AAAA,IAAA,CAC1C,GACM;AAAA,EAAA;AAAA,EAGD,OACNU,GACAV,GACC;AACD,gBAAK,UAAU,OAAOU,GAAM,OAAOX,MAAQ;AACpC,YAAA,KAAK,kBAAkBA,GAAKC,CAAQ;AAAA,IAAA,CAC1C,GACM;AAAA,EAAA;AAAA,EAGD,IACNU,GACAV,GACC;AACD,gBAAK,UAAU,IAAIU,GAAM,OAAOX,MAAQ;AACjC,YAAA,KAAK,kBAAkBA,GAAKC,CAAQ;AAAA,IAAA,CAC1C,GACM;AAAA,EAAA;AAAA,EAGD,MACNU,GACAV,GACC;AACD,gBAAK,UAAU,MAAMU,GAAM,OAAOX,MAAQ;AACnC,YAAA,KAAK,kBAAkBA,GAAKC,CAAQ;AAAA,IAAA,CAC1C,GACM;AAAA,EAAA;AAAA,EAGD,SAAS;AACR,WAAA,KAAK,UAAU,OAAO;AAAA,EAAA;AAAA,EAGvB,iBAAiB;AAChB,WAAA,KAAK,UAAU,eAAe;AAAA,EAAA;AAEvC;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "moonflower",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "tenebrie",
|
|
6
6
|
"license": "MIT",
|
|
@@ -131,27 +131,23 @@
|
|
|
131
131
|
"yargs": "^17.7.2"
|
|
132
132
|
},
|
|
133
133
|
"peerDependencies": {
|
|
134
|
-
"@koa/router": "^
|
|
135
|
-
"koa": "^3.
|
|
134
|
+
"@koa/router": "^15.0.0",
|
|
135
|
+
"koa": "^3.0.0",
|
|
136
136
|
"koa-bodyparser": "^4.4.1",
|
|
137
137
|
"ts-morph": "^28.0.0",
|
|
138
|
-
"zod": "4.
|
|
138
|
+
"zod": "^4.0.0"
|
|
139
139
|
},
|
|
140
140
|
"peerDependenciesMeta": {
|
|
141
141
|
"ts-morph": {
|
|
142
142
|
"optional": true
|
|
143
|
-
},
|
|
144
|
-
"zod": {
|
|
145
|
-
"optional": true
|
|
146
143
|
}
|
|
147
144
|
},
|
|
148
145
|
"devDependencies": {
|
|
149
|
-
"@koa/router": "^
|
|
146
|
+
"@koa/router": "^15.0.0",
|
|
150
147
|
"@types/jest": "29.5.14",
|
|
151
148
|
"@types/jsonwebtoken": "^9.0.7",
|
|
152
|
-
"@types/koa": "^
|
|
149
|
+
"@types/koa": "^3.0.0",
|
|
153
150
|
"@types/koa-bodyparser": "^4.3.12",
|
|
154
|
-
"@types/koa__router": "^12.0.4",
|
|
155
151
|
"@types/node": "^22.10.2",
|
|
156
152
|
"@types/supertest": "^6.0.2",
|
|
157
153
|
"@typescript-eslint/eslint-plugin": "^8.18.0",
|
|
@@ -162,15 +158,15 @@
|
|
|
162
158
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
163
159
|
"eslint-plugin-unused-imports": "^4.1.4",
|
|
164
160
|
"jest": "29.7.0",
|
|
165
|
-
"zod": "4.
|
|
166
|
-
"koa": "^
|
|
161
|
+
"zod": "^4.0.0",
|
|
162
|
+
"koa": "^3.0.0",
|
|
167
163
|
"koa-bodyparser": "^4.4.1",
|
|
168
164
|
"node-mocks-http": "^1.16.2",
|
|
169
165
|
"prettier": "^3.4.2",
|
|
170
166
|
"source-map-support": "^0.5.20",
|
|
171
167
|
"supertest": "^7.0.0",
|
|
172
168
|
"ts-jest": "29.2.5",
|
|
173
|
-
"ts-morph": "^
|
|
169
|
+
"ts-morph": "^28.0.0",
|
|
174
170
|
"ts-node": "^10.9.2",
|
|
175
171
|
"tsconfig-paths": "4.2.0",
|
|
176
172
|
"typescript": "^5.7.2",
|
package/src/router/Router.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import KoaRouter from '@koa/router'
|
|
1
|
+
import KoaRouter, { RouterContext, RouterMiddleware } from '@koa/router'
|
|
3
2
|
import Koa from 'koa'
|
|
4
3
|
|
|
5
4
|
import { OpenApiManager } from '../openapi/manager/OpenApiManager'
|
|
@@ -21,10 +20,10 @@ export class Router<StateT = Koa.DefaultState, ContextT = Koa.DefaultContext> {
|
|
|
21
20
|
}
|
|
22
21
|
|
|
23
22
|
private async sendResponseValue<P extends string>(
|
|
24
|
-
ctx:
|
|
25
|
-
callback:
|
|
23
|
+
ctx: RouterContext,
|
|
24
|
+
callback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,
|
|
26
25
|
) {
|
|
27
|
-
// @ts-
|
|
26
|
+
// @ts-expect-error - Context is valid
|
|
28
27
|
const responseValue = await callback(ctx, undefined)
|
|
29
28
|
const { value, status, contentType } = parseEndpointReturnValue(responseValue)
|
|
30
29
|
ctx.body = value
|
|
@@ -34,8 +33,7 @@ export class Router<StateT = Koa.DefaultState, ContextT = Koa.DefaultContext> {
|
|
|
34
33
|
ctx.set('Content-Type', contentType)
|
|
35
34
|
}
|
|
36
35
|
|
|
37
|
-
public use(...middleware: Array<
|
|
38
|
-
// @ts-ignore
|
|
36
|
+
public use(...middleware: Array<RouterMiddleware<StateT, ContextT>>) {
|
|
39
37
|
this.koaRouter.use(...middleware)
|
|
40
38
|
return this
|
|
41
39
|
}
|
|
@@ -45,7 +43,6 @@ export class Router<StateT = Koa.DefaultState, ContextT = Koa.DefaultContext> {
|
|
|
45
43
|
) {
|
|
46
44
|
type AugmentedData = ResponseTypeT extends Promise<any> ? Awaited<ResponseTypeT> : ResponseTypeT
|
|
47
45
|
this.koaRouter.use(async (ctx, next) => {
|
|
48
|
-
// @ts-ignore
|
|
49
46
|
const userData = await Promise.resolve(middleware(ctx))
|
|
50
47
|
Object.keys(userData).forEach((key) => {
|
|
51
48
|
ctx[key] = userData[key]
|
|
@@ -57,7 +54,7 @@ export class Router<StateT = Koa.DefaultState, ContextT = Koa.DefaultContext> {
|
|
|
57
54
|
|
|
58
55
|
public get<P extends string>(
|
|
59
56
|
path: P,
|
|
60
|
-
callback:
|
|
57
|
+
callback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,
|
|
61
58
|
) {
|
|
62
59
|
this.koaRouter.get(path, async (ctx) => {
|
|
63
60
|
await this.sendResponseValue(ctx, callback)
|
|
@@ -67,7 +64,7 @@ export class Router<StateT = Koa.DefaultState, ContextT = Koa.DefaultContext> {
|
|
|
67
64
|
|
|
68
65
|
public post<P extends string>(
|
|
69
66
|
path: P,
|
|
70
|
-
callback:
|
|
67
|
+
callback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,
|
|
71
68
|
) {
|
|
72
69
|
this.koaRouter.post(path, async (ctx) => {
|
|
73
70
|
await this.sendResponseValue(ctx, callback)
|
|
@@ -77,7 +74,7 @@ export class Router<StateT = Koa.DefaultState, ContextT = Koa.DefaultContext> {
|
|
|
77
74
|
|
|
78
75
|
public put<P extends string>(
|
|
79
76
|
path: P,
|
|
80
|
-
callback:
|
|
77
|
+
callback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,
|
|
81
78
|
) {
|
|
82
79
|
this.koaRouter.put(path, async (ctx) => {
|
|
83
80
|
await this.sendResponseValue(ctx, callback)
|
|
@@ -87,7 +84,7 @@ export class Router<StateT = Koa.DefaultState, ContextT = Koa.DefaultContext> {
|
|
|
87
84
|
|
|
88
85
|
public delete<P extends string>(
|
|
89
86
|
path: P,
|
|
90
|
-
callback:
|
|
87
|
+
callback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,
|
|
91
88
|
) {
|
|
92
89
|
this.koaRouter.delete(path, async (ctx) => {
|
|
93
90
|
await this.sendResponseValue(ctx, callback)
|
|
@@ -97,7 +94,7 @@ export class Router<StateT = Koa.DefaultState, ContextT = Koa.DefaultContext> {
|
|
|
97
94
|
|
|
98
95
|
public del<P extends string>(
|
|
99
96
|
path: P,
|
|
100
|
-
callback:
|
|
97
|
+
callback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,
|
|
101
98
|
) {
|
|
102
99
|
this.koaRouter.del(path, async (ctx) => {
|
|
103
100
|
await this.sendResponseValue(ctx, callback)
|
|
@@ -107,7 +104,7 @@ export class Router<StateT = Koa.DefaultState, ContextT = Koa.DefaultContext> {
|
|
|
107
104
|
|
|
108
105
|
public patch<P extends string>(
|
|
109
106
|
path: P,
|
|
110
|
-
callback:
|
|
107
|
+
callback: RouterMiddleware<StateT, ContextT & ExtractedRequestParams<P>>,
|
|
111
108
|
) {
|
|
112
109
|
this.koaRouter.patch(path, async (ctx) => {
|
|
113
110
|
await this.sendResponseValue(ctx, callback)
|