motion-master-client 0.0.45 → 0.0.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/lib/motion-master-pub-sub-socket.d.ts +8 -0
- package/src/lib/motion-master-pub-sub-web-socket.d.ts +4 -0
- package/src/lib/motion-master-pub-sub-web-socket.js +5 -6
- package/src/lib/motion-master-pub-sub-web-socket.js.map +1 -1
- package/src/lib/motion-master-pub-sub-worker-socket.d.ts +4 -0
- package/src/lib/motion-master-pub-sub-worker-socket.js +6 -0
- package/src/lib/motion-master-pub-sub-worker-socket.js.map +1 -1
- package/src/lib/motion-master-req-res-socket.d.ts +8 -0
- package/src/lib/motion-master-req-res-web-socket.d.ts +4 -0
- package/src/lib/motion-master-req-res-web-socket.js +12 -11
- package/src/lib/motion-master-req-res-web-socket.js.map +1 -1
- package/src/lib/motion-master-req-res-worker-socket.d.ts +4 -0
- package/src/lib/motion-master-req-res-worker-socket.js +6 -3
- package/src/lib/motion-master-req-res-worker-socket.js.map +1 -1
package/package.json
CHANGED
|
@@ -5,6 +5,14 @@ export interface MotionMasterPubSubSocket {
|
|
|
5
5
|
* Emits a boolean value when socket gets opened or closed.
|
|
6
6
|
*/
|
|
7
7
|
readonly opened$: BehaviorSubject<boolean>;
|
|
8
|
+
/**
|
|
9
|
+
* Emits close events with code and reason data.
|
|
10
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/close_event
|
|
11
|
+
*/
|
|
12
|
+
readonly close$: Observable<{
|
|
13
|
+
code: number;
|
|
14
|
+
reason: string;
|
|
15
|
+
}>;
|
|
8
16
|
/**
|
|
9
17
|
* Incoming data is a tuple of topic and decoded message.
|
|
10
18
|
*/
|
|
@@ -3,6 +3,10 @@ import { MotionMasterPubSubSocket } from "./motion-master-pub-sub-socket";
|
|
|
3
3
|
import { IMotionMasterMessage } from "./types";
|
|
4
4
|
export declare class MotionMasterPubSubWebSocket implements MotionMasterPubSubSocket {
|
|
5
5
|
readonly opened$: BehaviorSubject<boolean>;
|
|
6
|
+
readonly close$: Subject<{
|
|
7
|
+
code: number;
|
|
8
|
+
reason: string;
|
|
9
|
+
}>;
|
|
6
10
|
readonly data$: Subject<[string, IMotionMasterMessage]>;
|
|
7
11
|
private webSocket$?;
|
|
8
12
|
private _url?;
|
|
@@ -9,27 +9,25 @@ const util_1 = require("./util");
|
|
|
9
9
|
class MotionMasterPubSubWebSocket {
|
|
10
10
|
constructor() {
|
|
11
11
|
this.opened$ = new rxjs_1.BehaviorSubject(false);
|
|
12
|
+
this.close$ = new rxjs_1.Subject();
|
|
12
13
|
this.data$ = new rxjs_1.Subject();
|
|
13
14
|
}
|
|
14
15
|
get url() {
|
|
15
16
|
return this._url;
|
|
16
17
|
}
|
|
17
18
|
open(url) {
|
|
18
|
-
if (this.opened$.getValue() === true) {
|
|
19
|
-
throw new Error('MotionMasterPubSubWebSocket is already opened!');
|
|
20
|
-
}
|
|
21
19
|
this._url = url;
|
|
22
20
|
this.webSocket$ = this.createWebSocket(url);
|
|
23
21
|
this.webSocket$.subscribe({
|
|
24
22
|
next: (value) => this.data$.next(value),
|
|
25
23
|
error: () => {
|
|
26
|
-
// ignore
|
|
24
|
+
// ignore, clients will receive close$ event instead
|
|
27
25
|
},
|
|
28
26
|
});
|
|
29
27
|
}
|
|
30
28
|
close() {
|
|
31
29
|
var _a;
|
|
32
|
-
(_a = this.webSocket$) === null || _a === void 0 ? void 0 : _a.
|
|
30
|
+
(_a = this.webSocket$) === null || _a === void 0 ? void 0 : _a.complete();
|
|
33
31
|
}
|
|
34
32
|
reopen() {
|
|
35
33
|
if (this.url && this.opened$.value === false) {
|
|
@@ -41,8 +39,9 @@ class MotionMasterPubSubWebSocket {
|
|
|
41
39
|
const webSocketConfig = {
|
|
42
40
|
binaryType: 'arraybuffer',
|
|
43
41
|
closeObserver: {
|
|
44
|
-
next: () => {
|
|
42
|
+
next: (ev) => {
|
|
45
43
|
this.opened$.next(false);
|
|
44
|
+
this.close$.next({ code: ev.code, reason: ev.reason });
|
|
46
45
|
logger_1.logger.info(`Connection closed ${url}`);
|
|
47
46
|
},
|
|
48
47
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion-master-pub-sub-web-socket.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/motion-master-pub-sub-web-socket.ts"],"names":[],"mappings":";;;AAAA,+BAAgD;AAChD,8CAAqF;AACrF,qCAAkC;AAElC,mCAAoE;AACpE,iCAAkE;AAElE,MAAa,2BAA2B;IAAxC;QAEW,YAAO,GAAG,IAAI,sBAAe,CAAU,KAAK,CAAC,CAAC;QAE9C,UAAK,GAAG,IAAI,cAAO,EAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"motion-master-pub-sub-web-socket.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/motion-master-pub-sub-web-socket.ts"],"names":[],"mappings":";;;AAAA,+BAAgD;AAChD,8CAAqF;AACrF,qCAAkC;AAElC,mCAAoE;AACpE,iCAAkE;AAElE,MAAa,2BAA2B;IAAxC;QAEW,YAAO,GAAG,IAAI,sBAAe,CAAU,KAAK,CAAC,CAAC;QAE9C,WAAM,GAAG,IAAI,cAAO,EAAqC,CAAC;QAE1D,UAAK,GAAG,IAAI,cAAO,EAAkC,CAAC;IA+DjE,CAAC;IAzDC,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAEhB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YACxB,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YACvC,KAAK,EAAE,GAAG,EAAE;gBACV,oDAAoD;YACtD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK;;QACH,MAAA,IAAI,CAAC,UAAU,0CAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrB;IACH,CAAC;IAEO,eAAe,CAAC,GAAW;QACjC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAEzC,MAAM,eAAe,GAA2D;YAC9E,UAAU,EAAE,aAAa;YACzB,aAAa,EAAE;gBACb,IAAI,EAAE,CAAC,EAAc,EAAE,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;oBACvD,eAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;gBAC1C,CAAC;aACF;YACD,YAAY,EAAE,CAAC,CAA4B,EAAkC,EAAE;gBAC7E,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,iCAAiC;gBACrF,MAAM,OAAO,GAAG,2BAAmB,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9E,OAAO,CAAC,KAAK,EAAE,IAAA,+CAAwC,EAAC,OAAO,CAAC,CAAC,CAAC;YACpE,CAAC;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,GAAG,EAAE;oBACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,eAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;gBAC1C,CAAC;aACF;YACD,GAAG;SACJ,CAAC;QAEF,OAAO,IAAA,qBAAS,EAAC,eAAe,CAAC,CAAC;IACpC,CAAC;CAEF;AArED,kEAqEC"}
|
|
@@ -4,6 +4,10 @@ import { IMotionMasterMessage } from "./types";
|
|
|
4
4
|
export declare class MotionMasterPubSubWorkerSocket implements MotionMasterPubSubSocket {
|
|
5
5
|
readonly worker: Worker;
|
|
6
6
|
opened$: BehaviorSubject<boolean>;
|
|
7
|
+
close$: Subject<{
|
|
8
|
+
code: number;
|
|
9
|
+
reason: string;
|
|
10
|
+
}>;
|
|
7
11
|
data$: Subject<[string, IMotionMasterMessage]>;
|
|
8
12
|
private _url?;
|
|
9
13
|
constructor(worker: Worker);
|
|
@@ -7,6 +7,7 @@ class MotionMasterPubSubWorkerSocket {
|
|
|
7
7
|
constructor(worker) {
|
|
8
8
|
this.worker = worker;
|
|
9
9
|
this.opened$ = new rxjs_1.BehaviorSubject(false);
|
|
10
|
+
this.close$ = new rxjs_1.Subject();
|
|
10
11
|
this.data$ = new rxjs_1.Subject();
|
|
11
12
|
}
|
|
12
13
|
get url() {
|
|
@@ -24,6 +25,11 @@ class MotionMasterPubSubWorkerSocket {
|
|
|
24
25
|
const { topic, messages } = data;
|
|
25
26
|
messages.forEach((message) => this.data$.next([topic, message]));
|
|
26
27
|
}
|
|
28
|
+
else if ('close' in data) {
|
|
29
|
+
const { close } = data;
|
|
30
|
+
this.close$.next(close);
|
|
31
|
+
logger_1.logger.info(`Close event received on pub/sub 🔌 ${url} ${JSON.stringify(close)}`);
|
|
32
|
+
}
|
|
27
33
|
};
|
|
28
34
|
this.worker.postMessage({
|
|
29
35
|
open: { url }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion-master-pub-sub-worker-socket.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/motion-master-pub-sub-worker-socket.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"motion-master-pub-sub-worker-socket.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/motion-master-pub-sub-worker-socket.ts"],"names":[],"mappings":";;;AAAA,+BAA4D;AAG5D,qCAAkC;AAElC,MAAa,8BAA8B;IAUzC,YACkB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAThC,YAAO,GAAG,IAAI,sBAAe,CAAC,KAAK,CAAC,CAAC;QAErC,WAAM,GAAG,IAAI,cAAO,EAAqC,CAAC;QAE1D,UAAK,GAAG,IAAI,cAAO,EAAkC,CAAC;IAMlD,CAAC;IAEL,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAEhB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACnC,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACpB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1B,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;aAC/E;iBAAM,IAAI,OAAO,IAAI,IAAI,EAAE;gBAC1B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAwD,IAAI,CAAC;gBACtF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;aAClE;iBAAM,IAAI,OAAO,IAAI,IAAI,EAAE;gBAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,eAAM,CAAC,IAAI,CAAC,sCAAsC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACnF;QACH,CAAC,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,EAAE,GAAG,EAAE;SACd,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrB;IACH,CAAC;CAEF;AAnDD,wEAmDC"}
|
|
@@ -5,6 +5,14 @@ export interface MotionMasterReqResSocket {
|
|
|
5
5
|
* Emits a boolean value when socket gets opened or closed.
|
|
6
6
|
*/
|
|
7
7
|
readonly opened$: BehaviorSubject<boolean>;
|
|
8
|
+
/**
|
|
9
|
+
* Emits close events with code and reason data.
|
|
10
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/close_event
|
|
11
|
+
*/
|
|
12
|
+
readonly close$: Observable<{
|
|
13
|
+
code: number;
|
|
14
|
+
reason: string;
|
|
15
|
+
}>;
|
|
8
16
|
/**
|
|
9
17
|
* Motion Master is considered alive when it sends messages in regular time interval.
|
|
10
18
|
*/
|
|
@@ -3,6 +3,10 @@ import { MotionMasterReqResSocket } from "./motion-master-req-res-socket";
|
|
|
3
3
|
import { IMotionMasterMessage } from "./types";
|
|
4
4
|
export declare class MotionMasterReqResWebSocket implements MotionMasterReqResSocket {
|
|
5
5
|
readonly opened$: BehaviorSubject<boolean>;
|
|
6
|
+
readonly close$: Subject<{
|
|
7
|
+
code: number;
|
|
8
|
+
reason: string;
|
|
9
|
+
}>;
|
|
6
10
|
readonly alive$: BehaviorSubject<boolean>;
|
|
7
11
|
readonly message$: Subject<IMotionMasterMessage>;
|
|
8
12
|
private aliveTimeoutId;
|
|
@@ -9,6 +9,7 @@ const util_1 = require("./util");
|
|
|
9
9
|
class MotionMasterReqResWebSocket {
|
|
10
10
|
constructor() {
|
|
11
11
|
this.opened$ = new rxjs_1.BehaviorSubject(false);
|
|
12
|
+
this.close$ = new rxjs_1.Subject;
|
|
12
13
|
this.alive$ = new rxjs_1.BehaviorSubject(false);
|
|
13
14
|
this.message$ = new rxjs_1.Subject();
|
|
14
15
|
this.aliveTimeoutId = 0;
|
|
@@ -25,9 +26,6 @@ class MotionMasterReqResWebSocket {
|
|
|
25
26
|
}
|
|
26
27
|
open(url, pingSystemInterval = 250, systemAliveTimeout = 1000) {
|
|
27
28
|
var _a;
|
|
28
|
-
if (this.opened$.getValue() === true) {
|
|
29
|
-
throw new Error('MotionMasterReqResWebSocket is already opened!');
|
|
30
|
-
}
|
|
31
29
|
this._url = url;
|
|
32
30
|
this._pingSystemInterval = pingSystemInterval;
|
|
33
31
|
this._systemAliveTimeout = systemAliveTimeout;
|
|
@@ -38,15 +36,14 @@ class MotionMasterReqResWebSocket {
|
|
|
38
36
|
logger_1.logger.info(context, `Received ${context.name}`);
|
|
39
37
|
})).subscribe({
|
|
40
38
|
next: (message) => this.message$.next(message),
|
|
41
|
-
error: (
|
|
42
|
-
|
|
39
|
+
error: () => {
|
|
40
|
+
// ignore, clients will receive close$ event instead
|
|
43
41
|
},
|
|
44
42
|
});
|
|
45
43
|
}
|
|
46
44
|
close() {
|
|
47
|
-
var _a
|
|
48
|
-
(_a = this.
|
|
49
|
-
(_b = this.webSocket$) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
45
|
+
var _a;
|
|
46
|
+
(_a = this.webSocket$) === null || _a === void 0 ? void 0 : _a.complete();
|
|
50
47
|
}
|
|
51
48
|
reopen() {
|
|
52
49
|
if (this.url && this.opened$.value === false) {
|
|
@@ -66,16 +63,20 @@ class MotionMasterReqResWebSocket {
|
|
|
66
63
|
const webSocketConfig = {
|
|
67
64
|
binaryType: 'arraybuffer',
|
|
68
65
|
closeObserver: {
|
|
69
|
-
next: () => {
|
|
66
|
+
next: (ev) => {
|
|
67
|
+
var _a;
|
|
68
|
+
(_a = this.pingSystemSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
69
|
+
clearTimeout(this.aliveTimeoutId);
|
|
70
|
+
this.alive$.next(false);
|
|
70
71
|
this.opened$.next(false);
|
|
72
|
+
this.close$.next({ code: ev.code, reason: ev.reason });
|
|
71
73
|
logger_1.logger.info(`Connection closed ${url}`);
|
|
72
74
|
},
|
|
73
75
|
},
|
|
74
76
|
deserializer: (e) => new Uint8Array(e.data),
|
|
75
77
|
openObserver: {
|
|
76
78
|
next: () => {
|
|
77
|
-
this.pingSystemSubscription = (0, rxjs_1.interval)(pingSystemInterval)
|
|
78
|
-
.subscribe(this.pingSystemObserver);
|
|
79
|
+
this.pingSystemSubscription = (0, rxjs_1.interval)(pingSystemInterval).subscribe(this.pingSystemObserver);
|
|
79
80
|
this.opened$.next(true);
|
|
80
81
|
logger_1.logger.info(`Connection opened ${url}`);
|
|
81
82
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion-master-req-res-web-socket.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/motion-master-req-res-web-socket.ts"],"names":[],"mappings":";;;AAAA,+BAA0F;AAC1F,8CAAqF;AACrF,qCAAkC;AAElC,mCAAoE;AACpE,iCAA6G;AAE7G,MAAa,2BAA2B;IAAxC;QAEW,YAAO,GAAG,IAAI,sBAAe,CAAU,KAAK,CAAC,CAAC;QAE9C,WAAM,GAAG,IAAI,sBAAe,CAAU,KAAK,CAAC,CAAC;QAE7C,aAAQ,GAAG,IAAI,cAAO,EAAwB,CAAC;QAEhD,mBAAc,GAAG,CAAC,CAAC;QAEnB,uBAAkB,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"motion-master-req-res-web-socket.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/motion-master-req-res-web-socket.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,10 @@ import { IMotionMasterMessage } from "./types";
|
|
|
4
4
|
export declare class MotionMasterReqResWorkerSocket implements MotionMasterReqResSocket {
|
|
5
5
|
readonly worker: Worker;
|
|
6
6
|
readonly opened$: BehaviorSubject<boolean>;
|
|
7
|
+
readonly close$: Subject<{
|
|
8
|
+
code: number;
|
|
9
|
+
reason: string;
|
|
10
|
+
}>;
|
|
7
11
|
readonly alive$: BehaviorSubject<boolean>;
|
|
8
12
|
readonly message$: Subject<IMotionMasterMessage>;
|
|
9
13
|
private _url?;
|
|
@@ -8,6 +8,7 @@ class MotionMasterReqResWorkerSocket {
|
|
|
8
8
|
constructor(worker) {
|
|
9
9
|
this.worker = worker;
|
|
10
10
|
this.opened$ = new rxjs_1.BehaviorSubject(false);
|
|
11
|
+
this.close$ = new rxjs_1.Subject();
|
|
11
12
|
this.alive$ = new rxjs_1.BehaviorSubject(false);
|
|
12
13
|
this.message$ = new rxjs_1.Subject();
|
|
13
14
|
}
|
|
@@ -21,9 +22,6 @@ class MotionMasterReqResWorkerSocket {
|
|
|
21
22
|
return this._systemAliveTimeout;
|
|
22
23
|
}
|
|
23
24
|
open(url, pingSystemInterval = 250, systemAliveTimeout = 1000) {
|
|
24
|
-
if (this.opened$.getValue() === true) {
|
|
25
|
-
throw new Error('MotionMasterReqResWorkerSocket is already opened!');
|
|
26
|
-
}
|
|
27
25
|
this._url = url;
|
|
28
26
|
this._pingSystemInterval = pingSystemInterval;
|
|
29
27
|
this._systemAliveTimeout = systemAliveTimeout;
|
|
@@ -45,6 +43,11 @@ class MotionMasterReqResWorkerSocket {
|
|
|
45
43
|
logger_1.logger.info(context, `Received ${context.name}`);
|
|
46
44
|
this.message$.next(message);
|
|
47
45
|
}
|
|
46
|
+
else if ('close' in data) {
|
|
47
|
+
const { close } = data;
|
|
48
|
+
this.close$.next(close);
|
|
49
|
+
logger_1.logger.info(`Close event received on req/res 🔌 ${url} ${JSON.stringify(close)}`);
|
|
50
|
+
}
|
|
48
51
|
};
|
|
49
52
|
this.worker.postMessage({
|
|
50
53
|
open: { url, pingSystemInterval, systemAliveTimeout },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion-master-req-res-worker-socket.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/motion-master-req-res-worker-socket.ts"],"names":[],"mappings":";;;AAAA,+BAAgD;AAChD,qCAAkC;AAGlC,iCAAmE;AAEnE,MAAa,8BAA8B;
|
|
1
|
+
{"version":3,"file":"motion-master-req-res-worker-socket.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/motion-master-req-res-worker-socket.ts"],"names":[],"mappings":"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"}
|