motion-master-client 0.0.55 → 0.0.56
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/.babelrc +3 -0
- package/.eslintrc.json +18 -0
- package/README.md +123 -123
- package/jest.config.ts +16 -0
- package/motion-master.proto +1861 -0
- package/package.json +6 -21
- package/project.json +45 -0
- package/src/{index.d.ts → index.ts} +26 -26
- package/src/lib/cia402.spec.ts +77 -0
- package/src/lib/cia402.ts +414 -0
- package/src/lib/config-file.spec.ts +114 -0
- package/src/lib/config-file.ts +63 -0
- package/src/lib/device-log-line.ts +5 -0
- package/src/lib/device-parameter.spec.ts +85 -0
- package/src/lib/device-parameter.ts +79 -0
- package/src/lib/device.ts +10 -0
- package/src/lib/hardware-description.spec.ts +253 -0
- package/src/lib/hardware-description.ts +129 -0
- package/src/lib/logger.ts +5 -0
- package/src/lib/monitoring-config.ts +6 -0
- package/src/lib/{monitoring-entry.d.ts → monitoring-entry.ts} +10 -9
- package/src/lib/motion-master-client.ts +266 -0
- package/src/lib/motion-master-pub-sub-client.ts +100 -0
- package/src/lib/motion-master-pub-sub-socket.ts +46 -0
- package/src/lib/motion-master-pub-sub-web-socket.ts +77 -0
- package/src/lib/motion-master-pub-sub-worker-socket.ts +57 -0
- package/src/lib/motion-master-req-res-client.spec.ts +740 -0
- package/src/lib/motion-master-req-res-client.ts +2211 -0
- package/src/lib/motion-master-req-res-socket.ts +68 -0
- package/src/lib/motion-master-req-res-web-socket.ts +123 -0
- package/src/lib/motion-master-req-res-worker-socket.ts +89 -0
- package/src/lib/motion-master.proto.d.ts +5183 -5083
- package/src/lib/motion-master.proto.js +53218 -52284
- package/src/lib/operators.ts +108 -0
- package/src/lib/options.ts +12 -0
- package/src/lib/parameter.spec.ts +160 -0
- package/src/lib/parameter.ts +170 -0
- package/src/lib/product-id-range.ts +8 -0
- package/src/lib/request-status-resolver.ts +403 -0
- package/src/lib/system-log-line.ts +9 -0
- package/src/lib/{types.d.ts → types.ts} +141 -209
- package/src/lib/urls.ts +6 -0
- package/src/lib/util.ts +332 -0
- package/src/lib/web-socket-connection-close-codes.ts +85 -0
- package/tsconfig.json +23 -0
- package/tsconfig.lib.json +10 -0
- package/tsconfig.spec.json +20 -0
- package/typedoc.json +10 -0
- package/src/index.js +0 -30
- package/src/index.js.map +0 -1
- package/src/lib/cia402.d.ts +0 -182
- package/src/lib/cia402.js +0 -392
- package/src/lib/cia402.js.map +0 -1
- package/src/lib/config-file.d.ts +0 -13
- package/src/lib/config-file.js +0 -50
- package/src/lib/config-file.js.map +0 -1
- package/src/lib/device-log-line.d.ts +0 -5
- package/src/lib/device-log-line.js +0 -3
- package/src/lib/device-log-line.js.map +0 -1
- package/src/lib/device-parameter.d.ts +0 -56
- package/src/lib/device-parameter.js +0 -39
- package/src/lib/device-parameter.js.map +0 -1
- package/src/lib/device.d.ts +0 -9
- package/src/lib/device.js +0 -3
- package/src/lib/device.js.map +0 -1
- package/src/lib/hardware-description.d.ts +0 -41
- package/src/lib/hardware-description.js +0 -94
- package/src/lib/hardware-description.js.map +0 -1
- package/src/lib/logger.d.ts +0 -1
- package/src/lib/logger.js +0 -8
- package/src/lib/logger.js.map +0 -1
- package/src/lib/monitoring-config.d.ts +0 -6
- package/src/lib/monitoring-config.js +0 -3
- package/src/lib/monitoring-config.js.map +0 -1
- package/src/lib/monitoring-entry.js +0 -3
- package/src/lib/monitoring-entry.js.map +0 -1
- package/src/lib/motion-master-client.d.ts +0 -56
- package/src/lib/motion-master-client.js +0 -167
- package/src/lib/motion-master-client.js.map +0 -1
- package/src/lib/motion-master-pub-sub-client.d.ts +0 -17
- package/src/lib/motion-master-pub-sub-client.js +0 -73
- package/src/lib/motion-master-pub-sub-client.js.map +0 -1
- package/src/lib/motion-master-pub-sub-socket.d.ts +0 -42
- package/src/lib/motion-master-pub-sub-socket.js +0 -3
- package/src/lib/motion-master-pub-sub-socket.js.map +0 -1
- package/src/lib/motion-master-pub-sub-web-socket.d.ts +0 -18
- package/src/lib/motion-master-pub-sub-web-socket.js +0 -66
- package/src/lib/motion-master-pub-sub-web-socket.js.map +0 -1
- package/src/lib/motion-master-pub-sub-worker-socket.d.ts +0 -18
- package/src/lib/motion-master-pub-sub-worker-socket.js +0 -48
- package/src/lib/motion-master-pub-sub-worker-socket.js.map +0 -1
- package/src/lib/motion-master-req-res-client.d.ts +0 -947
- package/src/lib/motion-master-req-res-client.js +0 -1735
- package/src/lib/motion-master-req-res-client.js.map +0 -1
- package/src/lib/motion-master-req-res-socket.d.ts +0 -60
- package/src/lib/motion-master-req-res-socket.js +0 -3
- package/src/lib/motion-master-req-res-socket.js.map +0 -1
- package/src/lib/motion-master-req-res-web-socket.d.ts +0 -28
- package/src/lib/motion-master-req-res-web-socket.js +0 -98
- package/src/lib/motion-master-req-res-web-socket.js.map +0 -1
- package/src/lib/motion-master-req-res-worker-socket.d.ts +0 -24
- package/src/lib/motion-master-req-res-worker-socket.js +0 -72
- package/src/lib/motion-master-req-res-worker-socket.js.map +0 -1
- package/src/lib/operators.d.ts +0 -20
- package/src/lib/operators.js +0 -84
- package/src/lib/operators.js.map +0 -1
- package/src/lib/options.d.ts +0 -10
- package/src/lib/options.js +0 -14
- package/src/lib/options.js.map +0 -1
- package/src/lib/parameter.d.ts +0 -72
- package/src/lib/parameter.js +0 -119
- package/src/lib/parameter.js.map +0 -1
- package/src/lib/product-id-range.d.ts +0 -7
- package/src/lib/product-id-range.js +0 -12
- package/src/lib/product-id-range.js.map +0 -1
- package/src/lib/request-status-resolver.d.ts +0 -4
- package/src/lib/request-status-resolver.js +0 -345
- package/src/lib/request-status-resolver.js.map +0 -1
- package/src/lib/system-log-line.d.ts +0 -9
- package/src/lib/system-log-line.js +0 -3
- package/src/lib/system-log-line.js.map +0 -1
- package/src/lib/types.js +0 -29
- package/src/lib/types.js.map +0 -1
- package/src/lib/urls.d.ts +0 -3
- package/src/lib/urls.js +0 -10
- package/src/lib/urls.js.map +0 -1
- package/src/lib/util.d.ts +0 -42
- package/src/lib/util.js +0 -327
- package/src/lib/util.js.map +0 -1
- package/src/lib/web-socket-connection-close-codes.d.ts +0 -8
- package/src/lib/web-socket-connection-close-codes.js +0 -89
- package/src/lib/web-socket-connection-close-codes.js.map +0 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { BehaviorSubject, Observable, Subject } from "rxjs";
|
|
2
|
+
import { MotionMasterPubSubSocket } from "./motion-master-pub-sub-socket";
|
|
3
|
+
import { IMotionMasterMessage } from "./types";
|
|
4
|
+
import { logger } from "./logger";
|
|
5
|
+
|
|
6
|
+
export class MotionMasterPubSubWorkerSocket implements MotionMasterPubSubSocket {
|
|
7
|
+
|
|
8
|
+
opened$ = new BehaviorSubject(false);
|
|
9
|
+
|
|
10
|
+
close$ = new Subject<{ code: number; reason: string; }>();
|
|
11
|
+
|
|
12
|
+
data$ = new Subject<[string, IMotionMasterMessage]>();
|
|
13
|
+
|
|
14
|
+
private _url?: string;
|
|
15
|
+
|
|
16
|
+
constructor(
|
|
17
|
+
public readonly worker: Worker,
|
|
18
|
+
) { }
|
|
19
|
+
|
|
20
|
+
get url(): string | undefined {
|
|
21
|
+
return this._url;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
open(url: string): void {
|
|
25
|
+
this._url = url;
|
|
26
|
+
|
|
27
|
+
this.worker.onmessage = ({ data }) => {
|
|
28
|
+
if ('opened' in data) {
|
|
29
|
+
const { opened } = data;
|
|
30
|
+
this.opened$.next(opened);
|
|
31
|
+
logger.info(opened ? `Opened pub/sub 🔌 ${url}` : `Closed pub/sub 🔌 ${url}`);
|
|
32
|
+
} else if ('topic' in data) {
|
|
33
|
+
const { topic, messages }: { topic: string, messages: IMotionMasterMessage[] } = data;
|
|
34
|
+
messages.forEach((message) => this.data$.next([topic, message]));
|
|
35
|
+
} else if ('close' in data) {
|
|
36
|
+
const { close } = data;
|
|
37
|
+
this.close$.next(close);
|
|
38
|
+
logger.info(`Close event received on pub/sub 🔌 ${url} ${JSON.stringify(close)}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
this.worker.postMessage({
|
|
43
|
+
open: { url }
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
close(): void {
|
|
48
|
+
this.worker.postMessage({ close: true })
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
reopen() {
|
|
52
|
+
if (this.url && this.opened$.value === false) {
|
|
53
|
+
this.open(this.url);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
}
|