motion-master-client 0.0.1 → 0.0.3

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 (106) hide show
  1. package/.babelrc +3 -0
  2. package/.eslintrc.json +18 -0
  3. package/README.md +44 -2
  4. package/jest.config.ts +15 -0
  5. package/motion-master.proto +1822 -0
  6. package/package.json +6 -9
  7. package/src/{index.d.ts → index.ts} +1 -0
  8. package/src/lib/device-log-line.ts +5 -0
  9. package/src/lib/device-parameter.spec.ts +85 -0
  10. package/src/lib/device-parameter.ts +69 -0
  11. package/src/lib/hardware-description.spec.ts +223 -0
  12. package/src/lib/hardware-description.ts +79 -0
  13. package/src/lib/logger.ts +5 -0
  14. package/src/lib/monitoring-config.ts +6 -0
  15. package/src/lib/monitoring-entry.ts +11 -0
  16. package/src/lib/motion-master-client.ts +94 -0
  17. package/src/lib/motion-master-pub-sub-client.ts +94 -0
  18. package/src/lib/motion-master-pub-sub-socket.ts +33 -0
  19. package/src/lib/motion-master-pub-sub-web-socket.ts +71 -0
  20. package/src/lib/motion-master-pub-sub-worker-socket.ts +58 -0
  21. package/src/lib/motion-master-req-res-client.spec.ts +126 -0
  22. package/src/lib/motion-master-req-res-client.ts +1990 -0
  23. package/src/lib/motion-master-req-res-socket.ts +45 -0
  24. package/src/lib/motion-master-req-res-web-socket.ts +119 -0
  25. package/src/lib/motion-master-req-res-worker-socket.ts +63 -0
  26. package/src/lib/motion-master.proto.d.ts +5084 -0
  27. package/src/lib/motion-master.proto.js +52278 -0
  28. package/src/lib/operators.ts +93 -0
  29. package/src/lib/{options.js → options.ts} +7 -6
  30. package/src/lib/parameter.spec.ts +81 -0
  31. package/src/lib/parameter.ts +119 -0
  32. package/src/lib/request-status-resolver.ts +380 -0
  33. package/src/lib/system-log-line.ts +8 -0
  34. package/src/lib/types.ts +58 -0
  35. package/src/lib/{urls.js → urls.ts} +3 -3
  36. package/src/lib/util.ts +261 -0
  37. package/tsconfig.json +22 -0
  38. package/tsconfig.lib.json +10 -0
  39. package/tsconfig.spec.json +20 -0
  40. package/typedoc.json +10 -0
  41. package/src/index.js +0 -22
  42. package/src/index.js.map +0 -1
  43. package/src/lib/device-log-line.d.ts +0 -5
  44. package/src/lib/device-log-line.js +0 -2
  45. package/src/lib/device-log-line.js.map +0 -1
  46. package/src/lib/hardware-description.d.ts +0 -36
  47. package/src/lib/hardware-description.js +0 -38
  48. package/src/lib/hardware-description.js.map +0 -1
  49. package/src/lib/logger.d.ts +0 -1
  50. package/src/lib/logger.js +0 -5
  51. package/src/lib/logger.js.map +0 -1
  52. package/src/lib/monitoring-config.d.ts +0 -6
  53. package/src/lib/monitoring-config.js +0 -2
  54. package/src/lib/monitoring-config.js.map +0 -1
  55. package/src/lib/monitoring-entry.d.ts +0 -10
  56. package/src/lib/monitoring-entry.js +0 -2
  57. package/src/lib/monitoring-entry.js.map +0 -1
  58. package/src/lib/motion-master-client.d.ts +0 -18
  59. package/src/lib/motion-master-client.js +0 -48
  60. package/src/lib/motion-master-client.js.map +0 -1
  61. package/src/lib/motion-master-pub-sub-client.d.ts +0 -16
  62. package/src/lib/motion-master-pub-sub-client.js +0 -64
  63. package/src/lib/motion-master-pub-sub-client.js.map +0 -1
  64. package/src/lib/motion-master-pub-sub-socket.d.ts +0 -28
  65. package/src/lib/motion-master-pub-sub-socket.js +0 -2
  66. package/src/lib/motion-master-pub-sub-socket.js.map +0 -1
  67. package/src/lib/motion-master-pub-sub-web-socket.d.ts +0 -13
  68. package/src/lib/motion-master-pub-sub-web-socket.js +0 -57
  69. package/src/lib/motion-master-pub-sub-web-socket.js.map +0 -1
  70. package/src/lib/motion-master-pub-sub-worker-socket.d.ts +0 -16
  71. package/src/lib/motion-master-pub-sub-worker-socket.js +0 -37
  72. package/src/lib/motion-master-pub-sub-worker-socket.js.map +0 -1
  73. package/src/lib/motion-master-req-res-client.d.ts +0 -370
  74. package/src/lib/motion-master-req-res-client.js +0 -1067
  75. package/src/lib/motion-master-req-res-client.js.map +0 -1
  76. package/src/lib/motion-master-req-res-socket.d.ts +0 -38
  77. package/src/lib/motion-master-req-res-socket.js +0 -2
  78. package/src/lib/motion-master-req-res-socket.js.map +0 -1
  79. package/src/lib/motion-master-req-res-web-socket.d.ts +0 -20
  80. package/src/lib/motion-master-req-res-web-socket.js +0 -96
  81. package/src/lib/motion-master-req-res-web-socket.js.map +0 -1
  82. package/src/lib/motion-master-req-res-worker-socket.d.ts +0 -15
  83. package/src/lib/motion-master-req-res-worker-socket.js +0 -49
  84. package/src/lib/motion-master-req-res-worker-socket.js.map +0 -1
  85. package/src/lib/operators.d.ts +0 -21
  86. package/src/lib/operators.js +0 -62
  87. package/src/lib/operators.js.map +0 -1
  88. package/src/lib/options.d.ts +0 -10
  89. package/src/lib/options.js.map +0 -1
  90. package/src/lib/parameter.d.ts +0 -9
  91. package/src/lib/parameter.js +0 -2
  92. package/src/lib/parameter.js.map +0 -1
  93. package/src/lib/request-status-resolver.d.ts +0 -4
  94. package/src/lib/request-status-resolver.js +0 -320
  95. package/src/lib/request-status-resolver.js.map +0 -1
  96. package/src/lib/system-log-line.d.ts +0 -8
  97. package/src/lib/system-log-line.js +0 -2
  98. package/src/lib/system-log-line.js.map +0 -1
  99. package/src/lib/types.d.ts +0 -41
  100. package/src/lib/types.js +0 -9
  101. package/src/lib/types.js.map +0 -1
  102. package/src/lib/urls.d.ts +0 -3
  103. package/src/lib/urls.js.map +0 -1
  104. package/src/lib/util.d.ts +0 -33
  105. package/src/lib/util.js +0 -247
  106. package/src/lib/util.js.map +0 -1
package/.babelrc ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "presets": [["@nrwl/web/babel", { "useBuiltIns": "usage" }]]
3
+ }
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
- # motion-master-client
1
+ # Motion Master Client
2
2
 
3
- This library was generated with [Nx](https://nx.dev).
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
+ 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
+ };