motion-master-client 0.0.225 → 0.0.227
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 +2 -2
- package/src/lib/motion-master-pub-sub-client.js +13 -9
- package/src/lib/motion-master-pub-sub-client.js.map +1 -1
- package/src/lib/units.d.ts +1 -1
- package/src/lib/units.js +1 -1
- package/src/lib/unpack-bundle.d.ts +5 -5
- package/src/lib/unpack-bundle.js +28 -22
- package/src/lib/unpack-bundle.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "motion-master-client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.227",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"description": "A library and CLI program used for communicating with Motion Master.",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@andrewbranch/untar.js": "^1.0.3",
|
|
8
7
|
"base64-arraybuffer": "^1.0.2",
|
|
9
8
|
"buffer": "^6.0.3",
|
|
10
9
|
"commander": "^11.1.0",
|
|
@@ -12,6 +11,7 @@
|
|
|
12
11
|
"debug": "^4.3.5",
|
|
13
12
|
"express": "^4.19.2",
|
|
14
13
|
"fast-deep-equal": "^3.1.3",
|
|
14
|
+
"js-untar": "^2.0.0",
|
|
15
15
|
"lodash": "^4.17.21",
|
|
16
16
|
"pako": "^2.1.0",
|
|
17
17
|
"papaparse": "^5.4.1",
|
|
@@ -30,7 +30,7 @@ class MotionMasterPubSubClient {
|
|
|
30
30
|
this.socket.worker.postMessage({ subscribe: config });
|
|
31
31
|
}
|
|
32
32
|
else {
|
|
33
|
-
const { bufferSize = 1, distinct = false, topic } = config;
|
|
33
|
+
const { bufferSize = 1, distinct = false, topic, unitFormatters } = config;
|
|
34
34
|
let observable = this.socket.data$.pipe((0, rxjs_1.filter)((data) => data[0] === topic), (0, rxjs_1.map)((data) => data[1]));
|
|
35
35
|
if (distinct) {
|
|
36
36
|
observable = observable.pipe((0, rxjs_1.distinctUntilChanged)((prev, curr) => {
|
|
@@ -42,26 +42,30 @@ class MotionMasterPubSubClient {
|
|
|
42
42
|
return false;
|
|
43
43
|
}));
|
|
44
44
|
}
|
|
45
|
-
if (
|
|
45
|
+
if (unitFormatters) {
|
|
46
46
|
observable = observable.pipe((0, rxjs_1.map)((message) => {
|
|
47
47
|
var _a, _b, _c;
|
|
48
|
-
if (
|
|
48
|
+
if (unitFormatters) {
|
|
49
49
|
const values = (_c = (_b = (_a = message.status) === null || _a === void 0 ? void 0 : _a.monitoringParameterValues) === null || _b === void 0 ? void 0 : _b.deviceParameterValues) === null || _c === void 0 ? void 0 : _c.parameterValues;
|
|
50
|
-
if (values &&
|
|
51
|
-
if (values.length > 0 && values.length !==
|
|
52
|
-
console.warn('The number of unit formatters does not
|
|
50
|
+
if (values && unitFormatters) {
|
|
51
|
+
if (values.length > 0 && values.length !== unitFormatters.length) {
|
|
52
|
+
console.warn('The number of unit formatters does not correspond to the number of values. Unit formatting will not be applied.');
|
|
53
53
|
return message;
|
|
54
54
|
}
|
|
55
55
|
for (let i = 0; i < values.length; i++) {
|
|
56
|
-
const formatter =
|
|
56
|
+
const formatter = unitFormatters[i];
|
|
57
57
|
if (formatter) {
|
|
58
58
|
const converter = units_1.unitConverters[formatter.converterId];
|
|
59
59
|
if (converter) {
|
|
60
60
|
if (values[i].intValue !== undefined) {
|
|
61
|
-
|
|
61
|
+
// The uintValue will store a float value when formatted, rather than an unsigned integer.
|
|
62
|
+
// Unlike position values from the drive, which are integers, degrees and revolutions in the UI are represented as float values.
|
|
63
|
+
values[i].intValue = parseFloat(converter.formatter(formatter.unit, values[i].intValue, formatter.data));
|
|
62
64
|
}
|
|
63
65
|
else if (values[i].uintValue !== undefined) {
|
|
64
|
-
|
|
66
|
+
// The uintValue will store a float value when formatted, rather than an unsigned integer.
|
|
67
|
+
// Unlike position values from the drive, which are integers, degrees and revolutions in the UI are represented as float values.
|
|
68
|
+
values[i].uintValue = parseFloat(converter.formatter(formatter.unit, values[i].uintValue, formatter.data));
|
|
65
69
|
}
|
|
66
70
|
else if (values[i].floatValue !== undefined) {
|
|
67
71
|
values[i].floatValue = parseFloat(converter.formatter(formatter.unit, values[i].floatValue, formatter.data));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion-master-pub-sub-client.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/motion-master-pub-sub-client.ts"],"names":[],"mappings":";;;;AAAA,+BAA+G;AAC/G,+BAA0B;AAG1B,2CAAqG;AAErG,8EAAoC;AACpC,+FAAuF;AACvF,mCAAyC;AAEzC,MAAa,wBAAwB;IAkBnC,YACkB,MAAgC;QAAhC,WAAM,GAAN,MAAM,CAA0B;QAjBzC,UAAK,GAAG,IAAI,cAAO,EAAoC,CAAC;QAEzD,kBAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;QAE/C,kBAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC7C,IAAA,4CAAgC,EAAC,cAAc,CAAC,CACjD,CAAC;QAEO,iBAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAC7C,IAAA,gDAAoC,EAA0C,aAAa,CAAC,CAC7F,CAAC;QAEO,iBAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAC7C,IAAA,gDAAoC,EAA0C,aAAa,CAAC,CAC7F,CAAC;IAIE,CAAC;IAEL,IAAI,UAAU;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,MAAwB;;QAChC,MAAM,SAAS,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAA,SAAE,GAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACrB,MAAM,mCAAQ,MAAM,KAAE,SAAS,GAAE,CAAC;SACnC;QAED,IAAI,IAAI,CAAC,MAAM,YAAY,oEAA8B,EAAE;YACzD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;SACvD;aAAM;YACL,MAAM,EAAE,UAAU,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"motion-master-pub-sub-client.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/motion-master-pub-sub-client.ts"],"names":[],"mappings":"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"}
|
package/src/lib/units.d.ts
CHANGED
|
@@ -100,6 +100,6 @@ export declare const unitConverterParameters: {
|
|
|
100
100
|
[key in keyof UnitConverters]: [number, number][];
|
|
101
101
|
};
|
|
102
102
|
/**
|
|
103
|
-
* Get the unit
|
|
103
|
+
* Get the unit converter for a given parameter index and subindex.
|
|
104
104
|
*/
|
|
105
105
|
export declare function getUnitConverterForParameter(index: number, subindex: number): UnitConverter<any> | undefined;
|
package/src/lib/units.js
CHANGED
|
@@ -447,7 +447,7 @@ exports.unitConverterParameters = {
|
|
|
447
447
|
],
|
|
448
448
|
};
|
|
449
449
|
/**
|
|
450
|
-
* Get the unit
|
|
450
|
+
* Get the unit converter for a given parameter index and subindex.
|
|
451
451
|
*/
|
|
452
452
|
function getUnitConverterForParameter(index, subindex) {
|
|
453
453
|
for (const [key, values] of Object.entries(exports.unitConverterParameters)) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Unpacks the .tar.gz (odbx format) file and returns the items.
|
|
3
3
|
*
|
|
4
|
-
* @param
|
|
4
|
+
* @param data - The .tar.gz (odbx format) file.
|
|
5
5
|
* @returns - The items in the .tar.gz file.
|
|
6
6
|
*/
|
|
7
|
-
export declare function unpackBundle(
|
|
8
|
-
hasCache:
|
|
7
|
+
export declare function unpackBundle(data: Blob | ArrayBuffer): Promise<{
|
|
8
|
+
hasCache: any;
|
|
9
9
|
images: any;
|
|
10
|
-
items:
|
|
11
|
-
packages:
|
|
10
|
+
items: any;
|
|
11
|
+
packages: any;
|
|
12
12
|
}>;
|
package/src/lib/unpack-bundle.js
CHANGED
|
@@ -3,35 +3,41 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.unpackBundle = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const pako_1 = tslib_1.__importDefault(require("pako"));
|
|
6
|
-
const untar_js_1 = require("@andrewbranch/untar.js");
|
|
7
6
|
/**
|
|
8
7
|
* Unpacks the .tar.gz (odbx format) file and returns the items.
|
|
9
8
|
*
|
|
10
|
-
* @param
|
|
9
|
+
* @param data - The .tar.gz (odbx format) file.
|
|
11
10
|
* @returns - The items in the .tar.gz file.
|
|
12
11
|
*/
|
|
13
|
-
function unpackBundle(
|
|
12
|
+
function unpackBundle(data) {
|
|
14
13
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
// @ts-ignore
|
|
15
|
+
if (typeof window !== 'undefined') {
|
|
16
|
+
const module = yield Promise.resolve().then(() => tslib_1.__importStar(require('js-untar')));
|
|
17
|
+
const untar = module.default;
|
|
18
|
+
const buffer = data instanceof ArrayBuffer ? data : yield data.arrayBuffer();
|
|
19
|
+
const archive = pako_1.default.ungzip(new Uint8Array(buffer));
|
|
20
|
+
const items = yield untar(archive.buffer);
|
|
21
|
+
const hasCache = items.some((item) => item.name.startsWith('cache/'));
|
|
22
|
+
let images = [];
|
|
23
|
+
const manifestJson = items.find((item) => item.name.match(/manifest.json$/));
|
|
24
|
+
if (manifestJson) {
|
|
25
|
+
const decoder = new TextDecoder('utf-8');
|
|
26
|
+
const content = decoder.decode(manifestJson.buffer);
|
|
27
|
+
const manifest = JSON.parse(content);
|
|
28
|
+
images = manifest.map((m) => m.RepoTags).reduce((a, b) => a.concat(b), []);
|
|
29
|
+
}
|
|
30
|
+
const packages = items.filter((item) => item.name.match(/\/package(.*).zip/));
|
|
31
|
+
return {
|
|
32
|
+
hasCache,
|
|
33
|
+
images,
|
|
34
|
+
items,
|
|
35
|
+
packages,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return { hasCache: false, images: [], items: [], packages: [] };
|
|
27
40
|
}
|
|
28
|
-
const packages = items.filter((item) => item.name.match(/\/package(.*).zip/));
|
|
29
|
-
return {
|
|
30
|
-
hasCache,
|
|
31
|
-
images,
|
|
32
|
-
items,
|
|
33
|
-
packages,
|
|
34
|
-
};
|
|
35
41
|
});
|
|
36
42
|
}
|
|
37
43
|
exports.unpackBundle = unpackBundle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unpack-bundle.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/unpack-bundle.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;
|
|
1
|
+
{"version":3,"file":"unpack-bundle.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/unpack-bundle.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AAExB;;;;;GAKG;AACH,SAAsB,YAAY,CAAC,IAAwB;;QACzD,aAAa;QACb,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,MAAM,MAAM,GAAG,gEAAa,UAAU,GAAC,CAAC;YAExC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,YAAY,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7E,MAAM,OAAO,GAAG,cAAI,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAE1C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAE3E,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAClF,IAAI,YAAY,EAAE;gBAChB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;gBACzC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAQ,EAAE,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aAC/F;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAEnF,OAAO;gBACL,QAAQ;gBACR,MAAM;gBACN,KAAK;gBACL,QAAQ;aACT,CAAC;SACH;aAAM;YACL,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;SACjE;IACH,CAAC;CAAA;AAhCD,oCAgCC"}
|