@pathscale/wss-adapter 1.0.3 → 1.0.6

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.
@@ -38,7 +38,7 @@ interface IWssAdapter {
38
38
  [serviceName: string]: IServiceConnect;
39
39
  };
40
40
  sessions: {
41
- [serviceName: string]: unknown;
41
+ [serviceName: string]: Record<string, <Response, Params = {}>(payload?: Params) => Promise<Response>>;
42
42
  };
43
43
  configure: (configuration: IConfiguration) => void;
44
44
  }
@@ -94,18 +94,20 @@ var sendHandler = function (serviceName, serviceConfig, methodName, params) {
94
94
  if (!methodCode) {
95
95
  throw new Error("method ".concat(methodName, " not available in ").concat(serviceName, " service"));
96
96
  }
97
- if (!Object.keys(params).every(function (param) {
98
- return serviceConfig.methods[methodCode].parameters.includes(param);
99
- })) {
100
- throw new Error("method ".concat(methodCode, " is being called with missing parameters"));
101
- }
102
97
  var purgedParams = {};
103
- serviceConfig.methods[methodCode].parameters.forEach(function (k) {
104
- purgedParams[k] = params[k];
105
- });
106
- var difference = Object.keys(params).filter(function (x) { return !serviceConfig.methods[methodCode].parameters.includes(x); });
107
- if (difference.length) {
108
- throw new Error("method ".concat(methodCode, " is being called with unknow parameters, ").concat(difference));
98
+ if (params) {
99
+ if (!Object.keys(params).every(function (param) {
100
+ return serviceConfig.methods[methodCode].parameters.includes(param);
101
+ })) {
102
+ throw new Error("method ".concat(methodCode, " is being called with missing parameters"));
103
+ }
104
+ serviceConfig.methods[methodCode].parameters.forEach(function (k) {
105
+ purgedParams[k] = params[k];
106
+ });
107
+ var difference = Object.keys(params).filter(function (x) { return !serviceConfig.methods[methodCode].parameters.includes(x); });
108
+ if (difference.length) {
109
+ throw new Error("method ".concat(methodCode, " is being called with unknow parameters, ").concat(difference));
110
+ }
109
111
  }
110
112
  var payload = {
111
113
  method: Number.parseInt(methodCode),
@@ -149,7 +151,7 @@ var receiveHandler = function (event) {
149
151
  function onError(response) {
150
152
  var _a, _b;
151
153
  var errorCode = response.params.error;
152
- var errorMsg = (_a = store.errors[errorCode]) !== null && _a !== void 0 ? _a : 'Something went wrong';
154
+ var errorMsg = (_a = store.errors[errorCode]) !== null && _a !== void 0 ? _a : errorCode;
153
155
  if ([45349638, 45349637].includes(errorCode)) {
154
156
  store.sequence.decreaseSeq();
155
157
  console.log('seq has been decreased because of error');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pathscale/wss-adapter",
3
- "version": "1.0.3",
3
+ "version": "1.0.6",
4
4
  "description": "Websocket adapter for the Pathscale WSS",
5
5
  "main": "dist/wssAdapter.js",
6
6
  "types": "dist/wssAdapter.d.ts",
package/types/index.ts CHANGED
@@ -7,7 +7,6 @@ interface IService {
7
7
  }
8
8
  }
9
9
  }
10
-
11
10
  interface IServiceConfig extends IService {
12
11
  onDisconnect: (event: {
13
12
  code: number
@@ -15,22 +14,18 @@ interface IServiceConfig extends IService {
15
14
  wasClean: boolean
16
15
  }) => void | null
17
16
  }
18
-
19
17
  interface IServices {
20
18
  [serviceName: string]: IServiceConfig
21
19
  }
22
-
23
20
  interface IErrors {
24
21
  [errorCode: number]: string
25
22
  }
26
-
27
23
  interface IConfiguration {
28
24
  timeout: number
29
25
  services: IServices
30
26
  errors: IErrors
31
27
  onError: (error: { error: number; message: string }) => void
32
28
  }
33
-
34
29
  interface IServiceConnect {
35
30
  connect<T>(
36
31
  payload: string | string[] | undefined,
@@ -38,27 +33,26 @@ interface IServiceConnect {
38
33
  ): Promise<T>
39
34
  disconnect: () => void
40
35
  }
41
-
42
36
  interface IWssAdapter {
43
37
  services: {
44
38
  [serviceName: string]: IServiceConnect
45
39
  }
46
40
  sessions: {
47
- [serviceName: string]: unknown
41
+ [serviceName: string]: Record<
42
+ string,
43
+ <Response, Params = {}>(payload?: Params) => Promise<Response>
44
+ >
48
45
  }
49
46
  configure: (configuration: IConfiguration) => void
50
47
  }
51
-
52
48
  interface ISequence {
53
49
  value: number
54
50
  getSeq: () => number
55
51
  decreaseSeq: () => void
56
52
  }
57
-
58
53
  interface ISessions {
59
54
  [serviceName: string]: WebSocket
60
55
  }
61
-
62
56
  interface IPendingPromises {
63
57
  [seq: number]: {
64
58
  resolve: (payload: unknown) => void
@@ -66,7 +60,6 @@ interface IPendingPromises {
66
60
  toHandler: ReturnType<typeof setTimeout>
67
61
  }
68
62
  }
69
-
70
63
  interface IStore {
71
64
  timeout: number
72
65
  errors: IErrors
@@ -76,7 +69,6 @@ interface IStore {
76
69
  pendingPromises: IPendingPromises
77
70
  onError: (error: { error: number; message: string }) => void
78
71
  }
79
-
80
72
  export {
81
73
  IStore,
82
74
  IWssAdapter,
package/wssAdapter.ts CHANGED
@@ -123,29 +123,32 @@ const sendHandler = (
123
123
  )
124
124
  }
125
125
 
126
- if (
127
- !Object.keys(params).every((param) =>
128
- serviceConfig.methods[methodCode].parameters.includes(param)
129
- )
130
- ) {
131
- throw new Error(
132
- `method ${methodCode} is being called with missing parameters`
133
- )
134
- }
135
-
136
126
  const purgedParams: Record<string, unknown> = {}
137
- serviceConfig.methods[methodCode].parameters.forEach((k) => {
138
- purgedParams[k] = params[k]
139
- })
140
127
 
141
- const difference = Object.keys(params).filter(
142
- (x) => !serviceConfig.methods[methodCode].parameters.includes(x)
143
- )
128
+ if (params) {
129
+ if (
130
+ !Object.keys(params).every((param) =>
131
+ serviceConfig.methods[methodCode].parameters.includes(param)
132
+ )
133
+ ) {
134
+ throw new Error(
135
+ `method ${methodCode} is being called with missing parameters`
136
+ )
137
+ }
138
+
139
+ serviceConfig.methods[methodCode].parameters.forEach((k) => {
140
+ purgedParams[k] = params[k]
141
+ })
144
142
 
145
- if (difference.length) {
146
- throw new Error(
147
- `method ${methodCode} is being called with unknow parameters, ${difference}`
143
+ const difference = Object.keys(params).filter(
144
+ (x) => !serviceConfig.methods[methodCode].parameters.includes(x)
148
145
  )
146
+
147
+ if (difference.length) {
148
+ throw new Error(
149
+ `method ${methodCode} is being called with unknow parameters, ${difference}`
150
+ )
151
+ }
149
152
  }
150
153
 
151
154
  const payload = {
@@ -207,7 +210,7 @@ interface IResponse {
207
210
 
208
211
  function onError(response: IResponse) {
209
212
  const { error: errorCode } = response.params
210
- const errorMsg = store.errors[errorCode] ?? 'Something went wrong'
213
+ const errorMsg = store.errors[errorCode] ?? errorCode
211
214
 
212
215
  if ([45349638, 45349637].includes(errorCode)) {
213
216
  store.sequence.decreaseSeq()