@feathersjs/transport-commons 5.0.0-pre.6 → 5.0.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.
Files changed (49) hide show
  1. package/CHANGELOG.md +198 -208
  2. package/LICENSE +1 -1
  3. package/README.md +2 -2
  4. package/client.d.ts +1 -1
  5. package/lib/channels/channel/base.d.ts +1 -3
  6. package/lib/channels/channel/base.js +2 -2
  7. package/lib/channels/channel/base.js.map +1 -1
  8. package/lib/channels/channel/combined.d.ts +2 -1
  9. package/lib/channels/channel/combined.js +2 -2
  10. package/lib/channels/channel/combined.js.map +1 -1
  11. package/lib/channels/index.d.ts +14 -12
  12. package/lib/channels/index.js +15 -10
  13. package/lib/channels/index.js.map +1 -1
  14. package/lib/channels/mixins.d.ts +3 -3
  15. package/lib/channels/mixins.js +3 -3
  16. package/lib/channels/mixins.js.map +1 -1
  17. package/lib/client.d.ts +2 -2
  18. package/lib/client.js +10 -12
  19. package/lib/client.js.map +1 -1
  20. package/lib/http.d.ts +14 -9
  21. package/lib/http.js +30 -20
  22. package/lib/http.js.map +1 -1
  23. package/lib/index.d.ts +3 -2
  24. package/lib/index.js +8 -2
  25. package/lib/index.js.map +1 -1
  26. package/lib/routing/index.d.ts +9 -4
  27. package/lib/routing/index.js +26 -16
  28. package/lib/routing/index.js.map +1 -1
  29. package/lib/routing/router.d.ts +4 -1
  30. package/lib/routing/router.js +37 -4
  31. package/lib/routing/router.js.map +1 -1
  32. package/lib/socket/index.d.ts +1 -2
  33. package/lib/socket/index.js +10 -10
  34. package/lib/socket/index.js.map +1 -1
  35. package/lib/socket/utils.d.ts +1 -2
  36. package/lib/socket/utils.js +43 -53
  37. package/lib/socket/utils.js.map +1 -1
  38. package/package.json +19 -14
  39. package/src/channels/channel/base.ts +28 -31
  40. package/src/channels/channel/combined.ts +32 -31
  41. package/src/channels/index.ts +67 -61
  42. package/src/channels/mixins.ts +49 -46
  43. package/src/client.ts +70 -70
  44. package/src/http.ts +55 -43
  45. package/src/index.ts +6 -5
  46. package/src/routing/index.ts +45 -28
  47. package/src/routing/router.ts +80 -42
  48. package/src/socket/index.ts +43 -44
  49. package/src/socket/utils.ts +71 -59
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -13,26 +17,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
17
  exports.routing = void 0;
14
18
  const router_1 = require("./router");
15
19
  __exportStar(require("./router"), exports);
