Kaynağa Gözat

Merge branch 'master' of ssh://gitea.frontblock.me:2222/fw-vendor/rpclibrary

master
Daniel Hübleitner 4 yıl önce
ebeveyn
işleme
e237053423

+ 6
- 0
docs/docs/README.md Dosyayı Görüntüle

@@ -0,0 +1,6 @@
1
+[rpclibrary](README.md) › [Globals](globals.md)
2
+
3
+# rpclibrary
4
+
5
+# Documentation
6
+docs [https://gitea.frontblock.me/fw-vendor/rpclibrary/src/branch/master/docs/README.md]

+ 166
- 0
docs/docs/classes/_backend_.rpcserver.md Dosyayı Görüntüle

@@ -0,0 +1,166 @@
1
+[rpclibrary](../README.md) › [Globals](../globals.md) › ["Backend"](../modules/_backend_.md) › [RPCServer](_backend_.rpcserver.md)
2
+
3
+# Class: RPCServer <**SubResType**>
4
+
5
+A Websocket-server-on-steroids with built-in RPC capabilities
6
+
7
+## Type parameters
8
+
9
+▪ **SubResType**
10
+
11
+## Hierarchy
12
+
13
+* **RPCServer**
14
+
15
+## Implements
16
+
17
+* [Destroyable](../interfaces/_interfaces_.destroyable.md)
18
+
19
+## Index
20
+
21
+### Constructors
22
+
23
+* [constructor](_backend_.rpcserver.md#constructor)
24
+
25
+### Properties
26
+
27
+* [closeHandler](_backend_.rpcserver.md#private-closehandler)
28
+* [connectionHandler](_backend_.rpcserver.md#private-connectionhandler)
29
+* [errorHandler](_backend_.rpcserver.md#private-errorhandler)
30
+* [exporters](_backend_.rpcserver.md#private-exporters)
31
+* [io](_backend_.rpcserver.md#private-io)
32
+* [port](_backend_.rpcserver.md#private-port)
33
+* [visibility](_backend_.rpcserver.md#private-visibility)
34
+* [ws](_backend_.rpcserver.md#private-ws)
35
+
36
+### Methods
37
+
38
+* [destroy](_backend_.rpcserver.md#destroy)
39
+* [initRPCs](_backend_.rpcserver.md#protected-initrpcs)
40
+* [startWebsocket](_backend_.rpcserver.md#private-startwebsocket)
41
+
42
+## Constructors
43
+
44
+###  constructor
45
+
46
+\+ **new RPCServer**(`port`: number, `exporters`: [RPCExporter](../interfaces/_interfaces_.rpcexporter.md)‹SubResType›[], `conf`: T.SocketConf): *[RPCServer](_backend_.rpcserver.md)*
47
+
48
+Defined in Backend.ts:22
49
+
50
+**`throws`** On RPC with no name
51
+
52
+**Parameters:**
53
+
54
+Name | Type | Default | Description |
55
+------ | ------ | ------ | ------ |
56
+`port` | number | - | The port to listen on |
57
+`exporters` | [RPCExporter](../interfaces/_interfaces_.rpcexporter.md)‹SubResType›[] |  [] | A list of [RPCExporter](../interfaces/_interfaces_.rpcexporter.md) to publish |
58
+`conf` | T.SocketConf |   {} | A [SocketConf](../modules/_types_.md#socketconf) object with optional settings  |
59
+
60
+**Returns:** *[RPCServer](_backend_.rpcserver.md)*
61
+
62
+## Properties
63
+
64
+### `Private` closeHandler
65
+
66
+• **closeHandler**: *T.CloseHandler*
67
+
68
+Defined in Backend.ts:20
69
+
70
+___
71
+
72
+### `Private` connectionHandler
73
+
74
+• **connectionHandler**: *T.ConnectionHandler*
75
+
76
+Defined in Backend.ts:22
77
+
78
+___
79
+
80
+### `Private` errorHandler
81
+
82
+• **errorHandler**: *T.ErrorHandler*
83
+
84
+Defined in Backend.ts:21
85
+
86
+___
87
+
88
+### `Private` exporters
89
+
90
+• **exporters**: *[RPCExporter](../interfaces/_interfaces_.rpcexporter.md)‹SubResType›[]*
91
+
92
+Defined in Backend.ts:32
93
+
94
+A list of [RPCExporter](../interfaces/_interfaces_.rpcexporter.md) to publish
95
+
96
+___
97
+
98
+### `Private` io
99
+
100
+• **io**: *any* =  bsock.createServer()
101
+
102
+Defined in Backend.ts:18
103
+
104
+___
105
+
106
+### `Private` port
107
+
108
+• **port**: *number*
109
+
110
+Defined in Backend.ts:31
111
+
112
+The port to listen on
113
+
114
+___
115
+
116
+### `Private` visibility
117
+
118
+• **visibility**: *T.Visibility*
119
+
120
+Defined in Backend.ts:19
121
+
122
+___
123
+
124
+### `Private` ws
125
+
126
+• **ws**: *Server* =  http.createServer()
127
+
128
+Defined in Backend.ts:17
129
+
130
+## Methods
131
+
132
+###  destroy
133
+
134
+▸ **destroy**(): *Promise‹void›*
135
+
136
+*Implementation of [Destroyable](../interfaces/_interfaces_.destroyable.md)*
137
+
138
+Defined in Backend.ts:89
139
+
140
+**Returns:** *Promise‹void›*
141
+
142
+___
143
+
144
+### `Protected` initRPCs
145
+
146
+▸ **initRPCs**(`socket`: [Socket](../interfaces/_interfaces_.socket.md)): *void*
147
+
148
+Defined in Backend.ts:82
149
+
150
+**Parameters:**
151
+
152
+Name | Type |
153
+------ | ------ |
154
+`socket` | [Socket](../interfaces/_interfaces_.socket.md) |
155
+
156
+**Returns:** *void*
157
+
158
+___
159
+
160
+### `Private` startWebsocket
161
+
162
+▸ **startWebsocket**(): *void*
163
+
164
+Defined in Backend.ts:66
165
+
166
+**Returns:** *void*

+ 304
- 0
docs/docs/classes/_frontend_.rpcsocket.md Dosyayı Görüntüle

@@ -0,0 +1,304 @@
1
+[rpclibrary](../README.md) › [Globals](../globals.md) › ["Frontend"](../modules/_frontend_.md) › [RPCSocket](_frontend_.rpcsocket.md)
2
+
3
+# Class: RPCSocket
4
+
5
+A websocket-on-steroids with built-in RPC capabilities
6
+
7
+## Hierarchy
8
+
9
+* **RPCSocket**
10
+
11
+## Implements
12
+
13
+* [Socket](../interfaces/_interfaces_.socket.md)
14
+
15
+## Index
16
+
17
+### Constructors
18
+
19
+* [constructor](_frontend_.rpcsocket.md#constructor)
20
+
21
+### Properties
22
+
23
+* [port](_frontend_.rpcsocket.md#port)
24
+* [server](_frontend_.rpcsocket.md#private-server)
25
+* [socket](_frontend_.rpcsocket.md#private-socket)
26
+* [tls](_frontend_.rpcsocket.md#private-tls)
27
+
28
+### Methods
29
+
30
+* [call](_frontend_.rpcsocket.md#call)
31
+* [callGenerator](_frontend_.rpcsocket.md#private-callgenerator)
32
+* [close](_frontend_.rpcsocket.md#close)
33
+* [connect](_frontend_.rpcsocket.md#connect)
34
+* [destroy](_frontend_.rpcsocket.md#destroy)
35
+* [fire](_frontend_.rpcsocket.md#fire)
36
+* [hook](_frontend_.rpcsocket.md#hook)
37
+* [hookGenerator](_frontend_.rpcsocket.md#private-hookgenerator)
38
+* [info](_frontend_.rpcsocket.md#info)
39
+* [on](_frontend_.rpcsocket.md#on)
40
+* [unhook](_frontend_.rpcsocket.md#unhook)
41
+
42
+## Constructors
43
+
44
+###  constructor
45
+
46
+\+ **new RPCSocket**(`port`: number, `server`: string, `tls`: boolean): *[RPCSocket](_frontend_.rpcsocket.md)*
47
+
48
+Defined in Frontend.ts:20
49
+
50
+**Parameters:**
51
+
52
+Name | Type | Default | Description |
53
+------ | ------ | ------ | ------ |
54
+`port` | number | - | Port to connect to |
55
+`server` | string | - | Server address |
56
+`tls` | boolean | false | @default false use TLS  |
57
+
58
+**Returns:** *[RPCSocket](_frontend_.rpcsocket.md)*
59
+
60
+## Properties
61
+
62
+###  port
63
+
64
+• **port**: *number*
65
+
66
+*Implementation of [Socket](../interfaces/_interfaces_.socket.md).[port](../interfaces/_interfaces_.socket.md#port)*
67
+
68
+Defined in Frontend.ts:28
69
+
70
+Port to connect to
71
+
72
+___
73
+
74
+### `Private` server
75
+
76
+• **server**: *string*
77
+
78
+Defined in Frontend.ts:28
79
+
80
+Server address
81
+
82
+___
83
+
84
+### `Private` socket
85
+
86
+• **socket**: *[Socket](../interfaces/_interfaces_.socket.md)*
87
+
88
+Defined in Frontend.ts:20
89
+
90
+___
91
+
92
+### `Private` tls
93
+
94
+• **tls**: *boolean*
95
+
96
+Defined in Frontend.ts:28
97
+
98
+@default false use TLS
99
+
100
+## Methods
101
+
102
+###  call
103
+
104
+▸ **call**(`rpcname`: T.Name, ...`args`: T.Any[]): *Promise‹T.Any›*
105
+
106
+Defined in Frontend.ts:77
107
+
108
+Trigger a hooked handler on the server
109
+
110
+**Parameters:**
111
+
112
+Name | Type | Description |
113
+------ | ------ | ------ |
114
+`rpcname` | T.Name | The function to call |
115
+`...args` | T.Any[] | other arguments  |
116
+
117
+**Returns:** *Promise‹T.Any›*
118
+
119
+___
120
+
121
+### `Private` callGenerator
122
+
123
+▸ **callGenerator**(`fnName`: T.Name, `fnArgs`: T.Arg[]): *T.AsyncFunction*
124
+
125
+Defined in Frontend.ts:126
126
+
127
+Utility [AsyncFunction](../modules/_types_.md#asyncfunction) generator
128
+
129
+**Parameters:**
130
+
131
+Name | Type | Description |
132
+------ | ------ | ------ |
133
+`fnName` | T.Name | The function name |
134
+`fnArgs` | T.Arg[] | A string-list of parameters  |
135
+
136
+**Returns:** *T.AsyncFunction*
137
+
138
+___
139
+
140
+###  close
141
+
142
+▸ **close**(): *void*
143
+
144
+*Implementation of [Socket](../interfaces/_interfaces_.socket.md)*
145
+
146
+Defined in Frontend.ts:68
147
+
148
+Closes the socket. It may attempt to reconnect.
149
+
150
+**Returns:** *void*
151
+
152
+___
153
+
154
+###  connect
155
+
156
+▸ **connect**(): *Promise‹void›*
157
+
158
+Defined in Frontend.ts:93
159
+
160
+Connects to the server and attaches available RPCs to this object
161
+
162
+**Returns:** *Promise‹void›*
163
+
164
+___
165
+
166
+###  destroy
167
+
168
+▸ **destroy**(): *void*
169
+
170
+*Implementation of [Socket](../interfaces/_interfaces_.socket.md)*
171
+
172
+Defined in Frontend.ts:61
173
+
174
+Destroys the socket
175
+
176
+**Returns:** *void*
177
+
178
+___
179
+
180
+###  fire
181
+
182
+▸ **fire**(`rpcname`: T.Name, ...`args`: T.Any[]): *Promise‹void›*
183
+
184
+Defined in Frontend.ts:86
185
+
186
+An alternative to call that does not wait for confirmation and doesn't return a value.
187
+
188
+**Parameters:**
189
+
190
+Name | Type | Description |
191
+------ | ------ | ------ |
192
+`rpcname` | T.Name | The function to call |
193
+`...args` | T.Any[] | other arguments  |
194
+
195
+**Returns:** *Promise‹void›*
196
+
197
+___
198
+
199
+###  hook
200
+
201
+▸ **hook**(`name`: T.Name, `handler`: function): *[Socket](../interfaces/_interfaces_.socket.md)*
202
+
203
+Defined in Frontend.ts:37
204
+
205
+Hooks a handler to a function name. Use [call](_frontend_.rpcsocket.md#call) to trigger it.
206
+
207
+**Parameters:**
208
+
209
+▪ **name**: *T.Name*
210
+
211
+The function name to listen on
212
+
213
+▪ **handler**: *function*
214
+
215
+The handler to attach
216
+
217
+▸ (...`args`: any[]): *any | Promise‹any›*
218
+
219
+**Parameters:**
220
+
221
+Name | Type |
222
+------ | ------ |
223
+`...args` | any[] |
224
+
225
+**Returns:** *[Socket](../interfaces/_interfaces_.socket.md)*
226
+
227
+___
228
+
229
+### `Private` hookGenerator
230
+
231
+▸ **hookGenerator**(`fnName`: T.Name, `fnArgs`: T.Arg[]): *T.HookFunction*
232
+
233
+Defined in Frontend.ts:137
234
+
235
+Utility [HookFunction](../modules/_types_.md#hookfunction) generator
236
+
237
+**Parameters:**
238
+
239
+Name | Type | Description |
240
+------ | ------ | ------ |
241
+`fnName` | T.Name | The function name |
242
+`fnArgs` | T.Arg[] | A string-list of parameters  |
243
+
244
+**Returns:** *T.HookFunction*
245
+
246
+___
247
+
248
+###  info
249
+
250
+▸ **info**(): *Promise‹any›*
251
+
252
+Defined in Frontend.ts:117
253
+
254
+Get a list of available RPCs from the server
255
+
256
+**Returns:** *Promise‹any›*
257
+
258
+___
259
+
260
+###  on
261
+
262
+▸ **on**(`type`: "error" | "close", `f`: function): *[Socket](../interfaces/_interfaces_.socket.md)*
263
+
264
+Defined in Frontend.ts:54
265
+
266
+Attach a listener to error or close events
267
+
268
+**Parameters:**
269
+
270
+▪ **type**: *"error" | "close"*
271
+
272
+'error' or 'close'
273
+
274
+▪ **f**: *function*
275
+
276
+The listener to attach
277
+
278
+▸ (`e?`: any): *void*
279
+
280
+**Parameters:**
281
+
282
+Name | Type |
283
+------ | ------ |
284
+`e?` | any |
285
+
286
+**Returns:** *[Socket](../interfaces/_interfaces_.socket.md)*
287
+
288
+___
289
+
290
+###  unhook
291
+
292
+▸ **unhook**(`name`: T.Name): *[Socket](../interfaces/_interfaces_.socket.md)*
293
+
294
+Defined in Frontend.ts:45
295
+
296
+Removes a [hook](_frontend_.rpcsocket.md#hook) listener by name.
297
+
298
+**Parameters:**
299
+
300
+Name | Type | Description |
301
+------ | ------ | ------ |
302
+`name` | T.Name | The function name  |
303
+
304
+**Returns:** *[Socket](../interfaces/_interfaces_.socket.md)*

+ 13
- 0
docs/docs/globals.md Dosyayı Görüntüle

@@ -0,0 +1,13 @@
1
+[rpclibrary](README.md) › [Globals](globals.md)
2
+
3
+# rpclibrary
4
+
5
+## Index
6
+
7
+### External modules
8
+
9
+* ["Backend"](modules/_backend_.md)
10
+* ["Frontend"](modules/_frontend_.md)
11
+* ["Interfaces"](modules/_interfaces_.md)
12
+* ["Types"](modules/_types_.md)
13
+* ["Utils"](modules/_utils_.md)

+ 29
- 0
docs/docs/interfaces/_interfaces_.destroyable.md Dosyayı Görüntüle

@@ -0,0 +1,29 @@
1
+[rpclibrary](../README.md) › [Globals](../globals.md) › ["Interfaces"](../modules/_interfaces_.md) › [Destroyable](_interfaces_.destroyable.md)
2
+
3
+# Interface: Destroyable
4
+
5
+## Hierarchy
6
+
7
+* **Destroyable**
8
+
9
+  ↳ [Socket](_interfaces_.socket.md)
10
+
11
+## Implemented by
12
+
13
+* [RPCServer](../classes/_backend_.rpcserver.md)
14
+
15
+## Index
16
+
17
+### Methods
18
+
19
+* [destroy](_interfaces_.destroyable.md#destroy)
20
+
21
+## Methods
22
+
23
+###  destroy
24
+
25
+▸ **destroy**(): *void*
26
+
27
+Defined in Interfaces.ts:26
28
+
29
+**Returns:** *void*

+ 41
- 0
docs/docs/interfaces/_interfaces_.rpcexporter.md Dosyayı Görüntüle

@@ -0,0 +1,41 @@
1
+[rpclibrary](../README.md) › [Globals](../globals.md) › ["Interfaces"](../modules/_interfaces_.md) › [RPCExporter](_interfaces_.rpcexporter.md)
2
+
3
+# Interface: RPCExporter <**T**>
4
+
5
+Interface for all classes that may export RPCs
6
+
7
+## Type parameters
8
+
9
+▪ **T**
10
+
11
+## Hierarchy
12
+
13
+* **RPCExporter**
14
+
15
+## Index
16
+
17
+### Properties
18
+
19
+* [name](_interfaces_.rpcexporter.md#name)
20
+
21
+### Methods
22
+
23
+* [exportRPCs](_interfaces_.rpcexporter.md#exportrpcs)
24
+
25
+## Properties
26
+
27
+###  name
28
+
29
+• **name**: *T.Name*
30
+
31
+Defined in Interfaces.ts:8
32
+
33
+## Methods
34
+
35
+###  exportRPCs
36
+
37
+▸ **exportRPCs**(): *T.RPC‹T›[]*
38
+
39
+Defined in Interfaces.ts:9
40
+
41
+**Returns:** *T.RPC‹T›[]*

+ 151
- 0
docs/docs/interfaces/_interfaces_.socket.md Dosyayı Görüntüle

@@ -0,0 +1,151 @@
1
+[rpclibrary](../README.md) › [Globals](../globals.md) › ["Interfaces"](../modules/_interfaces_.md) › [Socket](_interfaces_.socket.md)
2
+
3
+# Interface: Socket
4
+
5
+Generic socket interface that can apply to bsock as well as RPCSocket
6
+
7
+## Hierarchy
8
+
9
+* [Destroyable](_interfaces_.destroyable.md)
10
+
11
+  ↳ **Socket**
12
+
13
+## Implemented by
14
+
15
+* [RPCSocket](../classes/_frontend_.rpcsocket.md)
16
+
17
+## Index
18
+
19
+### Properties
20
+
21
+* [call](_interfaces_.socket.md#call)
22
+* [fire](_interfaces_.socket.md#fire)
23
+* [hook](_interfaces_.socket.md#hook)
24
+* [on](_interfaces_.socket.md#on)
25
+* [port](_interfaces_.socket.md#port)
26
+* [unhook](_interfaces_.socket.md#unhook)
27
+
28
+### Methods
29
+
30
+* [close](_interfaces_.socket.md#close)
31
+* [destroy](_interfaces_.socket.md#destroy)
32
+
33
+## Properties
34
+
35
+###  call
36
+
37
+• **call**: *function*
38
+
39
+Defined in Interfaces.ts:19
40
+
41
+#### Type declaration:
42
+
43
+▸ (`rpcname`: T.Name, ...`args`: T.Any[]): *Promise‹T.Any›*
44
+
45
+**Parameters:**
46
+
47
+Name | Type |
48
+------ | ------ |
49
+`rpcname` | T.Name |
50
+`...args` | T.Any[] |
51
+
52
+___
53
+
54
+###  fire
55
+
56
+• **fire**: *function*
57
+
58
+Defined in Interfaces.ts:20
59
+
60
+#### Type declaration:
61
+
62
+▸ (`rpcname`: T.Name, ...`args`: T.Any[]): *Promise‹T.Any›*
63
+
64
+**Parameters:**
65
+
66
+Name | Type |
67
+------ | ------ |
68
+`rpcname` | T.Name |
69
+`...args` | T.Any[] |
70
+
71
+___
72
+
73
+###  hook
74
+
75
+• **hook**: *function*
76
+
77
+Defined in Interfaces.ts:17
78
+
79
+#### Type declaration:
80
+
81
+▸ (`rpcname`: T.Name, `handler`: function): *[Socket](_interfaces_.socket.md)*
82
+
83
+**Parameters:**
84
+
85
+▪ **rpcname**: *T.Name*
86
+
87
+▪ **handler**: *function*
88
+
89
+▸ (...`args`: any[]): *any | Promise‹any›*
90
+
91
+**Parameters:**
92
+
93
+Name | Type |
94
+------ | ------ |
95
+`...args` | any[] |
96
+
97
+___
98
+
99
+###  on
100
+
101
+• **on**: *T.OnFunction*
102
+
103
+Defined in Interfaces.ts:21
104
+
105
+___
106
+
107
+###  port
108
+
109
+• **port**: *number*
110
+
111
+Defined in Interfaces.ts:16
112
+
113
+___
114
+
115
+###  unhook
116
+
117
+• **unhook**: *function*
118
+
119
+Defined in Interfaces.ts:18
120
+
121
+#### Type declaration:
122
+
123
+▸ (`rpcname`: T.Name): *[Socket](_interfaces_.socket.md)*
124
+
125
+**Parameters:**
126
+
127
+Name | Type |
128
+------ | ------ |
129
+`rpcname` | T.Name |
130
+
131
+## Methods
132
+
133
+###  close
134
+
135
+▸ **close**(): *void*
136
+
137
+Defined in Interfaces.ts:22
138
+
139
+**Returns:** *void*
140
+
141
+___
142
+
143
+###  destroy
144
+
145
+▸ **destroy**(): *void*
146
+
147
+*Inherited from [Destroyable](_interfaces_.destroyable.md).[destroy](_interfaces_.destroyable.md#destroy)*
148
+
149
+Defined in Interfaces.ts:26
150
+
151
+**Returns:** *void*

+ 9
- 0
docs/docs/modules/_backend_.md Dosyayı Görüntüle

@@ -0,0 +1,9 @@
1
+[rpclibrary](../README.md) › [Globals](../globals.md) › ["Backend"](_backend_.md)
2
+
3
+# External module: "Backend"
4
+
5
+## Index
6
+
7
+### Classes
8
+
9
+* [RPCServer](../classes/_backend_.rpcserver.md)

+ 31
- 0
docs/docs/modules/_frontend_.md Dosyayı Görüntüle

@@ -0,0 +1,31 @@
1
+[rpclibrary](../README.md) › [Globals](../globals.md) › ["Frontend"](_frontend_.md)
2
+
3
+# External module: "Frontend"
4
+
5
+## Index
6
+
7
+### Classes
8
+
9
+* [RPCSocket](../classes/_frontend_.rpcsocket.md)
10
+
11
+### Functions
12
+
13
+* [stripAfterEquals](_frontend_.md#stripafterequals)
14
+
15
+## Functions
16
+
17
+###  stripAfterEquals
18
+
19
+▸ **stripAfterEquals**(`str`: string): *string*
20
+
21
+Defined in Frontend.ts:12
22
+
23
+Utility function to strip parameters like "a = 3" of their defaults
24
+
25
+**Parameters:**
26
+
27
+Name | Type | Description |
28
+------ | ------ | ------ |
29
+`str` | string | The parameter to modify  |
30
+
31
+**Returns:** *string*

+ 11
- 0
docs/docs/modules/_interfaces_.md Dosyayı Görüntüle

@@ -0,0 +1,11 @@
1
+[rpclibrary](../README.md) › [Globals](../globals.md) › ["Interfaces"](_interfaces_.md)
2
+
3
+# External module: "Interfaces"
4
+
5
+## Index
6
+
7
+### Interfaces
8
+
9
+* [Destroyable](../interfaces/_interfaces_.destroyable.md)
10
+* [RPCExporter](../interfaces/_interfaces_.rpcexporter.md)
11
+* [Socket](../interfaces/_interfaces_.socket.md)

+ 387
- 0
docs/docs/modules/_types_.md Dosyayı Görüntüle

@@ -0,0 +1,387 @@
1
+[rpclibrary](../README.md) › [Globals](../globals.md) › ["Types"](_types_.md)
2
+
3
+# External module: "Types"
4
+
5
+## Index
6
+
7
+### Type aliases
8
+
9
+* [Any](_types_.md#any)
10
+* [Arg](_types_.md#arg)
11
+* [AsyncFunction](_types_.md#asyncfunction)
12
+* [BaseInfo](_types_.md#baseinfo)
13
+* [CallInfo](_types_.md#callinfo)
14
+* [CallRPC](_types_.md#callrpc)
15
+* [CallbackFunction](_types_.md#callbackfunction)
16
+* [CloseHandler](_types_.md#closehandler)
17
+* [ConnectionHandler](_types_.md#connectionhandler)
18
+* [ErrorHandler](_types_.md#errorhandler)
19
+* [ErrorResponse](_types_.md#errorresponse)
20
+* [ExtendedRpcInfo](_types_.md#extendedrpcinfo)
21
+* [HookCloseFunction](_types_.md#hookclosefunction)
22
+* [HookFunction](_types_.md#hookfunction)
23
+* [HookInfo](_types_.md#hookinfo)
24
+* [HookRPC](_types_.md#hookrpc)
25
+* [Name](_types_.md#name)
26
+* [OnFunction](_types_.md#onfunction)
27
+* [Outcome](_types_.md#outcome)
28
+* [Owner](_types_.md#owner)
29
+* [RPC](_types_.md#rpc)
30
+* [RPCType](_types_.md#rpctype)
31
+* [ResponseType](_types_.md#responsetype)
32
+* [Respose](_types_.md#respose)
33
+* [RpcInfo](_types_.md#rpcinfo)
34
+* [SocketConf](_types_.md#socketconf)
35
+* [SubscriptionResponse](_types_.md#subscriptionresponse)
36
+* [SuccessResponse](_types_.md#successresponse)
37
+* [Visibility](_types_.md#visibility)
38
+
39
+## Type aliases
40
+
41
+###  Any
42
+
43
+Ƭ **Any**: *any*
44
+
45
+Defined in Types.ts:4
46
+
47
+___
48
+
49
+###  Arg
50
+
51
+Ƭ **Arg**: *string*
52
+
53
+Defined in Types.ts:5
54
+
55
+___
56
+
57
+###  AsyncFunction
58
+
59
+Ƭ **AsyncFunction**: *function*
60
+
61
+Defined in Types.ts:65
62
+
63
+#### Type declaration:
64
+
65
+▸ (...`args`: any): *Promise‹any›*
66
+
67
+**Parameters:**
68
+
69
+Name | Type |
70
+------ | ------ |
71
+`...args` | any |
72
+
73
+___
74
+
75
+###  BaseInfo
76
+
77
+Ƭ **BaseInfo**: *object*
78
+
79
+Defined in Types.ts:43
80
+
81
+#### Type declaration:
82
+
83
+* **argNames**: *[Name](_types_.md#name)[]*
84
+
85
+* **name**: *[Name](_types_.md#name)*
86
+
87
+* **owner**: *[Name](_types_.md#name)*
88
+
89
+___
90
+
91
+###  CallInfo
92
+
93
+Ƭ **CallInfo**: *[BaseInfo](_types_.md#baseinfo) & object*
94
+
95
+Defined in Types.ts:54
96
+
97
+___
98
+
99
+###  CallRPC
100
+
101
+Ƭ **CallRPC**: *object | Function*
102
+
103
+Defined in Types.ts:36
104
+
105
+___
106
+
107
+###  CallbackFunction
108
+
109
+Ƭ **CallbackFunction**: *function*
110
+
111
+Defined in Types.ts:66
112
+
113
+#### Type declaration:
114
+
115
+▸ (...`args`: any): *void*
116
+
117
+**Parameters:**
118
+
119
+Name | Type |
120
+------ | ------ |
121
+`...args` | any |
122
+
123
+___
124
+
125
+###  CloseHandler
126
+
127
+Ƭ **CloseHandler**: *function*
128
+
129
+Defined in Types.ts:10
130
+
131
+#### Type declaration:
132
+
133
+▸ (`socket`: [Socket](../interfaces/_interfaces_.socket.md)): *void*
134
+
135
+**Parameters:**
136
+
137
+Name | Type |
138
+------ | ------ |
139
+`socket` | [Socket](../interfaces/_interfaces_.socket.md) |
140
+
141
+___
142
+
143
+###  ConnectionHandler
144
+
145
+Ƭ **ConnectionHandler**: *function*
146
+
147
+Defined in Types.ts:8
148
+
149
+#### Type declaration:
150
+
151
+▸ (`socket`: [Socket](../interfaces/_interfaces_.socket.md)): *void*
152
+
153
+**Parameters:**
154
+
155
+Name | Type |
156
+------ | ------ |
157
+`socket` | [Socket](../interfaces/_interfaces_.socket.md) |
158
+
159
+___
160
+
161
+###  ErrorHandler
162
+
163
+Ƭ **ErrorHandler**: *function*
164
+
165
+Defined in Types.ts:9
166
+
167
+#### Type declaration:
168
+
169
+▸ (`socket`: [Socket](../interfaces/_interfaces_.socket.md), `error`: any): *void*
170
+
171
+**Parameters:**
172
+
173
+Name | Type |
174
+------ | ------ |
175
+`socket` | [Socket](../interfaces/_interfaces_.socket.md) |
176
+`error` | any |
177
+
178
+___
179
+
180
+###  ErrorResponse
181
+
182
+Ƭ **ErrorResponse**: *[Respose](_types_.md#respose)‹T› & object*
183
+
184
+Defined in Types.ts:24
185
+
186
+___
187
+
188
+###  ExtendedRpcInfo
189
+
190
+Ƭ **ExtendedRpcInfo**: *[RpcInfo](_types_.md#rpcinfo) & object*
191
+
192
+Defined in Types.ts:60
193
+
194
+___
195
+
196
+###  HookCloseFunction
197
+
198
+Ƭ **HookCloseFunction**: *function*
199
+
200
+Defined in Types.ts:63
201
+
202
+#### Type declaration:
203
+
204
+▸ (`res`: [SubscriptionResponse](_types_.md#subscriptionresponse)‹T›, `rpc`: [HookRPC](_types_.md#hookrpc)‹T›): *any*
205
+
206
+**Parameters:**
207
+
208
+Name | Type |
209
+------ | ------ |
210
+`res` | [SubscriptionResponse](_types_.md#subscriptionresponse)‹T› |
211
+`rpc` | [HookRPC](_types_.md#hookrpc)‹T› |
212
+
213
+___
214
+
215
+###  HookFunction
216
+
217
+Ƭ **HookFunction**: *function*
218
+
219
+Defined in Types.ts:64
220
+
221
+#### Type declaration:
222
+
223
+▸ (...`args`: any): *Promise‹[SubscriptionResponse](_types_.md#subscriptionresponse)‹T› | [ErrorResponse](_types_.md#errorresponse)›*
224
+
225
+**Parameters:**
226
+
227
+Name | Type |
228
+------ | ------ |
229
+`...args` | any |
230
+
231
+___
232
+
233
+###  HookInfo
234
+
235
+Ƭ **HookInfo**: *[BaseInfo](_types_.md#baseinfo) & object*
236
+
237
+Defined in Types.ts:49
238
+
239
+___
240
+
241
+###  HookRPC
242
+
243
+Ƭ **HookRPC**: *object*
244
+
245
+Defined in Types.ts:29
246
+
247
+#### Type declaration:
248
+
249
+* **hook**: *[HookFunction](_types_.md#hookfunction)‹T›*
250
+
251
+* **name**: *[Name](_types_.md#name)*
252
+
253
+* **onCallback**? : *[CallbackFunction](_types_.md#callbackfunction)*
254
+
255
+* **onClose**? : *[HookCloseFunction](_types_.md#hookclosefunction)‹T›*
256
+
257
+___
258
+
259
+###  Name
260
+
261
+Ƭ **Name**: *[Arg](_types_.md#arg)*
262
+
263
+Defined in Types.ts:6
264
+
265
+___
266
+
267
+###  OnFunction
268
+
269
+Ƭ **OnFunction**: *function*
270
+
271
+Defined in Types.ts:62
272
+
273
+#### Type declaration:
274
+
275
+▸ (`type`: "error" | "close", `f`: function): *[Socket](../interfaces/_interfaces_.socket.md)*
276
+
277
+**Parameters:**
278
+
279
+▪ **type**: *"error" | "close"*
280
+
281
+▪ **f**: *function*
282
+
283
+▸ (`e?`: any): *void*
284
+
285
+**Parameters:**
286
+
287
+Name | Type |
288
+------ | ------ |
289
+`e?` | any |
290
+
291
+___
292
+
293
+###  Outcome
294
+
295
+Ƭ **Outcome**: *"Success" | "Error"*
296
+
297
+Defined in Types.ts:19
298
+
299
+___
300
+
301
+###  Owner
302
+
303
+Ƭ **Owner**: *[Name](_types_.md#name)*
304
+
305
+Defined in Types.ts:7
306
+
307
+___
308
+
309
+###  RPC
310
+
311
+Ƭ **RPC**: *[CallRPC](_types_.md#callrpc) | [HookRPC](_types_.md#hookrpc)‹T›*
312
+
313
+Defined in Types.ts:41
314
+
315
+___
316
+
317
+###  RPCType
318
+
319
+Ƭ **RPCType**: *"Hook" | "Unhook" | "Call"*
320
+
321
+Defined in Types.ts:27
322
+
323
+___
324
+
325
+###  ResponseType
326
+
327
+Ƭ **ResponseType**: *"Subscribe" | "Success" | "Error"*
328
+
329
+Defined in Types.ts:18
330
+
331
+___
332
+
333
+###  Respose
334
+
335
+Ƭ **Respose**: *T & object*
336
+
337
+Defined in Types.ts:22
338
+
339
+___
340
+
341
+###  RpcInfo
342
+
343
+Ƭ **RpcInfo**: *[HookInfo](_types_.md#hookinfo) | [CallInfo](_types_.md#callinfo)*
344
+
345
+Defined in Types.ts:59
346
+
347
+___
348
+
349
+###  SocketConf
350
+
351
+Ƭ **SocketConf**: *object*
352
+
353
+Defined in Types.ts:11
354
+
355
+#### Type declaration:
356
+
357
+* **closeHandler**? : *[CloseHandler](_types_.md#closehandler)*
358
+
359
+* **connectionHandler**? : *[ConnectionHandler](_types_.md#connectionhandler)*
360
+
361
+* **errorHandler**? : *[ErrorHandler](_types_.md#errorhandler)*
362
+
363
+* **visibility**? : *[Visibility](_types_.md#visibility)*
364
+
365
+___
366
+
367
+###  SubscriptionResponse
368
+
369
+Ƭ **SubscriptionResponse**: *[Respose](_types_.md#respose)‹T› & object*
370
+
371
+Defined in Types.ts:25
372
+
373
+___
374
+
375
+###  SuccessResponse
376
+
377
+Ƭ **SuccessResponse**: *[Respose](_types_.md#respose)‹T› & object*
378
+
379
+Defined in Types.ts:23
380
+
381
+___
382
+
383
+###  Visibility
384
+
385
+Ƭ **Visibility**: *"127.0.0.1" | "0.0.0.0"*
386
+
387
+Defined in Types.ts:3

+ 124
- 0
docs/docs/modules/_utils_.md Dosyayı Görüntüle

@@ -0,0 +1,124 @@
1
+[rpclibrary](../README.md) › [Globals](../globals.md) › ["Utils"](_utils_.md)
2
+
3
+# External module: "Utils"
4
+
5
+## Index
6
+
7
+### Functions
8
+
9
+* [extractArgs](_utils_.md#const-extractargs)
10
+* [hookGenerator](_utils_.md#const-hookgenerator)
11
+* [makeSubResponse](_utils_.md#makesubresponse)
12
+* [rpcHooker](_utils_.md#rpchooker)
13
+* [rpcToRpcinfo](_utils_.md#const-rpctorpcinfo)
14
+
15
+## Functions
16
+
17
+### `Const` extractArgs
18
+
19
+▸ **extractArgs**(`f`: Function): *T.Arg[]*
20
+
21
+Defined in Utils.ts:110
22
+
23
+Extract a string list of parameters from a function
24
+
25
+**Parameters:**
26
+
27
+Name | Type | Description |
28
+------ | ------ | ------ |
29
+`f` | Function | The source function  |
30
+
31
+**Returns:** *T.Arg[]*
32
+
33
+___
34
+
35
+### `Const` hookGenerator
36
+
37
+▸ **hookGenerator**(`rpc`: T.HookRPC‹any›): *function*
38
+
39
+Defined in Utils.ts:85
40
+
41
+Utility function to generate [HookFunction](_types_.md#hookfunction) from a RPC
42
+
43
+**Parameters:**
44
+
45
+Name | Type | Description |
46
+------ | ------ | ------ |
47
+`rpc` | T.HookRPC‹any› | The RPC to transform |
48
+
49
+**Returns:** *function*
50
+
51
+A [HookFunction](_types_.md#hookfunction)
52
+
53
+▸ (`socket?`: I.Socket): *[HookFunction](_types_.md#hookfunction)‹T›*
54
+
55
+**Parameters:**
56
+
57
+Name | Type |
58
+------ | ------ |
59
+`socket?` | I.Socket |
60
+
61
+___
62
+
63
+###  makeSubResponse
64
+
65
+▸ **makeSubResponse**(`uuid?`: undefined | string): *[SubscriptionResponse](_types_.md#subscriptionresponse)*
66
+
67
+Defined in Utils.ts:119
68
+
69
+Simple utility function to create basic [SubscriptionResponse](_types_.md#subscriptionresponse)
70
+
71
+**Parameters:**
72
+
73
+Name | Type | Description |
74
+------ | ------ | ------ |
75
+`uuid?` | undefined &#124; string | optional uuid to use, otherwise defaults to uuid/v4  |
76
+
77
+**Returns:** *[SubscriptionResponse](_types_.md#subscriptionresponse)*
78
+
79
+___
80
+
81
+###  rpcHooker
82
+
83
+▸ **rpcHooker**<**SubResT**>(`socket`: [Socket](../interfaces/_interfaces_.socket.md), `exporter`: [RPCExporter](../interfaces/_interfaces_.rpcexporter.md)‹SubResT›, `makeUnique`: boolean): *T.ExtendedRpcInfo[]*
84
+
85
+Defined in Utils.ts:59
86
+
87
+Utility function to apply the RPCs of an [RPCExporter](../interfaces/_interfaces_.rpcexporter.md).
88
+
89
+**Type parameters:**
90
+
91
+▪ **SubResT**
92
+
93
+**Parameters:**
94
+
95
+Name | Type | Default | Description |
96
+------ | ------ | ------ | ------ |
97
+`socket` | [Socket](../interfaces/_interfaces_.socket.md) | - | The websocket (implementation: bsock) to hook on |
98
+`exporter` | [RPCExporter](../interfaces/_interfaces_.rpcexporter.md)‹SubResT› | - | The exporter |
99
+`makeUnique` | boolean | true | @default true Attach a suffix to RPC names  |
100
+
101
+**Returns:** *T.ExtendedRpcInfo[]*
102
+
103
+___
104
+
105
+### `Const` rpcToRpcinfo
106
+
107
+▸ **rpcToRpcinfo**<**SubResT**>(`rpc`: T.RPC‹SubResT›, `owner`: T.Owner): *T.RpcInfo*
108
+
109
+Defined in Utils.ts:13
110
+
111
+Translate an RPC to RPCInfo for serialization.
112
+
113
+**Type parameters:**
114
+
115
+▪ **SubResT**
116
+
117
+**Parameters:**
118
+
119
+Name | Type | Description |
120
+------ | ------ | ------ |
121
+`rpc` | T.RPC‹SubResT› | The RPC to transform |
122
+`owner` | T.Owner | The owning RPC group's name |
123
+
124
+**Returns:** *T.RpcInfo*

Loading…
İptal
Kaydet