@feathersjs/koa 5.0.0-pre.14 → 5.0.0-pre.15

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/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [5.0.0-pre.15](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.14...v5.0.0-pre.15) (2021-11-27)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **typescript:** Overall typing improvements ([#2478](https://github.com/feathersjs/feathers/issues/2478)) ([b8eb804](https://github.com/feathersjs/feathers/commit/b8eb804158556d9651a8607e3c3fda15e0bfd110))
12
+
13
+
14
+ ### Features
15
+
16
+ * **core:** add `context.http` and move `statusCode` there ([#2496](https://github.com/feathersjs/feathers/issues/2496)) ([b701bf7](https://github.com/feathersjs/feathers/commit/b701bf77fb83048aa1dffa492b3d77dd53f7b72b))
17
+
18
+
19
+
20
+
21
+
6
22
  # [5.0.0-pre.14](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.13...v5.0.0-pre.14) (2021-10-13)
7
23
 
8
24
  **Note:** Version bump only for package @feathersjs/koa
@@ -1,8 +1,7 @@
1
1
  /// <reference types="node" />
2
- /// <reference types="koa-bodyparser" />
3
2
  import Koa from 'koa';
4
3
  import { Server } from 'http';
5
- import { Application as FeathersApplication } from '@feathersjs/feathers';
4
+ import { Application as FeathersApplication, HookContext, Params } from '@feathersjs/feathers';
6
5
  import '@feathersjs/authentication';
7
6
  export declare type ApplicationAddons = {
8
7
  listen(port?: number, ...args: any[]): Promise<Server>;
@@ -11,3 +10,9 @@ export declare type Application<T = any, C = any> = Omit<Koa, 'listen'> & Feathe
11
10
  export declare type FeathersKoaContext<A = Application> = Koa.Context & {
12
11
  app: A;
13
12
  };
13
+ declare module 'koa' {
14
+ interface ExtendableContext {
15
+ feathers?: Partial<Params>;
16
+ hook?: HookContext;
17
+ }
18
+ }
package/lib/index.d.ts CHANGED
@@ -7,4 +7,4 @@ export * from './declarations';
7
7
  export * from './authenticate';
8
8
  export { rest } from './rest';
9
9
  export { Koa, bodyParser, errorHandler };
10
- export declare function koa(_app?: FeathersApplication): Application<any>;
10
+ export declare function koa(_app?: FeathersApplication): Application;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAsB;AAeb,cAfF,aAAG,CAeE;AAdZ,oEAAwC;AAc1B,qBAdP,wBAAU,CAcO;AAbxB,oDAA2B;AAE3B,qEAAwD;AACxD,iDAAkD;AAGlD,mDAA+C;AAOrB,6FAPjB,4BAAY,OAOiB;AALtC,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,iBAAiB,CAAC,CAAC;AAE7C,iDAA+B;AAC/B,iDAA+B;AAC/B,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAGb,SAAgB,GAAG,CAAE,IAA0B;IAC7C,MAAM,MAAM,GAAG,IAAI,aAAG,EAAE,CAAC;IAEzB,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,MAAqC,CAAC;KAC9C;IAED,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;KACnF;IAED,MAAM,GAAG,GAAG,IAAmB,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAClD,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;IAEvB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;QACjB,GAAG,CAAE,QAA+B,EAAE,GAAG,IAAW;YAClD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;gBAChC,OAAQ,MAAc,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;aACtD;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,MAAM,CAAE,IAAa,EAAE,GAAG,IAAW;YACzC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YAEnD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzB,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAExC,OAAO,MAAM,CAAC;QAChB,CAAC;KACa,CAAC,CAAC;IAElB,MAAM,mBAAmB,GAAG;QAC1B,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC/D,GAAG,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC;KACzC,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAClE,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC;KAC5C,CAAC;IAEF,+DAA+D;IAC/D,8CAA8C;IAC9C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACzC,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,OAAO,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE;YACvD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SAC3C;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAK,EAAC,GAAU,CAAC,CAAC;IAClB,GAAG,CAAC,SAAS,CAAC,IAAA,2BAAO,GAAE,CAAC,CAAC;IACzB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACpB,GAAG,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAEpC,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AA/DD,kBA+DC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAsB;AAeb,cAfF,aAAG,CAeE;AAdZ,oEAAwC;AAc1B,qBAdP,wBAAU,CAcO;AAbxB,oDAA2B;AAE3B,qEAAwD;AACxD,iDAAkD;AAGlD,mDAA+C;AAOrB,6FAPjB,4BAAY,OAOiB;AALtC,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,iBAAiB,CAAC,CAAC;AAE7C,iDAA+B;AAC/B,iDAA+B;AAC/B,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAGb,SAAgB,GAAG,CAAE,IAA0B;IAC7C,MAAM,MAAM,GAAG,IAAI,aAAG,EAAE,CAAC;IAEzB,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,MAAgC,CAAC;KACzC;IAED,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;KACnF;IAED,MAAM,GAAG,GAAG,IAAmB,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAClD,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;IAEvB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;QACjB,GAAG,CAAE,QAA+B,EAAE,GAAG,IAAW;YAClD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;gBAChC,OAAQ,MAAc,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;aACtD;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,MAAM,CAAE,IAAa,EAAE,GAAG,IAAW;YACzC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YAEnD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzB,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAExC,OAAO,MAAM,CAAC;QAChB,CAAC;KACa,CAAC,CAAC;IAElB,MAAM,mBAAmB,GAAG;QAC1B,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC/D,GAAG,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC;KACzC,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAClE,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC;KAC5C,CAAC;IAEF,+DAA+D;IAC/D,8CAA8C;IAC9C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACzC,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,OAAO,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE;YACvD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SAC3C;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAK,EAAC,GAAU,CAAC,CAAC;IAClB,GAAG,CAAC,SAAS,CAAC,IAAA,2BAAO,GAAE,CAAC,CAAC;IACzB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACpB,GAAG,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAEpC,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AA/DD,kBA+DC"}
package/lib/rest.js CHANGED
@@ -9,7 +9,7 @@ const debug = (0, commons_1.createDebug)('@feathersjs/koa:rest');
9
9
  function rest() {
10
10
  return async (ctx, next) => {
11
11
  const { app, request } = ctx;
12
- const { query: koaQuery, path, body: data, method: httpMethod } = request;
12
+ const { query: koaQuery, headers, path, body: data, method: httpMethod } = request;
13
13
  const query = { ...koaQuery };
14
14
  const methodOverride = request.headers[transport_commons_1.http.METHOD_HEADER] ?
15
15
  request.headers[transport_commons_1.http.METHOD_HEADER] : null;
@@ -27,10 +27,11 @@ function rest() {
27
27
  const params = {
28
28
  ...ctx.feathers,
29
29
  query,
30
+ headers,
30
31
  route
31
32
  };
32
33
  const args = createArguments({ id, data, params });
33
- const hookContext = (0, feathers_1.createContext)(service, method);
34
+ const hookContext = (0, feathers_1.createContext)(service, method, { http: {} });
34
35
  ctx.hook = hookContext;
35
36
  const result = await service[method](...args, hookContext);
36
37
  ctx.response.status = transport_commons_1.http.getStatusCode(result, {});
package/lib/rest.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rest.js","sourceRoot":"","sources":["../src/rest.ts"],"names":[],"mappings":";;;AACA,qEAAqD;AACrD,iDAAkD;AAClD,mDAA+F;AAC/F,+CAAsD;AAGtD,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,sBAAsB,CAAC,CAAC;AAElD,SAAgB,IAAI;IAClB,OAAO,KAAK,EAAE,GAAuB,EAAE,IAAU,EAAE,EAAE;QACnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAC7B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAC1E,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,OAAO,CAAC,wBAAI,CAAC,aAAa,CAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,MAAM,KAAK,IAAI,EAAE;YACnB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;YACvE,MAAM,MAAM,GAAG,wBAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;YACrE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,4BAAiB,EAAC,OAAO,CAAC,CAAC;YAE/C,KAAK,CAAC,0BAA0B,IAAI,wBAAwB,MAAM,kBAAkB,CAAC,CAAC;YAEtF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,gCAAqB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC/E,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,wBAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;gBAExD,MAAM,IAAI,yBAAgB,CAAC,YAAY,MAAM,uCAAuC,CAAC,CAAC;aACvF;YAED,MAAM,eAAe,GAAI,wBAAI,CAAC,YAAoB,CAAC,MAAM,CAAC,IAAI,wBAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YACxF,MAAM,MAAM,GAAG;gBACb,GAAG,GAAG,CAAC,QAAQ;gBACf,KAAK;gBACL,KAAK;aACN,CAAC;YACF,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACnD,MAAM,WAAW,GAAG,IAAA,wBAAa,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEnD,GAAG,CAAC,IAAI,GAAG,WAAkB,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAO,OAAe,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC;YAEpE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,wBAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,IAAI,GAAG,wBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACjC;QAED,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAzCD,oBAyCC"}
1
+ {"version":3,"file":"rest.js","sourceRoot":"","sources":["../src/rest.ts"],"names":[],"mappings":";;;AACA,qEAAqD;AACrD,iDAAkD;AAClD,mDAA+F;AAC/F,+CAAsD;AAGtD,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,sBAAsB,CAAC,CAAC;AAElD,SAAgB,IAAI;IAClB,OAAO,KAAK,EAAE,GAAuB,EAAE,IAAU,EAAE,EAAE;QACnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAC7B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QACnF,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,OAAO,CAAC,wBAAI,CAAC,aAAa,CAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,MAAM,KAAK,IAAI,EAAE;YACnB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;YACvE,MAAM,MAAM,GAAG,wBAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;YACrE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,4BAAiB,EAAC,OAAO,CAAC,CAAC;YAE/C,KAAK,CAAC,0BAA0B,IAAI,wBAAwB,MAAM,kBAAkB,CAAC,CAAC;YAEtF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,gCAAqB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC/E,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,wBAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;gBAExD,MAAM,IAAI,yBAAgB,CAAC,YAAY,MAAM,uCAAuC,CAAC,CAAC;aACvF;YAED,MAAM,eAAe,GAAI,wBAAI,CAAC,YAAoB,CAAC,MAAM,CAAC,IAAI,wBAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YACxF,MAAM,MAAM,GAAG;gBACb,GAAG,GAAG,CAAC,QAAQ;gBACf,KAAK;gBACL,OAAO;gBACP,KAAK;aACN,CAAC;YACF,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACnD,MAAM,WAAW,GAAG,IAAA,wBAAa,EAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAEjE,GAAG,CAAC,IAAI,GAAG,WAAkB,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAO,OAAe,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC;YAEpE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,wBAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,IAAI,GAAG,wBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACjC;QAED,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AA1CD,oBA0CC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@feathersjs/koa",
3
3
  "description": "Feathers KoaJS framework bindings and REST provider",
4
- "version": "5.0.0-pre.14",
4
+ "version": "5.0.0-pre.15",
5
5
  "homepage": "https://feathersjs.com",
6
6
  "main": "lib/",
7
7
  "keywords": [
@@ -47,28 +47,28 @@
47
47
  "access": "public"
48
48
  },
49
49
  "dependencies": {
50
- "@feathersjs/authentication": "^5.0.0-pre.14",
51
- "@feathersjs/commons": "^5.0.0-pre.14",
52
- "@feathersjs/errors": "^5.0.0-pre.14",
53
- "@feathersjs/transport-commons": "^5.0.0-pre.14",
50
+ "@feathersjs/authentication": "^5.0.0-pre.15",
51
+ "@feathersjs/commons": "^5.0.0-pre.15",
52
+ "@feathersjs/errors": "^5.0.0-pre.15",
53
+ "@feathersjs/transport-commons": "^5.0.0-pre.15",
54
54
  "@types/koa": "^2.13.4",
55
- "@types/koa-bodyparser": "^4.3.3",
55
+ "@types/koa-bodyparser": "^4.3.4",
56
56
  "@types/koa-qs": "^2.0.0",
57
- "koa": "^2.13.3",
57
+ "koa": "^2.13.4",
58
58
  "koa-bodyparser": "^4.3.0",
59
59
  "koa-qs": "^3.0.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@feathersjs/authentication-local": "^5.0.0-pre.14",
63
- "@feathersjs/feathers": "^5.0.0-pre.14",
64
- "@feathersjs/memory": "^5.0.0-pre.14",
65
- "@feathersjs/tests": "^5.0.0-pre.14",
62
+ "@feathersjs/authentication-local": "^5.0.0-pre.15",
63
+ "@feathersjs/feathers": "^5.0.0-pre.15",
64
+ "@feathersjs/memory": "^5.0.0-pre.15",
65
+ "@feathersjs/tests": "^5.0.0-pre.15",
66
66
  "@types/mocha": "^9.0.0",
67
- "@types/node": "^16.10.4",
68
- "mocha": "^9.1.2",
67
+ "@types/node": "^16.11.6",
68
+ "mocha": "^9.1.3",
69
69
  "shx": "^0.3.3",
70
- "ts-node": "^10.3.0",
70
+ "ts-node": "^10.4.0",
71
71
  "typescript": "^4.4.4"
72
72
  },
73
- "gitHead": "9bb26276938aead1f3f582be5517a49a8ce00f09"
73
+ "gitHead": "8008bf4f8529a2a40b6a2f976c1f43ae13675693"
74
74
  }
@@ -1,6 +1,6 @@
1
1
  import Koa from 'koa';
2
2
  import { Server } from 'http';
3
- import { Application as FeathersApplication } from '@feathersjs/feathers';
3
+ import { Application as FeathersApplication, HookContext, Params } from '@feathersjs/feathers';
4
4
  import '@feathersjs/authentication';
5
5
 
6
6
  export type ApplicationAddons = {
@@ -13,3 +13,10 @@ export type Application<T = any, C = any> =
13
13
  export type FeathersKoaContext<A = Application> = Koa.Context & {
14
14
  app: A;
15
15
  };
16
+
17
+ declare module 'koa' {
18
+ interface ExtendableContext {
19
+ feathers?: Partial<Params>;
20
+ hook?: HookContext;
21
+ }
22
+ }
package/src/index.ts CHANGED
@@ -15,11 +15,11 @@ export * from './authenticate';
15
15
  export { rest } from './rest';
16
16
  export { Koa, bodyParser, errorHandler };
17
17
 
18
- export function koa (_app?: FeathersApplication): Application<any> {
18
+ export function koa (_app?: FeathersApplication): Application {
19
19
  const koaApp = new Koa();
20
20
 
21
21
  if (!_app) {
22
- return koaApp as unknown as Application<any>;
22
+ return koaApp as unknown as Application;
23
23
  }
24
24
 
25
25
  if (typeof _app.setup !== 'function') {
package/src/rest.ts CHANGED
@@ -10,7 +10,7 @@ const debug = createDebug('@feathersjs/koa:rest');
10
10
  export function rest () {
11
11
  return async (ctx: FeathersKoaContext, next: Next) => {
12
12
  const { app, request } = ctx;
13
- const { query: koaQuery, path, body: data, method: httpMethod } = request;
13
+ const { query: koaQuery, headers, path, body: data, method: httpMethod } = request;
14
14
  const query = { ...koaQuery };
15
15
  const methodOverride = request.headers[http.METHOD_HEADER] ?
16
16
  request.headers[http.METHOD_HEADER] as string : null;
@@ -33,10 +33,11 @@ export function rest () {
33
33
  const params = {
34
34
  ...ctx.feathers,
35
35
  query,
36
+ headers,
36
37
  route
37
38
  };
38
39
  const args = createArguments({ id, data, params });
39
- const hookContext = createContext(service, method);
40
+ const hookContext = createContext(service, method, { http: {} });
40
41
 
41
42
  ctx.hook = hookContext as any;
42
43