@openfin/core 25.68.30 → 25.70.2

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 (199) hide show
  1. package/OpenFin.d.ts +30 -826
  2. package/README.md +12 -2
  3. package/package.json +1 -1
  4. package/src/api/application/Factory.d.ts +145 -145
  5. package/src/api/application/Factory.js +229 -229
  6. package/src/api/application/Instance.d.ts +301 -302
  7. package/src/api/application/Instance.js +412 -412
  8. package/src/api/application/index.d.ts +3 -3
  9. package/src/api/application/index.js +15 -15
  10. package/src/api/base.d.ts +43 -43
  11. package/src/api/base.js +177 -177
  12. package/src/api/clipboard/index.d.ts +69 -69
  13. package/src/api/clipboard/index.js +88 -88
  14. package/src/api/events/application.d.ts +69 -0
  15. package/src/api/events/application.js +2 -0
  16. package/src/api/events/base.d.ts +17 -0
  17. package/src/api/events/base.js +2 -0
  18. package/src/api/events/channel.d.ts +10 -11
  19. package/src/api/events/channel.js +2 -2
  20. package/src/api/events/emitterMap.d.ts +11 -11
  21. package/src/api/events/emitterMap.js +35 -35
  22. package/src/api/events/eventAggregator.d.ts +5 -5
  23. package/src/api/events/eventAggregator.js +43 -43
  24. package/src/api/events/externalApplication.d.ts +5 -0
  25. package/src/api/events/externalApplication.js +2 -0
  26. package/src/api/events/frame.d.ts +9 -0
  27. package/src/api/events/frame.js +2 -0
  28. package/src/api/events/globalHotkey.d.ts +10 -0
  29. package/src/api/events/globalHotkey.js +2 -0
  30. package/src/api/events/platform.d.ts +18 -0
  31. package/src/api/events/platform.js +2 -0
  32. package/src/api/events/system.d.ts +22 -0
  33. package/src/api/events/system.js +2 -0
  34. package/src/api/events/view.d.ts +56 -0
  35. package/src/api/events/view.js +2 -0
  36. package/src/api/events/webcontents.d.ts +48 -0
  37. package/src/api/events/webcontents.js +2 -0
  38. package/src/api/events/window.d.ts +176 -0
  39. package/src/api/events/window.js +2 -0
  40. package/src/api/external-application/Factory.d.ts +26 -26
  41. package/src/api/external-application/Factory.js +40 -40
  42. package/src/api/external-application/Instance.d.ts +101 -102
  43. package/src/api/external-application/Instance.js +109 -109
  44. package/src/api/external-application/index.d.ts +3 -3
  45. package/src/api/external-application/index.js +15 -15
  46. package/src/api/fin.d.ts +49 -49
  47. package/src/api/fin.js +43 -43
  48. package/src/api/frame/Factory.d.ts +36 -36
  49. package/src/api/frame/Factory.js +69 -69
  50. package/src/api/frame/Instance.d.ts +121 -121
  51. package/src/api/frame/Instance.js +130 -130
  52. package/src/api/frame/index.d.ts +3 -3
  53. package/src/api/frame/index.js +15 -15
  54. package/src/api/global-hotkey/index.d.ts +38 -38
  55. package/src/api/global-hotkey/index.js +58 -58
  56. package/src/api/interappbus/channel/channel.d.ts +26 -26
  57. package/src/api/interappbus/channel/channel.js +77 -77
  58. package/src/api/interappbus/channel/channels-docs.d.ts +318 -318
  59. package/src/api/interappbus/channel/channels-docs.js +376 -376
  60. package/src/api/interappbus/channel/client.d.ts +22 -22
  61. package/src/api/interappbus/channel/client.js +84 -84
  62. package/src/api/interappbus/channel/connection-manager.d.ts +28 -28
  63. package/src/api/interappbus/channel/connection-manager.js +244 -244
  64. package/src/api/interappbus/channel/index.d.ts +22 -23
  65. package/src/api/interappbus/channel/index.js +121 -121
  66. package/src/api/interappbus/channel/protocols/classic/message-receiver.d.ts +13 -13
  67. package/src/api/interappbus/channel/protocols/classic/message-receiver.js +73 -73
  68. package/src/api/interappbus/channel/protocols/classic/strategy.d.ts +22 -22
  69. package/src/api/interappbus/channel/protocols/classic/strategy.js +84 -84
  70. package/src/api/interappbus/channel/protocols/combined/strategy.d.ts +20 -20
  71. package/src/api/interappbus/channel/protocols/combined/strategy.js +58 -58
  72. package/src/api/interappbus/channel/protocols/index.d.ts +44 -44
  73. package/src/api/interappbus/channel/protocols/index.js +2 -2
  74. package/src/api/interappbus/channel/protocols/protocol-manager.d.ts +10 -10
  75. package/src/api/interappbus/channel/protocols/protocol-manager.js +43 -43
  76. package/src/api/interappbus/channel/protocols/rtc/endpoint.d.ts +23 -23
  77. package/src/api/interappbus/channel/protocols/rtc/endpoint.js +135 -135
  78. package/src/api/interappbus/channel/protocols/rtc/ice-manager.d.ts +30 -30
  79. package/src/api/interappbus/channel/protocols/rtc/ice-manager.js +131 -131
  80. package/src/api/interappbus/channel/protocols/rtc/strategy.d.ts +22 -22
  81. package/src/api/interappbus/channel/protocols/rtc/strategy.js +87 -87
  82. package/src/api/interappbus/channel/protocols/strategy-types.d.ts +13 -13
  83. package/src/api/interappbus/channel/protocols/strategy-types.js +2 -2
  84. package/src/api/interappbus/channel/protocols/strategy.d.ts +15 -15
  85. package/src/api/interappbus/channel/protocols/strategy.js +2 -2
  86. package/src/api/interappbus/channel/provider.d.ts +31 -31
  87. package/src/api/interappbus/channel/provider.js +160 -160
  88. package/src/api/interappbus/index.d.ts +85 -86
  89. package/src/api/interappbus/index.js +175 -175
  90. package/src/api/interop/Factory.d.ts +37 -37
  91. package/src/api/interop/Factory.js +54 -54
  92. package/src/api/interop/InteropBroker.d.ts +363 -363
  93. package/src/api/interop/InteropBroker.js +914 -914
  94. package/src/api/interop/InteropClient.d.ts +268 -268
  95. package/src/api/interop/InteropClient.js +450 -450
  96. package/src/api/interop/SessionContextGroupBroker.d.ts +26 -26
  97. package/src/api/interop/SessionContextGroupBroker.js +107 -107
  98. package/src/api/interop/SessionContextGroupClient.d.ts +20 -20
  99. package/src/api/interop/SessionContextGroupClient.js +85 -85
  100. package/src/api/interop/fdc3/fdc3-1.2.d.ts +187 -187
  101. package/src/api/interop/fdc3/fdc3-1.2.js +385 -385
  102. package/src/api/interop/fdc3/fdc3.js +17 -17
  103. package/src/api/interop/fdc3/utils.d.ts +6 -6
  104. package/src/api/interop/fdc3/utils.js +17 -17
  105. package/src/api/interop/index.d.ts +4 -4
  106. package/src/api/interop/index.js +16 -16
  107. package/src/api/interop/utils.d.ts +11 -11
  108. package/src/api/interop/utils.js +36 -36
  109. package/src/api/me.d.ts +38 -35
  110. package/src/api/me.js +128 -60
  111. package/src/api/platform/Factory.d.ts +109 -109
  112. package/src/api/platform/Factory.js +188 -188
  113. package/src/api/platform/Instance.d.ts +122 -122
  114. package/src/api/platform/Instance.js +298 -298
  115. package/src/api/platform/common-utils.d.ts +6 -6
  116. package/src/api/platform/common-utils.js +16 -16
  117. package/src/api/platform/index.d.ts +3 -3
  118. package/src/api/platform/index.js +15 -15
  119. package/src/api/platform/layout/Factory.d.ts +108 -108
  120. package/src/api/platform/layout/Factory.js +189 -189
  121. package/src/api/platform/layout/Instance.d.ts +49 -49
  122. package/src/api/platform/layout/Instance.js +99 -99
  123. package/src/api/platform/layout/index.d.ts +2 -2
  124. package/src/api/platform/layout/index.js +14 -14
  125. package/src/api/platform/layout/shapes.d.ts +11 -0
  126. package/src/api/{window → platform/layout}/shapes.js +2 -2
  127. package/src/api/snapshot-source/Factory.d.ts +36 -36
  128. package/src/api/snapshot-source/Factory.js +65 -65
  129. package/src/api/snapshot-source/Instance.d.ts +30 -30
  130. package/src/api/snapshot-source/Instance.js +134 -134
  131. package/src/api/snapshot-source/index.d.ts +3 -3
  132. package/src/api/snapshot-source/index.js +15 -15
  133. package/src/api/snapshot-source/utils.d.ts +1 -1
  134. package/src/api/snapshot-source/utils.js +5 -5
  135. package/src/api/system/index.d.ts +960 -961
  136. package/src/api/system/index.js +1241 -1241
  137. package/src/api/view/Factory.d.ts +49 -49
  138. package/src/api/view/Factory.js +103 -103
  139. package/src/api/view/Instance.d.ts +387 -380
  140. package/src/api/view/Instance.js +422 -415
  141. package/src/api/view/index.d.ts +3 -3
  142. package/src/api/view/index.js +15 -15
  143. package/src/api/webcontents/main.d.ts +36 -36
  144. package/src/api/webcontents/main.js +82 -82
  145. package/src/api/window/Factory.d.ts +44 -44
  146. package/src/api/window/Factory.js +91 -91
  147. package/src/api/window/Instance.d.ts +972 -966
  148. package/src/api/window/Instance.js +1209 -1202
  149. package/src/api/window/index.d.ts +3 -5
  150. package/src/api/window/index.js +15 -17
  151. package/src/environment/environment.d.ts +28 -25
  152. package/src/environment/environment.js +4 -4
  153. package/src/environment/node-env.d.ts +25 -26
  154. package/src/environment/node-env.js +64 -64
  155. package/src/environment/openfin-env.d.ts +29 -30
  156. package/src/environment/openfin-env.js +107 -107
  157. package/src/mock.d.ts +3 -3
  158. package/src/mock.js +91 -90
  159. package/src/shapes/ERROR_BOX_TYPES.d.ts +1 -0
  160. package/src/shapes/ERROR_BOX_TYPES.js +2 -0
  161. package/src/shapes/WebOptions.d.ts +12 -0
  162. package/src/shapes/WebOptions.js +2 -0
  163. package/src/shapes/WindowOptions.d.ts +42 -0
  164. package/src/shapes/WindowOptions.js +2 -0
  165. package/src/shapes/protocol.d.ts +178 -0
  166. package/src/shapes/protocol.js +2 -0
  167. package/src/transport/fin_store.d.ts +4 -4
  168. package/src/transport/fin_store.js +16 -16
  169. package/src/transport/transport-errors.d.ts +18 -18
  170. package/src/transport/transport-errors.js +37 -37
  171. package/src/transport/transport.d.ts +56 -43
  172. package/src/transport/transport.js +181 -181
  173. package/src/transport/wire.d.ts +71 -11
  174. package/src/transport/wire.js +32 -32
  175. package/src/util/asyncFilter.d.ts +1 -1
  176. package/src/util/asyncFilter.js +7 -7
  177. package/src/util/errors.d.ts +9 -5
  178. package/src/util/errors.js +11 -11
  179. package/src/util/exhaustive.d.ts +1 -1
  180. package/src/util/exhaustive.js +7 -7
  181. package/src/util/http.d.ts +11 -11
  182. package/src/util/http.js +83 -83
  183. package/src/util/normalize-config.d.ts +3 -5
  184. package/src/util/normalize-config.js +47 -47
  185. package/src/util/promises.d.ts +5 -5
  186. package/src/util/promises.js +27 -27
  187. package/src/util/ref-counter.d.ts +7 -7
  188. package/src/util/ref-counter.js +51 -51
  189. package/src/util/runtimeVersioning.d.ts +3 -3
  190. package/src/util/runtimeVersioning.js +25 -25
  191. package/src/util/utilTypes.d.ts +8 -8
  192. package/src/util/utilTypes.js +2 -2
  193. package/src/util/validate.d.ts +3 -3
  194. package/src/util/validate.js +11 -11
  195. package/docs.README(OLD).md +0 -82
  196. package/resources/win/OpenFinRVM.exe +0 -0
  197. package/src/api/window/bounds-changed.d.ts +0 -10
  198. package/src/api/window/bounds-changed.js +0 -6
  199. package/src/api/window/shapes.d.ts +0 -13
