@feathersjs/transport-commons 5.0.0-pre.1 → 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.
Files changed (51) hide show
  1. package/CHANGELOG.md +169 -0
  2. package/LICENSE +1 -1
  3. package/README.md +1 -1
  4. package/client.d.ts +1 -0
  5. package/client.js +1 -0
  6. package/lib/channels/channel/base.js +1 -1
  7. package/lib/channels/channel/base.js.map +1 -1
  8. package/lib/channels/channel/combined.js +1 -2
  9. package/lib/channels/channel/combined.js.map +1 -1
  10. package/lib/channels/index.d.ts +14 -12
  11. package/lib/channels/index.js +9 -11
  12. package/lib/channels/index.js.map +1 -1
  13. package/lib/channels/mixins.d.ts +2 -2
  14. package/lib/channels/mixins.js +5 -7
  15. package/lib/channels/mixins.js.map +1 -1
  16. package/lib/client.d.ts +11 -9
  17. package/lib/client.js +11 -6
  18. package/lib/client.js.map +1 -1
  19. package/lib/http.d.ts +28 -0
  20. package/lib/http.js +62 -0
  21. package/lib/http.js.map +1 -0
  22. package/lib/index.d.ts +1 -0
  23. package/lib/index.js +21 -1
  24. package/lib/index.js.map +1 -1
  25. package/lib/routing/index.d.ts +21 -0
  26. package/lib/routing/index.js +39 -0
  27. package/lib/routing/index.js.map +1 -0
  28. package/lib/routing/router.d.ts +27 -0
  29. package/lib/routing/router.js +78 -0
  30. package/lib/routing/router.js.map +1 -0
  31. package/lib/socket/index.js +19 -26
  32. package/lib/socket/index.js.map +1 -1
  33. package/lib/socket/utils.d.ts +2 -1
  34. package/lib/socket/utils.js +25 -30
  35. package/lib/socket/utils.js.map +1 -1
  36. package/package.json +13 -15
  37. package/src/channels/channel/base.ts +1 -1
  38. package/src/channels/channel/combined.ts +1 -2
  39. package/src/channels/index.ts +21 -19
  40. package/src/channels/mixins.ts +7 -6
  41. package/src/client.ts +27 -16
  42. package/src/http.ts +76 -0
  43. package/src/index.ts +1 -0
  44. package/src/routing/index.ts +50 -0
  45. package/src/routing/router.ts +98 -0
  46. package/src/socket/index.ts +19 -21
  47. package/src/socket/utils.ts +27 -31
  48. package/lib/routing.d.ts +0 -10
  49. package/lib/routing.js +0 -37
  50. package/lib/routing.js.map +0 -1
  51. package/src/routing.ts +0 -42
