@interopio/ng
Version:
IO Connect library for Angular - Browser and Desktop
46 lines • 7.1 kB
JavaScript
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==