incyclist-services 1.0.73 → 1.1.75
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/api/appInfo/index.d.ts +13 -0
- package/lib/api/appInfo/index.js +2 -0
- package/lib/api/bindings/index.d.ts +14 -0
- package/lib/api/bindings/index.js +62 -0
- package/lib/api/fs/index.d.ts +10 -0
- package/lib/api/fs/index.js +2 -0
- package/lib/api/index.d.ts +2 -0
- package/lib/api/index.js +2 -0
- package/lib/api/overpass/index.d.ts +10 -0
- package/lib/api/overpass/index.js +110 -0
- package/lib/api/repository/json/index.d.ts +2 -5
- package/lib/api/repository/json/index.js +7 -12
- package/lib/api/repository/types.d.ts +2 -0
- package/lib/api/video/index.d.ts +4 -7
- package/lib/backup/list_old/FreeRideCard.d.ts +8 -0
- package/lib/backup/list_old/FreeRideCard.js +11 -0
- package/lib/backup/list_old/ImportCard.d.ts +8 -0
- package/lib/backup/list_old/ImportCard.js +11 -0
- package/lib/backup/list_old/index.d.ts +2 -0
- package/lib/backup/list_old/index.js +18 -0
- package/lib/backup/list_old/service.d.ts +125 -0
- package/lib/backup/list_old/service.js +932 -0
- package/lib/backup/list_old/types.d.ts +131 -0
- package/lib/backup/list_old/types.js +2 -0
- package/lib/base/cardlist/index.d.ts +31 -0
- package/lib/base/cardlist/index.js +47 -0
- package/lib/base/cardlist/types.d.ts +4 -0
- package/lib/base/cardlist/types.js +2 -0
- package/lib/base/service.d.ts +3 -3
- package/lib/base/types/Singeton.d.ts +3 -0
- package/lib/base/types/Singeton.js +16 -0
- package/lib/base/types/index.d.ts +1 -0
- package/lib/base/types/index.js +17 -0
- package/lib/base/types/observer.d.ts +23 -0
- package/lib/base/types/observer.js +74 -0
- package/lib/base/types/singleton.d.ts +1 -0
- package/lib/base/types/singleton.js +17 -0
- package/lib/devices/configuration/service.js +4 -2
- package/lib/devices/pairing/service.d.ts +3 -0
- package/lib/devices/pairing/service.js +54 -17
- package/lib/i18n/countries/countries.json +255 -0
- package/lib/i18n/countries/index.d.ts +16 -0
- package/lib/i18n/countries/index.js +129 -0
- package/lib/i18n/countries/model.d.ts +18 -0
- package/lib/i18n/countries/model.js +2 -0
- package/lib/routes/base/api/types.d.ts +4 -1
- package/lib/routes/base/model/route.d.ts +9 -1
- package/lib/routes/base/model/route.js +41 -2
- package/lib/routes/base/parsers/bikelab.d.ts +12 -0
- package/lib/routes/base/parsers/bikelab.js +117 -0
- package/lib/routes/base/parsers/epm.d.ts +23 -0
- package/lib/routes/base/parsers/epm.js +242 -0
- package/lib/routes/base/parsers/factory.d.ts +2 -1
- package/lib/routes/base/parsers/factory.js +12 -1
- package/lib/routes/base/parsers/gpx.d.ts +12 -6
- package/lib/routes/base/parsers/gpx.js +32 -20
- package/lib/routes/base/parsers/incyclist.d.ts +7 -0
- package/lib/routes/base/parsers/incyclist.js +74 -0
- package/lib/routes/base/parsers/index.d.ts +6 -0
- package/lib/routes/base/parsers/index.js +41 -3
- package/lib/routes/base/parsers/multixml.d.ts +5 -4
- package/lib/routes/base/parsers/multixml.js +17 -4
- package/lib/routes/base/parsers/utils.d.ts +18 -3
- package/lib/routes/base/parsers/utils.js +62 -32
- package/lib/routes/base/parsers/xml.d.ts +5 -3
- package/lib/routes/base/parsers/xml.js +65 -12
- package/lib/routes/base/types/index.d.ts +35 -6
- package/lib/routes/base/utils/localization.d.ts +1 -1
- package/lib/routes/base/utils/route.d.ts +6 -1
- package/lib/routes/base/utils/route.js +56 -5
- package/lib/routes/list/FreeRideCard.d.ts +32 -7
- package/lib/routes/list/FreeRideCard.js +72 -5
- package/lib/routes/list/RouteCard.d.ts +80 -0
- package/lib/routes/list/RouteCard.js +216 -0
- package/lib/routes/list/api.d.ts +33 -0
- package/lib/routes/list/api.js +200 -0
- package/lib/routes/list/cards/FreeRideCard.d.ts +33 -0
- package/lib/routes/list/cards/FreeRideCard.js +78 -0
- package/lib/routes/list/cards/RouteCard.d.ts +85 -0
- package/lib/routes/list/cards/RouteCard.js +233 -0
- package/lib/routes/list/cards/cards.d.ts +36 -0
- package/lib/routes/list/cards/cards.js +98 -0
- package/lib/routes/list/cards.d.ts +36 -0
- package/lib/routes/list/cards.js +98 -0
- package/lib/routes/list/index.d.ts +0 -1
- package/lib/routes/list/index.js +0 -1
- package/lib/routes/list/lists/myroutes.d.ts +7 -0
- package/lib/routes/list/lists/myroutes.js +31 -0
- package/lib/routes/list/loaders/DBLoader.d.ts +18 -0
- package/lib/routes/list/loaders/DBLoader.js +60 -0
- package/lib/routes/list/loaders/LegacyDB.d.ts +16 -0
- package/lib/routes/list/loaders/LegacyDB.js +149 -0
- package/lib/routes/list/loaders/api.d.ts +23 -0
- package/lib/routes/list/loaders/api.js +125 -0
- package/lib/routes/list/loaders/db copy.d.ts +0 -0
- package/lib/routes/list/loaders/db copy.js +0 -0
- package/lib/routes/list/loaders/db.d.ts +30 -0
- package/lib/routes/list/loaders/db.js +204 -0
- package/lib/routes/list/loaders/types.d.ts +36 -0
- package/lib/routes/list/loaders/types.js +106 -0
- package/lib/routes/list/myroutes.d.ts +7 -0
- package/lib/routes/list/myroutes.js +32 -0
- package/lib/routes/list/service.d.ts +78 -117
- package/lib/routes/list/service.js +438 -883
- package/lib/routes/list/types.d.ts +19 -124
- package/lib/routes/list_old/FreeRideCard.d.ts +8 -0
- package/lib/routes/list_old/FreeRideCard.js +11 -0
- package/lib/routes/list_old/ImportCard.d.ts +8 -0
- package/lib/routes/list_old/ImportCard.js +11 -0
- package/lib/routes/list_old/consts.d.ts +0 -0
- package/lib/routes/list_old/consts.js +0 -0
- package/lib/routes/list_old/index.d.ts +2 -0
- package/lib/routes/list_old/index.js +18 -0
- package/lib/routes/list_old/service.d.ts +125 -0
- package/lib/routes/list_old/service.js +932 -0
- package/lib/routes/list_old/types.d.ts +131 -0
- package/lib/routes/list_old/types.js +2 -0
- package/lib/src/api/repository/types.d.ts +1 -1
- package/lib/src/api/video/index.d.ts +13 -0
- package/lib/src/api/video/index.js +2 -0
- package/lib/src/base/cardlist/index.d.ts +28 -0
- package/lib/src/base/cardlist/index.js +45 -0
- package/lib/src/base/cardlist/types.d.ts +4 -0
- package/lib/src/base/cardlist/types.js +2 -0
- package/lib/src/base/types/index.d.ts +1 -0
- package/lib/src/base/types/index.js +17 -0
- package/lib/src/base/types/observer.d.ts +19 -0
- package/lib/src/base/types/observer.js +59 -0
- package/lib/src/base/types/singleton.d.ts +1 -0
- package/lib/src/base/types/singleton.js +16 -0
- package/lib/src/devices/access/service.js +1 -1
- package/lib/src/devices/pairing/model.d.ts +1 -0
- package/lib/src/devices/pairing/service.d.ts +8 -0
- package/lib/src/devices/pairing/service.js +111 -32
- package/lib/src/devices/ride/model.d.ts +7 -0
- package/lib/src/devices/ride/service.d.ts +7 -0
- package/lib/src/devices/ride/service.js +282 -74
- package/lib/src/routes/base/parsers/gpx.d.ts +14 -0
- package/lib/src/routes/base/parsers/gpx.js +126 -0
- package/lib/src/routes/base/parsers/gpx.unit.test copy.d.ts +1 -0
- package/lib/src/routes/base/parsers/gpx.unit.test copy.js +65 -0
- package/lib/src/routes/base/parsers/incyclist-xml.d.ts +5 -0
- package/lib/src/routes/base/parsers/incyclist-xml.js +27 -0
- package/lib/src/routes/base/parsers/incyclist.unit.test copy.d.ts +1 -0
- package/lib/src/routes/base/parsers/incyclist.unit.test copy.js +51 -0
- package/lib/src/routes/base/parsers/index.js +3 -1
- package/lib/src/routes/base/parsers/multixml.d.ts +12 -0
- package/lib/src/routes/base/parsers/multixml.js +37 -0
- package/lib/src/routes/base/parsers/utils.d.ts +1 -3
- package/lib/src/routes/base/parsers/utils.js +6 -5
- package/lib/src/routes/base/parsers/xml.d.ts +20 -4
- package/lib/src/routes/base/parsers/xml.js +196 -160
- package/lib/src/routes/base/types/index.d.ts +2 -1
- package/lib/src/routes/base/utils/localization.d.ts +1 -1
- package/lib/src/routes/base/utils/route.d.ts +1 -1
- package/lib/src/routes/base/utils/xml.js +11 -6
- package/lib/src/routes/list/FreeRideCard.d.ts +26 -7
- package/lib/src/routes/list/FreeRideCard.js +64 -5
- package/lib/src/routes/list/RouteCard.d.ts +35 -0
- package/lib/src/routes/list/RouteCard.js +40 -0
- package/lib/src/routes/list/cards.d.ts +27 -0
- package/lib/src/routes/list/cards.js +69 -0
- package/lib/src/routes/list/index.d.ts +0 -1
- package/lib/src/routes/list/index.js +0 -1
- package/lib/src/routes/list/service.d.ts +49 -110
- package/lib/src/routes/list/service.js +190 -875
- package/lib/src/routes/list/types.d.ts +18 -123
- package/lib/src/settings/user/service.d.ts +4 -0
- package/lib/src/settings/user/service.js +13 -2
- package/package.json +4 -2
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type OSInfo = {
|
|
2
|
+
platform: string;
|
|
3
|
+
arch: string;
|
|
4
|
+
release: string;
|
|
5
|
+
};
|
|
6
|
+
export interface IAppInfo {
|
|
7
|
+
getOS(): OSInfo;
|
|
8
|
+
getAppVersion(): string;
|
|
9
|
+
getAppDir(): string;
|
|
10
|
+
getSourceDir(): string;
|
|
11
|
+
getTempDir(): string;
|
|
12
|
+
isApp(): boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IAppInfo } from '../appInfo';
|
|
2
|
+
import { IFileSystem } from '../fs';
|
|
3
|
+
import { IPathBinding } from '../path';
|
|
4
|
+
import { IFileLoader, IJsonRepositoryBinding } from '../repository';
|
|
5
|
+
import { IVideoProcessor } from '../video';
|
|
6
|
+
export declare class IncyclistBindings {
|
|
7
|
+
path?: IPathBinding;
|
|
8
|
+
db: IJsonRepositoryBinding;
|
|
9
|
+
loader?: IFileLoader;
|
|
10
|
+
video?: IVideoProcessor;
|
|
11
|
+
appInfo?: IAppInfo;
|
|
12
|
+
fs?: IFileSystem;
|
|
13
|
+
}
|
|
14
|
+
export declare const getBindings: () => IncyclistBindings;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
3
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
4
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
5
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
6
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
7
|
+
var _, done = false;
|
|
8
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
9
|
+
var context = {};
|
|
10
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
11
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
12
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
13
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
14
|
+
if (kind === "accessor") {
|
|
15
|
+
if (result === void 0) continue;
|
|
16
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
17
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
18
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
19
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
20
|
+
}
|
|
21
|
+
else if (_ = accept(result)) {
|
|
22
|
+
if (kind === "field") initializers.unshift(_);
|
|
23
|
+
else descriptor[key] = _;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
|
+
done = true;
|
|
28
|
+
};
|
|
29
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
30
|
+
var useValue = arguments.length > 2;
|
|
31
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
32
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
33
|
+
}
|
|
34
|
+
return useValue ? value : void 0;
|
|
35
|
+
};
|
|
36
|
+
var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
|
|
37
|
+
if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
|
|
38
|
+
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
|
|
39
|
+
};
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.getBindings = exports.IncyclistBindings = void 0;
|
|
42
|
+
const types_1 = require("../../base/types");
|
|
43
|
+
let IncyclistBindings = (() => {
|
|
44
|
+
let _classDecorators = [types_1.Singleton];
|
|
45
|
+
let _classDescriptor;
|
|
46
|
+
let _classExtraInitializers = [];
|
|
47
|
+
let _classThis;
|
|
48
|
+
var IncyclistBindings = _classThis = class {
|
|
49
|
+
};
|
|
50
|
+
__setFunctionName(_classThis, "IncyclistBindings");
|
|
51
|
+
(() => {
|
|
52
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
53
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
54
|
+
IncyclistBindings = _classThis = _classDescriptor.value;
|
|
55
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
56
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
57
|
+
})();
|
|
58
|
+
return IncyclistBindings = _classThis;
|
|
59
|
+
})();
|
|
60
|
+
exports.IncyclistBindings = IncyclistBindings;
|
|
61
|
+
const getBindings = () => new IncyclistBindings();
|
|
62
|
+
exports.getBindings = getBindings;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface IFileSystem {
|
|
2
|
+
writeFile(...args: any[]): any;
|
|
3
|
+
readFile(...args: any[]): any;
|
|
4
|
+
appendFile(...args: any[]): any;
|
|
5
|
+
deleteFile(path: any): any;
|
|
6
|
+
createWriteStream(...args: any[]): any;
|
|
7
|
+
createReadStream(...args: any[]): any;
|
|
8
|
+
existsSync(path: string): boolean;
|
|
9
|
+
checkDir(path: string): void;
|
|
10
|
+
}
|
package/lib/api/index.d.ts
CHANGED
package/lib/api/index.js
CHANGED
|
@@ -22,5 +22,7 @@ __exportStar(require("./rest/index"), exports);
|
|
|
22
22
|
__exportStar(require("./rest/types"), exports);
|
|
23
23
|
__exportStar(require("./repository"), exports);
|
|
24
24
|
__exportStar(require("./path"), exports);
|
|
25
|
+
__exportStar(require("./bindings"), exports);
|
|
26
|
+
__exportStar(require("./overpass"), exports);
|
|
25
27
|
const path_1 = __importDefault(require("./path"));
|
|
26
28
|
exports.path = path_1.default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const OVERPASS_URL_DEFAULT: string;
|
|
2
|
+
export declare class OverpassApi {
|
|
3
|
+
protected url: string;
|
|
4
|
+
constructor(props?: any);
|
|
5
|
+
bulkQuery(queryOL: string): Promise<JSON | string>;
|
|
6
|
+
singleQuery(queryOL: string): Promise<JSON | string>;
|
|
7
|
+
rotateUrl(): void;
|
|
8
|
+
query(queryOL: string): Promise<JSON | string>;
|
|
9
|
+
}
|
|
10
|
+
export declare const useOverpassApi: () => OverpassApi;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
3
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
4
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
5
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
6
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
7
|
+
var _, done = false;
|
|
8
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
9
|
+
var context = {};
|
|
10
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
11
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
12
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
13
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
14
|
+
if (kind === "accessor") {
|
|
15
|
+
if (result === void 0) continue;
|
|
16
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
17
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
18
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
19
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
20
|
+
}
|
|
21
|
+
else if (_ = accept(result)) {
|
|
22
|
+
if (kind === "field") initializers.unshift(_);
|
|
23
|
+
else descriptor[key] = _;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
|
+
done = true;
|
|
28
|
+
};
|
|
29
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
30
|
+
var useValue = arguments.length > 2;
|
|
31
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
32
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
33
|
+
}
|
|
34
|
+
return useValue ? value : void 0;
|
|
35
|
+
};
|
|
36
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
37
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
38
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
39
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
40
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
41
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
42
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
|
|
46
|
+
if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
|
|
47
|
+
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
|
|
48
|
+
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.useOverpassApi = exports.OverpassApi = exports.OVERPASS_URL_DEFAULT = void 0;
|
|
54
|
+
const axios_1 = __importDefault(require("axios"));
|
|
55
|
+
const types_1 = require("../../base/types");
|
|
56
|
+
const promise_any_1 = __importDefault(require("promise.any"));
|
|
57
|
+
const OVERPASS_URL_ALT1 = 'https://overpass.kumi.systems/api/interpreter';
|
|
58
|
+
const OVERPASS_URL_ALT2 = 'https://lz4.overpass-api.de/api/interpreter';
|
|
59
|
+
const OVERPASS_URL_ALT3 = 'https://z.overpass-api.de/api/interpreter';
|
|
60
|
+
const mirrors = [OVERPASS_URL_ALT1, OVERPASS_URL_ALT2, OVERPASS_URL_ALT3];
|
|
61
|
+
exports.OVERPASS_URL_DEFAULT = mirrors[0];
|
|
62
|
+
let OverpassApi = (() => {
|
|
63
|
+
let _classDecorators = [types_1.Singleton];
|
|
64
|
+
let _classDescriptor;
|
|
65
|
+
let _classExtraInitializers = [];
|
|
66
|
+
let _classThis;
|
|
67
|
+
var OverpassApi = _classThis = class {
|
|
68
|
+
constructor(props) {
|
|
69
|
+
this.url = (props === null || props === void 0 ? void 0 : props.url) || mirrors[0];
|
|
70
|
+
}
|
|
71
|
+
bulkQuery(queryOL) {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
const p1 = axios_1.default.post(mirrors[0], queryOL);
|
|
74
|
+
const p2 = axios_1.default.post(mirrors[1], queryOL);
|
|
75
|
+
const p3 = axios_1.default.post(mirrors[2], queryOL);
|
|
76
|
+
const res = yield (0, promise_any_1.default)([p1, p2, p3]);
|
|
77
|
+
return res === null || res === void 0 ? void 0 : res.data;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
singleQuery(queryOL) {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
const res = yield axios_1.default.post(this.url, queryOL);
|
|
83
|
+
return res.data;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
rotateUrl() {
|
|
87
|
+
const cntUrls = mirrors.length;
|
|
88
|
+
const oldIdx = mirrors.findIndex(u => u === this.url);
|
|
89
|
+
const newIdx = (oldIdx + 1) % cntUrls;
|
|
90
|
+
this.url = mirrors[newIdx];
|
|
91
|
+
}
|
|
92
|
+
query(queryOL) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
return this.bulkQuery(queryOL);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
__setFunctionName(_classThis, "OverpassApi");
|
|
99
|
+
(() => {
|
|
100
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
101
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
102
|
+
OverpassApi = _classThis = _classDescriptor.value;
|
|
103
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
104
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
105
|
+
})();
|
|
106
|
+
return OverpassApi = _classThis;
|
|
107
|
+
})();
|
|
108
|
+
exports.OverpassApi = OverpassApi;
|
|
109
|
+
const useOverpassApi = () => new OverpassApi();
|
|
110
|
+
exports.useOverpassApi = useOverpassApi;
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import { EventLogger } from "gd-eventlog";
|
|
2
|
-
import {
|
|
2
|
+
import { JSONObject, JsonAccess } from "../types";
|
|
3
3
|
export declare class JsonRepository {
|
|
4
4
|
protected static _instances: {
|
|
5
5
|
[x: string]: JsonRepository;
|
|
6
6
|
};
|
|
7
|
-
protected static _defaultBinding: IJsonRepositoryBinding;
|
|
8
7
|
static create(repoName: string): JsonRepository;
|
|
9
|
-
static setBinding(binding: IJsonRepositoryBinding): void;
|
|
10
|
-
protected binding: IJsonRepositoryBinding;
|
|
11
8
|
protected name: string;
|
|
12
9
|
protected db: string;
|
|
13
10
|
protected logger: EventLogger;
|
|
14
11
|
protected access: JsonAccess;
|
|
15
|
-
constructor(repoName: string
|
|
12
|
+
constructor(repoName: string);
|
|
16
13
|
getName(): string;
|
|
17
14
|
write(objectName: string, data: JSONObject): Promise<boolean>;
|
|
18
15
|
read(objectName: string): Promise<JSONObject>;
|
|
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.JsonRepository = void 0;
|
|
13
13
|
const gd_eventlog_1 = require("gd-eventlog");
|
|
14
|
+
const bindings_1 = require("../../bindings");
|
|
14
15
|
class JsonRepository {
|
|
15
16
|
static create(repoName) {
|
|
16
17
|
if (JsonRepository._instances[repoName])
|
|
@@ -18,12 +19,8 @@ class JsonRepository {
|
|
|
18
19
|
JsonRepository._instances[repoName] = new JsonRepository(repoName);
|
|
19
20
|
return JsonRepository._instances[repoName];
|
|
20
21
|
}
|
|
21
|
-
|
|
22
|
-
JsonRepository._defaultBinding = binding;
|
|
23
|
-
}
|
|
24
|
-
constructor(repoName, binding) {
|
|
22
|
+
constructor(repoName) {
|
|
25
23
|
this.name = repoName;
|
|
26
|
-
this.binding = binding || JsonRepository._defaultBinding;
|
|
27
24
|
this.logger = new gd_eventlog_1.EventLogger(`Repo-${this.name}`);
|
|
28
25
|
}
|
|
29
26
|
getName() {
|
|
@@ -55,15 +52,14 @@ class JsonRepository {
|
|
|
55
52
|
return __awaiter(this, void 0, void 0, function* () {
|
|
56
53
|
if (this.access)
|
|
57
54
|
return true;
|
|
58
|
-
|
|
59
|
-
throw new Error('no binding specified');
|
|
55
|
+
const db = (0, bindings_1.getBindings)().db;
|
|
60
56
|
try {
|
|
61
|
-
const existing = yield
|
|
57
|
+
const existing = yield db.get(this.name);
|
|
62
58
|
if (existing) {
|
|
63
59
|
this.access = existing;
|
|
64
60
|
return true;
|
|
65
61
|
}
|
|
66
|
-
const access = yield
|
|
62
|
+
const access = yield db.create(this.name);
|
|
67
63
|
if (!access)
|
|
68
64
|
return false;
|
|
69
65
|
this.access = access;
|
|
@@ -76,9 +72,8 @@ class JsonRepository {
|
|
|
76
72
|
}
|
|
77
73
|
close() {
|
|
78
74
|
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
this.binding.release(this.name);
|
|
75
|
+
const db = (0, bindings_1.getBindings)().db;
|
|
76
|
+
db.release(this.name);
|
|
82
77
|
this.access = null;
|
|
83
78
|
return true;
|
|
84
79
|
});
|
|
@@ -29,9 +29,11 @@ export interface FileInfo {
|
|
|
29
29
|
type: 'url' | 'file';
|
|
30
30
|
url?: string;
|
|
31
31
|
name: string;
|
|
32
|
+
filename?: string;
|
|
32
33
|
dir: string;
|
|
33
34
|
ext: string;
|
|
34
35
|
delimiter: string;
|
|
36
|
+
encoding?: any;
|
|
35
37
|
}
|
|
36
38
|
export interface IFileLoader {
|
|
37
39
|
open(file: FileInfo): Promise<FileLoaderResult>;
|
package/lib/api/video/index.d.ts
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
on(event: string, callback: any): any;
|
|
3
|
-
off(event: string, callback: any): any;
|
|
4
|
-
once(event: string, callback: any): any;
|
|
5
|
-
stop(): any;
|
|
6
|
-
}
|
|
1
|
+
import { Observer } from "../../base/types/observer";
|
|
7
2
|
export type ScreenshotProps = {
|
|
8
3
|
outDir: string;
|
|
9
4
|
position: number | string;
|
|
@@ -13,6 +8,8 @@ export type ConvertProps = {
|
|
|
13
8
|
outDir: string;
|
|
14
9
|
};
|
|
15
10
|
export interface IVideoProcessor {
|
|
11
|
+
isScreenshotSuported(): boolean;
|
|
12
|
+
isConvertSuported(): boolean;
|
|
16
13
|
screenshot(url: string, props?: any): Promise<string>;
|
|
17
|
-
convert(url: string, props?: any): Promise<
|
|
14
|
+
convert(url: string, props?: any): Promise<Observer>;
|
|
18
15
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FreeRideCard = void 0;
|
|
4
|
+
class FreeRideCard {
|
|
5
|
+
constructor(state, title) {
|
|
6
|
+
this.type = 'free-ride';
|
|
7
|
+
this.state = state;
|
|
8
|
+
this.title = title || 'Free Ride';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.FreeRideCard = FreeRideCard;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImportCard = void 0;
|
|
4
|
+
class ImportCard {
|
|
5
|
+
constructor(state, title) {
|
|
6
|
+
this.type = 'import';
|
|
7
|
+
this.state = state;
|
|
8
|
+
this.title = title || 'Import Route';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.ImportCard = ImportCard;
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
__exportStar(require("./service"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { Page, InternalRouteListState, List, RouteInfo, Route, RouteListEntry, RouteListStartProps, RouteListData, RouteStartSettings, onRouteStatusUpdateCallback, onCarouselStateChangedCallback, RoutesDB, FreeRideSettings } from "./types";
|
|
2
|
+
import IncyclistRoutesApi from "../../src/routes/base/api";
|
|
3
|
+
import { RouteApiDescription, RouteApiDetail } from "../../src/routes/base/api/types";
|
|
4
|
+
import { IncyclistService } from "../../src/base/service";
|
|
5
|
+
import { FileInfo, IFileLoader, IJsonRepositoryBinding, JsonRepository } from "../../src/api";
|
|
6
|
+
import { LatLng } from "../../src/utils/geo";
|
|
7
|
+
import { IPathBinding } from "../../src/api/path";
|
|
8
|
+
import { IVideoProcessor } from "../../src/api/video";
|
|
9
|
+
type filterFn = (route: Route, idx: number, obj: Route[]) => boolean;
|
|
10
|
+
export declare class RouteListService extends IncyclistService {
|
|
11
|
+
protected static _instance: any;
|
|
12
|
+
static getInstance(): RouteListService;
|
|
13
|
+
protected baseDir: string;
|
|
14
|
+
protected state: InternalRouteListState;
|
|
15
|
+
protected lists: Array<RouteListEntry>;
|
|
16
|
+
protected videosRepo: JsonRepository;
|
|
17
|
+
protected routesRepo: JsonRepository;
|
|
18
|
+
protected api: IncyclistRoutesApi;
|
|
19
|
+
protected routeDescriptions: RoutesDB;
|
|
20
|
+
protected loader: IFileLoader;
|
|
21
|
+
protected videoProcessor: IVideoProcessor;
|
|
22
|
+
constructor();
|
|
23
|
+
initBindings(bindings: {
|
|
24
|
+
path?: IPathBinding;
|
|
25
|
+
db: IJsonRepositoryBinding;
|
|
26
|
+
loader?: IFileLoader;
|
|
27
|
+
video?: IVideoProcessor;
|
|
28
|
+
}): void;
|
|
29
|
+
protected getVideosRepo(): JsonRepository;
|
|
30
|
+
protected getRoutesRepo(): JsonRepository;
|
|
31
|
+
preload(carouselSize?: number): Promise<void>;
|
|
32
|
+
load(props: {
|
|
33
|
+
list?: List;
|
|
34
|
+
loadFrom?: number;
|
|
35
|
+
loadTo?: number;
|
|
36
|
+
routeId?: string;
|
|
37
|
+
}): Promise<void>;
|
|
38
|
+
openRouteSelection(pageId: string, props: RouteListStartProps): RouteListData;
|
|
39
|
+
closeRouteSelection(pageId: string): void;
|
|
40
|
+
onResize(pageId: string): void;
|
|
41
|
+
openStartSettings(r: RouteInfo | string): RouteStartSettings;
|
|
42
|
+
cancelStartSettings(r: RouteInfo | string): {};
|
|
43
|
+
acceptStartSettings(r: RouteInfo | string, startSettings: RouteStartSettings): {};
|
|
44
|
+
openFreeRideSettings(): FreeRideSettings;
|
|
45
|
+
cancelFreeRideSettings(): void;
|
|
46
|
+
changeFreeRideSettings(props: {
|
|
47
|
+
position: LatLng;
|
|
48
|
+
}): void;
|
|
49
|
+
acceptFreeRideSettings(options: any): void;
|
|
50
|
+
import(pageId: any, files: Array<FileInfo>): void;
|
|
51
|
+
setCardUpdateHandler(pageId: string, r: RouteInfo | string, list: List, idx: number, onRouteStateChanged: onRouteStatusUpdateCallback, onCarouselStateChanged: onCarouselStateChangedCallback): void;
|
|
52
|
+
onCarouselInitialized(pageId: string, list: List, startIdx: number, visibleSize: number): void;
|
|
53
|
+
onCarouselUpdated(pageId: string, list: List, startIdx: number, visibleSize: number): void;
|
|
54
|
+
getSelectedRoute(): RouteApiDetail;
|
|
55
|
+
getStartSettings(routeId?: string): RouteStartSettings;
|
|
56
|
+
startRide(r?: RouteInfo | string): {};
|
|
57
|
+
stopRide(r?: RouteInfo | string): void;
|
|
58
|
+
startDownload(routeId: any, onStatusUpdate: any): void;
|
|
59
|
+
cancelDownload(routeId: any): void;
|
|
60
|
+
protected _preload(carouselSize?: number, detailsOnly?: boolean): Promise<void>;
|
|
61
|
+
protected preloadList(list: List, carouselSize?: number): Promise<void>;
|
|
62
|
+
protected loadStartSettingsFromUserSettings(route: Route): {
|
|
63
|
+
startPos: number;
|
|
64
|
+
realityFactor: number;
|
|
65
|
+
segment: any;
|
|
66
|
+
};
|
|
67
|
+
protected loadFreeRideSettingsFromUserSettings(): {
|
|
68
|
+
position: LatLng;
|
|
69
|
+
};
|
|
70
|
+
protected writeFreeRideSettingsToUserSettings(position: LatLng): void;
|
|
71
|
+
protected writeStartSettingsToUserSettings(route: Route, startSettings: RouteStartSettings): void;
|
|
72
|
+
protected writeStartSettings(route: Route, startSettings: RouteStartSettings): void;
|
|
73
|
+
protected getUserSetting(key: string, defValue?: any): any;
|
|
74
|
+
protected emitPageUpdate(): void;
|
|
75
|
+
protected initRouteLists(): void;
|
|
76
|
+
protected getPageState(pageId: string, lang?: string): RouteListData;
|
|
77
|
+
protected registerPage(pageId: string, props: RouteListStartProps): Page;
|
|
78
|
+
protected sort(list: List, routes: RouteInfo[] | Route[]): void;
|
|
79
|
+
protected getRouteListDataEntry(list: List, entry: Array<Route>, language: string, listHeader: string): {
|
|
80
|
+
list: List;
|
|
81
|
+
listHeader: string;
|
|
82
|
+
routes: import("../../src/routes/base/types").RouteInfo[];
|
|
83
|
+
};
|
|
84
|
+
protected getPage(pageId: string, byIndex?: boolean): Page | undefined | number;
|
|
85
|
+
protected getRouteDescription(list: List, id: string): RouteInfo;
|
|
86
|
+
protected mergeDescription(local: RouteInfo, fromApi: RouteInfo): void;
|
|
87
|
+
protected mergeWithDetails(route: Route): void;
|
|
88
|
+
protected convertDescription(descr: RouteApiDescription, isLocal?: boolean): RouteInfo;
|
|
89
|
+
protected getListFromApiDesciption(description: RouteApiDescription): "selected" | "myRoutes" | "alternatives";
|
|
90
|
+
protected addRouteToList(list: List, route: Route): void;
|
|
91
|
+
protected getRouteList(list: List): Array<Route>;
|
|
92
|
+
protected getRouteLists(): Array<{
|
|
93
|
+
list: List;
|
|
94
|
+
title: string;
|
|
95
|
+
}>;
|
|
96
|
+
protected getRoute(criteria: string | filterFn): Route;
|
|
97
|
+
protected getAllRoutes(): Array<Route>;
|
|
98
|
+
protected stopAllRides(): void;
|
|
99
|
+
protected addDescriptionsFromDB(descriptions: RoutesDB): void;
|
|
100
|
+
protected addDescriptionsFromRepo(descriptions: Array<RouteApiDescription>, repo?: JsonRepository): void;
|
|
101
|
+
protected addDescriptionsFromServer(descriptions: Array<RouteApiDescription>): void;
|
|
102
|
+
protected addDescriptionFromFile(data: RouteInfo, details: RouteApiDetail): void;
|
|
103
|
+
protected updateRouteTitle(data: RouteInfo, route: {
|
|
104
|
+
descr?: RouteApiDescription;
|
|
105
|
+
}): void;
|
|
106
|
+
protected updateRouteCountry(data: RouteInfo, route: {
|
|
107
|
+
descr?: RouteApiDescription;
|
|
108
|
+
}): void;
|
|
109
|
+
protected getCountryPrefix(title?: string): string | undefined;
|
|
110
|
+
protected removeCountryPrefix(title?: string): string;
|
|
111
|
+
protected loadRouteDescriptionsFromRepo(): Promise<void>;
|
|
112
|
+
protected saveRouteDescriptions(): Promise<void>;
|
|
113
|
+
protected loadRouteDescriptionsFromServer(): Promise<void>;
|
|
114
|
+
protected loadRouteDescriptions(): Promise<void>;
|
|
115
|
+
protected loadRouteDetais(route: Route): Promise<RouteInfo>;
|
|
116
|
+
saveRouteDetails(route: any): Promise<void>;
|
|
117
|
+
protected emitRouteUpdated(route: Route): void;
|
|
118
|
+
protected getListState(page: Page, list: List): import("./types").RouteListDateEntry;
|
|
119
|
+
private getRouteFromStartProps;
|
|
120
|
+
private isDescriptionsLoaded;
|
|
121
|
+
private decodePoints;
|
|
122
|
+
private encodePoints;
|
|
123
|
+
}
|
|
124
|
+
export declare const useRouteList: () => RouteListService;
|
|
125
|
+
export {};
|