@koala-ts/framework 2.1.1 → 2.2.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.
@@ -1,4 +1,4 @@
1
1
  import { type Application } from './types.js';
2
2
  import { type KoalaConfig } from '../Config/index.js';
3
- export declare function create(_: KoalaConfig): Application;
3
+ export declare function create(config: KoalaConfig): Application;
4
4
  //# sourceMappingURL=ApplicationFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationFactory.d.ts","sourceRoot":"","sources":["../../src/Application/ApplicationFactory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,wBAAgB,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,CAmBlD"}
1
+ {"version":3,"file":"ApplicationFactory.d.ts","sourceRoot":"","sources":["../../src/Application/ApplicationFactory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CASvD"}
@@ -3,9 +3,16 @@ import Koa from 'koa';
3
3
  import { koaBody } from 'koa-body';
4
4
  import { extendResponse } from '../Application/Response.js';
5
5
  import { getRoutes } from '../Routing/index.js';
6
- export function create(_) {
6
+ export function create(config) {
7
7
  const app = new Koa();
8
8
  app.scope = app.context;
9
+ app.use(extendResponse);
10
+ if (undefined !== config.globalMiddleware)
11
+ registerGlobalMiddleware(app, config.globalMiddleware);
12
+ app.use(createRouter().routes());
13
+ return app;
14
+ }
15
+ function createRouter() {
9
16
  const router = new Router();
10
17
  for (const route of getRoutes()) {
11
18
  const middlewareStack = [...(route.middleware), route.handler];
@@ -14,8 +21,11 @@ export function create(_) {
14
21
  router[method](route.path, ...routeMiddleware);
15
22
  }
16
23
  }
17
- app.use(extendResponse);
18
- app.use(router.routes());
19
- return app;
24
+ return router;
25
+ }
26
+ function registerGlobalMiddleware(app, middleware) {
27
+ for (const mw of middleware) {
28
+ app.use(mw);
29
+ }
20
30
  }
21
31
  //# sourceMappingURL=ApplicationFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationFactory.js","sourceRoot":"","sources":["../../src/Application/ApplicationFactory.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,GAAgE,MAAM,KAAK,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,UAAU,MAAM,CAAC,CAAc;IACnC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAiB,CAAC;IACrC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;IAExB,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAE/D,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAC7G,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAI,eAA0E,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzB,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"ApplicationFactory.js","sourceRoot":"","sources":["../../src/Application/ApplicationFactory.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,GAAgE,MAAM,KAAK,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,UAAU,MAAM,CAAC,MAAmB;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAiB,CAAC;IACrC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;IAExB,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxB,IAAI,SAAS,KAAK,MAAM,CAAC,gBAAgB;QAAE,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAClG,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAEjC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAE/D,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAC7G,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAI,eAA0E,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAgB,EAAE,UAA4B;IAC9E,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -149,4 +149,16 @@ describe('Application', () => {
149
149
  expect(response.text).toBe('avatar.png');
150
150
  });
151
151
  });
152
+ describe('Global Middleware', () => {
153
+ test('it should register configured global middleware', async () => {
154
+ const middlewareFn = vi.fn();
155
+ const config = {
156
+ controllers: [],
157
+ globalMiddleware: [middlewareFn],
158
+ };
159
+ const testAgent = createTestAgent(config);
160
+ await testAgent.get('/');
161
+ expect(middlewareFn).toHaveBeenCalled();
162
+ });
163
+ });
152
164
  //# sourceMappingURL=ApplicationFactory.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationFactory.test.js","sourceRoot":"","sources":["../../src/Application/ApplicationFactory.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationFactory.test.js","sourceRoot":"","sources":["../../src/Application/ApplicationFactory.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import { type HttpMiddleware } from '../Http/index.js';
1
2
  export type Controller = new (...args: unknown[]) => unknown;
2
3
  export interface KoalaConfig {
3
4
  controllers: Controller[];
5
+ globalMiddleware?: HttpMiddleware[];
4
6
  }
5
7
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Config/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,KAAI,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,MAAM,UAAU,GAAG,KAAI,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;CACrC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './Application/index.js';
2
2
  export * from './Config/index.js';
3
- export type * from './Http/index.js';
3
+ export * from './Http/index.js';
4
4
  export * from './Routing/index.js';
5
5
  export * from './Testing/index.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,mBAAmB,QAAQ,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './Application/index.js';
2
2
  export * from './Config/index.js';
3
+ export * from './Http/index.js';
3
4
  export * from './Routing/index.js';
4
5
  export * from './Testing/index.js';
5
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AAEzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@koala-ts/framework",
3
3
  "main": "dist/index.js",
4
4
  "type": "module",
5
- "version": "2.1.1",
5
+ "version": "2.2.0",
6
6
  "description": "A NodeJS framework for lazy developers",
7
7
  "keywords": [
8
8
  "koala",