20
+ const lookup = function (path) {
21
+ const result = this.routes.lookup(path);
22
+ if (result === null) {
23
+ return null;
24
+ }
25
+ const { params: colonParams, data: { service, params: dataParams } } = result;
26
+ const params = dataParams ? { ...dataParams, ...colonParams } : colonParams;
27
+ return { service, params };
28
+ };
16
29
  const routing = () => (app) => {
17
30
  if (typeof app.lookup === 'function') {
18
31
  return;
19
32
  }
20
- const routes = new router_1.Router();
21
- Object.assign(app, {
22
- routes,
23
- lookup(path) {
24
- const result = this.routes.lookup(path);
25
- if (result !== null) {
26
- const { params, data: service } = result;
27
- return { params, service };
28
- }
29
- return result;
30
- }
31
- });
33
+ const { unuse } = app;
34
+ app.routes = new router_1.Router();
35
+ app.lookup = lookup;
36
+ app.unuse = function (path) {
37
+ app.routes.remove(path);
38
+ app.routes.remove(`${path}/:__id`);
39
+ return unuse.call(this, path);
40
+ };
32
41
  // Add a mixin that registers a service on the router
33
- app.mixins.push((service, path) => {
34
- app.routes.insert(path, service);
35
- app.routes.insert(`${path}/:__id`, service);
42
+ app.mixins.push((service, path, options) => {
43
+ const { routeParams: params = {} } = options;
44
+ app.routes.insert(path, { service, params });
45
+ app.routes.insert(`${path}/:__id`, { service, params });
36
46
  });
37
47
  };
38
48
  exports.routing = routing;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,qCAAkC;AAclC,2CAAyB;AAElB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,GAAgB,EAAE,EAAE;IAChD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE;QACpC,OAAO;KACR;IAED,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;IAE5B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;QACjB,MAAM;QACN,MAAM,CAAqB,IAAY;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAExC,IAAI,MAAM,KAAK,IAAI,EAAE;gBACnB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;gBAEzC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;aAC5B;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;IAEH,qDAAqD;IACrD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAqB,EAAE,IAAY,EAAE,EAAE;QACtD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA3BW,QAAA,OAAO,WA2BlB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,qCAAiC;AAmBjC,2CAAwB;AAExB,MAAM,MAAM,GAAG,UAA6B,IAAY;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAEvC,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,EACJ,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EACtC,GAAG,MAAM,CAAA;IAEV,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAA;IAE3E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC5B,CAAC,CAAA;AAEM,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,GAAgB,EAAE,EAAE;IAChD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE;QACpC,OAAM;KACP;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;IAErB,GAAG,CAAC,MAAM,GAAG,IAAI,eAAM,EAAE,CAAA;IACzB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;IACnB,GAAG,CAAC,KAAK,GAAG,UAAU,IAAY;QAChC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAA;QAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,qDAAqD;IACrD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAwB,EAAE,IAAY,EAAE,OAAuB,EAAE,EAAE;QAClF,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;QAE5C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;QAC5C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAtBY,QAAA,OAAO,WAsBnB"}
@@ -15,13 +15,16 @@ export declare class RouteNode<T = any> {
15
15
  };
16
16
  placeholders: RouteNode[];
17
17
  constructor(name: string, depth: number);
18
+ get hasChildren(): boolean;
18
19
  insert(path: string[], data: T): RouteNode<T>;
20
+ remove(path: string[]): void;
19
21
  lookup(path: string[], info: LookupData): LookupResult<T> | null;
20
22
  }
21
- export declare class Router<T> {
23
+ export declare class Router<T = any> {
22
24
  root: RouteNode<T>;
23
25
  constructor(root?: RouteNode<T>);
24
26
  getPath(path: string): string[];
25
27
  insert(path: string, data: T): RouteNode<T>;
28
+ remove(path: string): void;
26
29
  lookup(path: string): LookupResult<T>;
27
30
  }
@@ -9,6 +9,9 @@ class RouteNode {
9
9
  this.children = {};
10
10
  this.placeholders = [];
11
11
  }
12
+ get hasChildren() {
13
+ return Object.keys(this.children).length !== 0 || this.placeholders.length !== 0;
14
+ }
12
15
  insert(path, data) {
13
16
  if (this.depth === path.length) {
14
17
  if (this.data !== undefined) {
@@ -22,7 +25,7 @@ class RouteNode {
22
25
  if (current.startsWith(':')) {
23
26
  // Insert a placeholder node like /messages/:id
24
27
  const placeholderName = current.substring(1);
25
- let placeholder = this.placeholders.find(p => p.name === placeholderName);
28
+ let placeholder = this.placeholders.find((p) => p.name === placeholderName);
26
29
  if (!placeholder) {
27
30
  placeholder = new RouteNode(placeholderName, nextDepth);
28
31
  this.placeholders.push(placeholder);
@@ -33,14 +36,41 @@ class RouteNode {
33
36
  this.children[current] = child;
34
37
  return child.insert(path, data);
35
38
  }
39
+ remove(path) {
40
+ if (path.length === this.depth) {
41
+ return;
42
+ }
43
+ const current = path[this.depth];
44
+ if (current.startsWith(':')) {
45
+ const placeholderName = current.substring(1);
46
+ const placeholder = this.placeholders.find((p) => p.name === placeholderName);
47
+ placeholder.remove(path);
48
+ this.placeholders = this.placeholders.filter((p) => p !== placeholder);
49
+ }
50
+ else if (this.children[current]) {
51
+ const child = this.children[current];
52
+ child.remove(path);
53
+ if (!child.hasChildren) {
54
+ delete this.children[current];
55
+ }
56
+ }
57
+ }
36
58
  lookup(path, info) {
37
59
  if (path.length === this.depth) {
38
- return this.data === undefined ? null : Object.assign(Object.assign({}, info), { data: this.data });
60
+ return this.data === undefined
61
+ ? null
62
+ : {
63
+ ...info,
64
+ data: this.data
65
+ };
39
66
  }
40
67
  const current = path[this.depth];
41
68
  const child = this.children[current];
42
69
  if (child) {
43
- return child.lookup(path, info);
70
+ const lookup = child.lookup(path, info);
71
+ if (lookup !== null) {
72
+ return lookup;
73
+ }
44
74
  }
45
75
  // This will return the first placeholder that matches early
46
76
  for (const placeholder of this.placeholders) {
@@ -59,11 +89,14 @@ class Router {
59
89
  this.root = root;
60
90
  }
61
91
  getPath(path) {
62
- return commons_1.stripSlashes(path).split('/');
92
+ return (0, commons_1.stripSlashes)(path).split('/');
63
93
  }
64
94
  insert(path, data) {
65
95
  return this.root.insert(this.getPath(path), data);
66
96
  }
97
+ remove(path) {
98
+ return this.root.remove(this.getPath(path));
99
+ }
67
100
  lookup(path) {
68
101
  if (typeof path !== 'string') {
69
102
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/routing/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/routing/router.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { Application } from '@feathersjs/feathers';
2
- import { RealTimeConnection } from '../channels/channel/base';
1
+ import { Application, RealTimeConnection } from '@feathersjs/feathers';
3
2
  export interface SocketOptions {
4
3
  done: Promise<any>;
5
4
  emit: string;
@@ -6,7 +6,7 @@ const commons_1 = require("@feathersjs/commons");
6
6
  const channels_1 = require("../channels");
7
7
  const routing_1 = require("../routing");
8
8
  const utils_1 = require("./utils");
9
- const debug = commons_1.createDebug('@feathersjs/transport-commons');
9
+ const debug = (0, commons_1.createDebug)('@feathersjs/transport-commons');
10
10
  function socket({ done, emit, socketMap, socketKey, getParams }) {
11
11
  return (app) => {
12
12
  const leaveChannels = (connection) => {
@@ -15,9 +15,9 @@ function socket({ done, emit, socketMap, socketKey, getParams }) {
15
15
  app.channel(app.channels).leave(connection);
16
16
  }
17
17
  };
18
- app.configure(channels_1.channels());
19
- app.configure(routing_1.routing());
20
- app.on('publish', utils_1.getDispatcher(emit, socketMap, socketKey));
18
+ app.configure((0, channels_1.channels)());
19
+ app.configure((0, routing_1.routing)());
20
+ app.on('publish', (0, utils_1.getDispatcher)(emit, socketMap, socketKey));
21
21
  app.on('disconnect', leaveChannels);
22
22
  app.on('logout', (_authResult, params) => {
23
23
  const { connection } = params;
@@ -26,23 +26,23 @@ function socket({ done, emit, socketMap, socketKey, getParams }) {
26
26
  }
27
27
  });
28
28
  // `connection` event
29
- done.then(provider => provider.on('connection', (connection) => app.emit('connection', getParams(connection))));
29
+ done.then((provider) => provider.on('connection', (connection) => app.emit('connection', getParams(connection))));
30
30
  // `socket.emit('methodName', 'serviceName', ...args)` handlers
31
- done.then(provider => provider.on('connection', (connection) => {
31
+ done.then((provider) => provider.on('connection', (connection) => {
32
32
  const methodHandlers = Object.keys(app.services).reduce((result, name) => {
33
- const { methods } = feathers_1.getServiceOptions(app.service(name));
34
- methods.forEach(method => {
33
+ const { methods } = (0, feathers_1.getServiceOptions)(app.service(name));
34
+ methods.forEach((method) => {
35
35
  if (!result[method]) {
36
36
  result[method] = (...args) => {
37
37
  const path = args.shift();
38
38
  debug(`Got '${method}' call for service '${path}'`);
39
- utils_1.runMethod(app, getParams(connection), path, method, args);
39
+ (0, utils_1.runMethod)(app, getParams(connection), path, method, args);
40
40
  };
41
41
  }
42
42
  });
43
43
  return result;
44
44
  }, {});
45
- Object.keys(methodHandlers).forEach(key => connection.on(key, methodHandlers[key]));
45
+ Object.keys(methodHandlers).forEach((key) => connection.on(key, methodHandlers[key]));
46
46
  }));
47
47
  };
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":";;;AAAA,mDAA8E;AAC9E,iDAAkD;AAClD,0CAAuC;AACvC,wCAAqC;AACrC,mCAAmD;AAGnD,MAAM,KAAK,GAAG,qBAAW,CAAC,+BAA+B,CAAC,CAAC;AAU3D,SAAgB,MAAM,CAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAiB;IACpF,OAAO,CAAC,GAAgB,EAAE,EAAE;QAC1B,MAAM,aAAa,GAAG,CAAC,UAA8B,EAAE,EAAE;YACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;YAEzB,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACnB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aAC7C;QACH,CAAC,CAAC;QAEF,GAAG,CAAC,SAAS,CAAC,mBAAQ,EAAE,CAAC,CAAC;QAC1B,GAAG,CAAC,SAAS,CAAC,iBAAO,EAAE,CAAC,CAAC;QAEzB,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,qBAAa,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7D,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QACpC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAgB,EAAE,MAAc,EAAE,EAAE;YACpD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YAE9B,IAAI,UAAU,EAAE;gBACd,aAAa,CAAC,UAAU,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,UAAe,EAAE,EAAE,CAClE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAC/C,CAAC;QAEF,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,UAAe,EAAE,EAAE;YAClE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBACvE,MAAM,EAAE,OAAO,EAAE,GAAG,4BAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEzD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;wBACnB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;4BAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;4BAE1B,KAAK,CAAC,QAAQ,MAAM,uBAAuB,IAAI,GAAG,CAAC,CAAC;4BACpD,iBAAS,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;wBAC5D,CAAC,CAAA;qBACF;gBACH,CAAC,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC;YAChB,CAAC,EAAE,EAAS,CAAC,CAAC;YAEd,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CACxC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CACxC,CAAC;QACJ,CAAC,CAAC,CAAC,CAAC;IACN,CAAC,CAAC;AACJ,CAAC;AApDD,wBAoDC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { HookContext, Application } from '@feathersjs/feathers';
1
+ import { HookContext, Application, RealTimeConnection } from '@feathersjs/feathers';
2
2
  import { CombinedChannel } from '../channels/channel/combined';
3
- import { RealTimeConnection } from '../channels/channel/base';
4
3
  export declare const DEFAULT_PARAMS_POSITION = 1;
5
4
  export declare const paramsPositions: {
6
5
  [key: string]: number;
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -17,7 +8,7 @@ const feathers_1 = require("@feathersjs/feathers");
17
8
  const errors_1 = require("@feathersjs/errors");
18
9
  const commons_1 = require("@feathersjs/commons");
19
10
  const isEqual_1 = __importDefault(require("lodash/isEqual"));
20
- const debug = commons_1.createDebug('@feathersjs/transport-commons');
11
+ const debug = (0, commons_1.createDebug)('@feathersjs/transport-commons');
21
12
  exports.DEFAULT_PARAMS_POSITION = 1;
22
13
  exports.paramsPositions = {
23
14
  find: 0,
@@ -28,7 +19,7 @@ function normalizeError(e) {
28
19
  const hasToJSON = typeof e.toJSON === 'function';
29
20
  const result = hasToJSON ? e.toJSON() : {};
30
21
  if (!hasToJSON) {
31
- Object.getOwnPropertyNames(e).forEach(key => {
22
+ Object.getOwnPropertyNames(e).forEach((key) => {
32
23
  result[key] = e[key];
33
24
  });
34
25
  }
@@ -42,7 +33,7 @@ exports.normalizeError = normalizeError;
42
33
  function getDispatcher(emit, socketMap, socketKey) {
43
34
  return function (event, channel, context, data) {
44
35
  debug(`Dispatching '${event}' to ${channel.length} connections`);
45
- channel.connections.forEach(connection => {
36
+ channel.connections.forEach((connection) => {
46
37
  // The reference between connection and socket is set in `app.setup`
47
38
  const socket = socketKey ? connection[socketKey] : socketMap.get(connection);
48
39
  if (socket) {
@@ -51,7 +42,7 @@ function getDispatcher(emit, socketMap, socketKey) {
51
42
  // If we are getting events from an array but try to dispatch individual data
52
43
  // try to get the individual item to dispatch from the correct index.
53
44
  if (!Array.isArray(data) && Array.isArray(context.result) && Array.isArray(result)) {
54
- result = context.result.find(resultData => isEqual_1.default(resultData, data));
45
+ result = context.result.find((resultData) => (0, isEqual_1.default)(resultData, data));
55
46
  }
56
47
  debug(`Dispatching '${eventName}' to Socket ${socket.id} with`, result);
57
48
  socket[emit](eventName, result);
@@ -60,48 +51,47 @@ function getDispatcher(emit, socketMap, socketKey) {
60
51
  };
61
52
  }
62
53
  exports.getDispatcher = getDispatcher;
63
- function runMethod(app, connection, path, method, args) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- const trace = `method '${method}' on service '${path}'`;
66
- const methodArgs = args.slice(0);
67
- const callback = typeof methodArgs[methodArgs.length - 1] === 'function'
68
- ? methodArgs.pop() : function () { };
69
- debug(`Running ${trace}`, connection, args);
70
- const handleError = (error) => {
71
- debug(`Error in ${trace}`, error);
72
- callback(normalizeError(error));
73
- };
74
- try {
75
- const lookup = app.lookup(path);
76
- // No valid service was found throw a NotFound error
77
- if (lookup === null) {
78
- throw new errors_1.NotFound(`Service '${path}' not found`);
79
- }
80
- const { service, params: route = {} } = lookup;
81
- const { methods } = feathers_1.getServiceOptions(service);
82
- // Only service methods are allowed
83
- if (!methods.includes(method)) {
84
- throw new errors_1.MethodNotAllowed(`Method '${method}' not allowed on service '${path}'`);
85
- }
86
- const position = exports.paramsPositions[method] !== undefined ? exports.paramsPositions[method] : exports.DEFAULT_PARAMS_POSITION;
87
- const query = methodArgs[position] || {};
88
- // `params` have to be re-mapped to the query and added with the route
89
- const params = Object.assign({ query, route, connection }, connection);
90
- // `params` is always the last parameter. Error if we got more arguments.
91
- if (methodArgs.length > (position + 1)) {
92
- throw new errors_1.BadRequest(`Too many arguments for '${method}' method`);
93
- }
94
- methodArgs[position] = params;
95
- const ctx = feathers_1.createContext(service, method);
96
- const returnedCtx = yield service[method](...methodArgs, ctx);
97
- const result = returnedCtx.dispatch || returnedCtx.result;
98
- debug(`Returned successfully ${trace}`, result);
99
- callback(null, result);
54
+ async function runMethod(app, connection, path, method, args) {
55
+ const trace = `method '${method}' on service '${path}'`;
56
+ const methodArgs = args.slice(0);
57
+ const callback =
58
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
59
+ typeof methodArgs[methodArgs.length - 1] === 'function' ? methodArgs.pop() : function () { };
60
+ debug(`Running ${trace}`, connection, args);
61
+ const handleError = (error) => {
62
+ debug(`Error in ${trace}`, error);
63
+ callback(normalizeError(error));
64
+ };
65
+ try {
66
+ const lookup = app.lookup(path);
67
+ // No valid service was found throw a NotFound error
68
+ if (lookup === null) {
69
+ throw new errors_1.NotFound(`Service '${path}' not found`);
70
+ }
71
+ const { service, params: route = {} } = lookup;
72
+ const { methods } = (0, feathers_1.getServiceOptions)(service);
73
+ // Only service methods are allowed
74
+ if (!methods.includes(method)) {
75
+ throw new errors_1.MethodNotAllowed(`Method '${method}' not allowed on service '${path}'`);
100
76
  }
101
- catch (error) {
102
- handleError(error);
77
+ const position = exports.paramsPositions[method] !== undefined ? exports.paramsPositions[method] : exports.DEFAULT_PARAMS_POSITION;
78
+ const query = Object.assign({}, methodArgs[position]);
79
+ // `params` have to be re-mapped to the query and added with the route
80
+ const params = Object.assign({ query, route, connection }, connection);
81
+ // `params` is always the last parameter. Error if we got more arguments.
82
+ if (methodArgs.length > position + 1) {
83
+ throw new errors_1.BadRequest(`Too many arguments for '${method}' method`);
103
84
  }
104
- });
85
+ methodArgs[position] = params;
86
+ const ctx = (0, feathers_1.createContext)(service, method);
87
+ const returnedCtx = await service[method](...methodArgs, ctx);
88
+ const result = returnedCtx.dispatch || returnedCtx.result;
89
+ debug(`Returned successfully ${trace}`, result);
90
+ callback(null, result);
91
+ }
92
+ catch (error) {
93
+ handleError(error);
94
+ }
105
95
  }
106
96
  exports.runMethod = runMethod;
107
97
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/socket/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/socket/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@feathersjs/transport-commons",
3
3
  "description": "Shared functionality for websocket providers",
4
- "version": "5.0.0-pre.6",
4
+ "version": "5.0.0",
5
5
  "homepage": "https://feathersjs.com",
6
6
  "main": "lib/",
7
7
  "types": "lib/",
@@ -16,7 +16,8 @@
16
16
  },
17
17
  "repository": {
18
18
  "type": "git",
19
- "url": "git://github.com/feathersjs/feathers.git"
19
+ "url": "git://github.com/feathersjs/feathers.git",
20
+ "directory": "packages/transport-commons"
20
21
  },
21
22
  "author": {
22
23
  "name": "Feathers contributors",
@@ -32,8 +33,9 @@
32
33
  },
33
34
  "scripts": {
34
35
  "prepublish": "npm run compile",
35
- "compile": "shx rm -rf lib/ && tsc",
36
- "test": "npm run compile && npm run mocha",
36
+ "pack": "npm pack --pack-destination ../generators/test/build",
37
+ "compile": "shx rm -rf lib/ && tsc && npm run pack",
38
+ "test": "npm run mocha",
37
39
  "mocha": "mocha --config ../../.mocharc.json --recursive test/**.test.ts test/**/*.test.ts"
38
40
  },
39
41
  "directories": {
@@ -52,18 +54,21 @@
52
54
  "*.js"
53
55
  ],
54
56
  "dependencies": {
55
- "@feathersjs/commons": "^5.0.0-pre.6",
56
- "@feathersjs/errors": "^5.0.0-pre.6",
57
+ "@feathersjs/commons": "^5.0.0",
58
+ "@feathersjs/errors": "^5.0.0",
59
+ "@feathersjs/feathers": "^5.0.0",
60
+ "encodeurl": "^1.0.2",
57
61
  "lodash": "^4.17.21"
58
62
  },
59
63
  "devDependencies": {
60
- "@feathersjs/feathers": "^5.0.0-pre.6",
61
- "@types/mocha": "^9.0.0",
62
- "@types/node": "^16.4.13",
63
- "mocha": "^9.0.3",
64
- "shx": "^0.3.3",
65
- "ts-node": "^10.1.0",
66
- "typescript": "^4.3.5"
64
+ "@types/encodeurl": "^1.0.0",
65
+ "@types/lodash": "^4.14.191",
66
+ "@types/mocha": "^10.0.1",
67
+ "@types/node": "^18.14.1",
68
+ "mocha": "^10.2.0",
69
+ "shx": "^0.3.4",
70
+ "ts-node": "^10.9.1",
71
+ "typescript": "^4.9.5"
67
72
  },
68
- "gitHead": "738f84f91fb72d5e10a0bf57b58db75b0b03d3ff"
73
+ "gitHead": "90caf635aec850550b9d37bea2762af959d9e8d5"
69
74
  }
@@ -1,61 +1,58 @@
1
- import { EventEmitter } from 'events';
2
-
3
- export interface RealTimeConnection {
4
- [key: string]: any;
5
- }
1
+ import { EventEmitter } from 'events'
2
+ import { RealTimeConnection } from '@feathersjs/feathers'
6
3
 
7
4
  export class Channel extends EventEmitter {
8
- connections: RealTimeConnection[];
9
- data: any;
5
+ connections: RealTimeConnection[]
6
+ data: any
10
7
 
11
- constructor (connections: RealTimeConnection[] = [], data: any = null) {
12
- super();
8
+ constructor(connections: RealTimeConnection[] = [], data: any = null) {
9
+ super()
13
10
 
14
- this.connections = connections;
15
- this.data = data;
11
+ this.connections = connections
12
+ this.data = data
16
13
  }
17
14
 
18
- get length () {
19
- return this.connections.length;
15
+ get length() {
16
+ return this.connections.length
20
17
  }
21
18
 
22
- leave (...connections: RealTimeConnection[]) {
23
- connections.forEach(current => {
19
+ leave(...connections: RealTimeConnection[]) {
20
+ connections.forEach((current) => {
24
21
  if (typeof current === 'function') {
25
- const callback = current as (connection: RealTimeConnection) => boolean;
22
+ const callback = current as (connection: RealTimeConnection) => boolean
26
23
 
27
- this.leave(...this.connections.filter(callback));
24
+ this.leave(...this.connections.filter(callback))
28
25
  } else {
29
- const index = this.connections.indexOf(current);
26
+ const index = this.connections.indexOf(current)
30
27
 
31
28
  if (index !== -1) {
32
- this.connections.splice(index, 1);
29
+ this.connections.splice(index, 1)
33
30
  }
34
31
  }
35
- });
32
+ })
36
33
 
37
34
  if (this.length === 0) {
38
- this.emit('empty');
35
+ this.emit('empty')
39
36
  }
40
37
 
41
- return this;
38
+ return this
42
39
  }
43
40
 
44
- join (...connections: RealTimeConnection[]) {
45
- connections.forEach(connection => {
41
+ join(...connections: RealTimeConnection[]) {
42
+ connections.forEach((connection) => {
46
43
  if (connection && this.connections.indexOf(connection) === -1) {
47
- this.connections.push(connection);
44
+ this.connections.push(connection)
48
45
  }
49
- });
46
+ })
50
47
 
51
- return this;
48
+ return this
52
49
  }
53
50
 
54
- filter (fn: (connection: RealTimeConnection) => boolean) {
55
- return new Channel(this.connections.filter(fn), this.data);
51
+ filter(fn: (connection: RealTimeConnection) => boolean) {
52
+ return new Channel(this.connections.filter(fn), this.data)
56
53
  }
57
54
 
58
- send (data: any) {
59
- return new Channel(this.connections, data);
55
+ send(data: any) {
56
+ return new Channel(this.connections, data)
60
57
  }
61
58
  }