UNPKG

@interopio/ng

Version:

IO Connect library for Angular - Browser and Desktop

46 lines 7.1 kB
import { Inject, Injectable } from "@angular/core"; import { CONFIG_TOKEN } from "./tokens"; import * as i0 from "@angular/core"; export class IOConnectConfigService { constructor(userSettings) { this._userSettings = Object.assign({ holdInit: true }, userSettings); this.isDesktop = (typeof window.glue42gd !== "undefined") || (typeof window.iodesktop !== "undefined"); } getSettings() { return this._userSettings; } verifyConfig() { if (this._userSettings.browser && this._userSettings.browserPlatform) { throw new Error("Cannot initialize, because the config is over-specified: it contains settings for both web and webPlatform. Please set one or the other"); } } getFactory() { if (this.isDesktop) { return this._userSettings.desktop?.factory || this._userSettings.browser?.factory || this._userSettings.browserPlatform?.factory || window.Glue; } return this._userSettings.browser?.factory || this._userSettings.browserPlatform?.factory || window.IOBrowser || window.IOBrowserPlatform; } getConfig() { if (this.isDesktop) { return this._userSettings.desktop?.config || this._userSettings.browser?.config || this._userSettings.browserPlatform?.config; } return this._userSettings.browser?.config || this._userSettings.browserPlatform?.config; } getHoldInit() { return !!this._userSettings.holdInit; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IOConnectConfigService, deps: [{ token: CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IOConnectConfigService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IOConnectConfigService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: undefined, decorators: [{ type: Inject, args: [CONFIG_TOKEN] }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x1ZS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZ2x1ZS1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUl4QyxNQUFNLE9BQU8sc0JBQXNCO0lBSS9CLFlBQWtDLFlBQWlDO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsT0FBUSxNQUFjLENBQUMsUUFBUSxLQUFLLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBUSxNQUFjLENBQUMsU0FBUyxLQUFLLFdBQVcsQ0FBQyxDQUFDO0lBQzdILENBQUM7SUFFTSxXQUFXO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFTSxZQUFZO1FBQ2YsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRTtZQUNsRSxNQUFNLElBQUksS0FBSyxDQUFDLHlJQUF5SSxDQUFDLENBQUM7U0FDOUo7SUFDTCxDQUFDO0lBRU0sVUFBVTtRQUNiLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU87Z0JBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU87Z0JBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLE9BQU87Z0JBQzFDLE1BQWMsQ0FBQyxJQUFJLENBQUM7U0FDNUI7UUFFRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxPQUFPLElBQUssTUFBYyxDQUFDLFNBQVMsSUFBSyxNQUFjLENBQUMsaUJBQWlCLENBQUM7SUFDaEssQ0FBQztJQUVNLFNBQVM7UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNO2dCQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNO2dCQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUM7U0FDbEQ7UUFFRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUM7SUFDNUYsQ0FBQztJQUVNLFdBQVc7UUFDZCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUN6QyxDQUFDOytHQTFDUSxzQkFBc0Isa0JBSVgsWUFBWTttSEFKdkIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzswQkFLTSxNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ09ORklHX1RPS0VOIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyBJT0Nvbm5lY3ROZ0ZhY3RvcnksIElPQ29ubmVjdE5nRmFjdG9yeUNvbmZpZywgSU9Db25uZWN0TmdTZXR0aW5ncyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJT0Nvbm5lY3RDb25maWdTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF91c2VyU2V0dGluZ3M6IElPQ29ubmVjdE5nU2V0dGluZ3M7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc0Rlc2t0b3A6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KENPTkZJR19UT0tFTikgdXNlclNldHRpbmdzOiBJT0Nvbm5lY3ROZ1NldHRpbmdzKSB7XG4gICAgICAgIHRoaXMuX3VzZXJTZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oeyBob2xkSW5pdDogdHJ1ZSB9LCB1c2VyU2V0dGluZ3MpO1xuICAgICAgICB0aGlzLmlzRGVza3RvcCA9ICh0eXBlb2YgKHdpbmRvdyBhcyBhbnkpLmdsdWU0MmdkICE9PSBcInVuZGVmaW5lZFwiKSB8fCAodHlwZW9mICh3aW5kb3cgYXMgYW55KS5pb2Rlc2t0b3AgIT09IFwidW5kZWZpbmVkXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZXR0aW5ncygpOiBJT0Nvbm5lY3ROZ1NldHRpbmdzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXJTZXR0aW5ncztcbiAgICB9XG5cbiAgICBwdWJsaWMgdmVyaWZ5Q29uZmlnKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fdXNlclNldHRpbmdzLmJyb3dzZXIgJiYgdGhpcy5fdXNlclNldHRpbmdzLmJyb3dzZXJQbGF0Zm9ybSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGluaXRpYWxpemUsIGJlY2F1c2UgdGhlIGNvbmZpZyBpcyBvdmVyLXNwZWNpZmllZDogaXQgY29udGFpbnMgc2V0dGluZ3MgZm9yIGJvdGggd2ViIGFuZCB3ZWJQbGF0Zm9ybS4gUGxlYXNlIHNldCBvbmUgb3IgdGhlIG90aGVyXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZhY3RvcnkoKTogSU9Db25uZWN0TmdGYWN0b3J5IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXNrdG9wKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fdXNlclNldHRpbmdzLmRlc2t0b3A/LmZhY3RvcnkgfHxcbiAgICAgICAgICAgICAgICB0aGlzLl91c2VyU2V0dGluZ3MuYnJvd3Nlcj8uZmFjdG9yeSB8fFxuICAgICAgICAgICAgICAgIHRoaXMuX3VzZXJTZXR0aW5ncy5icm93c2VyUGxhdGZvcm0/LmZhY3RvcnkgfHxcbiAgICAgICAgICAgICAgICAod2luZG93IGFzIGFueSkuR2x1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyU2V0dGluZ3MuYnJvd3Nlcj8uZmFjdG9yeSB8fCB0aGlzLl91c2VyU2V0dGluZ3MuYnJvd3NlclBsYXRmb3JtPy5mYWN0b3J5IHx8ICh3aW5kb3cgYXMgYW55KS5JT0Jyb3dzZXIgfHwgKHdpbmRvdyBhcyBhbnkpLklPQnJvd3NlclBsYXRmb3JtO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maWcoKTogSU9Db25uZWN0TmdGYWN0b3J5Q29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXNrdG9wKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fdXNlclNldHRpbmdzLmRlc2t0b3A/LmNvbmZpZyB8fFxuICAgICAgICAgICAgICAgIHRoaXMuX3VzZXJTZXR0aW5ncy5icm93c2VyPy5jb25maWcgfHxcbiAgICAgICAgICAgICAgICB0aGlzLl91c2VyU2V0dGluZ3MuYnJvd3NlclBsYXRmb3JtPy5jb25maWc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fdXNlclNldHRpbmdzLmJyb3dzZXI/LmNvbmZpZyB8fCB0aGlzLl91c2VyU2V0dGluZ3MuYnJvd3NlclBsYXRmb3JtPy5jb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEhvbGRJbml0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLl91c2VyU2V0dGluZ3MuaG9sZEluaXQ7XG4gICAgfVxufSJdfQ==