incyclist-services 1.0.61 → 1.0.63
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/lib/__tests__/utils/loadFile.d.ts +1 -0
- package/lib/__tests__/utils/loadFile.js +28 -0
- package/lib/api/index.d.ts +3 -0
- package/lib/api/index.js +7 -0
- package/lib/api/path/index.d.ts +12 -0
- package/lib/api/path/index.js +21 -0
- package/lib/api/repository/types.d.ts +2 -4
- package/lib/devices/access/service.js +1 -1
- package/lib/devices/pairing/model.d.ts +1 -0
- package/lib/devices/pairing/service.d.ts +5 -0
- package/lib/devices/pairing/service.js +65 -18
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/lib/routes/base/api/types.d.ts +6 -1
- package/lib/routes/base/parsers/factory.d.ts +12 -0
- package/lib/routes/base/parsers/factory.js +32 -0
- package/lib/routes/base/parsers/incyclist-xml.d.ts +5 -0
- package/lib/routes/{list/bindings/mock.js → base/parsers/incyclist-xml.js} +12 -17
- package/lib/routes/base/parsers/index.d.ts +3 -0
- package/lib/routes/base/parsers/index.js +31 -0
- package/lib/routes/base/parsers/kwt.d.ts +3 -8
- package/lib/routes/base/parsers/kwt.js +4 -48
- package/lib/routes/base/parsers/multixml.d.ts +12 -0
- package/lib/routes/base/parsers/multixml.js +37 -0
- package/lib/routes/base/parsers/types.d.ts +10 -0
- package/lib/routes/base/parsers/utils.d.ts +7 -1
- package/lib/routes/base/parsers/utils.js +49 -11
- package/lib/routes/base/parsers/xml.d.ts +25 -0
- package/lib/routes/base/parsers/xml.js +266 -0
- package/lib/routes/base/types/index.d.ts +16 -7
- package/lib/routes/base/utils/route.d.ts +3 -2
- package/lib/routes/base/utils/route.js +50 -9
- package/lib/routes/base/utils/xml.d.ts +15 -0
- package/lib/routes/base/utils/xml.js +94 -0
- package/lib/routes/list/service.d.ts +13 -6
- package/lib/routes/list/service.js +66 -26
- package/lib/routes/list/types.d.ts +1 -0
- package/lib/{services/src → src}/api/index.d.ts +3 -0
- package/lib/{services/src → src}/api/index.js +7 -0
- package/lib/src/api/path/index.d.ts +12 -0
- package/lib/src/api/path/index.js +21 -0
- package/lib/{services/src → src}/api/repository/types.d.ts +20 -0
- package/lib/{services/src → src}/devices/pairing/service.js +2 -2
- package/lib/{services/src → src}/routes/base/api/types.d.ts +9 -6
- package/lib/src/routes/base/model/route.d.ts +7 -0
- package/lib/src/routes/base/model/route.js +19 -0
- package/lib/src/routes/base/parsers/factory.d.ts +12 -0
- package/lib/src/routes/base/parsers/factory.js +32 -0
- package/lib/src/routes/base/parsers/index.d.ts +3 -0
- package/lib/src/routes/base/parsers/index.js +29 -0
- package/lib/src/routes/base/parsers/kwt.d.ts +4 -0
- package/lib/src/routes/base/parsers/kwt.js +8 -0
- package/lib/src/routes/base/parsers/types.d.ts +10 -0
- package/lib/src/routes/base/parsers/utils.d.ts +9 -0
- package/lib/src/routes/base/parsers/utils.js +69 -0
- package/lib/src/routes/base/parsers/xml.d.ts +10 -0
- package/lib/src/routes/base/parsers/xml.js +236 -0
- package/lib/src/routes/base/types/index.d.ts +85 -0
- package/lib/src/routes/base/types/index.js +2 -0
- package/lib/src/routes/base/utils/route.d.ts +5 -0
- package/lib/src/routes/base/utils/route.js +93 -0
- package/lib/src/routes/base/utils/xml.d.ts +15 -0
- package/lib/src/routes/base/utils/xml.js +94 -0
- package/lib/{services/src → src}/routes/list/service.d.ts +11 -5
- package/lib/{services/src → src}/routes/list/service.js +35 -9
- package/lib/{services/src → src}/routes/list/types.d.ts +1 -5
- package/lib/src/routes/list/types.js +2 -0
- package/package.json +2 -2
- package/lib/ergo-react/src/models/config/AppConfig.d.ts +0 -44
- package/lib/ergo-react/src/models/config/AppConfig.js +0 -61
- package/lib/ergo-react/src/models/config/env.d.ts +0 -19
- package/lib/ergo-react/src/models/config/env.js +0 -21
- package/lib/ergo-react/src/models/config/ft.d.ts +0 -21
- package/lib/ergo-react/src/models/config/ft.js +0 -23
- package/lib/ergo-react/src/models/maps/overpass/OverpassClient.d.ts +0 -7
- package/lib/ergo-react/src/models/maps/overpass/OverpassClient.js +0 -82
- package/lib/ergo-react/src/models/maps/ways/MapArea.d.ts +0 -133
- package/lib/ergo-react/src/models/maps/ways/MapArea.js +0 -1203
- package/lib/ergo-react/src/models/math/Vector.d.ts +0 -21
- package/lib/ergo-react/src/models/math/Vector.js +0 -194
- package/lib/ergo-react/src/models/math/geometry.d.ts +0 -1
- package/lib/ergo-react/src/models/math/geometry.js +0 -63
- package/lib/ergo-react/src/models/math/math.d.ts +0 -6
- package/lib/ergo-react/src/models/math/math.js +0 -28
- package/lib/ergo-react/src/models/route/RouteUtils.d.ts +0 -29
- package/lib/ergo-react/src/models/route/RouteUtils.js +0 -386
- package/lib/ergo-react/src/models/route/route.d.ts +0 -84
- package/lib/ergo-react/src/models/route/route.js +0 -1314
- package/lib/ergo-react/src/models/settings/settings.d.ts +0 -23
- package/lib/ergo-react/src/models/settings/settings.js +0 -213
- package/lib/ergo-react/src/services/app/fs/fs.d.ts +0 -47
- package/lib/ergo-react/src/services/app/fs/fs.js +0 -238
- package/lib/ergo-react/src/services/app/fs/index.d.ts +0 -2
- package/lib/ergo-react/src/services/app/fs/index.js +0 -10
- package/lib/ergo-react/src/services/app/fs/path.d.ts +0 -8
- package/lib/ergo-react/src/services/app/fs/path.js +0 -38
- package/lib/ergo-react/src/utils/coding.d.ts +0 -15
- package/lib/ergo-react/src/utils/coding.js +0 -109
- package/lib/ergo-react/src/utils/electron.d.ts +0 -2
- package/lib/ergo-react/src/utils/electron.js +0 -8
- package/lib/routes/base/utils/xnl.d.ts +0 -9
- package/lib/routes/base/utils/xnl.js +0 -53
- package/lib/routes/list/bindings/mock.d.ts +0 -9
- package/lib/routes/list/repository.d.ts +0 -0
- package/lib/routes/list/repository.js +0 -0
- package/lib/routes/utils/localization.d.ts +0 -2
- package/lib/services/src/routes/base/parsers/bikelab.d.ts +0 -18
- package/lib/services/src/routes/base/parsers/bikelab.js +0 -74
- package/lib/services/src/routes/base/parsers/epm.d.ts +0 -7
- package/lib/services/src/routes/base/parsers/epm.js +0 -351
- package/lib/services/src/routes/base/parsers/gpx-import.d.ts +0 -8
- package/lib/services/src/routes/base/parsers/gpx-import.js +0 -132
- package/lib/services/src/routes/base/parsers/gpx.d.ts +0 -3
- package/lib/services/src/routes/base/parsers/gpx.js +0 -107
- package/lib/services/src/routes/base/parsers/json.d.ts +0 -11
- package/lib/services/src/routes/base/parsers/json.js +0 -83
- package/lib/services/src/routes/base/parsers/kwt.d.ts +0 -28
- package/lib/services/src/routes/base/parsers/kwt.js +0 -188
- package/lib/services/src/routes/base/parsers/utils.d.ts +0 -1
- package/lib/services/src/routes/base/parsers/utils.js +0 -32
- package/lib/services/src/routes/base/parsers/xml.d.ts +0 -6
- package/lib/services/src/routes/base/parsers/xml.js +0 -77
- package/lib/services/src/routes/base/types/index.d.ts +0 -44
- package/lib/services/src/routes/base/utils/localization.js +0 -12
- package/lib/services/src/routes/base/utils/route.d.ts +0 -4
- package/lib/services/src/routes/base/utils/route.js +0 -52
- package/lib/services/src/routes/base/utils/xnl.d.ts +0 -0
- package/lib/services/src/routes/base/utils/xnl.js +0 -0
- package/lib/{api/repository/rypes.d.ts → routes/base/parsers/incyclistxml.d.ts} +0 -0
- package/lib/{api/repository/rypes.js → routes/base/parsers/incyclistxml.js} +0 -0
- package/lib/{services/src/api/rest → routes/base/parsers}/types.js +0 -0
- package/lib/{services/src → src}/api/repository/index.d.ts +0 -0
- package/lib/{services/src → src}/api/repository/index.js +0 -0
- package/lib/{services/src → src}/api/repository/json/index.d.ts +0 -0
- package/lib/{services/src → src}/api/repository/json/index.js +0 -0
- package/lib/{services/src → src}/api/repository/types.js +0 -0
- package/lib/{services/src → src}/api/rest/index.d.ts +0 -0
- package/lib/{services/src → src}/api/rest/index.js +0 -0
- package/lib/{services/src → src}/api/rest/types.d.ts +0 -0
- package/lib/{services/src/routes/base/api → src/api/rest}/types.js +0 -0
- package/lib/{services/src → src}/base/service.d.ts +0 -0
- package/lib/{services/src → src}/base/service.js +0 -0
- package/lib/{services/src → src}/devices/access/index.d.ts +0 -0
- package/lib/{services/src → src}/devices/access/index.js +0 -0
- package/lib/{services/src → src}/devices/access/mock.d.ts +0 -0
- package/lib/{services/src → src}/devices/access/mock.js +0 -0
- package/lib/{services/src → src}/devices/access/model.d.ts +0 -0
- package/lib/{services/src → src}/devices/access/model.js +0 -0
- package/lib/{services/src → src}/devices/access/service.d.ts +0 -0
- package/lib/{services/src → src}/devices/access/service.js +0 -0
- package/lib/{services/src → src}/devices/configuration/index.d.ts +0 -0
- package/lib/{services/src → src}/devices/configuration/index.js +0 -0
- package/lib/{services/src → src}/devices/configuration/mock.d.ts +0 -0
- package/lib/{services/src → src}/devices/configuration/mock.js +0 -0
- package/lib/{services/src → src}/devices/configuration/model/app/index.d.ts +0 -0
- package/lib/{services/src → src}/devices/configuration/model/app/index.js +0 -0
- package/lib/{services/src → src}/devices/configuration/model/index.d.ts +0 -0
- package/lib/{services/src → src}/devices/configuration/model/index.js +0 -0
- package/lib/{services/src → src}/devices/configuration/model/repository/index.d.ts +0 -0
- package/lib/{services/src → src}/devices/configuration/model/repository/index.js +0 -0
- package/lib/{services/src → src}/devices/configuration/model/repository/legacy.d.ts +0 -0
- package/lib/{services/src → src}/devices/configuration/model/repository/legacy.js +0 -0
- package/lib/{services/src → src}/devices/configuration/model/service/index.d.ts +0 -0
- package/lib/{services/src → src}/devices/configuration/model/service/index.js +0 -0
- package/lib/{services/src → src}/devices/configuration/service.d.ts +0 -0
- package/lib/{services/src → src}/devices/configuration/service.js +0 -0
- package/lib/{services/src → src}/devices/index.d.ts +0 -0
- package/lib/{services/src → src}/devices/index.js +0 -0
- package/lib/{services/src → src}/devices/pairing/index.d.ts +0 -0
- package/lib/{services/src → src}/devices/pairing/index.js +0 -0
- package/lib/{services/src → src}/devices/pairing/model.d.ts +0 -0
- package/lib/{services/src → src}/devices/pairing/model.js +0 -0
- package/lib/{services/src → src}/devices/pairing/service.d.ts +0 -0
- package/lib/{services/src → src}/devices/ride/index.d.ts +0 -0
- package/lib/{services/src → src}/devices/ride/index.js +0 -0
- package/lib/{services/src → src}/devices/ride/model.d.ts +0 -0
- package/lib/{services/src → src}/devices/ride/model.js +0 -0
- package/lib/{services/src → src}/devices/ride/service.d.ts +0 -0
- package/lib/{services/src → src}/devices/ride/service.js +0 -0
- package/lib/{services/src → src}/index.d.ts +1 -1
- package/lib/{services/src → src}/index.js +2 -2
- /package/lib/{services/src → src}/routes/base/api/consts.d.ts +0 -0
- /package/lib/{services/src → src}/routes/base/api/consts.js +0 -0
- /package/lib/{services/src → src}/routes/base/api/index.d.ts +0 -0
- /package/lib/{services/src → src}/routes/base/api/index.js +0 -0
- /package/lib/{services/src/routes/list → src/routes/base/api}/types.js +0 -0
- /package/lib/{services/src/routes/base/types/index.js → src/routes/base/parsers/types.js} +0 -0
- /package/lib/{services/src → src}/routes/base/utils/localization.d.ts +0 -0
- /package/lib/{routes → src/routes/base}/utils/localization.js +0 -0
- /package/lib/{services/src → src}/routes/index.d.ts +0 -0
- /package/lib/{services/src → src}/routes/index.js +0 -0
- /package/lib/{services/src → src}/routes/list/FreeRideCard.d.ts +0 -0
- /package/lib/{services/src → src}/routes/list/FreeRideCard.js +0 -0
- /package/lib/{services/src → src}/routes/list/ImportCard.d.ts +0 -0
- /package/lib/{services/src → src}/routes/list/ImportCard.js +0 -0
- /package/lib/{services/src → src}/routes/list/consts.d.ts +0 -0
- /package/lib/{services/src → src}/routes/list/consts.js +0 -0
- /package/lib/{services/src → src}/routes/list/index.d.ts +0 -0
- /package/lib/{services/src → src}/routes/list/index.js +0 -0
- /package/lib/{services/src → src}/settings/index.d.ts +0 -0
- /package/lib/{services/src → src}/settings/index.js +0 -0
- /package/lib/{services/src → src}/settings/user/bindings/index.d.ts +0 -0
- /package/lib/{services/src → src}/settings/user/bindings/index.js +0 -0
- /package/lib/{services/src → src}/settings/user/bindings/json.d.ts +0 -0
- /package/lib/{services/src → src}/settings/user/bindings/json.js +0 -0
- /package/lib/{services/src → src}/settings/user/bindings/types.d.ts +0 -0
- /package/lib/{services/src → src}/settings/user/bindings/types.js +0 -0
- /package/lib/{services/src → src}/settings/user/mock.d.ts +0 -0
- /package/lib/{services/src → src}/settings/user/mock.js +0 -0
- /package/lib/{services/src → src}/settings/user/service.d.ts +0 -0
- /package/lib/{services/src → src}/settings/user/service.js +0 -0
- /package/lib/{services/src → src}/utils/clone.d.ts +0 -0
- /package/lib/{services/src → src}/utils/clone.js +0 -0
- /package/lib/{services/src → src}/utils/geo.d.ts +0 -0
- /package/lib/{services/src → src}/utils/geo.js +0 -0
- /package/lib/{services/src → src}/utils/index.d.ts +0 -0
- /package/lib/{services/src → src}/utils/index.js +0 -0
- /package/lib/{services/src → src}/utils/logging.d.ts +0 -0
- /package/lib/{services/src → src}/utils/logging.js +0 -0
- /package/lib/{services/src → src}/utils/math.d.ts +0 -0
- /package/lib/{services/src → src}/utils/math.js +0 -0
- /package/lib/{services/src → src}/utils/merge.d.ts +0 -0
- /package/lib/{services/src → src}/utils/merge.js +0 -0
- /package/lib/{services/src → src}/utils/sleep.d.ts +0 -0
- /package/lib/{services/src → src}/utils/sleep.js +0 -0
- /package/lib/{services/src → src}/utils/valid.d.ts +0 -0
- /package/lib/{services/src → src}/utils/valid.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function loadFile(type: any, fileName: any): Promise<unknown>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.loadFile = void 0;
|
|
16
|
+
const fs_1 = __importDefault(require("fs"));
|
|
17
|
+
function loadFile(type, fileName) {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
fs_1.default.readFile(fileName, type, (err, data) => {
|
|
21
|
+
if (err)
|
|
22
|
+
return reject(err);
|
|
23
|
+
return resolve(data);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
exports.loadFile = loadFile;
|
package/lib/api/index.d.ts
CHANGED
package/lib/api/index.js
CHANGED
|
@@ -13,7 +13,14 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
13
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
16
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.path = void 0;
|
|
17
21
|
__exportStar(require("./rest/index"), exports);
|
|
18
22
|
__exportStar(require("./rest/types"), exports);
|
|
19
23
|
__exportStar(require("./repository"), exports);
|
|
24
|
+
__exportStar(require("./path"), exports);
|
|
25
|
+
const path_1 = __importDefault(require("./path"));
|
|
26
|
+
exports.path = path_1.default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import path from "path";
|
|
3
|
+
export interface IPathBinding {
|
|
4
|
+
join(...paths: string[]): any;
|
|
5
|
+
parse(path: string): path.ParsedPath;
|
|
6
|
+
}
|
|
7
|
+
export default class PathSupport {
|
|
8
|
+
static _binding: IPathBinding;
|
|
9
|
+
static initBinding(binding: IPathBinding): void;
|
|
10
|
+
static join(...paths: string[]): string;
|
|
11
|
+
static parse(path: string): path.ParsedPath;
|
|
12
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class PathSupport {
|
|
4
|
+
static initBinding(binding) {
|
|
5
|
+
PathSupport._binding = binding;
|
|
6
|
+
}
|
|
7
|
+
static join(...paths) {
|
|
8
|
+
const binding = PathSupport._binding;
|
|
9
|
+
if (!binding)
|
|
10
|
+
throw new Error('no binding');
|
|
11
|
+
return binding.join(...paths);
|
|
12
|
+
}
|
|
13
|
+
static parse(path) {
|
|
14
|
+
const binding = PathSupport._binding;
|
|
15
|
+
if (!binding)
|
|
16
|
+
throw new Error('no binding');
|
|
17
|
+
return binding.parse(path);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
PathSupport._binding = undefined;
|
|
21
|
+
exports.default = PathSupport;
|
|
@@ -25,16 +25,14 @@ export interface FileLoaderResult {
|
|
|
25
25
|
data?: any;
|
|
26
26
|
epmEpp?: any;
|
|
27
27
|
}
|
|
28
|
-
export interface FileInfo {
|
|
29
|
-
}
|
|
30
28
|
export interface FileInfo {
|
|
31
29
|
type: 'url' | 'file';
|
|
32
|
-
url
|
|
30
|
+
url?: string;
|
|
33
31
|
name: string;
|
|
34
32
|
dir: string;
|
|
35
33
|
ext: string;
|
|
36
34
|
delimiter: string;
|
|
37
35
|
}
|
|
38
36
|
export interface IFileLoader {
|
|
39
|
-
|
|
37
|
+
open(file: FileInfo): Promise<FileLoaderResult>;
|
|
40
38
|
}
|
|
@@ -175,7 +175,6 @@ class DeviceAccessService extends events_1.default {
|
|
|
175
175
|
this.connect(name); });
|
|
176
176
|
return;
|
|
177
177
|
}
|
|
178
|
-
console.log('~~~ DEBUG:connect if', ifaceName, this.interfaces[ifaceName]);
|
|
179
178
|
if (((_a = this.interfaces[ifaceName]) === null || _a === void 0 ? void 0 : _a.enabled) === false)
|
|
180
179
|
return;
|
|
181
180
|
const impl = this.getInterface(ifaceName);
|
|
@@ -189,6 +188,7 @@ class DeviceAccessService extends events_1.default {
|
|
|
189
188
|
return true;
|
|
190
189
|
this.interfaces[ifaceName].state = 'connecting';
|
|
191
190
|
this.emit('interface-changed', ifaceName, Object.assign(Object.assign({}, this.interfaces[ifaceName]), { state: 'connecting' }));
|
|
191
|
+
yield impl.disconnect();
|
|
192
192
|
const connected = yield impl.connect();
|
|
193
193
|
const state = connected ? 'connected' : 'disconnected';
|
|
194
194
|
this.interfaces[ifaceName].state = state;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import { DeviceAccessService } from "../access/service";
|
|
2
3
|
import { AdapterInfo, CapabilityInformation, DeviceConfigurationInfo, DeviceConfigurationService, IncyclistDeviceSettings, InterfaceSetting } from "../configuration";
|
|
3
4
|
import { CapabilityData, DevicePairingData, DevicePairingStatus, DeviceSelectState, InternalPairingState, PairingProps, PairingSettings, PairingState } from "./model";
|
|
@@ -32,6 +33,7 @@ export declare class DevicePairingService extends IncyclistService {
|
|
|
32
33
|
static getInstance(): DevicePairingService;
|
|
33
34
|
constructor(services?: Services);
|
|
34
35
|
start(onStateChanged: (newState: PairingState) => void): Promise<void>;
|
|
36
|
+
protected loadConfiguration(): Promise<void>;
|
|
35
37
|
protected initConfigHandlers(): void;
|
|
36
38
|
protected removeConfigHandlers(): void;
|
|
37
39
|
stop(): Promise<void>;
|
|
@@ -41,6 +43,7 @@ export declare class DevicePairingService extends IncyclistService {
|
|
|
41
43
|
deleteDevice(capability: IncyclistCapability, udid: string, deleteAll?: boolean): Promise<void>;
|
|
42
44
|
unselectDevices(capability: IncyclistCapability): Promise<void>;
|
|
43
45
|
changeInterfaceSettings(name: string, settings: InterfaceSetting): Promise<void>;
|
|
46
|
+
protected restartPair(): Promise<void>;
|
|
44
47
|
protected restart(): Promise<void>;
|
|
45
48
|
protected _stop(): Promise<void>;
|
|
46
49
|
protected getCapability(capability: IncyclistCapability | CapabilityData): CapabilityData;
|
|
@@ -77,6 +80,7 @@ export declare class DevicePairingService extends IncyclistService {
|
|
|
77
80
|
private stopPairing;
|
|
78
81
|
protected run(props?: PairingProps): Promise<void>;
|
|
79
82
|
private startPairing;
|
|
83
|
+
private isReadyToPair;
|
|
80
84
|
private processConnectedDevices;
|
|
81
85
|
private startScanning;
|
|
82
86
|
protected deregisterScanningDataHandlers(): void;
|
|
@@ -105,6 +109,7 @@ export declare class DevicePairingService extends IncyclistService {
|
|
|
105
109
|
protected deleteCapabilityDevice(capability: IncyclistCapability, udid: string, shouldEmit?: boolean): void;
|
|
106
110
|
protected isScanning(): boolean;
|
|
107
111
|
protected isPairing(): boolean;
|
|
112
|
+
protected isPairingWaiting(): NodeJS.Timeout;
|
|
108
113
|
protected _stopDeviceSelection(changed: boolean): Promise<void>;
|
|
109
114
|
private numberOfSelectedCababilities;
|
|
110
115
|
protected addToDeletedList(capability: IncyclistCapability | CapabilityData, udid: string): void;
|
|
@@ -69,16 +69,7 @@ class DevicePairingService extends service_2.IncyclistService {
|
|
|
69
69
|
this.emitStateChange(this.state);
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
|
-
yield this.
|
|
73
|
-
const { capabilities, interfaces } = this.configuration.load();
|
|
74
|
-
const state = Object.assign({}, this.state);
|
|
75
|
-
delete state.adapters;
|
|
76
|
-
this.state.capabilities = this.mappedCapabilities(capabilities);
|
|
77
|
-
this.state.interfaces = this.access.enrichWithAccessState(interfaces);
|
|
78
|
-
this.state.canStartRide = this.configuration.canStartRide();
|
|
79
|
-
this.state.stopRequested = false;
|
|
80
|
-
this.state.stopped = false;
|
|
81
|
-
this.logCapabilities();
|
|
72
|
+
yield this.loadConfiguration();
|
|
82
73
|
this.state.interfaces.forEach(i => {
|
|
83
74
|
if (!this.isInterfaceEnabled(i.name))
|
|
84
75
|
this.unselectOnInterface(i.name);
|
|
@@ -93,6 +84,20 @@ class DevicePairingService extends service_2.IncyclistService {
|
|
|
93
84
|
}
|
|
94
85
|
});
|
|
95
86
|
}
|
|
87
|
+
loadConfiguration() {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
yield this.waitForInit();
|
|
90
|
+
const { capabilities, interfaces } = this.configuration.load();
|
|
91
|
+
const state = Object.assign({}, this.state);
|
|
92
|
+
delete state.adapters;
|
|
93
|
+
this.state.capabilities = this.mappedCapabilities(capabilities);
|
|
94
|
+
this.state.interfaces = this.access.enrichWithAccessState(interfaces);
|
|
95
|
+
this.state.canStartRide = this.configuration.canStartRide();
|
|
96
|
+
this.state.stopRequested = false;
|
|
97
|
+
this.state.stopped = false;
|
|
98
|
+
this.logCapabilities();
|
|
99
|
+
});
|
|
100
|
+
}
|
|
96
101
|
initConfigHandlers() {
|
|
97
102
|
this.configuration.on('interface-changed', this.onInterfaceConfigChangedHandler);
|
|
98
103
|
this.configuration.on('capability-changed', this.onConfigurationUpdateHandler);
|
|
@@ -242,6 +247,17 @@ class DevicePairingService extends service_2.IncyclistService {
|
|
|
242
247
|
}
|
|
243
248
|
});
|
|
244
249
|
}
|
|
250
|
+
restartPair() {
|
|
251
|
+
var _a, _b;
|
|
252
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
253
|
+
if (!this.isPairing())
|
|
254
|
+
return;
|
|
255
|
+
if ((_a = this.state.check) === null || _a === void 0 ? void 0 : _a.to)
|
|
256
|
+
clearTimeout((_b = this.state.check) === null || _b === void 0 ? void 0 : _b.to);
|
|
257
|
+
delete this.state.check;
|
|
258
|
+
this.run();
|
|
259
|
+
});
|
|
260
|
+
}
|
|
245
261
|
restart() {
|
|
246
262
|
return __awaiter(this, void 0, void 0, function* () {
|
|
247
263
|
const wasActive = this.isPairing() || this.isScanning();
|
|
@@ -437,6 +453,7 @@ class DevicePairingService extends service_2.IncyclistService {
|
|
|
437
453
|
this.logEvent({ message: 'interface state changed', interface: ifName, state: ifDetails.state });
|
|
438
454
|
try {
|
|
439
455
|
let restartScan = false;
|
|
456
|
+
let restartPair = false;
|
|
440
457
|
if (interfacesNew) {
|
|
441
458
|
const getData = (i) => ({ name: i.name, enabled: i.enabled, state: i.state });
|
|
442
459
|
if (!prev)
|
|
@@ -449,6 +466,20 @@ class DevicePairingService extends service_2.IncyclistService {
|
|
|
449
466
|
const changedIdx = prev.findIndex(i => i.name === ifName);
|
|
450
467
|
if (ifDetails.state === 'disconnected' && current.state !== 'disconnected') {
|
|
451
468
|
this.failAdaptersOnInterface(ifName);
|
|
469
|
+
if (this.isPairing()) {
|
|
470
|
+
const pairing = this.getPairingInterfaces();
|
|
471
|
+
if (pairing.includes(ifName)) {
|
|
472
|
+
try {
|
|
473
|
+
current.state = 'disconnected';
|
|
474
|
+
this.emitStateChange({ interfaces: this.state.interfaces });
|
|
475
|
+
yield (0, utils_1.sleep)(1000);
|
|
476
|
+
this.access.connect(ifName);
|
|
477
|
+
}
|
|
478
|
+
catch (err) {
|
|
479
|
+
this.logError(err, 'reconnect');
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
}
|
|
452
483
|
}
|
|
453
484
|
else if (ifDetails.state === 'unavailable' && current.state !== 'unavailable') {
|
|
454
485
|
this.disableAdaptersOnInterface(ifName);
|
|
@@ -460,12 +491,18 @@ class DevicePairingService extends service_2.IncyclistService {
|
|
|
460
491
|
else if (ifDetails.state === 'connected' && current.state !== 'connected' && !this.isPairing()) {
|
|
461
492
|
restartScan = true;
|
|
462
493
|
}
|
|
494
|
+
else if (ifDetails.state === 'connected' && current.state !== 'connected' && this.isPairingWaiting()) {
|
|
495
|
+
restartPair = true;
|
|
496
|
+
}
|
|
463
497
|
if (changedIdx !== -1) {
|
|
464
498
|
prev[changedIdx].isScanning = ifDetails.isScanning;
|
|
465
499
|
prev[changedIdx].state = ifDetails.state;
|
|
466
500
|
}
|
|
467
501
|
if (restartScan)
|
|
468
502
|
this.restart();
|
|
503
|
+
if (restartPair) {
|
|
504
|
+
this.restartPair();
|
|
505
|
+
}
|
|
469
506
|
this.emitStateChange({ interfaces: this.state.interfaces });
|
|
470
507
|
}
|
|
471
508
|
}
|
|
@@ -770,16 +807,15 @@ class DevicePairingService extends service_2.IncyclistService {
|
|
|
770
807
|
const preparing = DevicePairingService.checkCounter++;
|
|
771
808
|
this.state.check = { preparing };
|
|
772
809
|
this.emit('pairing-start');
|
|
773
|
-
const
|
|
774
|
-
const busyRequired = this.state.interfaces
|
|
775
|
-
.filter(i => requiredInterfaces.includes(i.name))
|
|
776
|
-
.find(i => i.enabled && i.state !== 'connected' && i.state !== 'unavailable');
|
|
777
|
-
const isReady = busyRequired === undefined;
|
|
810
|
+
const { isReady, busyRequired } = this.isReadyToPair();
|
|
778
811
|
if (!isReady) {
|
|
779
|
-
|
|
812
|
+
this.logEvent({ message: 'Pairing: waiting for interfaces', interfaces: busyRequired === null || busyRequired === void 0 ? void 0 : busyRequired.name });
|
|
813
|
+
this.state.check.to = setTimeout(() => {
|
|
780
814
|
if ((!this.isPairing() || this.state.check.preparing === preparing) && !this.isScanning()) {
|
|
781
|
-
|
|
782
|
-
|
|
815
|
+
const { isReady } = this.isReadyToPair();
|
|
816
|
+
if (isReady) {
|
|
817
|
+
delete this.state.check;
|
|
818
|
+
}
|
|
783
819
|
}
|
|
784
820
|
}, 1000);
|
|
785
821
|
return;
|
|
@@ -810,6 +846,14 @@ class DevicePairingService extends service_2.IncyclistService {
|
|
|
810
846
|
}
|
|
811
847
|
});
|
|
812
848
|
}
|
|
849
|
+
isReadyToPair() {
|
|
850
|
+
const requiredInterfaces = this.getPairingInterfaces();
|
|
851
|
+
const busyRequired = this.state.interfaces
|
|
852
|
+
.filter(i => requiredInterfaces.includes(i.name))
|
|
853
|
+
.find(i => i.enabled && i.state !== 'connected' && i.state !== 'unavailable');
|
|
854
|
+
const isReady = busyRequired === undefined;
|
|
855
|
+
return { isReady, busyRequired };
|
|
856
|
+
}
|
|
813
857
|
processConnectedDevices(adapters) {
|
|
814
858
|
const started = adapters.filter(ai => ai.adapter.isStarted());
|
|
815
859
|
started.forEach(ai => {
|
|
@@ -1105,6 +1149,9 @@ class DevicePairingService extends service_2.IncyclistService {
|
|
|
1105
1149
|
var _a;
|
|
1106
1150
|
return this.state.check !== undefined && ((_a = this.state) === null || _a === void 0 ? void 0 : _a.check) !== null;
|
|
1107
1151
|
}
|
|
1152
|
+
isPairingWaiting() {
|
|
1153
|
+
return this.isPairing() && this.state.check.to;
|
|
1154
|
+
}
|
|
1108
1155
|
_stopDeviceSelection(changed) {
|
|
1109
1156
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1110
1157
|
this.deviceSelectState = null;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './devices';
|
|
2
2
|
export * from './utils';
|
|
3
|
-
export { useUserSettings, initUserSettings, UserSettingsService, UserSettingsBinding, IUserSettingsBinding } from './settings';
|
|
4
3
|
export * from './api';
|
|
5
4
|
export * from './routes';
|
|
5
|
+
export { useUserSettings, initUserSettings, UserSettingsService, UserSettingsBinding, IUserSettingsBinding } from './settings';
|
package/lib/index.js
CHANGED
|
@@ -17,10 +17,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.UserSettingsBinding = exports.UserSettingsService = exports.initUserSettings = exports.useUserSettings = void 0;
|
|
18
18
|
__exportStar(require("./devices"), exports);
|
|
19
19
|
__exportStar(require("./utils"), exports);
|
|
20
|
+
__exportStar(require("./api"), exports);
|
|
21
|
+
__exportStar(require("./routes"), exports);
|
|
20
22
|
var settings_1 = require("./settings");
|
|
21
23
|
Object.defineProperty(exports, "useUserSettings", { enumerable: true, get: function () { return settings_1.useUserSettings; } });
|
|
22
24
|
Object.defineProperty(exports, "initUserSettings", { enumerable: true, get: function () { return settings_1.initUserSettings; } });
|
|
23
25
|
Object.defineProperty(exports, "UserSettingsService", { enumerable: true, get: function () { return settings_1.UserSettingsService; } });
|
|
24
26
|
Object.defineProperty(exports, "UserSettingsBinding", { enumerable: true, get: function () { return settings_1.UserSettingsBinding; } });
|
|
25
|
-
__exportStar(require("./api"), exports);
|
|
26
|
-
__exportStar(require("./routes"), exports);
|
|
@@ -22,6 +22,7 @@ export interface RouteApiDescription extends RouteBase {
|
|
|
22
22
|
video?: VideoDescription;
|
|
23
23
|
type?: RouteType;
|
|
24
24
|
localizedTitle?: LocalizedText;
|
|
25
|
+
previewUrl?: string;
|
|
25
26
|
}
|
|
26
27
|
export type LegacyRouteGpxRepoDescription = {
|
|
27
28
|
id: string;
|
|
@@ -52,10 +53,14 @@ export type RouteApiDetail = {
|
|
|
52
53
|
elevation?: number;
|
|
53
54
|
points?: Array<RoutePoint>;
|
|
54
55
|
downloadUrl?: string;
|
|
55
|
-
downloadType
|
|
56
|
+
downloadType?: string;
|
|
56
57
|
version?: string;
|
|
57
58
|
category?: RouteCategory;
|
|
58
59
|
provider?: RouteProvider;
|
|
59
60
|
video?: VideoDescription;
|
|
60
61
|
localizedTitle?: LocalizedText;
|
|
62
|
+
previewUrl?: string;
|
|
63
|
+
previewUrlLocal?: string;
|
|
64
|
+
description?: LocalizedText;
|
|
65
|
+
next?: string;
|
|
61
66
|
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Parser } from "../types";
|
|
2
|
+
export declare class ParserFactory {
|
|
3
|
+
static _instance: ParserFactory;
|
|
4
|
+
static getInstance(): ParserFactory;
|
|
5
|
+
private parsers;
|
|
6
|
+
private initialized;
|
|
7
|
+
constructor();
|
|
8
|
+
add(parser: Parser<unknown, unknown>): void;
|
|
9
|
+
findMatching(extension: string, data: unknown): Parser<unknown, unknown>;
|
|
10
|
+
isInitialized(): boolean;
|
|
11
|
+
setInitialized(done: boolean): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParserFactory = void 0;
|
|
4
|
+
class ParserFactory {
|
|
5
|
+
static getInstance() {
|
|
6
|
+
if (!ParserFactory._instance)
|
|
7
|
+
ParserFactory._instance = new ParserFactory();
|
|
8
|
+
return ParserFactory._instance;
|
|
9
|
+
}
|
|
10
|
+
constructor() {
|
|
11
|
+
this.parsers = [];
|
|
12
|
+
this.initialized = false;
|
|
13
|
+
}
|
|
14
|
+
add(parser) {
|
|
15
|
+
this.parsers.push(parser);
|
|
16
|
+
}
|
|
17
|
+
findMatching(extension, data) {
|
|
18
|
+
const matching = this.parsers
|
|
19
|
+
.filter(p => p.supportsExtension(extension))
|
|
20
|
+
.filter(p => p.supportsContent(data));
|
|
21
|
+
if (!(matching === null || matching === void 0 ? void 0 : matching.length))
|
|
22
|
+
throw new Error(`invalid file format ${extension}`);
|
|
23
|
+
return matching[0];
|
|
24
|
+
}
|
|
25
|
+
isInitialized() {
|
|
26
|
+
return this.initialized;
|
|
27
|
+
}
|
|
28
|
+
setInitialized(done) {
|
|
29
|
+
this.initialized = done;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.ParserFactory = ParserFactory;
|
|
@@ -8,25 +8,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
setRoutes(routes) {
|
|
18
|
-
this.routes = routes;
|
|
19
|
-
}
|
|
20
|
-
getRouteDescriptions() {
|
|
15
|
+
exports.IncyclistXMLParser = void 0;
|
|
16
|
+
const axios_1 = __importDefault(require("axios"));
|
|
17
|
+
const xml_1 = require("./xml");
|
|
18
|
+
class IncyclistXMLParser extends xml_1.XMLParser {
|
|
19
|
+
getGPXFileContent(url) {
|
|
21
20
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
|
|
21
|
+
const res = yield axios_1.default.get(url);
|
|
22
|
+
return res.data;
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
exports.
|
|
27
|
-
|
|
28
|
-
constructor() {
|
|
29
|
-
this.api = new MockApi();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.MockRouteBinding = MockRouteBinding;
|
|
26
|
+
exports.IncyclistXMLParser = IncyclistXMLParser;
|
|
27
|
+
IncyclistXMLParser.SCHEME = 'gpx-import';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.useParsers = void 0;
|
|
18
|
+
__exportStar(require("./kwt"), exports);
|
|
19
|
+
const factory_1 = require("./factory");
|
|
20
|
+
const incyclist_xml_1 = require("./incyclist-xml");
|
|
21
|
+
const kwt_1 = require("./kwt");
|
|
22
|
+
const multixml_1 = require("./multixml");
|
|
23
|
+
const useParsers = () => {
|
|
24
|
+
const parsers = factory_1.ParserFactory.getInstance();
|
|
25
|
+
if (!parsers.isInitialized()) {
|
|
26
|
+
parsers.add(new multixml_1.MultipleXMLParser([kwt_1.KWTParser, incyclist_xml_1.IncyclistXMLParser]));
|
|
27
|
+
parsers.setInitialized(true);
|
|
28
|
+
}
|
|
29
|
+
return parsers;
|
|
30
|
+
};
|
|
31
|
+
exports.useParsers = useParsers;
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export declare function parseSegment(s: any): any;
|
|
5
|
-
export declare function parseInfoText(infoText: any): any;
|
|
6
|
-
export default function ImportKWT(xmljson: XmlJSON): Promise<ParseResult<RouteApiDescription>>;
|
|
7
|
-
export declare class KWTParser implements Parser<string, RouteApiDescription> {
|
|
8
|
-
import(data: string): Promise<ParseResult<RouteApiDescription>>;
|
|
1
|
+
import { XMLParser } from './xml';
|
|
2
|
+
export declare class KWTParser extends XMLParser {
|
|
3
|
+
static SCHEME: string;
|
|
9
4
|
}
|
|
@@ -1,52 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.KWTParser =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const segment = s[0] ? (s[0].$ || s[0]) : (s.$ || s);
|
|
16
|
-
segment.start = segment.start !== undefined ? parseInt(segment.start) : undefined;
|
|
17
|
-
segment.end = segment.end !== undefined ? parseInt(segment.end) : undefined;
|
|
18
|
-
return segment;
|
|
19
|
-
}
|
|
20
|
-
exports.parseSegment = parseSegment;
|
|
21
|
-
function parseInfoText(infoText) {
|
|
22
|
-
if (infoText.distance !== undefined)
|
|
23
|
-
infoText.distance = parseInt(infoText.distance);
|
|
24
|
-
const languageKeys = Object.keys(infoText).filter(k => k.length === 2);
|
|
25
|
-
if (languageKeys && languageKeys.length > 0) {
|
|
26
|
-
infoText.localizedText = {};
|
|
27
|
-
languageKeys.forEach(k => {
|
|
28
|
-
infoText.localizedText[k] = infoText[k];
|
|
29
|
-
delete infoText[k];
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
if (!infoText.text && infoText.localizedText) {
|
|
33
|
-
const languages = Object.keys(infoText.localizedText);
|
|
34
|
-
if (languages && languages.length > 0) {
|
|
35
|
-
infoText.text = infoText.localizedText[languages[0]];
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return infoText;
|
|
39
|
-
}
|
|
40
|
-
exports.parseInfoText = parseInfoText;
|
|
41
|
-
function ImportKWT(xmljson) {
|
|
42
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
throw new Error('not implemented');
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
exports.default = ImportKWT;
|
|
47
|
-
class KWTParser {
|
|
48
|
-
import(data) {
|
|
49
|
-
throw new Error('Method not implemented.');
|
|
50
|
-
}
|
|
3
|
+
exports.KWTParser = void 0;
|
|
4
|
+
const xml_1 = require("./xml");
|
|
5
|
+
class KWTParser extends xml_1.XMLParser {
|
|
51
6
|
}
|
|
52
7
|
exports.KWTParser = KWTParser;
|
|
8
|
+
KWTParser.SCHEME = 'kwt';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { FileInfo, IFileLoader } from "../../../api";
|
|
3
|
+
import { RouteApiDetail } from "../api/types";
|
|
4
|
+
import { ParseResult, Parser } from "../types";
|
|
5
|
+
import { XMLParser } from "./xml";
|
|
6
|
+
export declare class MultipleXMLParser implements Parser<string | Buffer, RouteApiDetail> {
|
|
7
|
+
protected parsers: any;
|
|
8
|
+
constructor(classes: Array<typeof XMLParser>);
|
|
9
|
+
import(file: FileInfo, data: string | Buffer, loader?: IFileLoader): Promise<ParseResult<RouteApiDetail>>;
|
|
10
|
+
supportsExtension(extension: string): boolean;
|
|
11
|
+
supportsContent(): boolean;
|
|
12
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.MultipleXMLParser = void 0;
|
|
13
|
+
const xml_1 = require("../utils/xml");
|
|
14
|
+
class MultipleXMLParser {
|
|
15
|
+
constructor(classes) {
|
|
16
|
+
this.parsers = [];
|
|
17
|
+
classes.forEach(C => {
|
|
18
|
+
const parser = new C();
|
|
19
|
+
this.parsers.push(parser);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
import(file, data, loader) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
const str = Buffer.isBuffer(data) ? data.toString() : data;
|
|
25
|
+
const xmlJson = yield (0, xml_1.parseXml)(str);
|
|
26
|
+
const parser = this.parsers.find(p => p.supportsContent(xmlJson));
|
|
27
|
+
return yield parser.import(file, xmlJson, loader);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
supportsExtension(extension) {
|
|
31
|
+
return (extension === null || extension === void 0 ? void 0 : extension.toLowerCase()) === 'xml';
|
|
32
|
+
}
|
|
33
|
+
supportsContent() {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.MultipleXMLParser = MultipleXMLParser;
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { FileInfo } from "../../../api";
|
|
2
|
+
import { RoutePoint, VideoRoutePoint } from "../types";
|
|
3
|
+
export declare const addVideoSpeed: (points: Array<RoutePoint>, video: any) => Array<VideoRoutePoint>;
|
|
4
|
+
export declare const getReferencedFileInfo: (info: FileInfo, referenced: {
|
|
5
|
+
file?: string;
|
|
6
|
+
url?: string;
|
|
7
|
+
}, scheme?: string) => string;
|