motion-master-client 0.0.1 → 0.0.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.
- package/.babelrc +3 -0
- package/.eslintrc.json +18 -0
- package/README.md +44 -2
- package/jest.config.ts +15 -0
- package/motion-master.proto +1822 -0
- package/package.json +6 -9
- package/src/{index.d.ts → index.ts} +1 -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 +69 -0
- package/src/lib/hardware-description.spec.ts +223 -0
- package/src/lib/hardware-description.ts +79 -0
- package/src/lib/logger.ts +5 -0
- package/src/lib/monitoring-config.ts +6 -0
- package/src/lib/monitoring-entry.ts +11 -0
- package/src/lib/motion-master-client.ts +94 -0
- package/src/lib/motion-master-pub-sub-client.ts +94 -0
- package/src/lib/motion-master-pub-sub-socket.ts +33 -0
- package/src/lib/motion-master-pub-sub-web-socket.ts +71 -0
- package/src/lib/motion-master-pub-sub-worker-socket.ts +58 -0
- package/src/lib/motion-master-req-res-client.spec.ts +126 -0
- package/src/lib/motion-master-req-res-client.ts +1625 -0
- package/src/lib/motion-master-req-res-socket.ts +45 -0
- package/src/lib/motion-master-req-res-web-socket.ts +119 -0
- package/src/lib/motion-master-req-res-worker-socket.ts +63 -0
- package/src/lib/motion-master.proto.d.ts +5084 -0
- package/src/lib/motion-master.proto.js +52278 -0
- package/src/lib/operators.ts +93 -0
- package/src/lib/{options.js → options.ts} +7 -6
- package/src/lib/parameter.spec.ts +81 -0
- package/src/lib/parameter.ts +119 -0
- package/src/lib/request-status-resolver.ts +380 -0
- package/src/lib/system-log-line.ts +8 -0
- package/src/lib/types.ts +58 -0
- package/src/lib/{urls.js → urls.ts} +3 -3
- package/src/lib/util.ts +261 -0
- package/tsconfig.json +22 -0
- package/tsconfig.lib.json +10 -0
- package/tsconfig.spec.json +20 -0
- package/typedoc.json +10 -0
- package/src/index.js +0 -22
- package/src/index.js.map +0 -1
- package/src/lib/device-log-line.d.ts +0 -5
- package/src/lib/device-log-line.js +0 -2
- package/src/lib/device-log-line.js.map +0 -1
- package/src/lib/hardware-description.d.ts +0 -36
- package/src/lib/hardware-description.js +0 -38
- package/src/lib/hardware-description.js.map +0 -1
- package/src/lib/logger.d.ts +0 -1
- package/src/lib/logger.js +0 -5
- package/src/lib/logger.js.map +0 -1
- package/src/lib/monitoring-config.d.ts +0 -6
- package/src/lib/monitoring-config.js +0 -2
- package/src/lib/monitoring-config.js.map +0 -1
- package/src/lib/monitoring-entry.d.ts +0 -10
- package/src/lib/monitoring-entry.js +0 -2
- package/src/lib/monitoring-entry.js.map +0 -1
- package/src/lib/motion-master-client.d.ts +0 -18
- package/src/lib/motion-master-client.js +0 -48
- package/src/lib/motion-master-client.js.map +0 -1
- package/src/lib/motion-master-pub-sub-client.d.ts +0 -16
- package/src/lib/motion-master-pub-sub-client.js +0 -64
- package/src/lib/motion-master-pub-sub-client.js.map +0 -1
- package/src/lib/motion-master-pub-sub-socket.d.ts +0 -28
- package/src/lib/motion-master-pub-sub-socket.js +0 -2
- package/src/lib/motion-master-pub-sub-socket.js.map +0 -1
- package/src/lib/motion-master-pub-sub-web-socket.d.ts +0 -13
- package/src/lib/motion-master-pub-sub-web-socket.js +0 -57
- 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 -16
- package/src/lib/motion-master-pub-sub-worker-socket.js +0 -37
- package/src/lib/motion-master-pub-sub-worker-socket.js.map +0 -1
- package/src/lib/motion-master-req-res-client.d.ts +0 -370
- package/src/lib/motion-master-req-res-client.js +0 -1067
- package/src/lib/motion-master-req-res-client.js.map +0 -1
- package/src/lib/motion-master-req-res-socket.d.ts +0 -38
- package/src/lib/motion-master-req-res-socket.js +0 -2
- package/src/lib/motion-master-req-res-socket.js.map +0 -1
- package/src/lib/motion-master-req-res-web-socket.d.ts +0 -20
- package/src/lib/motion-master-req-res-web-socket.js +0 -96
- 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 -15
- package/src/lib/motion-master-req-res-worker-socket.js +0 -49
- package/src/lib/motion-master-req-res-worker-socket.js.map +0 -1
- package/src/lib/operators.d.ts +0 -21
- package/src/lib/operators.js +0 -62
- package/src/lib/operators.js.map +0 -1
- package/src/lib/options.d.ts +0 -10
- package/src/lib/options.js.map +0 -1
- package/src/lib/parameter.d.ts +0 -9
- package/src/lib/parameter.js +0 -2
- package/src/lib/parameter.js.map +0 -1
- package/src/lib/request-status-resolver.d.ts +0 -4
- package/src/lib/request-status-resolver.js +0 -320
- package/src/lib/request-status-resolver.js.map +0 -1
- package/src/lib/system-log-line.d.ts +0 -8
- package/src/lib/system-log-line.js +0 -2
- package/src/lib/system-log-line.js.map +0 -1
- package/src/lib/types.d.ts +0 -41
- package/src/lib/types.js +0 -9
- package/src/lib/types.js.map +0 -1
- package/src/lib/urls.d.ts +0 -3
- package/src/lib/urls.js.map +0 -1
- package/src/lib/util.d.ts +0 -33
- package/src/lib/util.js +0 -247
- package/src/lib/util.js.map +0 -1
package/.babelrc
ADDED
package/.eslintrc.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": ["../../.eslintrc.json"],
|
|
3
|
+
"ignorePatterns": ["!**/*"],
|
|
4
|
+
"overrides": [
|
|
5
|
+
{
|
|
6
|
+
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
|
|
7
|
+
"rules": {}
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"files": ["*.ts", "*.tsx"],
|
|
11
|
+
"rules": {}
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"files": ["*.js", "*.jsx"],
|
|
15
|
+
"rules": {}
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
package/README.md
CHANGED
|
@@ -1,7 +1,49 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Motion Master Client
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Motion Master Client is a library and CLI program written in [TypeScript](https://www.typescriptlang.org). It is used for communicating with Motion Master process over [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket) connections by exchanging [Protocol Buffers](https://developers.google.com/protocol-buffers) serialized messages.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm install motion-master-client
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
const reqResSocket = new MotionMasterReqResWebSocket();
|
|
15
|
+
const pubSubSocket = new MotionMasterPubSubWebSocket();
|
|
16
|
+
|
|
17
|
+
const client = new MotionMasterClient(reqResSocket, pubSubSocket);
|
|
18
|
+
|
|
19
|
+
const clientId = v4();
|
|
20
|
+
reqResSocket.open(`ws://oblac-drives-7dc95497.local:63524?clientId=${clientId}`);
|
|
21
|
+
pubSubSocket.open(`ws://oblac-drives-7dc95497.local:63525?clientId=${clientId}`);
|
|
22
|
+
|
|
23
|
+
this.client.request.getDeviceInfo().subscribe(console.log);
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Communication
|
|
27
|
+
|
|
28
|
+
### Protocols
|
|
29
|
+
|
|
30
|
+
### Message Exchange
|
|
4
31
|
|
|
5
32
|
## Running unit tests
|
|
6
33
|
|
|
34
|
+
## Features
|
|
35
|
+
|
|
36
|
+
## Goals
|
|
37
|
+
|
|
7
38
|
Run `nx test motion-master-client` to execute the unit tests via [Jest](https://jestjs.io).
|
|
39
|
+
|
|
40
|
+
https://github.com/protocolbuffers/protobuf/issues/2497#issuecomment-267422550
|
|
41
|
+
|
|
42
|
+
class diagram
|
|
43
|
+
|
|
44
|
+
explain status progress completed error
|
|
45
|
+
request timeout
|
|
46
|
+
ping mechanism
|
|
47
|
+
reactive and async api
|
|
48
|
+
two sockets
|
|
49
|
+
matching request id (message id with response)
|
package/jest.config.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
export default {
|
|
3
|
+
displayName: 'motion-master-client',
|
|
4
|
+
preset: '../../jest.preset.js',
|
|
5
|
+
globals: {
|
|
6
|
+
'ts-jest': {
|
|
7
|
+
tsconfig: '<rootDir>/tsconfig.spec.json',
|
|
8
|
+
},
|
|
9
|
+
},
|
|
10
|
+
transform: {
|
|
11
|
+
'^.+\\.[tj]sx?$': 'ts-jest',
|
|
12
|
+
},
|
|
13
|
+
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
|
|
14
|
+
coverageDirectory: '../../coverage/libs/motion-master-client',
|
|
15
|
+
};
|