@ngxs/websocket-plugin 3.7.6 → 3.8.0-dev.master-743a236

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.
@@ -1,304 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { Injectable, Inject } from '@angular/core';
7
- import { Actions, Store, getValue, ofActionDispatched } from '@ngxs/store';
8
- import { Subscription } from 'rxjs';
9
- import { WebSocketSubject } from 'rxjs/webSocket';
10
- import { ConnectWebSocket, DisconnectWebSocket, SendWebSocketMessage, NGXS_WEBSOCKET_OPTIONS, WebsocketMessageError, WebSocketDisconnected, TypeKeyPropertyMissingError, WebSocketConnectionUpdated, WebSocketConnected } from './symbols';
11
- var WebSocketHandler = /** @class */ (function () {
12
- function WebSocketHandler(store, actions$, options) {
13
- var _this = this;
14
- this.store = store;
15
- this.actions$ = actions$;
16
- this.options = options;
17
- this.socket = null;
18
- this.config = {
19
- url: (/** @type {?} */ (this.options.url)),
20
- protocol: this.options.protocol,
21
- // Default binary type is `blob` for the global `WebSocket`
22
- binaryType: this.options.binaryType,
23
- serializer: this.options.serializer,
24
- deserializer: this.options.deserializer,
25
- closeObserver: {
26
- next: (/**
27
- * @return {?}
28
- */
29
- function () {
30
- // ATTENTION!
31
- // See https://github.com/ReactiveX/rxjs/blob/master/src/internal/observable/dom/WebSocketSubject.ts#L340
32
- // RxJS socket emits `onComplete` event only if `event.wasClean` is truthy
33
- // and doesn't complete socket subject if it's falsy
34
- _this.disconnect();
35
- })
36
- },
37
- openObserver: {
38
- next: (/**
39
- * @return {?}
40
- */
41
- function () { return _this.store.dispatch(new WebSocketConnected()); })
42
- }
43
- };
44
- this.typeKey = (/** @type {?} */ (this.options.typeKey));
45
- this.subscription = new Subscription();
46
- this.setupActionsListeners();
47
- }
48
- /**
49
- * @return {?}
50
- */
51
- WebSocketHandler.prototype.ngOnDestroy = /**
52
- * @return {?}
53
- */
54
- function () {
55
- this.closeConnection();
56
- this.subscription.unsubscribe();
57
- };
58
- /**
59
- * @private
60
- * @return {?}
61
- */
62
- WebSocketHandler.prototype.setupActionsListeners = /**
63
- * @private
64
- * @return {?}
65
- */
66
- function () {
67
- var _this = this;
68
- this.subscription.add(this.actions$.pipe(ofActionDispatched(ConnectWebSocket)).subscribe((/**
69
- * @param {?} __0
70
- * @return {?}
71
- */
72
- function (_a) {
73
- var payload = _a.payload;
74
- _this.connect(payload);
75
- })));
76
- this.subscription.add(this.actions$.pipe(ofActionDispatched(DisconnectWebSocket)).subscribe((/**
77
- * @return {?}
78
- */
79
- function () {
80
- _this.disconnect();
81
- })));
82
- this.subscription.add(this.actions$.pipe(ofActionDispatched(SendWebSocketMessage)).subscribe((/**
83
- * @param {?} __0
84
- * @return {?}
85
- */
86
- function (_a) {
87
- var payload = _a.payload;
88
- _this.send(payload);
89
- })));
90
- };
91
- /**
92
- * @private
93
- * @param {?=} options
94
- * @return {?}
95
- */
96
- WebSocketHandler.prototype.connect = /**
97
- * @private
98
- * @param {?=} options
99
- * @return {?}
100
- */
101
- function (options) {
102
- var _this = this;
103
- this.updateConnection();
104
- // Users can pass the options in the connect method so
105
- // if options aren't available at DI bootstrap they have access
106
- // to pass them here
107
- if (options) {
108
- this.mergeConfigWithOptions(options);
109
- }
110
- this.socket = new WebSocketSubject(this.config);
111
- this.socket.subscribe({
112
- next: (/**
113
- * @param {?} message
114
- * @return {?}
115
- */
116
- function (message) {
117
- /** @type {?} */
118
- var type = getValue(message, _this.typeKey);
119
- if (!type) {
120
- throw new TypeKeyPropertyMissingError(_this.typeKey);
121
- }
122
- _this.store.dispatch(tslib_1.__assign({}, message, { type: type }));
123
- }),
124
- error: (/**
125
- * @param {?} error
126
- * @return {?}
127
- */
128
- function (error) {
129
- if (error instanceof CloseEvent) {
130
- _this.dispatchWebSocketDisconnected();
131
- }
132
- else {
133
- _this.store.dispatch(new WebsocketMessageError(error));
134
- }
135
- })
136
- });
137
- };
138
- /**
139
- * @private
140
- * @return {?}
141
- */
142
- WebSocketHandler.prototype.disconnect = /**
143
- * @private
144
- * @return {?}
145
- */
146
- function () {
147
- if (this.socket) {
148
- this.closeConnection();
149
- this.dispatchWebSocketDisconnected();
150
- }
151
- };
152
- /**
153
- * @private
154
- * @param {?} data
155
- * @return {?}
156
- */
157
- WebSocketHandler.prototype.send = /**
158
- * @private
159
- * @param {?} data
160
- * @return {?}
161
- */
162
- function (data) {
163
- if (!this.socket) {
164
- throw new Error('You must connect to the socket before sending any data');
165
- }
166
- this.socket.next(data);
167
- };
168
- /**
169
- * Don't enlarge the `connect` method
170
- */
171
- /**
172
- * Don't enlarge the `connect` method
173
- * @private
174
- * @param {?} options
175
- * @return {?}
176
- */
177
- WebSocketHandler.prototype.mergeConfigWithOptions = /**
178
- * Don't enlarge the `connect` method
179
- * @private
180
- * @param {?} options
181
- * @return {?}
182
- */
183
- function (options) {
184
- if (options.url) {
185
- this.config.url = options.url;
186
- }
187
- if (options.serializer) {
188
- this.config.serializer = options.serializer;
189
- }
190
- if (options.deserializer) {
191
- this.config.deserializer = options.deserializer;
192
- }
193
- };
194
- /**
195
- * To ensure we don't have any memory leaks
196
- * e.g. if the user occasionally dispatched `ConnectWebSocket` twice
197
- * then the previous subscription will still live in the memory
198
- * to prevent such behavior - we close the previous connection if it exists
199
- */
200
- /**
201
- * To ensure we don't have any memory leaks
202
- * e.g. if the user occasionally dispatched `ConnectWebSocket` twice
203
- * then the previous subscription will still live in the memory
204
- * to prevent such behavior - we close the previous connection if it exists
205
- * @private
206
- * @return {?}
207
- */
208
- WebSocketHandler.prototype.updateConnection = /**
209
- * To ensure we don't have any memory leaks
210
- * e.g. if the user occasionally dispatched `ConnectWebSocket` twice
211
- * then the previous subscription will still live in the memory
212
- * to prevent such behavior - we close the previous connection if it exists
213
- * @private
214
- * @return {?}
215
- */
216
- function () {
217
- if (this.socket) {
218
- this.closeConnection();
219
- this.store.dispatch(new WebSocketConnectionUpdated());
220
- }
221
- };
222
- /**
223
- * Used in many places so it's better to move the code into function
224
- */
225
- /**
226
- * Used in many places so it's better to move the code into function
227
- * @private
228
- * @return {?}
229
- */
230
- WebSocketHandler.prototype.dispatchWebSocketDisconnected = /**
231
- * Used in many places so it's better to move the code into function
232
- * @private
233
- * @return {?}
234
- */
235
- function () {
236
- this.store.dispatch(new WebSocketDisconnected());
237
- };
238
- /**
239
- * @private
240
- * @return {?}
241
- */
242
- WebSocketHandler.prototype.closeConnection = /**
243
- * @private
244
- * @return {?}
245
- */
246
- function () {
247
- // `socket.complete()` closes the connection
248
- // also it doesn't invoke the `onComplete` callback that we passed
249
- // into `socket.subscribe(...)`
250
- if (this.socket !== null) {
251
- this.socket.complete();
252
- this.socket = null;
253
- }
254
- };
255
- WebSocketHandler.decorators = [
256
- { type: Injectable }
257
- ];
258
- /** @nocollapse */
259
- WebSocketHandler.ctorParameters = function () { return [
260
- { type: Store },
261
- { type: Actions },
262
- { type: undefined, decorators: [{ type: Inject, args: [NGXS_WEBSOCKET_OPTIONS,] }] }
263
- ]; };
264
- return WebSocketHandler;
265
- }());
266
- export { WebSocketHandler };
267
- if (false) {
268
- /**
269
- * @type {?}
270
- * @private
271
- */
272
- WebSocketHandler.prototype.socket;
273
- /**
274
- * @type {?}
275
- * @private
276
- */
277
- WebSocketHandler.prototype.config;
278
- /**
279
- * @type {?}
280
- * @private
281
- */
282
- WebSocketHandler.prototype.typeKey;
283
- /**
284
- * @type {?}
285
- * @private
286
- */
287
- WebSocketHandler.prototype.subscription;
288
- /**
289
- * @type {?}
290
- * @private
291
- */
292
- WebSocketHandler.prototype.store;
293
- /**
294
- * @type {?}
295
- * @private
296
- */
297
- WebSocketHandler.prototype.actions$;
298
- /**
299
- * @type {?}
300
- * @private
301
- */
302
- WebSocketHandler.prototype.options;
303
- }
304
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWhhbmRsZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy93ZWJzb2NrZXQtcGx1Z2luLyIsInNvdXJjZXMiOlsic3JjL3dlYnNvY2tldC1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGdCQUFnQixDQUFDO0FBRTFFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixzQkFBc0IsRUFFdEIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQiwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNuQixNQUFNLFdBQVcsQ0FBQztBQUVuQjtJQTZCRSwwQkFDVSxLQUFZLEVBQ1osUUFBaUIsRUFDZSxPQUFtQztRQUg3RSxpQkFNQztRQUxTLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2UsWUFBTyxHQUFQLE9BQU8sQ0FBNEI7UUE5QnJFLFdBQU0sR0FBaUMsSUFBSSxDQUFDO1FBRTVDLFdBQU0sR0FBZ0M7WUFDNUMsR0FBRyxFQUFFLG1CQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFDO1lBQ3RCLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7O1lBRS9CLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7WUFDbkMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtZQUNuQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FB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UUFBUSxDQUFDLElBQUksMEJBQTBCLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVEOztPQUVHOzs7Ozs7SUFDSyx3REFBNkI7Ozs7O0lBQXJDO1FBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQzs7Ozs7SUFFTywwQ0FBZTs7OztJQUF2QjtRQUNFLDRDQUE0QztRQUM1QyxrRUFBa0U7UUFDbEUsK0JBQStCO1FBQy9CLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztTQUNwQjtJQUNILENBQUM7O2dCQXhKRixVQUFVOzs7O2dCQWxCTyxLQUFLO2dCQUFkLE9BQU87Z0RBa0RYLE1BQU0sU0FBQyxzQkFBc0I7O0lBeUhsQyx1QkFBQztDQUFBLEFBekpELElBeUpDO1NBeEpZLGdCQUFnQjs7Ozs7O0lBQzNCLGtDQUFvRDs7Ozs7SUFFcEQsa0NBbUJFOzs7OztJQUVGLG1DQUF3Qzs7Ozs7SUFFeEMsd0NBQTBDOzs7OztJQUd4QyxpQ0FBb0I7Ozs7O0lBQ3BCLG9DQUF5Qjs7Ozs7SUFDekIsbUNBQTJFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIFN0b3JlLCBnZXRWYWx1ZSwgb2ZBY3Rpb25EaXNwYXRjaGVkIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFdlYlNvY2tldFN1YmplY3QsIFdlYlNvY2tldFN1YmplY3RDb25maWcgfSBmcm9tICdyeGpzL3dlYlNvY2tldCc7XG5cbmltcG9ydCB7XG4gIENvbm5lY3RXZWJTb2NrZXQsXG4gIERpc2Nvbm5lY3RXZWJTb2NrZXQsXG4gIFNlbmRXZWJTb2NrZXRNZXNzYWdlLFxuICBOR1hTX1dFQlNPQ0tFVF9PUFRJT05TLFxuICBOZ3hzV2Vic29ja2V0UGx1Z2luT3B0aW9ucyxcbiAgV2Vic29ja2V0TWVzc2FnZUVycm9yLFxuICBXZWJTb2NrZXREaXNjb25uZWN0ZWQsXG4gIFR5cGVLZXlQcm9wZXJ0eU1pc3NpbmdFcnJvcixcbiAgV2ViU29ja2V0Q29ubmVjdGlvblVwZGF0ZWQsXG4gIFdlYlNvY2tldENvbm5lY3RlZFxufSBmcm9tICcuL3N5bWJvbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgV2ViU29ja2V0SGFuZGxlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc29ja2V0OiBXZWJTb2NrZXRTdWJqZWN0PGFueT4gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIGNvbmZpZzogV2ViU29ja2V0U3ViamVjdENvbmZpZzxhbnk+ID0ge1xuICAgIHVybDogdGhpcy5vcHRpb25zLnVybCEsXG4gICAgcHJvdG9jb2w6IHRoaXMub3B0aW9ucy5wcm90b2NvbCxcbiAgICAvLyBEZWZhdWx0IGJpbmFyeSB0eXBlIGlzIGBibG9iYCBmb3IgdGhlIGdsb2JhbCBgV2ViU29ja2V0YFxuICAgIGJpbmFyeVR5cGU6IHRoaXMub3B0aW9ucy5iaW5hcnlUeXBlLFxuICAgIHNlcmlhbGl6ZXI6IHRoaXMub3B0aW9ucy5zZXJpYWxpemVyLFxuICAgIGRlc2VyaWFsaXplcjogdGhpcy5vcHRpb25zLmRlc2VyaWFsaXplcixcbiAgICBjbG9zZU9ic2VydmVyOiB7XG4gICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgIC8vIEFUVEVOVElPTiFcbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9SZWFjdGl2ZVgvcnhqcy9ibG9iL21hc3Rlci9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9kb20vV2ViU29ja2V0U3ViamVjdC50cyNMMzQwXG4gICAgICAgIC8vIFJ4SlMgc29ja2V0IGVtaXRzIGBvbkNvbXBsZXRlYCBldmVudCBvbmx5IGlmIGBldmVudC53YXNDbGVhbmAgaXMgdHJ1dGh5XG4gICAgICAgIC8vIGFuZCBkb2Vzbid0IGNvbXBsZXRlIHNvY2tldCBzdWJqZWN0IGlmIGl0J3MgZmFsc3lcbiAgICAgICAgdGhpcy5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBvcGVuT2JzZXJ2ZXI6IHtcbiAgICAgIG5leHQ6ICgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFdlYlNvY2tldENvbm5lY3RlZCgpKVxuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIHR5cGVLZXkgPSB0aGlzLm9wdGlvbnMudHlwZUtleSE7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBASW5qZWN0KE5HWFNfV0VCU09DS0VUX09QVElPTlMpIHByaXZhdGUgb3B0aW9uczogTmd4c1dlYnNvY2tldFBsdWdpbk9wdGlvbnNcbiAgKSB7XG4gICAgdGhpcy5zZXR1cEFjdGlvbnNMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VDb25uZWN0aW9uKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBBY3Rpb25zTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShvZkFjdGlvbkRpc3BhdGNoZWQoQ29ubmVjdFdlYlNvY2tldCkpLnN1YnNjcmliZSgoeyBwYXlsb2FkIH0pID0+IHtcbiAgICAgICAgdGhpcy5jb25uZWN0KHBheWxvYWQpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKG9mQWN0aW9uRGlzcGF0Y2hlZChEaXNjb25uZWN0V2ViU29ja2V0KSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5kaXNjb25uZWN0KCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLmFjdGlvbnMkLnBpcGUob2ZBY3Rpb25EaXNwYXRjaGVkKFNlbmRXZWJTb2NrZXRNZXNzYWdlKSkuc3Vic2NyaWJlKCh7IHBheWxvYWQgfSkgPT4ge1xuICAgICAgICB0aGlzLnNlbmQocGF5bG9hZCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNvbm5lY3Qob3B0aW9ucz86IE5neHNXZWJzb2NrZXRQbHVnaW5PcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVDb25uZWN0aW9uKCk7XG5cbiAgICAvLyBVc2VycyBjYW4gcGFzcyB0aGUgb3B0aW9ucyBpbiB0aGUgY29ubmVjdCBtZXRob2Qgc29cbiAgICAvLyBpZiBvcHRpb25zIGFyZW4ndCBhdmFpbGFibGUgYXQgREkgYm9vdHN0cmFwIHRoZXkgaGF2ZSBhY2Nlc3NcbiAgICAvLyB0byBwYXNzIHRoZW0gaGVyZVxuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICB0aGlzLm1lcmdlQ29uZmlnV2l0aE9wdGlvbnMob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgdGhpcy5zb2NrZXQgPSBuZXcgV2ViU29ja2V0U3ViamVjdCh0aGlzLmNvbmZpZyk7XG5cbiAgICB0aGlzLnNvY2tldC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKG1lc3NhZ2U6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB0eXBlID0gZ2V0VmFsdWUobWVzc2FnZSwgdGhpcy50eXBlS2V5KTtcbiAgICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVLZXlQcm9wZXJ0eU1pc3NpbmdFcnJvcih0aGlzLnR5cGVLZXkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goeyAuLi5tZXNzYWdlLCB0eXBlIH0pO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBDbG9zZUV2ZW50KSB7XG4gICAgICAgICAgdGhpcy5kaXNwYXRjaFdlYlNvY2tldERpc2Nvbm5lY3RlZCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFdlYnNvY2tldE1lc3NhZ2VFcnJvcihlcnJvcikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRpc2Nvbm5lY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc29ja2V0KSB7XG4gICAgICB0aGlzLmNsb3NlQ29ubmVjdGlvbigpO1xuICAgICAgdGhpcy5kaXNwYXRjaFdlYlNvY2tldERpc2Nvbm5lY3RlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VuZChkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc29ja2V0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBtdXN0IGNvbm5lY3QgdG8gdGhlIHNvY2tldCBiZWZvcmUgc2VuZGluZyBhbnkgZGF0YScpO1xuICAgIH1cblxuICAgIHRoaXMuc29ja2V0Lm5leHQoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogRG9uJ3QgZW5sYXJnZSB0aGUgYGNvbm5lY3RgIG1ldGhvZFxuICAgKi9cbiAgcHJpdmF0ZSBtZXJnZUNvbmZpZ1dpdGhPcHRpb25zKG9wdGlvbnM6IE5neHNXZWJzb2NrZXRQbHVnaW5PcHRpb25zKTogdm9pZCB7XG4gICAgaWYgKG9wdGlvbnMudXJsKSB7XG4gICAgICB0aGlzLmNvbmZpZy51cmwgPSBvcHRpb25zLnVybDtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5zZXJpYWxpemVyKSB7XG4gICAgICB0aGlzLmNvbmZpZy5zZXJpYWxpemVyID0gb3B0aW9ucy5zZXJpYWxpemVyO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmRlc2VyaWFsaXplcikge1xuICAgICAgdGhpcy5jb25maWcuZGVzZXJpYWxpemVyID0gb3B0aW9ucy5kZXNlcmlhbGl6ZXI7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRvIGVuc3VyZSB3ZSBkb24ndCBoYXZlIGFueSBtZW1vcnkgbGVha3NcbiAgICogZS5nLiBpZiB0aGUgdXNlciBvY2Nhc2lvbmFsbHkgZGlzcGF0Y2hlZCBgQ29ubmVjdFdlYlNvY2tldGAgdHdpY2VcbiAgICogdGhlbiB0aGUgcHJldmlvdXMgc3Vic2NyaXB0aW9uIHdpbGwgc3RpbGwgbGl2ZSBpbiB0aGUgbWVtb3J5XG4gICAqIHRvIHByZXZlbnQgc3VjaCBiZWhhdmlvciAtIHdlIGNsb3NlIHRoZSBwcmV2aW91cyBjb25uZWN0aW9uIGlmIGl0IGV4aXN0c1xuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVDb25uZWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNvY2tldCkge1xuICAgICAgdGhpcy5jbG9zZUNvbm5lY3Rpb24oKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFdlYlNvY2tldENvbm5lY3Rpb25VcGRhdGVkKCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIGluIG1hbnkgcGxhY2VzIHNvIGl0J3MgYmV0dGVyIHRvIG1vdmUgdGhlIGNvZGUgaW50byBmdW5jdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBkaXNwYXRjaFdlYlNvY2tldERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBXZWJTb2NrZXREaXNjb25uZWN0ZWQoKSk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlQ29ubmVjdGlvbigpOiB2b2lkIHtcbiAgICAvLyBgc29ja2V0LmNvbXBsZXRlKClgIGNsb3NlcyB0aGUgY29ubmVjdGlvblxuICAgIC8vIGFsc28gaXQgZG9lc24ndCBpbnZva2UgdGhlIGBvbkNvbXBsZXRlYCBjYWxsYmFjayB0aGF0IHdlIHBhc3NlZFxuICAgIC8vIGludG8gYHNvY2tldC5zdWJzY3JpYmUoLi4uKWBcbiAgICBpZiAodGhpcy5zb2NrZXQgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuc29ja2V0LmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLnNvY2tldCA9IG51bGw7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,71 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { NgModule, APP_INITIALIZER, InjectionToken } from '@angular/core';
7
- import { WebSocketHandler } from './websocket-handler';
8
- import { NGXS_WEBSOCKET_OPTIONS, noop } from './symbols';
9
- /**
10
- * @param {?} options
11
- * @return {?}
12
- */
13
- export function websocketOptionsFactory(options) {
14
- return tslib_1.__assign({ reconnectInterval: 5000, reconnectAttempts: 10, typeKey: 'type', deserializer: /**
15
- * @param {?} e
16
- * @return {?}
17
- */
18
- function (e) {
19
- return JSON.parse(e.data);
20
- },
21
- serializer: /**
22
- * @param {?} value
23
- * @return {?}
24
- */
25
- function (value) {
26
- return JSON.stringify(value);
27
- } }, options);
28
- }
29
- /** @type {?} */
30
- export var USER_OPTIONS = new InjectionToken('USER_OPTIONS');
31
- var NgxsWebsocketPluginModule = /** @class */ (function () {
32
- function NgxsWebsocketPluginModule() {
33
- }
34
- /**
35
- * @param {?=} options
36
- * @return {?}
37
- */
38
- NgxsWebsocketPluginModule.forRoot = /**
39
- * @param {?=} options
40
- * @return {?}
41
- */
42
- function (options) {
43
- return {
44
- ngModule: NgxsWebsocketPluginModule,
45
- providers: [
46
- WebSocketHandler,
47
- {
48
- provide: USER_OPTIONS,
49
- useValue: options
50
- },
51
- {
52
- provide: NGXS_WEBSOCKET_OPTIONS,
53
- useFactory: websocketOptionsFactory,
54
- deps: [USER_OPTIONS]
55
- },
56
- {
57
- provide: APP_INITIALIZER,
58
- useFactory: noop,
59
- deps: [WebSocketHandler],
60
- multi: true
61
- }
62
- ]
63
- };
64
- };
65
- NgxsWebsocketPluginModule.decorators = [
66
- { type: NgModule }
67
- ];
68
- return NgxsWebsocketPluginModule;
69
- }());
70
- export { NgxsWebsocketPluginModule };
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3dlYnNvY2tldC1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvd2Vic29ja2V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUE4QixzQkFBc0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7O0FBRXJGLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxPQUFtQztJQUN6RSwwQkFDRSxpQkFBaUIsRUFBRSxJQUFJLEVBQ3ZCLGlCQUFpQixFQUFFLEVBQUUsRUFDckIsT0FBTyxFQUFFLE1BQU0sRUFDZixZQUFZOzs7O2tCQUFDLENBQWU7WUFDMUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQ0QsVUFBVTs7OztrQkFBQyxLQUFVO1lBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLElBQ0UsT0FBTyxFQUNWO0FBQ0osQ0FBQzs7QUFFRCxNQUFNLEtBQU8sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFDLGNBQWMsQ0FBQztBQUU5RDtJQUFBO0lBMkJBLENBQUM7Ozs7O0lBekJRLGlDQUFPOzs7O0lBQWQsVUFDRSxPQUFvQztRQUVwQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxTQUFTLEVBQUU7Z0JBQ1QsZ0JBQWdCO2dCQUNoQjtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLE9BQU87aUJBQ2xCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxzQkFBc0I7b0JBQy9CLFVBQVUsRUFBRSx1QkFBdUI7b0JBQ25DLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDckI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDeEIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOztnQkExQkYsUUFBUTs7SUEyQlQsZ0NBQUM7Q0FBQSxBQTNCRCxJQTJCQztTQTFCWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycywgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBXZWJTb2NrZXRIYW5kbGVyIH0gZnJvbSAnLi93ZWJzb2NrZXQtaGFuZGxlcic7XG5pbXBvcnQgeyBOZ3hzV2Vic29ja2V0UGx1Z2luT3B0aW9ucywgTkdYU19XRUJTT0NLRVRfT1BUSU9OUywgbm9vcCB9IGZyb20gJy4vc3ltYm9scyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB3ZWJzb2NrZXRPcHRpb25zRmFjdG9yeShvcHRpb25zOiBOZ3hzV2Vic29ja2V0UGx1Z2luT3B0aW9ucykge1xuICByZXR1cm4ge1xuICAgIHJlY29ubmVjdEludGVydmFsOiA1MDAwLFxuICAgIHJlY29ubmVjdEF0dGVtcHRzOiAxMCxcbiAgICB0eXBlS2V5OiAndHlwZScsXG4gICAgZGVzZXJpYWxpemVyKGU6IE1lc3NhZ2VFdmVudCkge1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZS5kYXRhKTtcbiAgICB9LFxuICAgIHNlcmlhbGl6ZXIodmFsdWU6IGFueSkge1xuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnNcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFVTRVJfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignVVNFUl9PUFRJT05TJyk7XG5cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgTmd4c1dlYnNvY2tldFBsdWdpbk1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KFxuICAgIG9wdGlvbnM/OiBOZ3hzV2Vic29ja2V0UGx1Z2luT3B0aW9uc1xuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNXZWJzb2NrZXRQbHVnaW5Nb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5neHNXZWJzb2NrZXRQbHVnaW5Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgV2ViU29ja2V0SGFuZGxlcixcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFVTRVJfT1BUSU9OUyxcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uc1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTkdYU19XRUJTT0NLRVRfT1BUSU9OUyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiB3ZWJzb2NrZXRPcHRpb25zRmFjdG9yeSxcbiAgICAgICAgICBkZXBzOiBbVVNFUl9PUFRJT05TXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IG5vb3AsXG4gICAgICAgICAgZGVwczogW1dlYlNvY2tldEhhbmRsZXJdLFxuICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=