motion-master-client 0.0.216 → 0.0.217

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "motion-master-client",
3
- "version": "0.0.216",
3
+ "version": "0.0.217",
4
4
  "type": "commonjs",
5
5
  "description": "A library and CLI program used for communicating with Motion Master.",
6
6
  "dependencies": {
package/src/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export * from './lib/device-log-line';
7
7
  export * from './lib/encoder';
8
8
  export * from './lib/ethercat';
9
9
  export * from './lib/ethernet';
10
+ export * from './lib/fetch';
10
11
  export * from './lib/firmware';
11
12
  export * from './lib/hardware-description';
12
13
  export * from './lib/homing';
@@ -25,6 +26,8 @@ export * from './lib/motion-master-req-res-client';
25
26
  export * from './lib/motion-master-req-res-socket';
26
27
  export * from './lib/motion-master-req-res-web-socket';
27
28
  export * from './lib/motion-master-req-res-worker-socket';
29
+ export * from './lib/oblac-drives-release';
30
+ export * from './lib/online';
28
31
  export * from './lib/operators';
29
32
  export * from './lib/options';
30
33
  export * from './lib/os-command';
package/src/index.js CHANGED
@@ -10,6 +10,7 @@ tslib_1.__exportStar(require("./lib/device-log-line"), exports);
10
10
  tslib_1.__exportStar(require("./lib/encoder"), exports);
11
11
  tslib_1.__exportStar(require("./lib/ethercat"), exports);
12
12
  tslib_1.__exportStar(require("./lib/ethernet"), exports);
13
+ tslib_1.__exportStar(require("./lib/fetch"), exports);
13
14
  tslib_1.__exportStar(require("./lib/firmware"), exports);
14
15
  tslib_1.__exportStar(require("./lib/hardware-description"), exports);
15
16
  tslib_1.__exportStar(require("./lib/homing"), exports);
@@ -28,6 +29,8 @@ tslib_1.__exportStar(require("./lib/motion-master-req-res-client"), exports);
28
29
  tslib_1.__exportStar(require("./lib/motion-master-req-res-socket"), exports);
29
30
  tslib_1.__exportStar(require("./lib/motion-master-req-res-web-socket"), exports);
30
31
  tslib_1.__exportStar(require("./lib/motion-master-req-res-worker-socket"), exports);
32
+ tslib_1.__exportStar(require("./lib/oblac-drives-release"), exports);
33
+ tslib_1.__exportStar(require("./lib/online"), exports);
31
34
  tslib_1.__exportStar(require("./lib/operators"), exports);
32
35
  tslib_1.__exportStar(require("./lib/options"), exports);
33
36
  tslib_1.__exportStar(require("./lib/os-command"), exports);
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/motion-master-client/src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,4DAAkC;AAClC,gEAAsC;AACtC,uDAA6B;AAC7B,iEAAuC;AACvC,gEAAsC;AACtC,wDAA8B;AAC9B,yDAA+B;AAC/B,yDAA+B;AAC/B,yDAA+B;AAC/B,qEAA2C;AAC3C,uDAA6B;AAC7B,4EAAkD;AAClD,gEAAsC;AACtC,uDAA6B;AAC7B,kEAAwC;AACxC,iEAAuC;AACvC,gEAAsC;AACtC,qEAA2C;AAC3C,6EAAmD;AACnD,6EAAmD;AACnD,iFAAuD;AACvD,oFAA0D;AAC1D,6EAAmD;AACnD,6EAAmD;AACnD,iFAAuD;AACvD,oFAA0D;AAC1D,0DAAgC;AAChC,wDAA8B;AAC9B,2DAAiC;AACjC,0DAAgC;AAChC,wDAA8B;AAC9B,wEAA8C;AAC9C,oDAA0B;AAC1B,gEAAsC;AACtC,sDAA4B;AAC5B,sDAA4B;AAC5B,qDAA2B;AAC3B,qDAA2B;AAC3B,kFAAwD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/motion-master-client/src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,4DAAkC;AAClC,gEAAsC;AACtC,uDAA6B;AAC7B,iEAAuC;AACvC,gEAAsC;AACtC,wDAA8B;AAC9B,yDAA+B;AAC/B,yDAA+B;AAC/B,sDAA4B;AAC5B,yDAA+B;AAC/B,qEAA2C;AAC3C,uDAA6B;AAC7B,4EAAkD;AAClD,gEAAsC;AACtC,uDAA6B;AAC7B,kEAAwC;AACxC,iEAAuC;AACvC,gEAAsC;AACtC,qEAA2C;AAC3C,6EAAmD;AACnD,6EAAmD;AACnD,iFAAuD;AACvD,oFAA0D;AAC1D,6EAAmD;AACnD,6EAAmD;AACnD,iFAAuD;AACvD,oFAA0D;AAC1D,qEAA2C;AAC3C,uDAA6B;AAC7B,0DAAgC;AAChC,wDAA8B;AAC9B,2DAAiC;AACjC,0DAAgC;AAChC,wDAA8B;AAC9B,wEAA8C;AAC9C,oDAA0B;AAC1B,gEAAsC;AACtC,sDAA4B;AAC5B,sDAA4B;AAC5B,qDAA2B;AAC3B,qDAA2B;AAC3B,kFAAwD"}
@@ -0,0 +1,99 @@
1
+ import { OblacDrivesRelease } from "./oblac-drives-release";
2
+ export declare const oblacDrivesBrandId = "a7e925fa-57b7-4741-9126-0840a63cdb71";
3
+ export declare const hostname: string;
4
+ export declare const oblacDrivesApiGatewayOrigin = "https://pc27e3jixd.execute-api.us-east-1.amazonaws.com";
5
+ export declare const cdnBasePath = "https://d9k1r8ajdoczx.cloudfront.net";
6
+ export declare const cacheHostname: string;
7
+ export declare const cacheOrigin: string;
8
+ export declare const cacheS3BasePath: string;
9
+ export declare const cacheApiBasePath: string;
10
+ export declare function cacheOnBox(path: string, body: Blob): Promise<any>;
11
+ export declare function compareBundlesByVersionDesc(a: string, b: string): number;
12
+ export declare function comparePackagesByVersionDesc(a: string, b: string): number;
13
+ export declare function compareReleasesByDateDesc(a: OblacDrivesRelease, b: OblacDrivesRelease): number;
14
+ /**
15
+ * Make a CDN URL from the specified path.
16
+ *
17
+ * @param path - The path to the object (file) in the CDN.
18
+ * @returns The CDN URL.
19
+ */
20
+ export declare function makeCdnUrl(path: string): string;
21
+ /**
22
+ * Fetch the previously cached object (file) from the box.
23
+ *
24
+ * @param path - The path to the object (file) in the box.
25
+ * @param resolveTo
26
+ * @returns The object resolved to the specified type.
27
+ */
28
+ export declare function fetchFromBox(path: string, resolveTo: 'blob' | 'json' | 'text'): Promise<any>;
29
+ /**
30
+ * Fetch object (file) from S3, resolve it to JSON, text, or binary and optionally cache it to the box.
31
+ *
32
+ * @param path - The path to the object (file) in S3.
33
+ * @param resolveTo - The type to resolve the object to: 'blob', 'json', or 'text'.
34
+ * @param cache - Flag to indicate if the object should be cached to the box.
35
+ * @returns The object resolved to the specified type.
36
+ */
37
+ export declare function fetchAndResolve(path: string, resolveTo: 'blob' | 'json' | 'text', cache: boolean): Promise<any>;
38
+ /**
39
+ * Fetch brand JSON file, parse it and then fetch logo and Bootstrap theme and add it to that object.
40
+ *
41
+ * @param brandJsonUrl - The URL of the brand JSON file.
42
+ * @param themeVersion - The version of the Bootstrap theme.
43
+ * @param cache - Flag to indicate if the object should be cached to the box.
44
+ * @returns The brand object with the logo and Bootstrap theme URLs.
45
+ */
46
+ export declare function fetchBrandData(brandJsonUrl?: string, themeVersion?: number, cache?: boolean): Promise<{
47
+ bootstrap: string;
48
+ id: string;
49
+ logo: string;
50
+ name: string;
51
+ } | undefined>;
52
+ /**
53
+ * Fetch ESI file for the specified brand and version.
54
+ *
55
+ * @param brandId - The ID of the brand.
56
+ * @param version - The firmware version.
57
+ * @param cache - Flag to indicate if the object should be cached to the box.
58
+ * @returns The ESI file as an array of strings.
59
+ */
60
+ export declare function fetchEsi(brandId: string, version: string, cache?: boolean): Promise<string>;
61
+ /**
62
+ * Fetch firmware package content as Blob.
63
+ *
64
+ * @param brandId - The ID of the brand.
65
+ * @param filename - The name of the package file.
66
+ * @param cache - Flag to indicate if the object should be cached to the box.
67
+ * @returns The package content as Blob.
68
+ */
69
+ export declare function fetchFirmwarePackage(brandId: string, filename: string, cache?: boolean): Promise<Blob>;
70
+ /**
71
+ * Fetch product image (SVG) by id e.g. '9501-01' and optionally by brand id.
72
+ *
73
+ * @param brandId - The ID of the brand.
74
+ * @param productId - The ID of the product.
75
+ * @param cache - Flag to indicate if the object should be cached to the box.
76
+ * @returns The product image as SVG.
77
+ */
78
+ export declare function fetchProductImage(brandId: string, productId: string, cache?: boolean): Promise<string>;
79
+ /**
80
+ * Fetch production and development OBLAC Drives releases.
81
+ *
82
+ * @param cache - Flag to indicate if the object should be cached to the box.
83
+ * @returns An array of OBLAC Drives releases.
84
+ */
85
+ export declare function fetchOblacDrivesReleases(cache?: boolean): Promise<[OblacDrivesRelease[], OblacDrivesRelease[]]>;
86
+ /**
87
+ * List firmware packages for the specified brand.
88
+ *
89
+ * @param brandId - The ID of the brand.
90
+ * @param latestMinorVersionsOnly - Flag to indicate if only the latest minor versions should be listed.
91
+ * @returns An array of firmware package filenames.
92
+ */
93
+ export declare function listFirmwarePackages(brandId: string, latestMinorVersionsOnly?: boolean): Promise<string[]>;
94
+ /**
95
+ * List OBLAC Drives Update Service versions.
96
+ *
97
+ * @returns An array of OBLAC Drives Update Service versions.
98
+ */
99
+ export declare function listOblacDrivesUpdateServiceVersions(): Promise<string[]>;
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listOblacDrivesUpdateServiceVersions = exports.listFirmwarePackages = exports.fetchOblacDrivesReleases = exports.fetchProductImage = exports.fetchFirmwarePackage = exports.fetchEsi = exports.fetchBrandData = exports.fetchAndResolve = exports.fetchFromBox = exports.makeCdnUrl = exports.compareReleasesByDateDesc = exports.comparePackagesByVersionDesc = exports.compareBundlesByVersionDesc = exports.cacheOnBox = exports.cacheApiBasePath = exports.cacheS3BasePath = exports.cacheOrigin = exports.cacheHostname = exports.cdnBasePath = exports.oblacDrivesApiGatewayOrigin = exports.hostname = exports.oblacDrivesBrandId = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const online_1 = require("./online");
6
+ const util_1 = require("./util");
7
+ const semver_1 = require("semver");
8
+ /* eslint-disable max-len */
9
+ exports.oblacDrivesBrandId = 'a7e925fa-57b7-4741-9126-0840a63cdb71';
10
+ // @ts-ignore
11
+ exports.hostname = (typeof window === 'undefined') ? 'localhost' : window.location.hostname;
12
+ // AWS API Gateway and CloudFront paths
13
+ exports.oblacDrivesApiGatewayOrigin = 'https://pc27e3jixd.execute-api.us-east-1.amazonaws.com';
14
+ exports.cdnBasePath = 'https://d9k1r8ajdoczx.cloudfront.net';
15
+ // Local cache paths
16
+ exports.cacheHostname = `${exports.hostname}:64000`;
17
+ exports.cacheOrigin = `http://${exports.cacheHostname}`;
18
+ exports.cacheS3BasePath = `${exports.cacheOrigin}/s3`;
19
+ exports.cacheApiBasePath = `${exports.cacheOrigin}/api`;
20
+ function cacheOnBox(path, body) {
21
+ var _a;
22
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
23
+ if (yield (0, util_1.isElectronApp)()) {
24
+ const base64Data = yield (0, util_1.convertBlobToBase64)(body);
25
+ // @ts-ignore
26
+ return yield ((_a = window.electron) === null || _a === void 0 ? void 0 : _a.cacheFile(path, base64Data));
27
+ }
28
+ else {
29
+ fetch(`${exports.cacheApiBasePath}/cache${path}`, {
30
+ method: 'POST',
31
+ body,
32
+ }).catch((err) => console.warn(`Failed to cache ${path}`, err));
33
+ }
34
+ });
35
+ }
36
+ exports.cacheOnBox = cacheOnBox;
37
+ function compareBundlesByVersionDesc(a, b) {
38
+ const re = /_(.*).odbx$/;
39
+ const m1 = a.match(re);
40
+ const m2 = b.match(re);
41
+ if (m1 && m2) {
42
+ return (0, semver_1.rcompare)(m1[1], m2[1]);
43
+ }
44
+ return 0;
45
+ }
46
+ exports.compareBundlesByVersionDesc = compareBundlesByVersionDesc;
47
+ function comparePackagesByVersionDesc(a, b) {
48
+ const re = /_v(.*).zip$/;
49
+ const m1 = a.match(re);
50
+ const m2 = b.match(re);
51
+ if (m1 && m2) {
52
+ return (0, semver_1.rcompare)(m1[1], m2[1]);
53
+ }
54
+ return 0;
55
+ }
56
+ exports.comparePackagesByVersionDesc = comparePackagesByVersionDesc;
57
+ function compareReleasesByDateDesc(a, b) {
58
+ const d1 = a['date'];
59
+ const d2 = b['date'];
60
+ if (d1 < d2) {
61
+ return 1;
62
+ }
63
+ else if (d1 > d2) {
64
+ return -1;
65
+ }
66
+ else {
67
+ return 0;
68
+ }
69
+ }
70
+ exports.compareReleasesByDateDesc = compareReleasesByDateDesc;
71
+ const resolveToMimeType = {
72
+ 'blob': 'application/octet-stream',
73
+ 'json': 'application/json',
74
+ 'text': 'text/plain',
75
+ };
76
+ function base64ToData(base64, resolveTo) {
77
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
78
+ return fetch(`data:${resolveToMimeType[resolveTo]};base64,${base64}`)
79
+ .then(response => response[resolveTo]());
80
+ });
81
+ }
82
+ /**
83
+ * Make a CDN URL from the specified path.
84
+ *
85
+ * @param path - The path to the object (file) in the CDN.
86
+ * @returns The CDN URL.
87
+ */
88
+ function makeCdnUrl(path) {
89
+ return `${exports.cdnBasePath}${path}`;
90
+ }
91
+ exports.makeCdnUrl = makeCdnUrl;
92
+ /**
93
+ * Fetch the previously cached object (file) from the box.
94
+ *
95
+ * @param path - The path to the object (file) in the box.
96
+ * @param resolveTo
97
+ * @returns The object resolved to the specified type.
98
+ */
99
+ function fetchFromBox(path, resolveTo) {
100
+ var _a;
101
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
102
+ if (yield (0, util_1.isElectronApp)()) {
103
+ // @ts-ignore
104
+ const file = yield ((_a = window.electron) === null || _a === void 0 ? void 0 : _a.getCachedFile(path));
105
+ return base64ToData(file, resolveTo);
106
+ }
107
+ else {
108
+ const response = yield fetch(`${exports.cacheS3BasePath}${path}`);
109
+ if (response.ok) {
110
+ return response[resolveTo]();
111
+ }
112
+ }
113
+ });
114
+ }
115
+ exports.fetchFromBox = fetchFromBox;
116
+ /**
117
+ * Fetch object (file) from S3, resolve it to JSON, text, or binary and optionally cache it to the box.
118
+ *
119
+ * @param path - The path to the object (file) in S3.
120
+ * @param resolveTo - The type to resolve the object to: 'blob', 'json', or 'text'.
121
+ * @param cache - Flag to indicate if the object should be cached to the box.
122
+ * @returns The object resolved to the specified type.
123
+ */
124
+ function fetchAndResolve(path, resolveTo, cache) {
125
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
126
+ yield online_1.onlineInitPromise;
127
+ if (!online_1.connectionState.online) {
128
+ return fetchFromBox(path, resolveTo);
129
+ }
130
+ try { // the fetch() function will automatically throw an error for network errors but not for HTTP errors such as 4xx or 5xx responses
131
+ const url = makeCdnUrl(path);
132
+ const response = yield fetch(url);
133
+ if (response.ok) {
134
+ if (cache) {
135
+ const body = yield response.clone().blob();
136
+ cacheOnBox(`/synapticon/oblac-drives${path}`, body); // cacheOnBox will catch network error and warn in the console if it fails
137
+ }
138
+ return response[resolveTo]();
139
+ }
140
+ else {
141
+ return fetchFromBox(`/synapticon/oblac-drives${path}`, resolveTo);
142
+ }
143
+ }
144
+ catch (_err) {
145
+ return fetchFromBox(`/synapticon/oblac-drives${path}`, resolveTo);
146
+ }
147
+ });
148
+ }
149
+ exports.fetchAndResolve = fetchAndResolve;
150
+ /**
151
+ * Fetch brand JSON file, parse it and then fetch logo and Bootstrap theme and add it to that object.
152
+ *
153
+ * @param brandJsonUrl - The URL of the brand JSON file.
154
+ * @param themeVersion - The version of the Bootstrap theme.
155
+ * @param cache - Flag to indicate if the object should be cached to the box.
156
+ * @returns The brand object with the logo and Bootstrap theme URLs.
157
+ */
158
+ function fetchBrandData(brandJsonUrl = 'brand.json', themeVersion = 1, cache = true) {
159
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
160
+ try {
161
+ const response = yield fetch(brandJsonUrl);
162
+ if (response.ok) {
163
+ const brand = yield response.json();
164
+ brand.bootstrap = yield fetchAndResolve(`/brands/${brand.id}/styles.v${themeVersion}.min.css`, 'text', cache);
165
+ brand.logo = yield fetchAndResolve(`/brands/${brand.id}/logo.svg`, 'text', cache);
166
+ return brand;
167
+ }
168
+ }
169
+ catch (err) {
170
+ console.error(err);
171
+ }
172
+ return;
173
+ });
174
+ }
175
+ exports.fetchBrandData = fetchBrandData;
176
+ /**
177
+ * Fetch ESI file for the specified brand and version.
178
+ *
179
+ * @param brandId - The ID of the brand.
180
+ * @param version - The firmware version.
181
+ * @param cache - Flag to indicate if the object should be cached to the box.
182
+ * @returns The ESI file as an array of strings.
183
+ */
184
+ function fetchEsi(brandId, version, cache = true) {
185
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
186
+ version = encodeURIComponent(version);
187
+ const path = `/brands/${brandId}/esis/${version}.xml`;
188
+ return fetchAndResolve(path, 'text', cache);
189
+ });
190
+ }
191
+ exports.fetchEsi = fetchEsi;
192
+ /**
193
+ * Fetch firmware package content as Blob.
194
+ *
195
+ * @param brandId - The ID of the brand.
196
+ * @param filename - The name of the package file.
197
+ * @param cache - Flag to indicate if the object should be cached to the box.
198
+ * @returns The package content as Blob.
199
+ */
200
+ function fetchFirmwarePackage(brandId, filename, cache = true) {
201
+ filename = encodeURIComponent(filename);
202
+ const path = `/brands/${brandId}/packages/${filename}`;
203
+ return fetchAndResolve(path, 'blob', cache);
204
+ }
205
+ exports.fetchFirmwarePackage = fetchFirmwarePackage;
206
+ /**
207
+ * Fetch product image (SVG) by id e.g. '9501-01' and optionally by brand id.
208
+ *
209
+ * @param brandId - The ID of the brand.
210
+ * @param productId - The ID of the product.
211
+ * @param cache - Flag to indicate if the object should be cached to the box.
212
+ * @returns The product image as SVG.
213
+ */
214
+ function fetchProductImage(brandId, productId, cache = true) {
215
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
216
+ const filename = `${productId}_product-image.svg`;
217
+ const path = `/brands/${brandId}/product-images/${filename}`;
218
+ return fetchAndResolve(path, 'text', cache);
219
+ });
220
+ }
221
+ exports.fetchProductImage = fetchProductImage;
222
+ /**
223
+ * Fetch production and development OBLAC Drives releases.
224
+ *
225
+ * @param cache - Flag to indicate if the object should be cached to the box.
226
+ * @returns An array of OBLAC Drives releases.
227
+ */
228
+ function fetchOblacDrivesReleases(cache = true) {
229
+ return Promise.all([
230
+ fetchAndResolve('/oblac-drives-releases.json', 'json', cache),
231
+ fetchAndResolve('/oblac-drives-development-releases.json', 'json', cache),
232
+ ]);
233
+ }
234
+ exports.fetchOblacDrivesReleases = fetchOblacDrivesReleases;
235
+ /**
236
+ * List firmware packages for the specified brand.
237
+ *
238
+ * @param brandId - The ID of the brand.
239
+ * @param latestMinorVersionsOnly - Flag to indicate if only the latest minor versions should be listed.
240
+ * @returns An array of firmware package filenames.
241
+ */
242
+ function listFirmwarePackages(brandId, latestMinorVersionsOnly = false) {
243
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
244
+ const path = `/brands/${brandId}/firmware-packages${latestMinorVersionsOnly ? '.minor' : ''}.json`;
245
+ return yield fetchAndResolve(path, 'json', true);
246
+ });
247
+ }
248
+ exports.listFirmwarePackages = listFirmwarePackages;
249
+ /**
250
+ * List OBLAC Drives Update Service versions.
251
+ *
252
+ * @returns An array of OBLAC Drives Update Service versions.
253
+ */
254
+ function listOblacDrivesUpdateServiceVersions() {
255
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
256
+ yield online_1.onlineInitPromise;
257
+ let url = online_1.connectionState.online
258
+ ? `${exports.oblacDrivesApiGatewayOrigin}/listOblacDrivesUpdateServiceVersions`
259
+ : `${exports.cacheApiBasePath}/listOblacDrivesUpdateServiceVersions`;
260
+ const response = yield fetch(url, { method: 'GET', mode: 'cors' });
261
+ return yield response.json();
262
+ });
263
+ }
264
+ exports.listOblacDrivesUpdateServiceVersions = listOblacDrivesUpdateServiceVersions;
265
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Represents OBLAC Drives releases for both development and production environments.
3
+ *
4
+ * The original files can be found at:
5
+ * https://github.com/synapticon/oblac-drives-box-provisioning/tree/master/releases
6
+ *
7
+ * These files are accessible through CDN at:
8
+ * - https://d9k1r8ajdoczx.cloudfront.net/oblac-drives-releases.json
9
+ * - https://d9k1r8ajdoczx.cloudfront.net/oblac-drives-development-releases.json
10
+ */
11
+ export interface OblacDrivesRelease {
12
+ version: string;
13
+ date: string;
14
+ supported: boolean;
15
+ description: string;
16
+ dependencies: {
17
+ [key: string]: string;
18
+ };
19
+ firmwares: string[];
20
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=oblac-drives-release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oblac-drives-release.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/oblac-drives-release.ts"],"names":[],"mappings":""}
package/src/lib/util.d.ts CHANGED
@@ -44,3 +44,5 @@ export declare function setBitHigh(value: number, position: number): number;
44
44
  * @returns The formatted number as a string.
45
45
  */
46
46
  export declare function toFixedFormat(x: number | string, n?: number, rightTrimZero?: boolean): string;
47
+ export declare function convertBlobToBase64(blob: Blob): Promise<string>;
48
+ export declare function isElectronApp(): Promise<boolean>;
package/src/lib/util.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toFixedFormat = exports.setBitHigh = exports.setBitLow = exports.camelCaseToWords = exports.findDuplicates = exports.getMapKeyByValue = exports.createRandomColor = exports.convertRgbToLedColor = exports.resolveAfter = exports.decodeTextContent = exports.convertMotionMasterMessageToLoggerContext = exports.createPlainObjectFromMotionMasterMessage = exports.diffSystemLogContents = exports.parseSystemLogContent = exports.parseSystemLogLine = void 0;
3
+ exports.isElectronApp = exports.convertBlobToBase64 = exports.toFixedFormat = exports.setBitHigh = exports.setBitLow = exports.camelCaseToWords = exports.findDuplicates = exports.getMapKeyByValue = exports.createRandomColor = exports.convertRgbToLedColor = exports.resolveAfter = exports.decodeTextContent = exports.convertMotionMasterMessageToLoggerContext = exports.createPlainObjectFromMotionMasterMessage = exports.diffSystemLogContents = exports.parseSystemLogContent = exports.parseSystemLogLine = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const types_1 = require("./types");
5
6
  function parseSystemLogLine(line) {
6
7
  const re = /(\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{1,3})\s\((.+)\)\s(?:\[(.+)\])?(.+:\d+)(.+?)\|(.*)/s;
@@ -181,4 +182,34 @@ function toFixedFormat(x, n = 6, rightTrimZero = true) {
181
182
  return v;
182
183
  }
183
184
  exports.toFixedFormat = toFixedFormat;
185
+ function convertBlobToBase64(blob) {
186
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
187
+ return new Promise((resolve, reject) => {
188
+ const fileReader = new FileReader();
189
+ fileReader.readAsDataURL(blob);
190
+ fileReader.onloadend = function () {
191
+ const serializedDataUrl = fileReader.result;
192
+ const [, base64] = serializedDataUrl.split(',');
193
+ resolve(base64);
194
+ };
195
+ fileReader.onerror = function () {
196
+ reject('Failed to serialize blob');
197
+ };
198
+ });
199
+ });
200
+ }
201
+ exports.convertBlobToBase64 = convertBlobToBase64;
202
+ function isElectronApp() {
203
+ var _a;
204
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
205
+ // @ts-ignore
206
+ if (globalThis === window) {
207
+ // @ts-ignore
208
+ const versions = yield ((_a = window['electron']) === null || _a === void 0 ? void 0 : _a.versions());
209
+ return !!(versions === null || versions === void 0 ? void 0 : versions['electron']);
210
+ }
211
+ return false;
212
+ });
213
+ }
214
+ exports.isElectronApp = isElectronApp;
184
215
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/util.ts"],"names":[],"mappings":";;;;AACA,mCAGiB;AAEjB,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,MAAM,EAAE,GAAG,8FAA8F,CAAC;IAC1G,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,MAAM,EAAE;QACV,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACxB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;YACrC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACvB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;SAC1B,CAAC;KACH;IACD,OAAO;AACT,CAAC;AAfD,gDAeC;AAED,SAAgB,qBAAqB,CAAC,OAAe;IACnD,MAAM,EAAE,GAAG,yGAAyG,CAAC;IACrH,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;SACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AACxD,CAAC;AAND,sDAMC;AAED,SAAgB,qBAAqB,CAAC,UAAkB,EAAE,UAAkB,EAAE,aAAa,GAAG,IAAI,EAAE,aAAa,GAAG,CAAC,CAAC;IACpH,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IAE/C,IAAI,WAAW,EAAE;QACf,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAE5B,OAAO,CAAC,IAAI,CAAC,EAAE;YACb,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;gBAC/B,MAAM;aACP;YACD,CAAC,EAAE,CAAC;SACL;QAED,IAAI,CAAC,IAAI,CAAC,EAAE;YACV,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAClD;KACF;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AArBD,sDAqBC;AAED,6FAA6F;AAC7F,SAAgB,wCAAwC,CAAC,mBAAwC;IAC/F,OAAO,2BAAmB,CAAC,QAAQ,CAAC,mBAAmB,EAAE;QACvD,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI,EAAE,uFAAuF;KACpG,CAAC,CAAC;AACL,CAAC;AATD,4FASC;AAED,SAAgB,yCAAyC,CAAC,mBAAyC,EAAE,SAAS,GAAG,eAAe;IAC9H,IAAI,IAAI,CAAC;IACT,IAAI,IAAI,CAAC;IAET,IAAI,mBAAmB,CAAC,OAAO,EAAE;QAC/B,IAAI,GAAG,SAAS,CAAC;QACjB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;KACxD;SAAM,IAAI,mBAAmB,CAAC,MAAM,EAAE;QACrC,IAAI,GAAG,QAAQ,CAAC;QAChB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;KACvD;IAED,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC;AAbD,8FAaC;AAED,SAAgB,iBAAiB,CAAC,OAAmB;IACnD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAJD,8CAIC;AAED,SAAgB,YAAY,CAAC,EAAU,EAAE,KAAe;IACtD,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO;QAClC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,oCAIC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IACvB,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/C,OAAO,aAAa,CAAC;AACvB,CAAC;AAND,oDAMC;AAED,SAAgB,iBAAiB,CAAC,UAAkB;IAClD,SAAS,aAAa,CAAC,UAAkB;QACvC,MAAM,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;AACjG,CAAC;AARD,8CAQC;AAED,SAAgB,gBAAgB,CAAO,GAAc,EAAE,WAAc;IACnE,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE;QACtC,IAAI,KAAK,KAAK,WAAW,EAAE;YACzB,OAAO,GAAG,CAAC;SACZ;KACF;IACD,OAAO;AACT,CAAC;AAPD,4CAOC;AAED,SAAgB,cAAc,CAAI,GAAQ;IACxC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAK,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAK,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;QACtB,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC5B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACtB;aAAM;YACL,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC1B;KACF;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAbD,wCAaC;AAED,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AACtD,CAAC;AAFD,4CAEC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,KAAa,EAAE,QAAgB;IACvD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;AAClC,CAAC;AAFD,8BAEC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,KAAa,EAAE,QAAgB;IACxD,OAAO,KAAK,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;AACjC,CAAC;AAFD,gCAEC;AAED;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAC,CAAkB,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI;IAC3E,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;QACzB,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE;QAC7C,OAAO,EAAE,CAAC;KACX;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;QACvB,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;KACpB;IAED,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,oCAAoC;IACpC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG;IAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,IAAI,aAAa,EAAE;QACjB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KAC1B;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAvBD,sCAuBC;AAED,SAAsB,mBAAmB,CAAC,IAAU;;QAClD,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;YACpC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE/B,UAAU,CAAC,SAAS,GAAG;gBACrB,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAgB,CAAC;gBACtD,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChD,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC;YAEF,UAAU,CAAC,OAAO,GAAG;gBACnB,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACrC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CAAA;AAfD,kDAeC;AAED,SAAsB,aAAa;;;QACjC,aAAa;QACb,IAAI,UAAU,KAAK,MAAM,EAAE;YACzB,aAAa;YACb,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,MAAM,CAAC,UAAU,CAAC,0CAAE,QAAQ,EAAE,CAAA,CAAC;YACtD,OAAO,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,UAAU,CAAC,CAAA,CAAC;SACjC;QACD,OAAO,KAAK,CAAC;;CACd;AARD,sCAQC"}