@o3r/mobile 11.6.0-prerelease.2 → 11.6.0-prerelease.20
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/capacitor/capacitor-target.service.d.ts.map +1 -1
- package/capacitor/helpers.d.ts.map +1 -1
- package/capacitor/storage/rehydrater.d.ts +1 -1
- package/capacitor/storage/rehydrater.d.ts.map +1 -1
- package/capacitor/storage/rehydrater.module.d.ts.map +1 -1
- package/capacitor/storage/storage.d.ts.map +1 -1
- package/esm2022/capacitor/capacitor-target.service.mjs +9 -9
- package/esm2022/capacitor/helpers.mjs +2 -2
- package/esm2022/capacitor/storage/rehydrater.mjs +10 -9
- package/esm2022/capacitor/storage/rehydrater.module.mjs +9 -9
- package/esm2022/capacitor/storage/storage.mjs +2 -2
- package/fesm2022/o3r-mobile.mjs +14 -13
- package/fesm2022/o3r-mobile.mjs.map +1 -1
- package/package.json +5 -5
- package/pcloudy/pcloudy.api.d.ts +0 -12
- package/pcloudy/pcloudy.api.d.ts.map +1 -1
- package/pcloudy/pcloudy.api.js +9 -20
- package/pcloudy/pcloudy.api.js.map +1 -1
- package/pcloudy/pcloudy.connection.js +3 -10
- package/pcloudy/pcloudy.connection.js.map +1 -1
- package/pcloudy/pcloudy.interfaces.d.ts +1 -1
- package/pcloudy/pcloudy.interfaces.d.ts.map +1 -1
- package/pcloudy/pcloudy.interfaces.js +1 -2
- package/pcloudy/pcloudy.interfaces.js.map +1 -1
- package/pcloudy/pcloudy.service.d.ts +2 -8
- package/pcloudy/pcloudy.service.d.ts.map +1 -1
- package/pcloudy/pcloudy.service.js +5 -11
- package/pcloudy/pcloudy.service.js.map +1 -1
- package/pcloudy/tsconfig.pcloudy.tsbuildinfo +1 -1
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/schema.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacitor-target.service.d.ts","sourceRoot":"","sources":["../../src/capacitor/capacitor-target.service.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"capacitor-target.service.d.ts","sourceRoot":"","sources":["../../src/capacitor/capacitor-target.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACV,MAAM,eAAe,CAAC;;AAYvB,qBAGa,sBAAuB,YAAW,SAAS;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;YAEtC,sBAAsB;IAcpC;;;OAGG;IACI,WAAW,IAAI,IAAI;IASnB,WAAW;yCA9BP,sBAAsB;6CAAtB,sBAAsB;CAiClC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/capacitor/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/capacitor/helpers.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AAE3D;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAGxE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG3D;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAalD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
import { Store } from '@ngrx/store';
|
|
3
|
-
import { StorageSyncOptions } from '@o3r/store-sync';
|
|
4
3
|
import { LoggerService } from '@o3r/logger';
|
|
4
|
+
import { StorageSyncOptions } from '@o3r/store-sync';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
/**
|
|
7
7
|
* Injection token for the storage sync options
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehydrater.d.ts","sourceRoot":"","sources":["../../../src/capacitor/storage/rehydrater.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"rehydrater.d.ts","sourceRoot":"","sources":["../../../src/capacitor/storage/rehydrater.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,EACN,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAKL,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;;AAEzB;;GAEG;AACH,eAAO,MAAM,oBAAoB,6CAA0E,CAAC;AAI5G,qBACa,mBAAmB;IAG5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAEtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAE1B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACJ,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACjD,MAAM,EAAE,aAAa;IAKxC;;OAEG;IACU,SAAS;yCAbX,mBAAmB;6CAAnB,mBAAmB;CAgE/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehydrater.module.d.ts","sourceRoot":"","sources":["../../../src/capacitor/storage/rehydrater.module.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"rehydrater.module.d.ts","sourceRoot":"","sources":["../../../src/capacitor/storage/rehydrater.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAEpB,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EACV,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;;;;AAMzB,qBASa,yBAAyB;WACtB,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,CAAC,yBAAyB,CAAC;yCADvF,yBAAyB;0CAAzB,yBAAyB;0CAAzB,yBAAyB;CASrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/capacitor/storage/storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/capacitor/storage/storage.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACb,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACxD;;OAEG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhD;;OAEG;IACU,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAI1D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Browser } from '@capacitor/browser';
|
|
3
|
-
import { fromEvent } from 'rxjs';
|
|
4
|
-
import { isCapacitorContext } from './helpers';
|
|
1
|
+
import { Injectable, } from '@angular/core';
|
|
2
|
+
import { Browser, } from '@capacitor/browser';
|
|
3
|
+
import { fromEvent, } from 'rxjs';
|
|
4
|
+
import { isCapacitorContext, } from './helpers';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class CapacitorTargetService {
|
|
7
7
|
constructor() {
|
|
@@ -26,7 +26,7 @@ export class CapacitorTargetService {
|
|
|
26
26
|
* Instead of the default action, it will open the URL using the CapacitorJS Browser plugin.
|
|
27
27
|
*/
|
|
28
28
|
hijackClick() {
|
|
29
|
-
if (
|
|
29
|
+
if (this.subscriptions.length === 0) {
|
|
30
30
|
this.subscriptions.push(fromEvent(document, 'click').subscribe(async (event) => {
|
|
31
31
|
const element = event.target;
|
|
32
32
|
await this.openInCapacitorBrowser(element, event);
|
|
@@ -36,13 +36,13 @@ export class CapacitorTargetService {
|
|
|
36
36
|
ngOnDestroy() {
|
|
37
37
|
this.subscriptions.forEach((subscription) => subscription.unsubscribe());
|
|
38
38
|
}
|
|
39
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
40
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
39
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorTargetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorTargetService, providedIn: 'root' }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorTargetService, decorators: [{
|
|
43
43
|
type: Injectable,
|
|
44
44
|
args: [{
|
|
45
45
|
providedIn: 'root'
|
|
46
46
|
}]
|
|
47
47
|
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWNpdG9yLXRhcmdldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NhcGFjaXRvci9jYXBhY2l0b3ItdGFyZ2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsR0FFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsT0FBTyxHQUNSLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNMLFNBQVMsR0FFVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFDTCxrQkFBa0IsR0FDbkIsTUFBTSxXQUFXLENBQUM7O0FBS25CLE1BQU0sT0FBTyxzQkFBc0I7SUFIbkM7UUFJbUIsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0tBZ0NyRDtJQTlCUyxLQUFLLENBQUMsc0JBQXNCLENBQUMsT0FBMkIsRUFBRSxLQUFZO1FBQzVFLElBQUksTUFBTSxrQkFBa0IsRUFBRSxJQUFJLE9BQU8sWUFBWSxPQUFPLEVBQUUsQ0FBQztZQUM3RCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQzVCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3pDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxRQUFRLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQ3ZELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7Z0JBQzVELENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsRSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUM3RSxNQUFNLE9BQU8sR0FBdUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDakQsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7a0lBaENVLHNCQUFzQjtzSUFBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlLFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQnJvd3Nlcixcbn0gZnJvbSAnQGNhcGFjaXRvci9icm93c2VyJztcbmltcG9ydCB7XG4gIGZyb21FdmVudCxcbiAgU3Vic2NyaXB0aW9uLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGlzQ2FwYWNpdG9yQ29udGV4dCxcbn0gZnJvbSAnLi9oZWxwZXJzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FwYWNpdG9yVGFyZ2V0U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBwcml2YXRlIGFzeW5jIG9wZW5JbkNhcGFjaXRvckJyb3dzZXIoZWxlbWVudDogRXZlbnRUYXJnZXQgfCBudWxsLCBldmVudDogRXZlbnQpIHtcbiAgICBpZiAoYXdhaXQgaXNDYXBhY2l0b3JDb250ZXh0KCkgJiYgZWxlbWVudCBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcbiAgICAgIGlmIChlbGVtZW50LnRhZ05hbWUgPT09ICdBJykge1xuICAgICAgICBjb25zdCB1cmwgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnaHJlZicpO1xuICAgICAgICBpZiAoZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpID09PSAnX2JsYW5rJyAmJiB1cmwpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGF3YWl0IEJyb3dzZXIub3Blbih7IHVybCwgcHJlc2VudGF0aW9uU3R5bGU6ICdwb3BvdmVyJyB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgdGhpcy5vcGVuSW5DYXBhY2l0b3JCcm93c2VyKGVsZW1lbnQucGFyZW50RWxlbWVudCwgZXZlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgY2FsbGVkIGZvciAnaGlqYWNraW5nJyB0aGUgY2xpY2sgZXZlbnQgb24gPGE+IHRhZ3Mgd2l0aCB0YXJnZXQgX2JsYW5rIGF0dHJpYnV0ZS5cbiAgICogSW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBhY3Rpb24sIGl0IHdpbGwgb3BlbiB0aGUgVVJMIHVzaW5nIHRoZSBDYXBhY2l0b3JKUyBCcm93c2VyIHBsdWdpbi5cbiAgICovXG4gIHB1YmxpYyBoaWphY2tDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKS5zdWJzY3JpYmUoYXN5bmMgKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgYXdhaXQgdGhpcy5vcGVuSW5DYXBhY2l0b3JCcm93c2VyKGVsZW1lbnQsIGV2ZW50KTtcbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Device } from '@capacitor/device';
|
|
1
|
+
import { Device, } from '@capacitor/device';
|
|
2
2
|
/**
|
|
3
3
|
* Returns the capacitor platform
|
|
4
4
|
*/
|
|
@@ -30,4 +30,4 @@ export async function getBaseUrl() {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jYXBhY2l0b3IvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsTUFBTSxHQUNQLE1BQU0sbUJBQW1CLENBQUM7QUFPM0I7O0dBRUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLG9CQUFvQjtJQUN4QyxNQUFNLElBQUksR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7QUFDdkIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxrQkFBa0I7SUFDdEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO0lBQzlDLE9BQU8sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxVQUFVO0lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztJQUM5QyxRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDYixPQUFPLHVCQUF1QixDQUFDO1FBQ2pDLENBQUM7UUFDRCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLE9BQU8sa0JBQWtCLENBQUM7UUFDNUIsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDUixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERldmljZSxcbn0gZnJvbSAnQGNhcGFjaXRvci9kZXZpY2UnO1xuXG4vKipcbiAqIFR5cGUgZm9yIHRoZSAzIGNhcGFjaXRvciBwbGF0Zm9ybXNcbiAqL1xuZXhwb3J0IHR5cGUgQ2FwYWNpdG9yUGxhdGZvcm1zID0gJ2lvcycgfCAnYW5kcm9pZCcgfCAnd2ViJztcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBjYXBhY2l0b3IgcGxhdGZvcm1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENhcGFjaXRvclBsYXRmb3JtKCk6IFByb21pc2U8Q2FwYWNpdG9yUGxhdGZvcm1zPiB7XG4gIGNvbnN0IGluZm8gPSBhd2FpdCBEZXZpY2UuZ2V0SW5mbygpO1xuICByZXR1cm4gaW5mby5wbGF0Zm9ybTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgaW4gYSBjYXBhY2l0b3IgY29udGV4dCAobW9iaWxlIGFwcCkgb3IgZmFsc2UgZm9yIHdlYlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaXNDYXBhY2l0b3JDb250ZXh0KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBwbGF0Zm9ybSA9IGF3YWl0IGdldENhcGFjaXRvclBsYXRmb3JtKCk7XG4gIHJldHVybiAocGxhdGZvcm0gPT09ICdpb3MnKSB8fCAocGxhdGZvcm0gPT09ICdhbmRyb2lkJyk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYmFzZVVybCB0aGF0IGNhbiBiZSB1c2VkIGRlcGVuZGluZyBvbiB0aGUgcGxhdGZvcm1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJhc2VVcmwoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgcGxhdGZvcm0gPSBhd2FpdCBnZXRDYXBhY2l0b3JQbGF0Zm9ybSgpO1xuICBzd2l0Y2ggKHBsYXRmb3JtKSB7XG4gICAgY2FzZSAoJ2lvcycpOiB7XG4gICAgICByZXR1cm4gJ2NhcGFjaXRvcjovL2xvY2FsaG9zdCc7XG4gICAgfVxuICAgIGNhc2UgKCdhbmRyb2lkJyk6IHtcbiAgICAgIHJldHVybiAnaHR0cDovL2xvY2FsaG9zdCc7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Inject, Injectable, InjectionToken } from '@angular/core';
|
|
2
|
-
import { Store } from '@ngrx/store';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { Inject, Injectable, InjectionToken, } from '@angular/core';
|
|
2
|
+
import { Store, } from '@ngrx/store';
|
|
3
|
+
import { LoggerService, } from '@o3r/logger';
|
|
4
|
+
import { dateReviver, isLocalStorageConfig, isSerializer, rehydrateAction, } from '@o3r/store-sync';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@ngrx/store";
|
|
7
7
|
import * as i2 from "@o3r/logger";
|
|
@@ -9,6 +9,7 @@ import * as i2 from "@o3r/logger";
|
|
|
9
9
|
* Injection token for the storage sync options
|
|
10
10
|
*/
|
|
11
11
|
export const STORAGE_SYNC_OPTIONS = new InjectionToken('STORAGE_SYNC_OPTIONS');
|
|
12
|
+
const noopDeserializer = (raw) => raw;
|
|
12
13
|
export class CapacitorRehydrater {
|
|
13
14
|
constructor(store, options, logger) {
|
|
14
15
|
this.store = store;
|
|
@@ -28,7 +29,7 @@ export class CapacitorRehydrater {
|
|
|
28
29
|
const storeName = Object.keys(key)[0];
|
|
29
30
|
const storeSynchronizer = key[storeName];
|
|
30
31
|
let reviver = this.options.restoreDates ? dateReviver : undefined;
|
|
31
|
-
let deserialize =
|
|
32
|
+
let deserialize = noopDeserializer;
|
|
32
33
|
if (isSerializer(storeSynchronizer)) {
|
|
33
34
|
if (storeSynchronizer.reviver) {
|
|
34
35
|
reviver = storeSynchronizer.reviver;
|
|
@@ -56,13 +57,13 @@ export class CapacitorRehydrater {
|
|
|
56
57
|
payload: result.reduce((acc, store) => ({ ...acc, ...store }), {})
|
|
57
58
|
}));
|
|
58
59
|
}
|
|
59
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
60
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
60
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydrater, deps: [{ token: i1.Store }, { token: STORAGE_SYNC_OPTIONS }, { token: i2.LoggerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
61
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydrater }); }
|
|
61
62
|
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydrater, decorators: [{
|
|
63
64
|
type: Injectable
|
|
64
65
|
}], ctorParameters: () => [{ type: i1.Store }, { type: undefined, decorators: [{
|
|
65
66
|
type: Inject,
|
|
66
67
|
args: [STORAGE_SYNC_OPTIONS]
|
|
67
68
|
}] }, { type: i2.LoggerService }] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVoeWRyYXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYXBhY2l0b3Ivc3RvcmFnZS9yZWh5ZHJhdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxNQUFNLEVBQ04sVUFBVSxFQUNWLGNBQWMsR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsS0FBSyxHQUNOLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDTCxhQUFhLEdBQ2QsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUNMLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLGVBQWUsR0FFaEIsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUV6Qjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUE4QixzQkFBc0IsQ0FBQyxDQUFDO0FBRTVHLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQztBQUc5QyxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQ21CLEtBQWlCLEVBQ0osT0FBb0MsRUFDakQsTUFBcUI7UUFGckIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUVqQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBRXRDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFNBQVM7UUFDcEIsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1lBQzlFLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQStDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSTthQUMvRSxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEMsTUFBTSxpQkFBaUIsR0FBSSxHQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbEQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2xFLElBQUksV0FBVyxHQUFHLGdCQUFnQixDQUFDO1lBRW5DLElBQUksWUFBWSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDOUIsT0FBTyxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQztnQkFDdEMsQ0FBQztnQkFDRCxJQUFJLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNsQyxXQUFXLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDO2dCQUM5QyxDQUFDO1lBQ0gsQ0FBQztZQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFRLENBQUMsT0FBTyxDQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQjtnQkFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDO2dCQUM5QyxDQUFDLENBQUMsU0FBUyxDQUNkLENBQUM7WUFDRixJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQztnQkFDN0IsSUFBSSxHQUFHLEdBQUcsVUFBVSxDQUFDO2dCQUVyQixJQUFJLFVBQVUsS0FBSyxNQUFNLElBQUksVUFBVSxLQUFLLE1BQU0sSUFBSSxVQUFVLEtBQUssT0FBTyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ3pILEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDeEMsQ0FBQztnQkFFRCxPQUFPO29CQUNMLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQztpQkFDOUIsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsZUFBZSxDQUFDO1lBQ2QsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQ3BCLENBQUMsR0FBd0IsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQzNELEVBQUUsQ0FDSDtTQUNGLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztrSUEvRFUsbUJBQW1CLHVDQUlwQixvQkFBb0I7c0lBSm5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVTs7MEJBS04sTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIEluamVjdGlvblRva2VuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFN0b3JlLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBMb2dnZXJTZXJ2aWNlLFxufSBmcm9tICdAbzNyL2xvZ2dlcic7XG5pbXBvcnQge1xuICBkYXRlUmV2aXZlcixcbiAgaXNMb2NhbFN0b3JhZ2VDb25maWcsXG4gIGlzU2VyaWFsaXplcixcbiAgcmVoeWRyYXRlQWN0aW9uLFxuICBTdG9yYWdlU3luY09wdGlvbnMsXG59IGZyb20gJ0BvM3Ivc3RvcmUtc3luYyc7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciB0aGUgc3RvcmFnZSBzeW5jIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNUT1JBR0VfU1lOQ19PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFBhcnRpYWw8U3RvcmFnZVN5bmNPcHRpb25zPj4oJ1NUT1JBR0VfU1lOQ19PUFRJT05TJyk7XG5cbmNvbnN0IG5vb3BEZXNlcmlhbGl6ZXIgPSAocmF3OiBzdHJpbmcpID0+IHJhdztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhcGFjaXRvclJlaHlkcmF0ZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFN0b3JhZ2VTeW5jT3B0aW9ucztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8YW55PixcbiAgICBASW5qZWN0KFNUT1JBR0VfU1lOQ19PUFRJT05TKSBvcHRpb25zOiBQYXJ0aWFsPFN0b3JhZ2VTeW5jT3B0aW9ucz4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5vcHRpb25zID0geyBrZXlzOiBbXSwgLi4ub3B0aW9ucyB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoIGFuIGFjdGlvbiB0byByZWh5ZHJhdGUgdGhlIHN0b3JlIHdpdGggdGhlIGRhdGEgZnJvbSB0aGUgc3RvcmFnZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIHJlaHlkcmF0ZSgpIHtcbiAgICBpZiAoaXNMb2NhbFN0b3JhZ2VDb25maWcodGhpcy5vcHRpb25zKSkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybignQSBub24tYXN5bmMgc3RvcmFnZSBpcyB1c2VkLCByZWh5ZHJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0b3JhZ2VDYWxsczogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkPltdID0gdGhpcy5vcHRpb25zLmtleXNcbiAgICAgIC5tYXAoYXN5bmMgKGtleSkgPT4ge1xuICAgICAgICBjb25zdCBzdG9yZU5hbWUgPSBPYmplY3Qua2V5cyhrZXkpWzBdO1xuICAgICAgICBjb25zdCBzdG9yZVN5bmNocm9uaXplciA9IChrZXkgYXMgYW55KVtzdG9yZU5hbWVdO1xuICAgICAgICBsZXQgcmV2aXZlciA9IHRoaXMub3B0aW9ucy5yZXN0b3JlRGF0ZXMgPyBkYXRlUmV2aXZlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IGRlc2VyaWFsaXplID0gbm9vcERlc2VyaWFsaXplcjtcblxuICAgICAgICBpZiAoaXNTZXJpYWxpemVyKHN0b3JlU3luY2hyb25pemVyKSkge1xuICAgICAgICAgIGlmIChzdG9yZVN5bmNocm9uaXplci5yZXZpdmVyKSB7XG4gICAgICAgICAgICByZXZpdmVyID0gc3RvcmVTeW5jaHJvbml6ZXIucmV2aXZlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHN0b3JlU3luY2hyb25pemVyLmRlc2VyaWFsaXplKSB7XG4gICAgICAgICAgICBkZXNlcmlhbGl6ZSA9IHN0b3JlU3luY2hyb25pemVyLmRlc2VyaWFsaXplO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0YXRlU2xpY2UgPSBhd2FpdCB0aGlzLm9wdGlvbnMuc3RvcmFnZSEuZ2V0SXRlbShcbiAgICAgICAgICB0aGlzLm9wdGlvbnMuc3RvcmFnZUtleVNlcmlhbGl6ZXJcbiAgICAgICAgICAgID8gdGhpcy5vcHRpb25zLnN0b3JhZ2VLZXlTZXJpYWxpemVyKHN0b3JlTmFtZSlcbiAgICAgICAgICAgIDogc3RvcmVOYW1lXG4gICAgICAgICk7XG4gICAgICAgIGlmIChzdGF0ZVNsaWNlKSB7XG4gICAgICAgICAgY29uc3QgaXNPYmplY3RSZWdleCA9IC97fFxcWy87XG4gICAgICAgICAgbGV0IHJhdyA9IHN0YXRlU2xpY2U7XG5cbiAgICAgICAgICBpZiAoc3RhdGVTbGljZSA9PT0gJ251bGwnIHx8IHN0YXRlU2xpY2UgPT09ICd0cnVlJyB8fCBzdGF0ZVNsaWNlID09PSAnZmFsc2UnIHx8IGlzT2JqZWN0UmVnZXgudGVzdChzdGF0ZVNsaWNlLmNoYXJBdCgwKSkpIHtcbiAgICAgICAgICAgIHJhdyA9IEpTT04ucGFyc2Uoc3RhdGVTbGljZSwgcmV2aXZlcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIFtzdG9yZU5hbWVdOiBkZXNlcmlhbGl6ZShyYXcpXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLmFsbChzdG9yYWdlQ2FsbHMpO1xuXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIHJlaHlkcmF0ZUFjdGlvbih7XG4gICAgICAgIHBheWxvYWQ6IHJlc3VsdC5yZWR1Y2UoXG4gICAgICAgICAgKGFjYzogUmVjb3JkPHN0cmluZywgYW55Piwgc3RvcmUpID0+ICh7IC4uLmFjYywgLi4uc3RvcmUgfSksXG4gICAgICAgICAge31cbiAgICAgICAgKVxuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { StoreModule } from '@ngrx/store';
|
|
3
|
-
import { LoggerModule } from '@o3r/logger';
|
|
4
|
-
import { CapacitorRehydrater, STORAGE_SYNC_OPTIONS } from './rehydrater';
|
|
1
|
+
import { NgModule, } from '@angular/core';
|
|
2
|
+
import { StoreModule, } from '@ngrx/store';
|
|
3
|
+
import { LoggerModule, } from '@o3r/logger';
|
|
4
|
+
import { CapacitorRehydrater, STORAGE_SYNC_OPTIONS, } from './rehydrater';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class CapacitorRehydraterModule {
|
|
7
7
|
static forRoot(options) {
|
|
@@ -12,15 +12,15 @@ export class CapacitorRehydraterModule {
|
|
|
12
12
|
]
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
16
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
15
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydraterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydraterModule, imports: [StoreModule,
|
|
17
17
|
LoggerModule] }); }
|
|
18
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydraterModule, providers: [
|
|
19
19
|
CapacitorRehydrater
|
|
20
20
|
], imports: [StoreModule,
|
|
21
21
|
LoggerModule] }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydraterModule, decorators: [{
|
|
24
24
|
type: NgModule,
|
|
25
25
|
args: [{
|
|
26
26
|
imports: [
|
|
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
32
32
|
]
|
|
33
33
|
}]
|
|
34
34
|
}] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVoeWRyYXRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2FwYWNpdG9yL3N0b3JhZ2UvcmVoeWRyYXRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsV0FBVyxHQUNaLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDTCxZQUFZLEdBQ2IsTUFBTSxhQUFhLENBQUM7QUFJckIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixvQkFBb0IsR0FDckIsTUFBTSxjQUFjLENBQUM7O0FBV3RCLE1BQU0sT0FBTyx5QkFBeUI7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUMvQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTthQUNyRDtTQUNGLENBQUM7SUFDSixDQUFDO2tJQVJVLHlCQUF5QjttSUFBekIseUJBQXlCLFlBUGxDLFdBQVc7WUFDWCxZQUFZO21JQU1ILHlCQUF5QixhQUp6QjtZQUNULG1CQUFtQjtTQUNwQixZQUxDLFdBQVc7WUFDWCxZQUFZOzs0RkFNSCx5QkFBeUI7a0JBVHJDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsWUFBWTtxQkFDYjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gIE5nTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFN0b3JlTW9kdWxlLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBMb2dnZXJNb2R1bGUsXG59IGZyb20gJ0BvM3IvbG9nZ2VyJztcbmltcG9ydCB0eXBlIHtcbiAgU3RvcmFnZVN5bmNPcHRpb25zLFxufSBmcm9tICdAbzNyL3N0b3JlLXN5bmMnO1xuaW1wb3J0IHtcbiAgQ2FwYWNpdG9yUmVoeWRyYXRlcixcbiAgU1RPUkFHRV9TWU5DX09QVElPTlMsXG59IGZyb20gJy4vcmVoeWRyYXRlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTdG9yZU1vZHVsZSxcbiAgICBMb2dnZXJNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQ2FwYWNpdG9yUmVoeWRyYXRlclxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENhcGFjaXRvclJlaHlkcmF0ZXJNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3Qob3B0aW9uczogU3RvcmFnZVN5bmNPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDYXBhY2l0b3JSZWh5ZHJhdGVyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBDYXBhY2l0b3JSZWh5ZHJhdGVyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogU1RPUkFHRV9TWU5DX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Preferences as CapacitorStorage } from '@capacitor/preferences';
|
|
1
|
+
import { Preferences as CapacitorStorage, } from '@capacitor/preferences';
|
|
2
2
|
/**
|
|
3
3
|
* Capacitor storage
|
|
4
4
|
*/
|
|
@@ -23,4 +23,4 @@ export class OtterCapacitorStorage {
|
|
|
23
23
|
return value;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYXBhY2l0b3Ivc3RvcmFnZS9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLElBQUksZ0JBQWdCLEdBQ2hDLE1BQU0sd0JBQXdCLENBQUM7QUFLaEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDOztPQUVHO0lBQ0ksVUFBVSxDQUFDLEdBQVc7UUFDM0IsS0FBSyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU8sQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUN2QyxLQUFLLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBVztRQUM5QixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUHJlZmVyZW5jZXMgYXMgQ2FwYWNpdG9yU3RvcmFnZSxcbn0gZnJvbSAnQGNhcGFjaXRvci9wcmVmZXJlbmNlcyc7XG5pbXBvcnQgdHlwZSB7XG4gIEFzeW5jU3RvcmFnZSxcbn0gZnJvbSAnQG8zci9zdG9yZS1zeW5jJztcblxuLyoqXG4gKiBDYXBhY2l0b3Igc3RvcmFnZVxuICovXG5leHBvcnQgY2xhc3MgT3R0ZXJDYXBhY2l0b3JTdG9yYWdlIGltcGxlbWVudHMgQXN5bmNTdG9yYWdlIHtcbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlSXRlbShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHZvaWQgQ2FwYWNpdG9yU3RvcmFnZS5yZW1vdmUoeyBrZXkgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBzZXRJdGVtKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdm9pZCBDYXBhY2l0b3JTdG9yYWdlLnNldCh7IGtleSwgdmFsdWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRJdGVtKGtleTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gYXdhaXQgQ2FwYWNpdG9yU3RvcmFnZS5nZXQoeyBrZXkgfSk7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59XG4iXX0=
|
package/fesm2022/o3r-mobile.mjs
CHANGED
|
@@ -5,9 +5,9 @@ import { fromEvent } from 'rxjs';
|
|
|
5
5
|
import { Device } from '@capacitor/device';
|
|
6
6
|
import * as i1 from '@ngrx/store';
|
|
7
7
|
import { StoreModule } from '@ngrx/store';
|
|
8
|
-
import { isLocalStorageConfig, dateReviver, isSerializer, rehydrateAction } from '@o3r/store-sync';
|
|
9
8
|
import * as i2 from '@o3r/logger';
|
|
10
9
|
import { LoggerModule } from '@o3r/logger';
|
|
10
|
+
import { isLocalStorageConfig, dateReviver, isSerializer, rehydrateAction } from '@o3r/store-sync';
|
|
11
11
|
import { Preferences } from '@capacitor/preferences';
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -65,7 +65,7 @@ class CapacitorTargetService {
|
|
|
65
65
|
* Instead of the default action, it will open the URL using the CapacitorJS Browser plugin.
|
|
66
66
|
*/
|
|
67
67
|
hijackClick() {
|
|
68
|
-
if (
|
|
68
|
+
if (this.subscriptions.length === 0) {
|
|
69
69
|
this.subscriptions.push(fromEvent(document, 'click').subscribe(async (event) => {
|
|
70
70
|
const element = event.target;
|
|
71
71
|
await this.openInCapacitorBrowser(element, event);
|
|
@@ -75,10 +75,10 @@ class CapacitorTargetService {
|
|
|
75
75
|
ngOnDestroy() {
|
|
76
76
|
this.subscriptions.forEach((subscription) => subscription.unsubscribe());
|
|
77
77
|
}
|
|
78
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
79
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
78
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorTargetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
79
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorTargetService, providedIn: 'root' }); }
|
|
80
80
|
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorTargetService, decorators: [{
|
|
82
82
|
type: Injectable,
|
|
83
83
|
args: [{
|
|
84
84
|
providedIn: 'root'
|
|
@@ -89,6 +89,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
89
89
|
* Injection token for the storage sync options
|
|
90
90
|
*/
|
|
91
91
|
const STORAGE_SYNC_OPTIONS = new InjectionToken('STORAGE_SYNC_OPTIONS');
|
|
92
|
+
const noopDeserializer = (raw) => raw;
|
|
92
93
|
class CapacitorRehydrater {
|
|
93
94
|
constructor(store, options, logger) {
|
|
94
95
|
this.store = store;
|
|
@@ -108,7 +109,7 @@ class CapacitorRehydrater {
|
|
|
108
109
|
const storeName = Object.keys(key)[0];
|
|
109
110
|
const storeSynchronizer = key[storeName];
|
|
110
111
|
let reviver = this.options.restoreDates ? dateReviver : undefined;
|
|
111
|
-
let deserialize =
|
|
112
|
+
let deserialize = noopDeserializer;
|
|
112
113
|
if (isSerializer(storeSynchronizer)) {
|
|
113
114
|
if (storeSynchronizer.reviver) {
|
|
114
115
|
reviver = storeSynchronizer.reviver;
|
|
@@ -136,10 +137,10 @@ class CapacitorRehydrater {
|
|
|
136
137
|
payload: result.reduce((acc, store) => ({ ...acc, ...store }), {})
|
|
137
138
|
}));
|
|
138
139
|
}
|
|
139
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
140
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
140
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydrater, deps: [{ token: i1.Store }, { token: STORAGE_SYNC_OPTIONS }, { token: i2.LoggerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
141
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydrater }); }
|
|
141
142
|
}
|
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydrater, decorators: [{
|
|
143
144
|
type: Injectable
|
|
144
145
|
}], ctorParameters: () => [{ type: i1.Store }, { type: undefined, decorators: [{
|
|
145
146
|
type: Inject,
|
|
@@ -155,15 +156,15 @@ class CapacitorRehydraterModule {
|
|
|
155
156
|
]
|
|
156
157
|
};
|
|
157
158
|
}
|
|
158
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
159
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
159
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydraterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
160
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydraterModule, imports: [StoreModule,
|
|
160
161
|
LoggerModule] }); }
|
|
161
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
162
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydraterModule, providers: [
|
|
162
163
|
CapacitorRehydrater
|
|
163
164
|
], imports: [StoreModule,
|
|
164
165
|
LoggerModule] }); }
|
|
165
166
|
}
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapacitorRehydraterModule, decorators: [{
|
|
167
168
|
type: NgModule,
|
|
168
169
|
args: [{
|
|
169
170
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"o3r-mobile.mjs","sources":["../../src/capacitor/helpers.ts","../../src/capacitor/capacitor-target.service.ts","../../src/capacitor/storage/rehydrater.ts","../../src/capacitor/storage/rehydrater.module.ts","../../src/capacitor/storage/storage.ts","../../src/o3r-mobile.ts"],"sourcesContent":["import { Device } from '@capacitor/device';\n\n/**\n * Type for the 3 capacitor platforms\n */\nexport type CapacitorPlatforms = 'ios' | 'android' | 'web';\n\n\n/**\n * Returns the capacitor platform\n */\nexport async function getCapacitorPlatform(): Promise<CapacitorPlatforms> {\n const info = await Device.getInfo();\n return info.platform;\n}\n\n/**\n * Returns true if in a capacitor context (mobile app) or false for web\n */\nexport async function isCapacitorContext(): Promise<boolean> {\n const platform = await getCapacitorPlatform();\n return (platform === 'ios') || (platform === 'android');\n}\n\n/**\n * Returns the baseUrl that can be used depending on the platform\n */\nexport async function getBaseUrl(): Promise<string> {\n const platform = await getCapacitorPlatform();\n switch (platform) {\n case ('ios'): {\n return 'capacitor://localhost';\n }\n case ('android'): {\n return 'http://localhost';\n }\n default: {\n return window.location.href;\n }\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { Browser } from '@capacitor/browser';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { isCapacitorContext } from './helpers';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CapacitorTargetService implements OnDestroy {\n\n private readonly subscriptions: Subscription[] = [];\n\n private async openInCapacitorBrowser(element: EventTarget | null, event: Event) {\n if (await isCapacitorContext() && element instanceof Element) {\n if (element.tagName === 'A') {\n const url = element.getAttribute('href');\n if (element.getAttribute('target') === '_blank' && url) {\n event.preventDefault();\n await Browser.open({url, presentationStyle: 'popover'});\n }\n } else {\n await this.openInCapacitorBrowser(element.parentElement, event);\n }\n }\n }\n\n /**\n * Method called for 'hijacking' the click event on <a> tags with target _blank attribute.\n * Instead of the default action, it will open the URL using the CapacitorJS Browser plugin.\n */\n public hijackClick(): void {\n if (!this.subscriptions.length) {\n this.subscriptions.push(fromEvent(document, 'click').subscribe(async (event) => {\n const element: EventTarget | null = event.target;\n await this.openInCapacitorBrowser(element, event);\n }));\n }\n }\n\n public ngOnDestroy() {\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { dateReviver, isLocalStorageConfig, isSerializer, rehydrateAction, StorageSyncOptions } from '@o3r/store-sync';\nimport { LoggerService } from '@o3r/logger';\n\n/**\n * Injection token for the storage sync options\n */\nexport const STORAGE_SYNC_OPTIONS = new InjectionToken<Partial<StorageSyncOptions>>('STORAGE_SYNC_OPTIONS');\n\n@Injectable()\nexport class CapacitorRehydrater {\n private readonly options: StorageSyncOptions;\n constructor(\n private readonly store: Store<any>,\n @Inject(STORAGE_SYNC_OPTIONS) options: Partial<StorageSyncOptions>,\n private readonly logger: LoggerService\n ) {\n this.options = { keys: [], ...options };\n }\n\n /**\n * Dispatch an action to rehydrate the store with the data from the storage\n */\n public async rehydrate() {\n if (isLocalStorageConfig(this.options)) {\n this.logger.warn('A non-async storage is used, rehydration is not supported');\n return;\n }\n const storageCalls: Promise<Record<string, any> | undefined>[] = this.options.keys\n .map(async (key) => {\n const storeName = Object.keys(key)[0];\n const storeSynchronizer = (key as any)[storeName];\n let reviver = this.options.restoreDates ? dateReviver : undefined;\n let deserialize: (raw: string) => any = (raw: string) => raw;\n\n if (isSerializer(storeSynchronizer)) {\n if (storeSynchronizer.reviver) {\n reviver = storeSynchronizer.reviver;\n }\n if (storeSynchronizer.deserialize) {\n deserialize = storeSynchronizer.deserialize;\n }\n }\n\n const stateSlice = await this.options.storage!.getItem(\n this.options.storageKeySerializer\n ? this.options.storageKeySerializer(storeName)\n : storeName\n );\n if (stateSlice) {\n\n const isObjectRegex = /{|\\[/;\n let raw = stateSlice;\n\n if (stateSlice === 'null' || stateSlice === 'true' || stateSlice === 'false' || isObjectRegex.test(stateSlice.charAt(0))) {\n raw = JSON.parse(stateSlice, reviver);\n }\n\n return {\n [storeName]: deserialize(raw)\n };\n }\n });\n\n const result = await Promise.all(storageCalls);\n\n this.store.dispatch(\n rehydrateAction({\n payload: result.reduce(\n (acc: Record<string, any>, store) => ({...acc, ...store}),\n {}\n )\n })\n );\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { StoreModule } from '@ngrx/store';\nimport type { StorageSyncOptions } from '@o3r/store-sync';\nimport { LoggerModule } from '@o3r/logger';\nimport { CapacitorRehydrater, STORAGE_SYNC_OPTIONS } from './rehydrater';\n\n@NgModule({\n imports: [\n StoreModule,\n LoggerModule\n ],\n providers: [\n CapacitorRehydrater\n ]\n})\nexport class CapacitorRehydraterModule {\n public static forRoot(options: StorageSyncOptions): ModuleWithProviders<CapacitorRehydraterModule> {\n return {\n ngModule: CapacitorRehydraterModule,\n providers: [\n { provide: STORAGE_SYNC_OPTIONS , useValue: options }\n ]\n };\n }\n}\n","import { Preferences as CapacitorStorage } from '@capacitor/preferences';\nimport type { AsyncStorage } from '@o3r/store-sync';\n\n/**\n * Capacitor storage\n */\nexport class OtterCapacitorStorage implements AsyncStorage {\n /**\n * @inheritdoc\n */\n public removeItem(key: string): void {\n void CapacitorStorage.remove({ key });\n }\n\n /**\n * @inheritdoc\n */\n public setItem(key: string, value: string): void {\n void CapacitorStorage.set({ key, value });\n }\n\n /**\n * @inheritdoc\n */\n public async getItem(key: string): Promise<string | null> {\n const { value } = await CapacitorStorage.get({ key });\n return value;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["CapacitorStorage"],"mappings":";;;;;;;;;;;;AAQA;;AAEG;AACI,eAAe,oBAAoB,GAAA;AACxC,IAAA,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE;IACnC,OAAO,IAAI,CAAC,QAAQ;AACtB;AAEA;;AAEG;AACI,eAAe,kBAAkB,GAAA;AACtC,IAAA,MAAM,QAAQ,GAAG,MAAM,oBAAoB,EAAE;IAC7C,OAAO,CAAC,QAAQ,KAAK,KAAK,MAAM,QAAQ,KAAK,SAAS,CAAC;AACzD;AAEA;;AAEG;AACI,eAAe,UAAU,GAAA;AAC9B,IAAA,MAAM,QAAQ,GAAG,MAAM,oBAAoB,EAAE;IAC7C,QAAQ,QAAQ;AACd,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,OAAO,uBAAuB;;AAEhC,QAAA,MAAM,SAAS,GAAG;AAChB,YAAA,OAAO,kBAAkB;;QAE3B,SAAS;AACP,YAAA,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI;;;AAGjC;;MChCa,sBAAsB,CAAA;AAHnC,IAAA,WAAA,GAAA;QAKmB,IAAa,CAAA,aAAA,GAAmB,EAAE;AAgCpD;AA9BS,IAAA,MAAM,sBAAsB,CAAC,OAA2B,EAAE,KAAY,EAAA;QAC5E,IAAI,MAAM,kBAAkB,EAAE,IAAI,OAAO,YAAY,OAAO,EAAE;AAC5D,YAAA,IAAI,OAAO,CAAC,OAAO,KAAK,GAAG,EAAE;gBAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;gBACxC,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,GAAG,EAAE;oBACtD,KAAK,CAAC,cAAc,EAAE;AACtB,oBAAA,MAAM,OAAO,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAC,CAAC;;;iBAEpD;gBACL,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC;;;;AAKrE;;;AAGG;IACI,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;AAC9B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,KAAI;AAC7E,gBAAA,MAAM,OAAO,GAAuB,KAAK,CAAC,MAAM;gBAChD,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC;aAClD,CAAC,CAAC;;;IAIA,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,WAAW,EAAE,CAAC;;kIAhC/D,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,uBAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFrB,MAAM,EAAA,CAAA,CAAA;;4FAEP,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACFD;;AAEG;MACU,oBAAoB,GAAG,IAAI,cAAc,CAA8B,sBAAsB;MAG7F,mBAAmB,CAAA;AAE9B,IAAA,WAAA,CACqB,KAAiB,EACJ,OAAoC,EACjD,MAAqB,EAAA;QAFrB,IAAK,CAAA,KAAA,GAAL,KAAK;QAEL,IAAM,CAAA,MAAA,GAAN,MAAM;QAEzB,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE;;AAGzC;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;AACpB,QAAA,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC;YAC7E;;AAEF,QAAA,MAAM,YAAY,GAA+C,IAAI,CAAC,OAAO,CAAC;AAC3E,aAAA,GAAG,CAAC,OAAO,GAAG,KAAI;YACjB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrC,YAAA,MAAM,iBAAiB,GAAI,GAAW,CAAC,SAAS,CAAC;AACjD,YAAA,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,WAAW,GAAG,SAAS;YACjE,IAAI,WAAW,GAAyB,CAAC,GAAW,KAAK,GAAG;AAE5D,YAAA,IAAI,YAAY,CAAC,iBAAiB,CAAC,EAAE;AACnC,gBAAA,IAAI,iBAAiB,CAAC,OAAO,EAAE;AAC7B,oBAAA,OAAO,GAAG,iBAAiB,CAAC,OAAO;;AAErC,gBAAA,IAAI,iBAAiB,CAAC,WAAW,EAAE;AACjC,oBAAA,WAAW,GAAG,iBAAiB,CAAC,WAAW;;;AAI/C,YAAA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAQ,CAAC,OAAO,CACpD,IAAI,CAAC,OAAO,CAAC;kBACT,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS;kBAC3C,SAAS,CACd;YACD,IAAI,UAAU,EAAE;gBAEd,MAAM,aAAa,GAAG,MAAM;gBAC5B,IAAI,GAAG,GAAG,UAAU;gBAEpB,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;oBACxH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC;;gBAGvC,OAAO;AACL,oBAAA,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG;iBAC7B;;AAEL,SAAC,CAAC;QAEJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AAE9C,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,eAAe,CAAC;YACd,OAAO,EAAE,MAAM,CAAC,MAAM,CACpB,CAAC,GAAwB,EAAE,KAAK,MAAM,EAAC,GAAG,GAAG,EAAE,GAAG,KAAK,EAAC,CAAC,EACzD,EAAE;AAEL,SAAA,CAAC,CACH;;AA/DQ,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,uCAIlB,oBAAoB,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;sIAJrB,mBAAmB,EAAA,CAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B;;0BAKM,MAAM;2BAAC,oBAAoB;;;MCArB,yBAAyB,CAAA;IAC7B,OAAO,OAAO,CAAC,OAA2B,EAAA;QAC/C,OAAO;AACL,YAAA,QAAQ,EAAE,yBAAyB;AACnC,YAAA,SAAS,EAAE;AACT,gBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAG,QAAQ,EAAE,OAAO;AACpD;SACF;;kIAPQ,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAPlC,WAAW;YACX,YAAY,CAAA,EAAA,CAAA,CAAA;AAMH,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EAJzB,SAAA,EAAA;YACT;AACD,SAAA,EAAA,OAAA,EAAA,CALC,WAAW;YACX,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAMH,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBATrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,WAAW;wBACX;AACD,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT;AACD;AACF,iBAAA;;;ACXD;;AAEG;MACU,qBAAqB,CAAA;AAChC;;AAEG;AACI,IAAA,UAAU,CAAC,GAAW,EAAA;QAC3B,KAAKA,WAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;;AAGvC;;AAEG;IACI,OAAO,CAAC,GAAW,EAAE,KAAa,EAAA;QACvC,KAAKA,WAAgB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;;AAG3C;;AAEG;IACI,MAAM,OAAO,CAAC,GAAW,EAAA;AAC9B,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,MAAMA,WAAgB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;AACrD,QAAA,OAAO,KAAK;;AAEf;;AC5BD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"o3r-mobile.mjs","sources":["../../src/capacitor/helpers.ts","../../src/capacitor/capacitor-target.service.ts","../../src/capacitor/storage/rehydrater.ts","../../src/capacitor/storage/rehydrater.module.ts","../../src/capacitor/storage/storage.ts","../../src/o3r-mobile.ts"],"sourcesContent":["import {\n Device,\n} from '@capacitor/device';\n\n/**\n * Type for the 3 capacitor platforms\n */\nexport type CapacitorPlatforms = 'ios' | 'android' | 'web';\n\n/**\n * Returns the capacitor platform\n */\nexport async function getCapacitorPlatform(): Promise<CapacitorPlatforms> {\n const info = await Device.getInfo();\n return info.platform;\n}\n\n/**\n * Returns true if in a capacitor context (mobile app) or false for web\n */\nexport async function isCapacitorContext(): Promise<boolean> {\n const platform = await getCapacitorPlatform();\n return (platform === 'ios') || (platform === 'android');\n}\n\n/**\n * Returns the baseUrl that can be used depending on the platform\n */\nexport async function getBaseUrl(): Promise<string> {\n const platform = await getCapacitorPlatform();\n switch (platform) {\n case ('ios'): {\n return 'capacitor://localhost';\n }\n case ('android'): {\n return 'http://localhost';\n }\n default: {\n return window.location.href;\n }\n }\n}\n","import {\n Injectable,\n OnDestroy,\n} from '@angular/core';\nimport {\n Browser,\n} from '@capacitor/browser';\nimport {\n fromEvent,\n Subscription,\n} from 'rxjs';\nimport {\n isCapacitorContext,\n} from './helpers';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CapacitorTargetService implements OnDestroy {\n private readonly subscriptions: Subscription[] = [];\n\n private async openInCapacitorBrowser(element: EventTarget | null, event: Event) {\n if (await isCapacitorContext() && element instanceof Element) {\n if (element.tagName === 'A') {\n const url = element.getAttribute('href');\n if (element.getAttribute('target') === '_blank' && url) {\n event.preventDefault();\n await Browser.open({ url, presentationStyle: 'popover' });\n }\n } else {\n await this.openInCapacitorBrowser(element.parentElement, event);\n }\n }\n }\n\n /**\n * Method called for 'hijacking' the click event on <a> tags with target _blank attribute.\n * Instead of the default action, it will open the URL using the CapacitorJS Browser plugin.\n */\n public hijackClick(): void {\n if (this.subscriptions.length === 0) {\n this.subscriptions.push(fromEvent(document, 'click').subscribe(async (event) => {\n const element: EventTarget | null = event.target;\n await this.openInCapacitorBrowser(element, event);\n }));\n }\n }\n\n public ngOnDestroy() {\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\n }\n}\n","import {\n Inject,\n Injectable,\n InjectionToken,\n} from '@angular/core';\nimport {\n Store,\n} from '@ngrx/store';\nimport {\n LoggerService,\n} from '@o3r/logger';\nimport {\n dateReviver,\n isLocalStorageConfig,\n isSerializer,\n rehydrateAction,\n StorageSyncOptions,\n} from '@o3r/store-sync';\n\n/**\n * Injection token for the storage sync options\n */\nexport const STORAGE_SYNC_OPTIONS = new InjectionToken<Partial<StorageSyncOptions>>('STORAGE_SYNC_OPTIONS');\n\nconst noopDeserializer = (raw: string) => raw;\n\n@Injectable()\nexport class CapacitorRehydrater {\n private readonly options: StorageSyncOptions;\n constructor(\n private readonly store: Store<any>,\n @Inject(STORAGE_SYNC_OPTIONS) options: Partial<StorageSyncOptions>,\n private readonly logger: LoggerService\n ) {\n this.options = { keys: [], ...options };\n }\n\n /**\n * Dispatch an action to rehydrate the store with the data from the storage\n */\n public async rehydrate() {\n if (isLocalStorageConfig(this.options)) {\n this.logger.warn('A non-async storage is used, rehydration is not supported');\n return;\n }\n const storageCalls: Promise<Record<string, any> | undefined>[] = this.options.keys\n .map(async (key) => {\n const storeName = Object.keys(key)[0];\n const storeSynchronizer = (key as any)[storeName];\n let reviver = this.options.restoreDates ? dateReviver : undefined;\n let deserialize = noopDeserializer;\n\n if (isSerializer(storeSynchronizer)) {\n if (storeSynchronizer.reviver) {\n reviver = storeSynchronizer.reviver;\n }\n if (storeSynchronizer.deserialize) {\n deserialize = storeSynchronizer.deserialize;\n }\n }\n\n const stateSlice = await this.options.storage!.getItem(\n this.options.storageKeySerializer\n ? this.options.storageKeySerializer(storeName)\n : storeName\n );\n if (stateSlice) {\n const isObjectRegex = /{|\\[/;\n let raw = stateSlice;\n\n if (stateSlice === 'null' || stateSlice === 'true' || stateSlice === 'false' || isObjectRegex.test(stateSlice.charAt(0))) {\n raw = JSON.parse(stateSlice, reviver);\n }\n\n return {\n [storeName]: deserialize(raw)\n };\n }\n });\n\n const result = await Promise.all(storageCalls);\n\n this.store.dispatch(\n rehydrateAction({\n payload: result.reduce(\n (acc: Record<string, any>, store) => ({ ...acc, ...store }),\n {}\n )\n })\n );\n }\n}\n","import {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport {\n StoreModule,\n} from '@ngrx/store';\nimport {\n LoggerModule,\n} from '@o3r/logger';\nimport type {\n StorageSyncOptions,\n} from '@o3r/store-sync';\nimport {\n CapacitorRehydrater,\n STORAGE_SYNC_OPTIONS,\n} from './rehydrater';\n\n@NgModule({\n imports: [\n StoreModule,\n LoggerModule\n ],\n providers: [\n CapacitorRehydrater\n ]\n})\nexport class CapacitorRehydraterModule {\n public static forRoot(options: StorageSyncOptions): ModuleWithProviders<CapacitorRehydraterModule> {\n return {\n ngModule: CapacitorRehydraterModule,\n providers: [\n { provide: STORAGE_SYNC_OPTIONS, useValue: options }\n ]\n };\n }\n}\n","import {\n Preferences as CapacitorStorage,\n} from '@capacitor/preferences';\nimport type {\n AsyncStorage,\n} from '@o3r/store-sync';\n\n/**\n * Capacitor storage\n */\nexport class OtterCapacitorStorage implements AsyncStorage {\n /**\n * @inheritdoc\n */\n public removeItem(key: string): void {\n void CapacitorStorage.remove({ key });\n }\n\n /**\n * @inheritdoc\n */\n public setItem(key: string, value: string): void {\n void CapacitorStorage.set({ key, value });\n }\n\n /**\n * @inheritdoc\n */\n public async getItem(key: string): Promise<string | null> {\n const { value } = await CapacitorStorage.get({ key });\n return value;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["CapacitorStorage"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/mobile",
|
|
3
|
-
"version": "11.6.0-prerelease.
|
|
3
|
+
"version": "11.6.0-prerelease.20",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
"@capacitor/device": "^6.0.0",
|
|
44
44
|
"@capacitor/preferences": "^6.0.0",
|
|
45
45
|
"@ngrx/store": "~18.0.0",
|
|
46
|
-
"@o3r/core": "^11.6.0-prerelease.
|
|
47
|
-
"@o3r/logger": "^11.6.0-prerelease.
|
|
48
|
-
"@o3r/schematics": "^11.6.0-prerelease.
|
|
49
|
-
"@o3r/store-sync": "^11.6.0-prerelease.
|
|
46
|
+
"@o3r/core": "^11.6.0-prerelease.20",
|
|
47
|
+
"@o3r/logger": "^11.6.0-prerelease.20",
|
|
48
|
+
"@o3r/schematics": "^11.6.0-prerelease.20",
|
|
49
|
+
"@o3r/store-sync": "^11.6.0-prerelease.20",
|
|
50
50
|
"@schematics/angular": "~18.2.0",
|
|
51
51
|
"fast-deep-equal": "^3.1.3",
|
|
52
52
|
"rxjs": "^7.8.1"
|
package/pcloudy/pcloudy.api.d.ts
CHANGED
|
@@ -13,7 +13,6 @@ export declare class PCloudyApi {
|
|
|
13
13
|
constructor(logger: Logger, userName: string, apiKey: string, server?: string);
|
|
14
14
|
/**
|
|
15
15
|
* Perform POST call to the API - Cannot be used to upload a file
|
|
16
|
-
*
|
|
17
16
|
* @param endpoint
|
|
18
17
|
* @param body
|
|
19
18
|
* @private
|
|
@@ -22,21 +21,18 @@ export declare class PCloudyApi {
|
|
|
22
21
|
/**
|
|
23
22
|
* Authenticate using your account username and apiKey
|
|
24
23
|
* You can find them on your pCloudy account
|
|
25
|
-
*
|
|
26
24
|
* @param username
|
|
27
25
|
* @param apiKey
|
|
28
26
|
*/
|
|
29
27
|
authenticate(username: string, apiKey: string): Promise<string>;
|
|
30
28
|
/**
|
|
31
29
|
* Fetch the list of available devices to book for your automation or manual use
|
|
32
|
-
*
|
|
33
30
|
* @param devicePlatform
|
|
34
31
|
* @param availabilityDuration
|
|
35
32
|
*/
|
|
36
33
|
getDeviceList(devicePlatform: 'android' | 'ios', availabilityDuration?: number): Promise<Device[]>;
|
|
37
34
|
/**
|
|
38
35
|
* Book a device for manual testing.
|
|
39
|
-
*
|
|
40
36
|
* @param device
|
|
41
37
|
* @param bookDuration
|
|
42
38
|
* @returns the reservation id that can be used to relinquish or to retrieve the url to access the device
|
|
@@ -44,20 +40,17 @@ export declare class PCloudyApi {
|
|
|
44
40
|
bookDevice(device: Device, bookDuration?: number): Promise<number>;
|
|
45
41
|
/**
|
|
46
42
|
* Install an application previously uploaded on pCloudy {@link uploadApp} on a device booked for manual testing
|
|
47
|
-
*
|
|
48
43
|
* @param rid Reservation ID returned by the {@link bookDevice} method
|
|
49
44
|
* @param appFileName Name (with extension) under which your application has been uploaded
|
|
50
45
|
*/
|
|
51
46
|
installAndLaunchApp(rid: number, appFileName: string): Promise<string>;
|
|
52
47
|
/**
|
|
53
48
|
* Retrieve the url to perform manual testing on a pCloudy device
|
|
54
|
-
*
|
|
55
49
|
* @param rid Reservation id returned by {@link bookDevice}
|
|
56
50
|
*/
|
|
57
51
|
getDevicePageUrl(rid: number): Promise<string>;
|
|
58
52
|
/**
|
|
59
53
|
* Retrieve the list of applications uploaded under your username on pCloudy
|
|
60
|
-
*
|
|
61
54
|
* @param devicePlatform android or ios - used to filter our irrelevant applications
|
|
62
55
|
* @param limit maximum application returned
|
|
63
56
|
*/
|
|
@@ -65,28 +58,24 @@ export declare class PCloudyApi {
|
|
|
65
58
|
/**
|
|
66
59
|
* Upload an application on pCloudy under its filename
|
|
67
60
|
* If an application is already on pCloudy, will save it under a different name
|
|
68
|
-
*
|
|
69
61
|
* @param filePath
|
|
70
62
|
* @returns file name in the cloud
|
|
71
63
|
*/
|
|
72
64
|
uploadApp(filePath: string): Promise<string>;
|
|
73
65
|
/**
|
|
74
66
|
* Delete an application from pCloudy
|
|
75
|
-
*
|
|
76
67
|
* @param filename
|
|
77
68
|
*/
|
|
78
69
|
deleteApp(filename: string): Promise<void>;
|
|
79
70
|
/**
|
|
80
71
|
* Sign your iOS application under pCloudy signing mechanism
|
|
81
72
|
* This step is mandatory to install your .ipa files on pCloudy device
|
|
82
|
-
*
|
|
83
73
|
* @param filename
|
|
84
74
|
* @returns the token to follow the process
|
|
85
75
|
*/
|
|
86
76
|
resignIosApp(filename: string): Promise<string>;
|
|
87
77
|
/**
|
|
88
78
|
* Check the progress of the re-signing performed in {@link resignIosApp}
|
|
89
|
-
*
|
|
90
79
|
* @param filename
|
|
91
80
|
* @param resignToken
|
|
92
81
|
*/
|
|
@@ -94,7 +83,6 @@ export declare class PCloudyApi {
|
|
|
94
83
|
/**
|
|
95
84
|
* Download the pCloudy re-signed app to the pCloudy cloud.
|
|
96
85
|
* Make it available for installation on pCloudy device
|
|
97
|
-
*
|
|
98
86
|
* @param filename of the original app
|
|
99
87
|
* @param resignToken returned by {@link resignIosApp}
|
|
100
88
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pcloudy.api.d.ts","sourceRoot":"","sources":["../../pcloudy/pcloudy.api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pcloudy.api.d.ts","sourceRoot":"","sources":["../../pcloudy/pcloudy.api.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,MAAM,EACP,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,OAAO,EACP,MAAM,EAEP,MAAM,sBAAsB,CAAC;AAE9B;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAA+B;IAMnG;;;;;OAKG;YACW,iBAAiB;IAmB/B;;;;;OAKG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB5E;;;;OAIG;IACU,aAAa,CAAC,cAAc,EAAE,SAAS,GAAG,KAAK,EAAE,oBAAoB,SAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAU3G;;;;;OAKG;IACU,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,SAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ3E;;;;OAIG;IACU,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASnF;;;OAGG;IACU,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO3D;;;;OAIG;IACU,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAS7E;;;;;OAKG;IACU,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BzD;;;OAGG;IACU,SAAS,CAAC,QAAQ,EAAE,MAAM;IAQvC;;;;;OAKG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM;IAQ1C;;;;OAIG;IACU,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAS1E;;;;;OAKG;IACU,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAQvE"}
|