UNPKG

@ngx-performance-ui/core

Version:
65 lines 5.3 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, Inject } from '@angular/core'; import { ReplaySubject } from 'rxjs'; import { DOCUMENT } from '@angular/common'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; var LazyLoadScriptService = /** @class */ (function () { function LazyLoadScriptService(document) { this.document = document; this._loadedLibraries = {}; } /** * @param {?} url * @return {?} */ LazyLoadScriptService.prototype.loadScript = /** * @param {?} url * @return {?} */ function (url) { var _this = this; if (this._loadedLibraries[url]) { return this._loadedLibraries[url].asObservable(); } this._loadedLibraries[url] = new ReplaySubject(); /** @type {?} */ var script = this.document.createElement('script'); script.type = 'text/javascript'; script.src = url; script.onload = (/** * @return {?} */ function () { _this._loadedLibraries[url].next(); _this._loadedLibraries[url].complete(); }); this.document.body.appendChild(script); return this._loadedLibraries[url].asObservable(); }; LazyLoadScriptService.decorators = [ { type: Injectable, args: [{ providedIn: 'root', },] } ]; /** @nocollapse */ LazyLoadScriptService.ctorParameters = function () { return [ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] } ]; }; /** @nocollapse */ LazyLoadScriptService.ngInjectableDef = i0.defineInjectable({ factory: function LazyLoadScriptService_Factory() { return new LazyLoadScriptService(i0.inject(i1.DOCUMENT)); }, token: LazyLoadScriptService, providedIn: "root" }); return LazyLoadScriptService; }()); export { LazyLoadScriptService }; if (false) { /** @type {?} */ LazyLoadScriptService.prototype._loadedLibraries; /** * @type {?} * @private */ LazyLoadScriptService.prototype.document; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1sb2FkLXNjcmlwdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neC1wZXJmb3JtYW5jZS11aS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2xhenktbG9hZC1zY3JpcHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUUzQztJQU1FLCtCQUErQyxRQUFhO1FBQWIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUY1RCxxQkFBZ0IsR0FBMEMsRUFBRSxDQUFDO0lBRUUsQ0FBQzs7Ozs7SUFFaEUsMENBQVU7Ozs7SUFBVixVQUFXLEdBQVc7UUFBdEIsaUJBa0JDO1FBakJDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7O1lBRTNDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDcEQsTUFBTSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztRQUNoQyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNqQixNQUFNLENBQUMsTUFBTTs7O1FBQUc7WUFDZCxLQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEMsS0FBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hDLENBQUMsQ0FBQSxDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25ELENBQUM7O2dCQTFCRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dEQUljLE1BQU0sU0FBQyxRQUFROzs7Z0NBVjlCO0NBK0JDLEFBM0JELElBMkJDO1NBeEJZLHFCQUFxQjs7O0lBQ2hDLGlEQUE2RDs7Ozs7SUFFakQseUNBQWdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMYXp5TG9hZFNjcmlwdFNlcnZpY2Uge1xuICBfbG9hZGVkTGlicmFyaWVzOiB7IFt1cmw6IHN0cmluZ106IFJlcGxheVN1YmplY3Q8YW55PiB9ID0ge307XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogYW55KSB7fVxuXG4gIGxvYWRTY3JpcHQodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICh0aGlzLl9sb2FkZWRMaWJyYXJpZXNbdXJsXSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2xvYWRlZExpYnJhcmllc1t1cmxdLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX2xvYWRlZExpYnJhcmllc1t1cmxdID0gbmV3IFJlcGxheVN1YmplY3QoKTtcblxuICAgIGNvbnN0IHNjcmlwdCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICBzY3JpcHQuc3JjID0gdXJsO1xuICAgIHNjcmlwdC5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICB0aGlzLl9sb2FkZWRMaWJyYXJpZXNbdXJsXS5uZXh0KCk7XG4gICAgICB0aGlzLl9sb2FkZWRMaWJyYXJpZXNbdXJsXS5jb21wbGV0ZSgpO1xuICAgIH07XG5cbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcblxuICAgIHJldHVybiB0aGlzLl9sb2FkZWRMaWJyYXJpZXNbdXJsXS5hc09ic2VydmFibGUoKTtcbiAgfVxufVxuXG4vKiBVc2FnZVxudGhpcy5sYXp5TG9hZFNlcnZpY2UubG9hZFNjcmlwdCgnL2Fzc2V0cy9zY3JpcHRzL3NvbWUtc2NyaXB0LmpzJykuc3Vic2NyaWJlKCgpID0+IHtcbiAgLy8gY29kZVxufSk7XG4qL1xuIl19