package/CHANGELOG.md CHANGED
@@ -3,6 +3,175 @@
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
+ * **transport-commons:** Ability to register routes with custom params ([#2482](https://github.com/feathersjs/feathers/issues/2482)) ([497990a](https://github.com/feathersjs/feathers/commit/497990ae4a980e5a52a1f0f932db12cd0e6e254a))
18
+
19
+
20
+
21
+
22
+
23
+ # [5.0.0-pre.14](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.13...v5.0.0-pre.14) (2021-10-13)
24
+
25
+ **Note:** Version bump only for package @feathersjs/transport-commons
26
+
27
+
28
+
29
+
30
+
31
+ # [5.0.0-pre.13](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.12...v5.0.0-pre.13) (2021-10-13)
32
+
33
+ **Note:** Version bump only for package @feathersjs/transport-commons
34
+
35
+
36
+
37
+
38
+
39
+ # [5.0.0-pre.12](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.11...v5.0.0-pre.12) (2021-10-12)
40
+
41
+ **Note:** Version bump only for package @feathersjs/transport-commons
42
+
43
+
44
+
45
+
46
+
47
+ # [5.0.0-pre.11](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.10...v5.0.0-pre.11) (2021-10-06)
48
+
49
+ **Note:** Version bump only for package @feathersjs/transport-commons
50
+
51
+
52
+
53
+
54
+
55
+ # [5.0.0-pre.10](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.9...v5.0.0-pre.10) (2021-09-19)
56
+
57
+ **Note:** Version bump only for package @feathersjs/transport-commons
58
+
59
+
60
+
61
+
62
+
63
+ # [5.0.0-pre.9](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.8...v5.0.0-pre.9) (2021-08-09)
64
+
65
+ **Note:** Version bump only for package @feathersjs/transport-commons
66
+
67
+
68
+
69
+
70
+
71
+ # [5.0.0-pre.8](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.7...v5.0.0-pre.8) (2021-08-09)
72
+
73
+ **Note:** Version bump only for package @feathersjs/transport-commons
74
+
75
+
76
+
77
+
78
+
79
+ # [5.0.0-pre.7](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.6...v5.0.0-pre.7) (2021-08-09)
80
+
81
+ **Note:** Version bump only for package @feathersjs/transport-commons
82
+
83
+
84
+
85
+
86
+
87
+ # [5.0.0-pre.6](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.5...v5.0.0-pre.6) (2021-08-08)
88
+
89
+ **Note:** Version bump only for package @feathersjs/transport-commons
90
+
91
+
92
+
93
+
94
+
95
+ # [5.0.0-pre.5](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.4...v5.0.0-pre.5) (2021-06-23)
96
+
97
+
98
+ ### Bug Fixes
99
+
100
+ * **koa:** Use extended query parser for compatibility ([#2397](https://github.com/feathersjs/feathers/issues/2397)) ([b2944ba](https://github.com/feathersjs/feathers/commit/b2944bac3ec6d5ecc80dc518cd4e58093692db74))
101
+
102
+
103
+
104
+
105
+
106
+ # [5.0.0-pre.4](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.3...v5.0.0-pre.4) (2021-05-13)
107
+
108
+
109
+ ### Bug Fixes
110
+
111
+ * **transport-commons:** Fix route placeholder registration and improve radix router performance ([#2336](https://github.com/feathersjs/feathers/issues/2336)) ([4d84dfd](https://github.com/feathersjs/feathers/commit/4d84dfd092ce0510312e975d5cd57e04973fb311))
112
+
113
+
114
+ ### Features
115
+
116
+ * **koa:** KoaJS transport adapter ([#2315](https://github.com/feathersjs/feathers/issues/2315)) ([2554b57](https://github.com/feathersjs/feathers/commit/2554b57cf05731df58feeba9c12faab18e442107))
117
+
118
+
119
+
120
+
121
+
122
+ # [5.0.0-pre.3](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.2...v5.0.0-pre.3) (2021-04-21)
123
+
124
+
125
+ ### Bug Fixes
126
+
127
+ * **typescript:** Improve TypeScript backwards compatibility ([#2310](https://github.com/feathersjs/feathers/issues/2310)) ([f33be73](https://github.com/feathersjs/feathers/commit/f33be73fc46a533efb15df9aab0658e3240d3897))
128
+
129
+
130
+ ### Features
131
+
132
+ * **dependencies:** Remove direct debug dependency ([#2296](https://github.com/feathersjs/feathers/issues/2296)) ([501d416](https://github.com/feathersjs/feathers/commit/501d4164d30c6a126906dc640cdfdc82207ba34a))
133
+
134
+
135
+
136
+
137
+
138
+ # [5.0.0-pre.2](https://github.com/feathersjs/feathers/compare/v5.0.0-beta.1...v5.0.0-pre.2) (2021-04-06)
139
+
140
+ **Note:** Version bump only for package @feathersjs/transport-commons
141
+
142
+
143
+
144
+
145
+
146
+ # [5.0.0-beta.1](https://github.com/feathersjs/feathers/compare/v5.0.0-beta.0...v5.0.0-beta.1) (2021-04-03)
147
+
148
+ **Note:** Version bump only for package @feathersjs/transport-commons
149
+
150
+
151
+
152
+
153
+
154
+ # [5.0.0-beta.0](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.1...v5.0.0-beta.0) (2021-03-28)
155
+
156
+
157
+ ### Bug Fixes
158
+
159
+ * **transport-commons:** Do not error when adding an undefined connection to a channel ([#2268](https://github.com/feathersjs/feathers/issues/2268)) ([28114c4](https://github.com/feathersjs/feathers/commit/28114c495d6564868bb3ffbf619bf80b774dce4b))
160
+ * Update Grant usage and other dependencies ([#2264](https://github.com/feathersjs/feathers/issues/2264)) ([7b0f8fa](https://github.com/feathersjs/feathers/commit/7b0f8fad252419ed0ad0bf259cdf3104d322ab60))
161
+ * **socketio-client:** Fix client transport-commons reference ([#2164](https://github.com/feathersjs/feathers/issues/2164)) ([3a42c54](https://github.com/feathersjs/feathers/commit/3a42c544058456b19c7e21827226541bfa6ad621))
162
+
163
+
164
+ ### Features
165
+
166
+ * **core:** Public custom service methods ([#2270](https://github.com/feathersjs/feathers/issues/2270)) ([e65abfb](https://github.com/feathersjs/feathers/commit/e65abfb5388df6c19a11c565cf1076a29f32668d))
167
+ * Application service types default to any ([#1566](https://github.com/feathersjs/feathers/issues/1566)) ([d93ba9a](https://github.com/feathersjs/feathers/commit/d93ba9a17edd20d3397bb00f4f6e82e804e42ed6))
168
+ * Feathers v5 core refactoring and features ([#2255](https://github.com/feathersjs/feathers/issues/2255)) ([2dafb7c](https://github.com/feathersjs/feathers/commit/2dafb7ce14ba57406aeec13d10ca45b1e709bee9))
169
+ * **transport-commons:** New built-in high performance radix router ([#2177](https://github.com/feathersjs/feathers/issues/2177)) ([6d18065](https://github.com/feathersjs/feathers/commit/6d180651b4eb40289ecea3df3575f207aa6c5d1f))
170
+
171
+
172
+
173
+
174
+
6
175
  # [5.0.0-pre.1](https://github.com/feathersjs/feathers/compare/v4.5.11...v5.0.0-pre.1) (2020-12-17)
7
176
 
8
177
 
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2020 Feathers
3
+ Copyright (c) 2021 Feathers
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -8,6 +8,6 @@
8
8
 
9
9
  ## License
10
10
 
11
- Copyright (c) 2019 [Feathers contributors](https://github.com/feathersjs/client/graphs/contributors)
11
+ Copyright (c) 2021 [Feathers contributors](https://github.com/feathersjs/feathers/graphs/contributors)
12
12
 
13
13
  Licensed under the [MIT license](LICENSE).
package/client.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './lib/client';
package/client.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./lib/client');
@@ -31,7 +31,7 @@ class Channel extends events_1.EventEmitter {
31
31
  }
32
32
  join(...connections) {
33
33
  connections.forEach(connection => {
34
- if (this.connections.indexOf(connection) === -1) {
34
+ if (connection && this.connections.indexOf(connection) === -1) {
35
35
  this.connections.push(connection);
36
36
  }
37
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/channels/channel/base.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAMtC,MAAa,OAAQ,SAAQ,qBAAY;IAIvC,YAAa,cAAoC,EAAE,EAAE,OAAY,IAAI;QACnE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,KAAK,CAAE,GAAG,WAAiC;QACzC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC5B,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;gBACjC,MAAM,QAAQ,GAAG,OAAsD,CAAC;gBAExE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;aAClD;iBAAM;gBACL,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEhD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBAChB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACnC;aACF;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACpB;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAE,GAAG,WAAiC;QACxC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAE,EAA+C;QACrD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAE,IAAS;QACb,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF;AAtDD,0BAsDC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/channels/channel/base.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAMtC,MAAa,OAAQ,SAAQ,qBAAY;IAIvC,YAAa,cAAoC,EAAE,EAAE,OAAY,IAAI;QACnE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,KAAK,CAAE,GAAG,WAAiC;QACzC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC5B,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;gBACjC,MAAM,QAAQ,GAAG,OAAsD,CAAC;gBAExE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;aAClD;iBAAM;gBACL,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEhD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBAChB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACnC;aACF;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACpB;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAE,GAAG,WAAiC;QACxC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC/B,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC7D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAE,EAA+C;QACrD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAE,IAAS;QACb,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF;AAtDD,0BAsDC"}
@@ -36,8 +36,7 @@ class CombinedChannel extends base_1.Channel {
36
36
  return this.mappings.get(connection);
37
37
  }
38
38
  callChildren(method, connections) {
39
- // @ts-ignore
40
- this.children.forEach(child => child[method](...connections));
39
+ this.children.forEach((child) => child[method](...connections));
41
40
  this.refresh();
42
41
  return this;
43
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"combined.js","sourceRoot":"","sources":["../../../src/channels/channel/combined.ts"],"names":[],"mappings":";;;AAAA,iCAAqD;AAErD,SAAS,kBAAkB,CAAE,QAAmB;IAC9C,MAAM,QAAQ,GAAG,IAAI,OAAO,EAA2B,CAAC;IACxD,MAAM,WAAW,GAAyB,EAAE,CAAC;IAE7C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBAC7B,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC7B,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aACxC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED,MAAa,eAAgB,SAAQ,cAAO;IAI1C,YAAa,QAAmB,EAAE,OAAY,IAAI;QAChD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAE/D,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAE,GAAG,WAAiC;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAE,GAAG,WAAiC;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAE,UAA8B;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAEO,YAAY,CAAE,MAAc,EAAE,WAAiC;QACrE,aAAa;QACb,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAtCD,0CAsCC"}
1
+ {"version":3,"file":"combined.js","sourceRoot":"","sources":["../../../src/channels/channel/combined.ts"],"names":[],"mappings":";;;AAAA,iCAAqD;AAErD,SAAS,kBAAkB,CAAE,QAAmB;IAC9C,MAAM,QAAQ,GAAG,IAAI,OAAO,EAA2B,CAAC;IACxD,MAAM,WAAW,GAAyB,EAAE,CAAC;IAE7C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBAC7B,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC7B,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aACxC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED,MAAa,eAAgB,SAAQ,cAAO;IAI1C,YAAa,QAAmB,EAAE,OAAY,IAAI;QAChD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAE/D,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAE,GAAG,WAAiC;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAE,GAAG,WAAiC;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAE,UAA8B;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAEO,YAAY,CAAE,MAAc,EAAE,WAAiC;QACrE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AArCD,0CAqCC"}
@@ -1,21 +1,23 @@
1
+ /// <reference types="node" />
2
+ import { Application } from '@feathersjs/feathers';
1
3
  import { Channel, RealTimeConnection } from './channel/base';
2
4
  import { keys, Event, Publisher } from './mixins';
3
- import { Application } from '@feathersjs/feathers';
5
+ import EventEmitter from 'events';
4
6
  declare module '@feathersjs/feathers/lib/declarations' {
5
- interface ServiceAddons<T> {
6
- publish(publisher: Publisher<T>): this;
7
- publish(event: Event, publisher: Publisher<T>): this;
8
- registerPublisher(publisher: Publisher<T>): this;
9
- registerPublisher(event: Event, publisher: Publisher<T>): this;
7
+ interface ServiceAddons<A, S> extends EventEmitter {
8
+ publish(publisher: Publisher<ServiceGenericType<S>, A, this>): this;
9
+ publish(event: Event, publisher: Publisher<ServiceGenericType<S>, A, this>): this;
10
+ registerPublisher(publisher: Publisher<ServiceGenericType<S>, A, this>): this;
11
+ registerPublisher(event: Event, publisher: Publisher<ServiceGenericType<S>, A, this>): this;
10
12
  }
11
- interface Application<ServiceTypes = {}> {
13
+ interface Application<Services, Settings> {
12
14
  channels: string[];
13
- channel(name: string[]): Channel;
15
+ channel(name: string | string[]): Channel;
14
16
  channel(...names: string[]): Channel;
15
- publish<T>(publisher: Publisher<T>): this;
16
- publish<T>(event: Event, publisher: Publisher<T>): this;
17
- registerPublisher<T>(publisher: Publisher<T>): this;
18
- registerPublisher<T>(event: Event, publisher: Publisher<T>): this;
17
+ publish<T>(publisher: Publisher<T, this>): this;
18
+ publish<T>(event: Event, publisher: Publisher<T, this>): this;
19
+ registerPublisher<T>(publisher: Publisher<T, this>): this;
20
+ registerPublisher<T>(event: Event, publisher: Publisher<T, this>): this;
19
21
  }
20
22
  interface Params {
21
23
  connection?: RealTimeConnection;
@@ -1,34 +1,32 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.channels = exports.keys = void 0;
7
- const debug_1 = __importDefault(require("debug"));
4
+ const feathers_1 = require("@feathersjs/feathers");
5
+ const commons_1 = require("@feathersjs/commons");
8
6
  const lodash_1 = require("lodash");
9
7
  const combined_1 = require("./channel/combined");
10
8
  const mixins_1 = require("./mixins");
11
9
  Object.defineProperty(exports, "keys", { enumerable: true, get: function () { return mixins_1.keys; } });
12
- const debug = debug_1.default('@feathersjs/transport-commons/channels');
10
+ const debug = (0, commons_1.createDebug)('@feathersjs/transport-commons/channels');
13
11
  const { CHANNELS } = mixins_1.keys;
14
12
  function channels() {
15
13
  return (app) => {
16
14
  if (typeof app.channel === 'function' && typeof app.publish === 'function') {
17
15
  return;
18
16
  }
19
- Object.assign(app, mixins_1.channelMixin(), mixins_1.publishMixin());
17
+ Object.assign(app, (0, mixins_1.channelMixin)(), (0, mixins_1.publishMixin)());
20
18
  Object.defineProperty(app, 'channels', {
21
19
  get() {
22
20
  return Object.keys(this[CHANNELS]);
23
21
  }
24
22
  });
25
23
  app.mixins.push((service, path) => {
26
- if (typeof service.publish === 'function' || !service._serviceEvents) {
24
+ const { serviceEvents } = (0, feathers_1.getServiceOptions)(service);
25
+ if (typeof service.publish === 'function') {
27
26
  return;
28
27
  }
29
- Object.assign(service, mixins_1.publishMixin());
30
- // @ts-ignore
31
- service._serviceEvents.forEach((event) => {
28
+ Object.assign(service, (0, mixins_1.publishMixin)());
29
+ serviceEvents.forEach((event) => {
32
30
  service.on(event, function (data, hook) {
33
31
  if (!hook) {
34
32
  // Fake hook for custom events
@@ -56,7 +54,7 @@ function channels() {
56
54
  if (!result) {
57
55
  return;
58
56
  }
59
- const results = (Array.isArray(result) ? lodash_1.compact(lodash_1.flattenDeep(result)) : [result]);
57
+ const results = (Array.isArray(result) ? (0, lodash_1.compact)((0, lodash_1.flattenDeep)(result)) : [result]);
60
58
  const channel = new combined_1.CombinedChannel(results);
61
59
  if (channel && channel.length > 0) {
62
60
  app.emit('publish', event, channel, hook, data);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/channels/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,mCAAoD;AAEpD,iDAAqD;AACrD,qCAA4F;AAiCnF,qFAjC4B,aAAI,OAiC5B;AA9Bb,MAAM,KAAK,GAAG,eAAK,CAAC,wCAAwC,CAAC,CAAC;AAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAI,CAAC;AA+B1B,SAAgB,QAAQ;IACtB,OAAO,CAAC,GAAgB,EAAE,EAAE;QAC1B,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE;YAC1E,OAAO;SACR;QAED,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,qBAAY,EAAE,EAAE,qBAAY,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE;YACrC,GAAG;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrC,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAqB,EAAE,IAAY,EAAE,EAAE;YACtD,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBACpE,OAAO;aACR;YAED,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAY,EAAE,CAAC,CAAC;YAEvC,aAAa;YACb,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;gBAC/C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,IAAI;oBACpC,IAAI,CAAC,IAAI,EAAE;wBACT,8BAA8B;wBAC9B,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;qBAC7C;oBAED,KAAK,CAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE5C,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,KAAK,aAAa,EAAE,KAAK,CAAC,CAAC;oBAC5F,MAAM,iBAAiB,GAAI,OAAmC,CAAC,aAAI,CAAC,UAAU,CAAC,CAAC;oBAChF,MAAM,aAAa,GAAI,GAA+B,CAAC,aAAI,CAAC,UAAU,CAAC,CAAC;oBACxE,8DAA8D;oBAC9D,8BAA8B;oBAC9B,MAAM,SAAS,GAAG;oBAChB,4CAA4C;oBAC5C,iBAAiB,CAAC,KAAK,CAAC;wBACxB,sCAAsC;wBACtC,iBAAiB,CAAC,aAAI,CAAC,UAAU,CAAC;wBAClC,wCAAwC;wBACxC,aAAa,CAAC,KAAK,CAAC;wBACpB,kCAAkC;wBAClC,aAAa,CAAC,aAAI,CAAC,UAAU,CAAC;wBAC9B,kBAAkB;wBAClB,aAAI,CACL,CAAC;oBAEF,IAAI;wBACF,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;4BAC1D,IAAI,CAAC,MAAM,EAAE;gCACX,OAAO;6BACR;4BAED,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAO,CAAC,oBAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAc,CAAC,CAAC;4BAC/F,MAAM,OAAO,GAAG,IAAI,0BAAe,CAAC,OAAO,CAAC,CAAC;4BAE7C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gCACjC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;6BACjD;iCAAM;gCACL,KAAK,CAAC,8BAA8B,CAAC,CAAC;6BACvC;wBACH,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;qBACpB;oBAAC,OAAO,KAAK,EAAE;wBACd,QAAQ,CAAC,KAAK,CAAC,CAAC;qBACjB;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAtED,4BAsEC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/channels/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
+ import { Application, HookContext } from '@feathersjs/feathers';
1
2
  import { Channel } from './channel/base';
2
- import { HookContext } from '@feathersjs/feathers';
3
3
  declare const PUBLISHERS: unique symbol;
4
4
  declare const CHANNELS: unique symbol;
5
5
  declare const ALL_EVENTS: unique symbol;
@@ -16,7 +16,7 @@ export interface ChannelMixin {
16
16
  }
17
17
  export declare function channelMixin(): ChannelMixin;
18
18
  export declare type Event = string | (typeof ALL_EVENTS);
19
- export declare type Publisher<T = any> = (data: T, context: HookContext<T>) => Channel | Channel[] | void | Promise<Channel | Channel[] | void>;
19
+ export declare type Publisher<T = any, A = Application, S = any> = (data: T, context: HookContext<A, S>) => Channel | Channel[] | void | Promise<Channel | Channel[] | void>;
20
20
  export interface PublishMixin<T = any> {
21
21
  [PUBLISHERS]: {
22
22
  [ALL_EVENTS]?: Publisher<T>;
@@ -1,14 +1,12 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.publishMixin = exports.channelMixin = exports.keys = void 0;
7
4
  /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */
8
- const debug_1 = __importDefault(require("debug"));
5
+ const feathers_1 = require("@feathersjs/feathers");
6
+ const commons_1 = require("@feathersjs/commons");
9
7
  const base_1 = require("./channel/base");
10
8
  const combined_1 = require("./channel/combined");
11
- const debug = debug_1.default('@feathersjs/transport-commons:channels/mixins');
9
+ const debug = (0, commons_1.createDebug)('@feathersjs/transport-commons:channels/mixins');
12
10
  const PUBLISHERS = Symbol('@feathersjs/transport-commons/publishers');
13
11
  const CHANNELS = Symbol('@feathersjs/transport-commons/channels');
14
12
  const ALL_EVENTS = Symbol('@feathersjs/transport-commons/all-events');
@@ -59,8 +57,8 @@ function publishMixin() {
59
57
  publisher = event;
60
58
  event = ALL_EVENTS;
61
59
  }
62
- // @ts-ignore
63
- if (this._serviceEvents && event !== ALL_EVENTS && this._serviceEvents.indexOf(event) === -1) {
60
+ const { serviceEvents } = (0, feathers_1.getServiceOptions)(this);
61
+ if (event !== ALL_EVENTS && !serviceEvents.includes(event)) {
64
62
  throw new Error(`'${event.toString()}' is not a valid service event`);
65
63
  }
66
64
  const publishers = this[PUBLISHERS];
@@ -1 +1 @@
1
- {"version":3,"file":"mixins.js","sourceRoot":"","sources":["../../src/channels/mixins.ts"],"names":[],"mappings":";;;;;;AAAA,qEAAqE;AACrE,kDAA0B;AAC1B,yCAAyC;AACzC,iDAAqD;AAGrD,MAAM,KAAK,GAAG,eAAK,CAAC,+CAA+C,CAAC,CAAC;AACrE,MAAM,UAAU,GAAG,MAAM,CAAC,0CAA0C,CAAC,CAAC;AACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,wCAAwC,CAAC,CAAC;AAClE,MAAM,UAAU,GAAG,MAAM,CAAC,0CAA0C,CAAC,CAAC;AAEzD,QAAA,IAAI,GAAG;IAClB,UAAU,EAAE,UAA+B;IAC3C,QAAQ,EAAE,QAA2B;IACrC,UAAU,EAAE,UAA+B;CAC5C,CAAC;AAOF,SAAgB,YAAY;IAC1B,MAAM,KAAK,GAAiB;QAC1B,CAAC,QAAQ,CAAC,EAAE,EAAE;QAEd,OAAO,CAAE,GAAG,KAAe;YACzB,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAEnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAChE;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,MAAM,CAAE,IAAI,CAAE,GAAG,KAAK,CAAC;gBAEvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACvB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;iBAC9B;gBAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE;oBACzB,MAAM,OAAO,GAAG,IAAI,cAAO,EAAE,CAAC;oBAE9B,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;wBACzB,OAAO,CAAC,kBAAkB,EAAE,CAAC;wBAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;iBAChC;gBAED,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;aAC7B;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAEvD,OAAO,IAAI,0BAAe,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC;AAvCD,oCAuCC;AAYD,SAAgB,YAAY;IAC1B,MAAM,MAAM,GAAiB;QAC3B,CAAC,UAAU,CAAC,EAAE,EAAE;QAEhB,OAAO,CAAE,GAAG,IAAI;YACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,iBAAiB,CAAE,KAAK,EAAE,SAAS;YACjC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAEtC,IAAI,CAAC,SAAS,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;gBAC7C,SAAS,GAAG,KAAK,CAAC;gBAClB,KAAK,GAAG,UAAU,CAAC;aACpB;YAED,aAAa;YACb,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC5F,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,gCAAgC,CAAC,CAAC;aACvE;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YAEpC,UAAU,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;YAE9B,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AA9BD,oCA8BC"}
1
+ {"version":3,"file":"mixins.js","sourceRoot":"","sources":["../../src/channels/mixins.ts"],"names":[],"mappings":"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"}
package/lib/client.d.ts CHANGED
@@ -1,23 +1,25 @@
1
- import { Params } from '@feathersjs/feathers';
1
+ import { Id, NullableId, Params, ServiceInterface } from '@feathersjs/feathers';
2
2
  interface ServiceOptions {
3
3
  name: string;
4
4
  connection: any;
5
5
  method: string;
6
6
  events?: string[];
7
7
  }
8
- export declare class Service {
8
+ export declare type SocketService<T = any, D = Partial<any>> = Service<T, D>;
9
+ export declare class Service<T = any, D = Partial<T>> implements ServiceInterface<T, D> {
9
10
  events: string[];
10
11
  path: string;
11
12
  connection: any;
12
13
  method: string;
13
14
  constructor(options: ServiceOptions);
14
- send(method: string, ...args: any[]): Promise<unknown>;
15
- find(params?: Params): Promise<unknown>;
16
- get(id: number | string, params?: Params): Promise<unknown>;
17
- create(data: any, params?: Params): Promise<unknown>;
18
- update(id: number | string, data: any, params?: Params): Promise<unknown>;
19
- patch(id: number | string, data: any, params?: Params): Promise<unknown>;
20
- remove(id: number | string, params?: Params): Promise<unknown>;
15
+ send<X = any>(method: string, ...args: any[]): Promise<X>;
16
+ methods(this: any, ...names: string[]): any;
17
+ find(params?: Params): Promise<T | T[]>;
18
+ get(id: Id, params?: Params): Promise<T>;
19
+ create(data: any, params?: Params): Promise<T>;
20
+ update(id: Id, data: any, params?: Params): Promise<T>;
21
+ patch(id: NullableId, data: any, params?: Params): Promise<T | T[]>;
22
+ remove(id: NullableId, params?: Params): Promise<T | T[]>;
21
23
  off(name: string, ...args: any[]): any;
22
24
  }
23
25
  export {};
package/lib/client.js CHANGED
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.Service = void 0;
7
- const debug_1 = __importDefault(require("debug"));
8
4
  const errors_1 = require("@feathersjs/errors");
9
- const debug = debug_1.default('@feathersjs/transport-commons/client');
5
+ const commons_1 = require("@feathersjs/commons");
6
+ const debug = (0, commons_1.createDebug)('@feathersjs/transport-commons/client');
10
7
  const namespacedEmitterMethods = [
11
8
  'addListener',
12
9
  'emit',
@@ -59,12 +56,20 @@ class Service {
59
56
  return new Promise((resolve, reject) => {
60
57
  args.unshift(method, this.path);
61
58
  args.push(function (error, data) {
62
- return error ? reject(errors_1.convert(error)) : resolve(data);
59
+ return error ? reject((0, errors_1.convert)(error)) : resolve(data);
63
60
  });
64
61
  debug(`Sending socket.${this.method}`, args);
65
62
  this.connection[this.method](...args);
66
63
  });
67
64
  }
65
+ methods(...names) {
66
+ names.forEach(name => {
67
+ this[name] = function (data, params = {}) {
68
+ return this.send(name, data, params.query || {});
69
+ };
70
+ });
71
+ return this;
72
+ }
68
73
  find(params = {}) {
69
74
  return this.send('find', params.query || {});
70
75
  }
package/lib/client.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/lib/http.d.ts ADDED
@@ -0,0 +1,28 @@
1
+ import { HookContext, NullableId, Params } from '@feathersjs/feathers';
2
+ export declare const METHOD_HEADER = "x-service-method";
3
+ export interface ServiceParams {
4
+ id: NullableId;
5
+ data: any;
6
+ params: Params;
7
+ }
8
+ export declare const statusCodes: {
9
+ created: number;
10
+ noContent: number;
11
+ methodNotAllowed: number;
12
+ success: number;
13
+ };
14
+ export declare const knownMethods: {
15
+ [key: string]: string;
16
+ };
17
+ export declare function getServiceMethod(_httpMethod: string, id: unknown, headerOverride?: string): string;
18
+ export declare const argumentsFor: {
19
+ get: ({ id, params }: ServiceParams) => (Params | NullableId)[];
20
+ find: ({ params }: ServiceParams) => Params[];
21
+ create: ({ data, params }: ServiceParams) => any[];
22
+ update: ({ id, data, params }: ServiceParams) => any[];
23
+ patch: ({ id, data, params }: ServiceParams) => any[];
24
+ remove: ({ id, params }: ServiceParams) => (Params | NullableId)[];
25
+ default: ({ data, params }: ServiceParams) => any[];
26
+ };
27
+ export declare function getData(context: HookContext): any;
28
+ export declare function getStatusCode(context: HookContext, data?: any): number;
package/lib/http.js ADDED
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStatusCode = exports.getData = exports.argumentsFor = exports.getServiceMethod = exports.knownMethods = exports.statusCodes = exports.METHOD_HEADER = void 0;
4
+ const lib_1 = require("@feathersjs/errors/lib");
5
+ exports.METHOD_HEADER = 'x-service-method';
6
+ exports.statusCodes = {
7
+ created: 201,
8
+ noContent: 204,
9
+ methodNotAllowed: 405,
10
+ success: 200
11
+ };
12
+ exports.knownMethods = {
13
+ post: 'create',
14
+ patch: 'patch',
15
+ put: 'update',
16
+ delete: 'remove'
17
+ };
18
+ function getServiceMethod(_httpMethod, id, headerOverride) {
19
+ const httpMethod = _httpMethod.toLowerCase();
20
+ if (httpMethod === 'post' && headerOverride) {
21
+ return headerOverride;
22
+ }
23
+ const mappedMethod = exports.knownMethods[httpMethod];
24
+ if (mappedMethod) {
25
+ return mappedMethod;
26
+ }
27
+ if (httpMethod === 'get') {
28
+ return id === null ? 'find' : 'get';
29
+ }
30
+ throw new lib_1.MethodNotAllowed(`Method ${_httpMethod} not allowed`);
31
+ }
32
+ exports.getServiceMethod = getServiceMethod;
33
+ exports.argumentsFor = {
34
+ get: ({ id, params }) => [id, params],
35
+ find: ({ params }) => [params],
36
+ create: ({ data, params }) => [data, params],
37
+ update: ({ id, data, params }) => [id, data, params],
38
+ patch: ({ id, data, params }) => [id, data, params],
39
+ remove: ({ id, params }) => [id, params],
40
+ default: ({ data, params }) => [data, params]
41
+ };
42
+ function getData(context) {
43
+ return context.dispatch !== undefined
44
+ ? context.dispatch
45
+ : context.result;
46
+ }
47
+ exports.getData = getData;
48
+ function getStatusCode(context, data) {
49
+ var _a;
50
+ if ((_a = context.http) === null || _a === void 0 ? void 0 : _a.statusCode) {
51
+ return context.http.statusCode;
52
+ }
53
+ if (context.method === 'create') {
54
+ return exports.statusCodes.created;
55
+ }
56
+ if (!data) {
57
+ return exports.statusCodes.noContent;
58
+ }
59
+ return exports.statusCodes.success;
60
+ }
61
+ exports.getStatusCode = getStatusCode;
62
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":";;;AAAA,gDAA0D;AAG7C,QAAA,aAAa,GAAG,kBAAkB,CAAC;AAQnC,QAAA,WAAW,GAAG;IACzB,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,GAAG;IACd,gBAAgB,EAAE,GAAG;IACrB,OAAO,EAAE,GAAG;CACb,CAAC;AAEW,QAAA,YAAY,GAA8B;IACrD,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,SAAgB,gBAAgB,CAAE,WAAmB,EAAE,EAAW,EAAE,cAAuB;IACzF,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAE7C,IAAI,UAAU,KAAK,MAAM,IAAI,cAAc,EAAE;QAC3C,OAAO,cAAc,CAAC;KACvB;IAED,MAAM,YAAY,GAAG,oBAAY,CAAC,UAAU,CAAC,CAAC;IAE9C,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAC;KACrB;IAED,IAAI,UAAU,KAAK,KAAK,EAAE;QACxB,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;KACrC;IAED,MAAM,IAAI,sBAAgB,CAAC,UAAU,WAAW,cAAc,CAAC,CAAC;AAClE,CAAC;AAlBD,4CAkBC;AAEY,QAAA,YAAY,GAAG;IAC1B,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,EAAE,EAAE,MAAM,CAAE;IACtD,IAAI,EAAE,CAAC,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,MAAM,CAAE;IAC/C,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,IAAI,EAAE,MAAM,CAAE;IAC7D,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAE;IACrE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAE;IACpE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,EAAE,EAAE,MAAM,CAAE;IACzD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,IAAI,EAAE,MAAM,CAAE;CAC/D,CAAA;AAED,SAAgB,OAAO,CAAE,OAAoB;IAC3C,OAAO,OAAO,CAAC,QAAQ,KAAK,SAAS;QACnC,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;AACrB,CAAC;AAJD,0BAIC;AAED,SAAgB,aAAa,CAAE,OAAoB,EAAE,IAAU;;IAC7D,IAAI,MAAA,OAAO,CAAC,IAAI,0CAAE,UAAU,EAAE;QAC5B,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;KAChC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;QAC/B,OAAO,mBAAW,CAAC,OAAO,CAAC;KAC5B;IAED,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,mBAAW,CAAC,SAAS,CAAC;KAC9B;IAED,OAAO,mBAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAdD,sCAcC"}
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { socket } from './socket';
2
2
  import { routing } from './routing';
3
3
  import { channels } from './channels';
4
+ export * as http from './http';
4
5
  export { socket, routing, channels };
package/lib/index.js CHANGED
@@ -1,10 +1,30 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.channels = exports.routing = exports.socket = void 0;
22
+ exports.channels = exports.routing = exports.socket = exports.http = void 0;
4
23
  const socket_1 = require("./socket");
5
24
  Object.defineProperty(exports, "socket", { enumerable: true, get: function () { return socket_1.socket; } });
6
25
  const routing_1 = require("./routing");
7
26
  Object.defineProperty(exports, "routing", { enumerable: true, get: function () { return routing_1.routing; } });
8
27
  const channels_1 = require("./channels");
9
28
  Object.defineProperty(exports, "channels", { enumerable: true, get: function () { return channels_1.channels; } });
29
+ exports.http = __importStar(require("./http"));
10
30
  //# sourceMappingURL=index.js.map