@@ -1,318 +1,318 @@
1
- declare const InterApplicationBus: any;
2
- /**
3
- * Instance created to enable use of a channel as a provider. Allows for communication with the {@link Channel#ChannelClient ChannelClients} by invoking an action on
4
- * a single client via {@link Channel#ChannelProvider#dispatch dispatch} or all clients via {@link Channel#ChannelProvider#publish publish}
5
- * and to listen for communication from clients by registering an action via {@link Channel#ChannelProvider#register register}.
6
- *
7
- * ##### Constructor
8
- *
9
- * Returned by {@link InterApplicationBus.Channel.create Channel.create}.
10
- *
11
- * ##### Synchronous Methods
12
- * * {@link Channel#ChannelProvider#onConnection onConnection(listener)}
13
- * * {@link Channel#ChannelProvider#onDisconnection onDisconnection(listener)}
14
- * * {@link Channel#ChannelProvider#publish publish(action, payload)}
15
- * * {@link Channel#ChannelProvider#register register(action, listener)}
16
- * * {@link Channel#ChannelProvider#remove remove(action)}
17
- *
18
- * ##### Asynchronous Methods
19
- * * {@link Channel#ChannelProvider#destroy destroy()}
20
- * * {@link Channel#ChannelProvider#dispatch dispatch(to, action, payload)}
21
- *
22
- * ##### Middleware
23
- * Middleware functions receive the following arguments: (action, payload, senderId).
24
- * The return value of the middleware function will be passed on as the payload from beforeAction, to the action listener, to afterAction
25
- * unless it is undefined, in which case the most recently defined payload is used. Middleware can be used for side effects.
26
- * * {@link Channel#ChannelProvider#setDefaultAction setDefaultAction(middleware)}
27
- * * {@link Channel#ChannelProvider#onError onError(middleware)}
28
- * * {@link Channel#ChannelProvider#beforeAction beforeAction(middleware)}
29
- * * {@link Channel#ChannelProvider#afterAction afterAction(middleware)}
30
- *
31
- * @memberof! Channel#
32
- * @hideconstructor
33
- * @property {InterApplicationBus.Channel~ClientIdentity[]} connections a read-only array containing all the identities of connecting clients.
34
- *
35
- */
36
- declare class ChannelProvider {
37
- /**
38
- *
39
- * Destroy the channel.
40
- * @returns {Promise<void>}
41
- * @tutorial ChannelProvider.destroy
42
- */
43
- destroy(): void;
44
- /**
45
- *
46
- * Dispatch an action to a specified client. Returns a promise for the result of executing that action on the client side.
47
- * @param {InterApplicationBus.Channel~ClientIdentity} to - Identity of the target client.
48
- * @param {string} action - Name of the action to be invoked by the client.
49
- * @param {*} payload - Payload to be sent along with the action.
50
- * @returns {Promise<any>}
51
- * @tutorial Channel.dispatch
52
- */
53
- dispatch(): void;
54
- /**
55
- *
56
- * Register an action to be called
57
- * @param {string} action - Name of the action to be registered for channel clients to later invoke.
58
- * @param {Channel#ChannelProvider~Action} listener - Function representing the action to be taken on a client dispatch.
59
- * @returns {boolean} - Boolean representing the successful registration of the action.
60
- * @tutorial Channel.register
61
- */
62
- register(): void;
63
- /**
64
- *
65
- * Publish an action and payload to every connected client.
66
- * Synchronously returns an array of promises for each action (see dispatch).
67
- * @param {string} action
68
- * @param {*} payload
69
- * @returns {Array<Promise<any>>}
70
- * @tutorial ChannelProvider.publish
71
- */
72
- publish(): void;
73
- /**
74
- *
75
- * Register a listener that is called on every new client connection.
76
- * It is passed the identity of the connecting client and a payload if it was provided to {@link Channel.connect}.
77
- * If you wish to reject the connection, throw an error. Be sure to synchronously provide an onConnection upon receipt of the channelProvider
78
- * to ensure all potential client connections are caught by the listener.
79
- * @param {Channel#ChannelProvider~ConnectionListener} listener
80
- * @returns {void}
81
- * @tutorial ChannelProvider.onConnection
82
- */
83
- onConnection(): void;
84
- /**
85
- *
86
- * Register a listener that is called on every new client disconnection.
87
- * It is passed the disconnection event of the disconnecting client.
88
- * @param {InterApplicationBus.Channel~ConnectionEvent} listener
89
- * @returns {void}
90
- * @tutorial Channel.onDisconnection
91
- */
92
- onDisconnection(): void;
93
- /**
94
- *
95
- * Register middleware that fires before the action.
96
- * @param {Channel#ChannelProvider~Middleware} middleware - Function to be executed before invoking the action.
97
- * @returns {void}
98
- * @tutorial ChannelMiddleware.beforeAction
99
- */
100
- beforeAction(): void;
101
- /**
102
- *
103
- * Register an error handler. This is called before responding on any error.
104
- * @param {Channel#ChannelProvider~Middleware} middleware - Function to be executed in case of an error.
105
- * @returns {void}
106
- * @tutorial ChannelMiddleware.onError
107
- */
108
- onError(): void;
109
- /**
110
- *
111
- * Register middleware that fires after the action. This is passed the return value of the action.
112
- * @param {Channel#ChannelProvider~Middleware} middleware - Function to be executed after invoking the action.
113
- * @returns {void}
114
- * @tutorial ChannelMiddleware.afterAction
115
- */
116
- afterAction(): void;
117
- /**
118
- *
119
- * Remove an action by action name.
120
- * @param {string} action - Name of the action to be removed.
121
- * @returns {void}
122
- * @tutorial Channel.remove
123
- */
124
- remove(): void;
125
- /**
126
- *
127
- * Sets a default action. This is used any time an action that has not been registered is invoked.
128
- * Default behavior if not set is to throw an error.
129
- * @param {Channel#ChannelProvider~Middleware} middleware - Function to be executed when a client invokes an action name that has not been registered.
130
- * @returns {void}
131
- * @tutorial ChannelMiddleware.setDefaultAction
132
- */
133
- setDefaultAction(): void;
134
- }
135
- /**
136
- * Instance created to enable use of a channel as a client. Allows for communication with the
137
- * {@link Channel#ChannelProvider ChannelProvider} by invoking an action on the
138
- * provider via {@link Channel#ChannelClient#dispatch dispatch} and to listen for communication
139
- * from the provider by registering an action via {@link Channel#ChannelClient#register register}.
140
- *
141
- * ##### Constructor
142
- * Returned by {@link InterApplicationBus.Channel.connect Channel.connect}.
143
- *
144
- * ##### Synchronous Methods
145
- * * {@link Channel#ChannelClient#onDisconnection onDisconnection(listener)}
146
- * * {@link Channel#ChannelClient#register register(action, listener)}
147
- * * {@link Channel#ChannelClient#remove remove(action)}
148
- *
149
- * ##### Asynchronous Methods
150
- * * {@link Channel#ChannelClient#disconnect disconnect()}
151
- * * {@link Channel#ChannelClient#dispatch dispatch(action, payload)}
152
- *
153
- * ##### Middleware
154
- * Middleware functions receive the following arguments: (action, payload, senderId).
155
- * The return value of the middleware function will be passed on as the payload from beforeAction, to the action listener, to afterAction
156
- * unless it is undefined, in which case the original payload is used. Middleware can be used for side effects.
157
- * * {@link Channel#ChannelClient#setDefaultAction setDefaultAction(middleware)}
158
- * * {@link Channel#ChannelClient#onError onError(middleware)}
159
- * * {@link Channel#ChannelClient#beforeAction beforeAction(middleware)}
160
- * * {@link Channel#ChannelClient#afterAction afterAction(middleware)}
161
- *
162
- * @hideconstructor
163
- * @memberof! Channel#
164
- * @property {InterApplicationBus.Channel~ProviderIdentity} providerIdentity a read-only provider identity
165
- */
166
- declare class ChannelClient {
167
- /**
168
- *
169
- * Disconnect from the channel.
170
- * @tutorial Channel.disconnect
171
- * @returns {Promise<void>}
172
- */
173
- disconnect(): void;
174
- /**
175
- *
176
- * Dispatch the given action to the channel provider. Returns a promise that resolves with the response from the provider for that action.
177
- * @param {string} action - Name of the action to be invoked by the channel provider.
178
- * @param {*} payload - Payload to be sent along with the action.
179
- * @tutorial Channel.dispatch
180
- * @returns {Promise<any>}
181
- */
182
- dispatch(): void;
183
- /**
184
- *
185
- * Register an action to be called by the provider of the channel.
186
- * @param {string} action - Name of the action to be registered for the channel provider to later invoke.
187
- * @param {Channel#ChannelClient~Action} listener - Function representing the action to be taken on a provider dispatch.
188
- * @returns {boolean}
189
- * @tutorial Channel.register
190
- */
191
- register(): void;
192
- /**
193
- *
194
- * Register middleware that fires before the action.
195
- * @param {Channel#ChannelClient~Middleware} middleware - Function to be executed before invoking the action.
196
- * @returns {void}
197
- * @tutorial ChannelMiddleware.beforeAction
198
- */
199
- beforeAction(): void;
200
- /**
201
- *
202
- * Register a listener that is called on channel disconnection.
203
- * It is passed the disconnection event of the disconnecting channel.
204
- * @param {InterApplicationBus.Channel~ConnectionEvent} listener
205
- * @returns {void}
206
- * @tutorial Channel.onDisconnection
207
- */
208
- onDisconnection(): void;
209
- /**
210
- * Register an error handler. This is called before responding on any error.
211
- * @param {Channel#ChannelClient~Middleware} middleware - Function to be executed in case of an error.
212
- * @returns {void}
213
- * @tutorial ChannelMiddleware.onError
214
- */
215
- onError(): void;
216
- /**
217
- *
218
- * Register middleware that fires after the action. This is passed the return value of the action.
219
- * @param {Channel#ChannelClient~Middleware} middleware - Function to be executed after invoking the action.
220
- * @returns {void}
221
- * @tutorial ChannelMiddleware.afterAction
222
- */
223
- afterAction(): void;
224
- /**
225
- *
226
- * Remove an action by action name.
227
- * @param {string} action - Name of the action to be removed.
228
- * @returns {void}
229
- * @tutorial Channel.remove
230
- */
231
- remove(): void;
232
- /**
233
- *
234
- * Sets a default action. This is used any time an action that has not been registered is invoked.
235
- * Default behavior if not set is to throw an error.
236
- * @param {Channel#ChannelClient~Middleware} middleware - Function to be executed when a client invokes an action name that has not been registered.
237
- * @returns {void}
238
- * @tutorial ChannelMiddleware.setDefaultAction
239
- */
240
- setDefaultAction(): void;
241
- }
242
- /**
243
- * Channel action callback signature
244
- * @callback Channel#ChannelProvider~Action
245
- * @param {any} payload - Payload sent along with the message.
246
- * @param {InterApplicationBus.Channel~ClientIdentity} identity - Identity of the sender.
247
- */
248
- /**
249
- * Channel action callback signature
250
- * @callback Channel#ChannelClient~Action
251
- * @param {any} payload - Payload sent along with the message.
252
- * @param {Identity} identity - Identity of the sender.
253
- */
254
- /**
255
- * Middleware function signature
256
- * @callback Channel#ChannelProvider~Middleware
257
- * @param {string} action - Action to be invoked.
258
- * @param {any} payload - Payload sent along with the message (or error for error middleware).
259
- * @param {Identity} identity - Identity of the sender.
260
- */
261
- /**
262
- * Middleware function signature
263
- * @callback Channel#ChannelClient~Middleware
264
- * @param {string} action - Action to be invoked.
265
- * @param {any} payload - Payload sent along with the message (or error for error middleware).
266
- * @param {Identity} identity - Identity of the sender.
267
- */
268
- /**
269
- * Callback for the channel onConnection or onDisconnection. If it errors connection will be rejected.
270
- * @callback Channel#ChannelProvider~ConnectionListener
271
- * @param {InterApplicationBus.Channel~ClientIdentity} identity - Identity of the client attempting to connect to the channel.
272
- * @param {any} payload - Payload sent with connection request.
273
- */
274
- /**
275
- * Callback for onChannelConnect or onChannelDisconnect.
276
- * @typedef {object} InterApplicationBus.Channel~ConnectionEvent
277
- * @property {string} channelId - Identifier of the channel.
278
- * @property {string} uuid - Channel provider uuid.
279
- * @property {string} [name] - Channel provider name.
280
- * @property {string} channelName - Name of the channel.
281
- */
282
- /**
283
- * Protocol values for determining channel messaging strategy.
284
- * @typedef {('classic' | 'rtc')} InterApplicationBus.Channel~MessagingProtocols - EXPERIMENTAL
285
- *
286
- */
287
- /**
288
- * Channel provider creation options.
289
- * @typedef {object} InterApplicationBus.Channel~ChannelCreateOptions
290
- * @property {InterApplicationBus.Channel~MessagingProtocols[]} [protocols=['classic']] - EXPERIMENTAL: Messaging protocols supported by the channel provider.
291
- *
292
- */
293
- /**
294
- * Options provided on a client connection to a channel.
295
- * @typedef {object} InterApplicationBus.Channel~ChannelConnectOptions
296
- * @property {InterApplicationBus.Channel~MessagingProtocols[]} [protocols=['classic']] - EXPERIMENTAL: Messaging protocols requested by the client, connection will fail if the provider protocols are not compatible.
297
- * @property {any} [payload] - Payload to pass to ChannelProvider onConnection action.
298
- * @property {boolean} [wait=true] - If true will wait for ChannelProvider to connect. If false will fail if ChannelProvider is not found.
299
- *
300
- */
301
- /**
302
- * Provider Identity.
303
- * @typedef {object} InterApplicationBus.Channel~ProviderIdentity
304
- * @property {string} uuid - Channel provider uuid.
305
- * @property {string} [name] - Channel provider name.
306
- * @property {string} channelId - Identifier of the channel.
307
- * @property {boolean} [isExternal] - true if it's external connection.
308
- * @property {string} channelName - Name of the channel.
309
- *
310
- */
311
- /**
312
- * Client Identity.
313
- * @typedef {object} InterApplicationBus.Channel~ClientIdentity
314
- * @property {string} uuid - Channel client uuid.
315
- * @property {string} name - Channel client name.
316
- * @property {string} endpointId - Unique identifier for a client, because there can be multiple clients at one name/uuid entity.
317
- *
318
- */
1
+ declare const InterApplicationBus: any;
2
+ /**
3
+ * Instance created to enable use of a channel as a provider. Allows for communication with the {@link Channel#ChannelClient ChannelClients} by invoking an action on
4
+ * a single client via {@link Channel#ChannelProvider#dispatch dispatch} or all clients via {@link Channel#ChannelProvider#publish publish}
5
+ * and to listen for communication from clients by registering an action via {@link Channel#ChannelProvider#register register}.
6
+ *
7
+ * ##### Constructor
8
+ *
9
+ * Returned by {@link InterApplicationBus.Channel.create Channel.create}.
10
+ *
11
+ * ##### Synchronous Methods
12
+ * * {@link Channel#ChannelProvider#onConnection onConnection(listener)}
13
+ * * {@link Channel#ChannelProvider#onDisconnection onDisconnection(listener)}
14
+ * * {@link Channel#ChannelProvider#publish publish(action, payload)}
15
+ * * {@link Channel#ChannelProvider#register register(action, listener)}
16
+ * * {@link Channel#ChannelProvider#remove remove(action)}
17
+ *
18
+ * ##### Asynchronous Methods
19
+ * * {@link Channel#ChannelProvider#destroy destroy()}
20
+ * * {@link Channel#ChannelProvider#dispatch dispatch(to, action, payload)}
21
+ *
22
+ * ##### Middleware
23
+ * Middleware functions receive the following arguments: (action, payload, senderId).
24
+ * The return value of the middleware function will be passed on as the payload from beforeAction, to the action listener, to afterAction
25
+ * unless it is undefined, in which case the most recently defined payload is used. Middleware can be used for side effects.
26
+ * * {@link Channel#ChannelProvider#setDefaultAction setDefaultAction(middleware)}
27
+ * * {@link Channel#ChannelProvider#onError onError(middleware)}
28
+ * * {@link Channel#ChannelProvider#beforeAction beforeAction(middleware)}
29
+ * * {@link Channel#ChannelProvider#afterAction afterAction(middleware)}
30
+ *
31
+ * @memberof! Channel#
32
+ * @hideconstructor
33
+ * @property {InterApplicationBus.Channel~ClientIdentity[]} connections a read-only array containing all the identities of connecting clients.
34
+ *
35
+ */
36
+ declare class ChannelProvider {
37
+ /**
38
+ *
39
+ * Destroy the channel.
40
+ * @returns {Promise<void>}
41
+ * @tutorial ChannelProvider.destroy
42
+ */
43
+ destroy(): void;
44
+ /**
45
+ *
46
+ * Dispatch an action to a specified client. Returns a promise for the result of executing that action on the client side.
47
+ * @param {InterApplicationBus.Channel~ClientIdentity} to - Identity of the target client.
48
+ * @param {string} action - Name of the action to be invoked by the client.
49
+ * @param {*} payload - Payload to be sent along with the action.
50
+ * @returns {Promise<any>}
51
+ * @tutorial Channel.dispatch
52
+ */
53
+ dispatch(): void;
54
+ /**
55
+ *
56
+ * Register an action to be called
57
+ * @param {string} action - Name of the action to be registered for channel clients to later invoke.
58
+ * @param {Channel#ChannelProvider~Action} listener - Function representing the action to be taken on a client dispatch.
59
+ * @returns {boolean} - Boolean representing the successful registration of the action.
60
+ * @tutorial Channel.register
61
+ */
62
+ register(): void;
63
+ /**
64
+ *
65
+ * Publish an action and payload to every connected client.
66
+ * Synchronously returns an array of promises for each action (see dispatch).
67
+ * @param {string} action
68
+ * @param {*} payload
69
+ * @returns {Array<Promise<any>>}
70
+ * @tutorial ChannelProvider.publish
71
+ */
72
+ publish(): void;
73
+ /**
74
+ *
75
+ * Register a listener that is called on every new client connection.
76
+ * It is passed the identity of the connecting client and a payload if it was provided to {@link Channel.connect}.
77
+ * If you wish to reject the connection, throw an error. Be sure to synchronously provide an onConnection upon receipt of the channelProvider
78
+ * to ensure all potential client connections are caught by the listener.
79
+ * @param {Channel#ChannelProvider~ConnectionListener} listener
80
+ * @returns {void}
81
+ * @tutorial ChannelProvider.onConnection
82
+ */
83
+ onConnection(): void;
84
+ /**
85
+ *
86
+ * Register a listener that is called on every new client disconnection.
87
+ * It is passed the disconnection event of the disconnecting client.
88
+ * @param {InterApplicationBus.Channel~ConnectionEvent} listener
89
+ * @returns {void}
90
+ * @tutorial Channel.onDisconnection
91
+ */
92
+ onDisconnection(): void;
93
+ /**
94
+ *
95
+ * Register middleware that fires before the action.
96
+ * @param {Channel#ChannelProvider~Middleware} middleware - Function to be executed before invoking the action.
97
+ * @returns {void}
98
+ * @tutorial ChannelMiddleware.beforeAction
99
+ */
100
+ beforeAction(): void;
101
+ /**
102
+ *
103
+ * Register an error handler. This is called before responding on any error.
104
+ * @param {Channel#ChannelProvider~Middleware} middleware - Function to be executed in case of an error.
105
+ * @returns {void}
106
+ * @tutorial ChannelMiddleware.onError
107
+ */
108
+ onError(): void;
109
+ /**
110
+ *
111
+ * Register middleware that fires after the action. This is passed the return value of the action.
112
+ * @param {Channel#ChannelProvider~Middleware} middleware - Function to be executed after invoking the action.
113
+ * @returns {void}
114
+ * @tutorial ChannelMiddleware.afterAction
115
+ */
116
+ afterAction(): void;
117
+ /**
118
+ *
119
+ * Remove an action by action name.
120
+ * @param {string} action - Name of the action to be removed.
121
+ * @returns {void}
122
+ * @tutorial Channel.remove
123
+ */
124
+ remove(): void;
125
+ /**
126
+ *
127
+ * Sets a default action. This is used any time an action that has not been registered is invoked.
128
+ * Default behavior if not set is to throw an error.
129
+ * @param {Channel#ChannelProvider~Middleware} middleware - Function to be executed when a client invokes an action name that has not been registered.
130
+ * @returns {void}
131
+ * @tutorial ChannelMiddleware.setDefaultAction
132
+ */
133
+ setDefaultAction(): void;
134
+ }
135
+ /**
136
+ * Instance created to enable use of a channel as a client. Allows for communication with the
137
+ * {@link Channel#ChannelProvider ChannelProvider} by invoking an action on the
138
+ * provider via {@link Channel#ChannelClient#dispatch dispatch} and to listen for communication
139
+ * from the provider by registering an action via {@link Channel#ChannelClient#register register}.
140
+ *
141
+ * ##### Constructor
142
+ * Returned by {@link InterApplicationBus.Channel.connect Channel.connect}.
143
+ *
144
+ * ##### Synchronous Methods
145
+ * * {@link Channel#ChannelClient#onDisconnection onDisconnection(listener)}
146
+ * * {@link Channel#ChannelClient#register register(action, listener)}
147
+ * * {@link Channel#ChannelClient#remove remove(action)}
148
+ *
149
+ * ##### Asynchronous Methods
150
+ * * {@link Channel#ChannelClient#disconnect disconnect()}
151
+ * * {@link Channel#ChannelClient#dispatch dispatch(action, payload)}
152
+ *
153
+ * ##### Middleware
154
+ * Middleware functions receive the following arguments: (action, payload, senderId).
155
+ * The return value of the middleware function will be passed on as the payload from beforeAction, to the action listener, to afterAction
156
+ * unless it is undefined, in which case the original payload is used. Middleware can be used for side effects.
157
+ * * {@link Channel#ChannelClient#setDefaultAction setDefaultAction(middleware)}
158
+ * * {@link Channel#ChannelClient#onError onError(middleware)}
159
+ * * {@link Channel#ChannelClient#beforeAction beforeAction(middleware)}
160
+ * * {@link Channel#ChannelClient#afterAction afterAction(middleware)}
161
+ *
162
+ * @hideconstructor
163
+ * @memberof! Channel#
164
+ * @property {InterApplicationBus.Channel~ProviderIdentity} providerIdentity a read-only provider identity
165
+ */
166
+ declare class ChannelClient {
167
+ /**
168
+ *
169
+ * Disconnect from the channel.
170
+ * @tutorial Channel.disconnect
171
+ * @returns {Promise<void>}
172
+ */
173
+ disconnect(): void;
174
+ /**
175
+ *
176
+ * Dispatch the given action to the channel provider. Returns a promise that resolves with the response from the provider for that action.
177
+ * @param {string} action - Name of the action to be invoked by the channel provider.
178
+ * @param {*} payload - Payload to be sent along with the action.
179
+ * @tutorial Channel.dispatch
180
+ * @returns {Promise<any>}
181
+ */
182
+ dispatch(): void;
183
+ /**
184
+ *
185
+ * Register an action to be called by the provider of the channel.
186
+ * @param {string} action - Name of the action to be registered for the channel provider to later invoke.
187
+ * @param {Channel#ChannelClient~Action} listener - Function representing the action to be taken on a provider dispatch.
188
+ * @returns {boolean}
189
+ * @tutorial Channel.register
190
+ */
191
+ register(): void;
192
+ /**
193
+ *
194
+ * Register middleware that fires before the action.
195
+ * @param {Channel#ChannelClient~Middleware} middleware - Function to be executed before invoking the action.
196
+ * @returns {void}
197
+ * @tutorial ChannelMiddleware.beforeAction
198
+ */
199
+ beforeAction(): void;
200
+ /**
201
+ *
202
+ * Register a listener that is called on channel disconnection.
203
+ * It is passed the disconnection event of the disconnecting channel.
204
+ * @param {InterApplicationBus.Channel~ConnectionEvent} listener
205
+ * @returns {void}
206
+ * @tutorial Channel.onDisconnection
207
+ */
208
+ onDisconnection(): void;
209
+ /**
210
+ * Register an error handler. This is called before responding on any error.
211
+ * @param {Channel#ChannelClient~Middleware} middleware - Function to be executed in case of an error.
212
+ * @returns {void}
213
+ * @tutorial ChannelMiddleware.onError
214
+ */
215
+ onError(): void;
216
+ /**
217
+ *
218
+ * Register middleware that fires after the action. This is passed the return value of the action.
219
+ * @param {Channel#ChannelClient~Middleware} middleware - Function to be executed after invoking the action.
220
+ * @returns {void}
221
+ * @tutorial ChannelMiddleware.afterAction
222
+ */
223
+ afterAction(): void;
224
+ /**
225
+ *
226
+ * Remove an action by action name.
227
+ * @param {string} action - Name of the action to be removed.
228
+ * @returns {void}
229
+ * @tutorial Channel.remove
230
+ */
231
+ remove(): void;
232
+ /**
233
+ *
234
+ * Sets a default action. This is used any time an action that has not been registered is invoked.
235
+ * Default behavior if not set is to throw an error.
236
+ * @param {Channel#ChannelClient~Middleware} middleware - Function to be executed when a client invokes an action name that has not been registered.
237
+ * @returns {void}
238
+ * @tutorial ChannelMiddleware.setDefaultAction
239
+ */
240
+ setDefaultAction(): void;
241
+ }
242
+ /**
243
+ * Channel action callback signature
244
+ * @callback Channel#ChannelProvider~Action
245
+ * @param {any} payload - Payload sent along with the message.
246
+ * @param {InterApplicationBus.Channel~ClientIdentity} identity - Identity of the sender.
247
+ */
248
+ /**
249
+ * Channel action callback signature
250
+ * @callback Channel#ChannelClient~Action
251
+ * @param {any} payload - Payload sent along with the message.
252
+ * @param {Identity} identity - Identity of the sender.
253
+ */
254
+ /**
255
+ * Middleware function signature
256
+ * @callback Channel#ChannelProvider~Middleware
257
+ * @param {string} action - Action to be invoked.
258
+ * @param {any} payload - Payload sent along with the message (or error for error middleware).
259
+ * @param {Identity} identity - Identity of the sender.
260
+ */
261
+ /**
262
+ * Middleware function signature
263
+ * @callback Channel#ChannelClient~Middleware
264
+ * @param {string} action - Action to be invoked.
265
+ * @param {any} payload - Payload sent along with the message (or error for error middleware).
266
+ * @param {Identity} identity - Identity of the sender.
267
+ */
268
+ /**
269
+ * Callback for the channel onConnection or onDisconnection. If it errors connection will be rejected.
270
+ * @callback Channel#ChannelProvider~ConnectionListener
271
+ * @param {InterApplicationBus.Channel~ClientIdentity} identity - Identity of the client attempting to connect to the channel.
272
+ * @param {any} payload - Payload sent with connection request.
273
+ */
274
+ /**
275
+ * Callback for onChannelConnect or onChannelDisconnect.
276
+ * @typedef {object} InterApplicationBus.Channel~ConnectionEvent
277
+ * @property {string} channelId - Identifier of the channel.
278
+ * @property {string} uuid - Channel provider uuid.
279
+ * @property {string} [name] - Channel provider name.
280
+ * @property {string} channelName - Name of the channel.
281
+ */
282
+ /**
283
+ * Protocol values for determining channel messaging strategy.
284
+ * @typedef {('classic' | 'rtc')} InterApplicationBus.Channel~MessagingProtocols - EXPERIMENTAL
285
+ *
286
+ */
287
+ /**
288
+ * Channel provider creation options.
289
+ * @typedef {object} InterApplicationBus.Channel~ChannelCreateOptions
290
+ * @property {InterApplicationBus.Channel~MessagingProtocols[]} [protocols=['classic']] - EXPERIMENTAL: Messaging protocols supported by the channel provider.
291
+ *
292
+ */
293
+ /**
294
+ * Options provided on a client connection to a channel.
295
+ * @typedef {object} InterApplicationBus.Channel~ChannelConnectOptions
296
+ * @property {InterApplicationBus.Channel~MessagingProtocols[]} [protocols=['classic']] - EXPERIMENTAL: Messaging protocols requested by the client, connection will fail if the provider protocols are not compatible.
297
+ * @property {any} [payload] - Payload to pass to ChannelProvider onConnection action.
298
+ * @property {boolean} [wait=true] - If true will wait for ChannelProvider to connect. If false will fail if ChannelProvider is not found.
299
+ *
300
+ */
301
+ /**
302
+ * Provider Identity.
303
+ * @typedef {object} InterApplicationBus.Channel~ProviderIdentity
304
+ * @property {string} uuid - Channel provider uuid.
305
+ * @property {string} [name] - Channel provider name.
306
+ * @property {string} channelId - Identifier of the channel.
307
+ * @property {boolean} [isExternal] - true if it's external connection.
308
+ * @property {string} channelName - Name of the channel.
309
+ *
310
+ */
311
+ /**
312
+ * Client Identity.
313
+ * @typedef {object} InterApplicationBus.Channel~ClientIdentity
314
+ * @property {string} uuid - Channel client uuid.
315
+ * @property {string} name - Channel client name.
316
+ * @property {string} endpointId - Unique identifier for a client, because there can be multiple clients at one name/uuid entity.
317
+ *
318
+ */