@pathscale/wss-adapter 1.0.3 → 1.0.4
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/dist/types/index.d.ts +55 -50
- package/dist/wssAdapter.js +13 -11
- package/package.json +1 -1
- package/types/index.ts +1 -12
- package/wssAdapter.ts +22 -19
package/dist/types/index.d.ts
CHANGED
|
@@ -1,72 +1,77 @@
|
|
|
1
1
|
interface IService {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
remote: string
|
|
3
|
+
methods: {
|
|
4
|
+
[methodCode: string]: {
|
|
5
|
+
name: string
|
|
6
|
+
parameters: string[]
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
9
|
}
|
|
10
10
|
interface IServiceConfig extends IService {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
onDisconnect: (event: {
|
|
12
|
+
code: number
|
|
13
|
+
reason: string
|
|
14
|
+
wasClean: boolean
|
|
15
|
+
}) => void | null
|
|
16
16
|
}
|
|
17
17
|
interface IServices {
|
|
18
|
-
|
|
18
|
+
[serviceName: string]: IServiceConfig
|
|
19
19
|
}
|
|
20
20
|
interface IErrors {
|
|
21
|
-
|
|
21
|
+
[errorCode: number]: string
|
|
22
22
|
}
|
|
23
23
|
interface IConfiguration {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
error: number;
|
|
29
|
-
message: string;
|
|
30
|
-
}) => void;
|
|
24
|
+
timeout: number
|
|
25
|
+
services: IServices
|
|
26
|
+
errors: IErrors
|
|
27
|
+
onError: (error: { error: number; message: string }) => void
|
|
31
28
|
}
|
|
32
29
|
interface IServiceConnect {
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
connect<T>(
|
|
31
|
+
payload: string | string[] | undefined,
|
|
32
|
+
remote?: string
|
|
33
|
+
): Promise<T>
|
|
34
|
+
disconnect: () => void
|
|
35
35
|
}
|
|
36
36
|
interface IWssAdapter {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
services: {
|
|
38
|
+
[serviceName: string]: IServiceConnect
|
|
39
|
+
}
|
|
40
|
+
sessions: {
|
|
41
|
+
[serviceName: string]: any
|
|
42
|
+
}
|
|
43
|
+
configure: (configuration: IConfiguration) => void
|
|
44
44
|
}
|
|
45
45
|
interface ISequence {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
value: number
|
|
47
|
+
getSeq: () => number
|
|
48
|
+
decreaseSeq: () => void
|
|
49
49
|
}
|
|
50
50
|
interface ISessions {
|
|
51
|
-
|
|
51
|
+
[serviceName: string]: WebSocket
|
|
52
52
|
}
|
|
53
53
|
interface IPendingPromises {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
[seq: number]: {
|
|
55
|
+
resolve: (payload: unknown) => void
|
|
56
|
+
reject: (error: Error) => void
|
|
57
|
+
toHandler: ReturnType<typeof setTimeout>
|
|
58
|
+
}
|
|
59
59
|
}
|
|
60
60
|
interface IStore {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
61
|
+
timeout: number
|
|
62
|
+
errors: IErrors
|
|
63
|
+
services: IServices
|
|
64
|
+
sequence: ISequence
|
|
65
|
+
sessions: ISessions
|
|
66
|
+
pendingPromises: IPendingPromises
|
|
67
|
+
onError: (error: { error: number; message: string }) => void
|
|
68
|
+
}
|
|
69
|
+
export {
|
|
70
|
+
IStore,
|
|
71
|
+
IWssAdapter,
|
|
72
|
+
IServiceConfig,
|
|
73
|
+
IConfiguration,
|
|
74
|
+
IErrors,
|
|
75
|
+
IServices,
|
|
76
|
+
IService,
|
|
71
77
|
}
|
|
72
|
-
export { IStore, IWssAdapter, IServiceConfig, IConfiguration, IErrors, IServices, IService, };
|
package/dist/wssAdapter.js
CHANGED
|
@@ -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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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),
|
package/package.json
CHANGED
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,23 @@ 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]:
|
|
41
|
+
[serviceName: string]: any
|
|
48
42
|
}
|
|
49
43
|
configure: (configuration: IConfiguration) => void
|
|
50
44
|
}
|
|
51
|
-
|
|
52
45
|
interface ISequence {
|
|
53
46
|
value: number
|
|
54
47
|
getSeq: () => number
|
|
55
48
|
decreaseSeq: () => void
|
|
56
49
|
}
|
|
57
|
-
|
|
58
50
|
interface ISessions {
|
|
59
51
|
[serviceName: string]: WebSocket
|
|
60
52
|
}
|
|
61
|
-
|
|
62
53
|
interface IPendingPromises {
|
|
63
54
|
[seq: number]: {
|
|
64
55
|
resolve: (payload: unknown) => void
|
|
@@ -66,7 +57,6 @@ interface IPendingPromises {
|
|
|
66
57
|
toHandler: ReturnType<typeof setTimeout>
|
|
67
58
|
}
|
|
68
59
|
}
|
|
69
|
-
|
|
70
60
|
interface IStore {
|
|
71
61
|
timeout: number
|
|
72
62
|
errors: IErrors
|
|
@@ -76,7 +66,6 @@ interface IStore {
|
|
|
76
66
|
pendingPromises: IPendingPromises
|
|
77
67
|
onError: (error: { error: number; message: string }) => void
|
|
78
68
|
}
|
|
79
|
-
|
|
80
69
|
export {
|
|
81
70
|
IStore,
|
|
82
71
|
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
|
-
|
|
142
|
-
|
|
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
|
-
|
|
146
|
-
|
|
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 = {
|