/** * @fileoverview added by tsickle * Generated from: lib/ngx-spinner.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { ReplaySubject } from 'rxjs'; import { filter } from 'rxjs/operators'; import { NgxSpinner, PRIMARY_SPINNER } from './ngx-spinner.enum'; import * as i0 from "@angular/core"; export class NgxSpinnerService { /** * Creates an instance of NgxSpinnerService. * \@memberof NgxSpinnerService */ constructor() { /** * Spinner observable * * \@memberof NgxSpinnerService */ this.spinnerObservable = new ReplaySubject(1); } /** * Get subscription of desired spinner * \@memberof NgxSpinnerService * * @param {?} name * @return {?} */ getSpinner(name) { return this.spinnerObservable.asObservable().pipe(filter((/** * @param {?} x * @return {?} */ (x) => x && x.name === name))); } /** * To show spinner * * \@memberof NgxSpinnerService * @param {?=} name * @param {?=} spinner * @return {?} */ show(name = PRIMARY_SPINNER, spinner) { /** @type {?} */ const showPromise = new Promise((/** * @param {?} resolve * @param {?} _reject * @return {?} */ (resolve, _reject) => { if (spinner && Object.keys(spinner).length) { spinner['name'] = name; this.spinnerObservable.next(new NgxSpinner(Object.assign({}, spinner, { show: true }))); resolve(true); } else { this.spinnerObservable.next(new NgxSpinner({ name, show: true })); resolve(true); } })); return showPromise; } /** * To hide spinner * * \@memberof NgxSpinnerService * @param {?=} name * @param {?=} debounce * @return {?} */ hide(name = PRIMARY_SPINNER, debounce = 0) { /** @type {?} */ const hidePromise = new Promise((/** * @param {?} resolve * @param {?} _reject * @return {?} */ (resolve, _reject) => { setTimeout((/** * @return {?} */ () => { this.spinnerObservable.next(new NgxSpinner({ name, show: false })); resolve(true); }), debounce); })); return hidePromise; } } NgxSpinnerService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ NgxSpinnerService.ctorParameters = () => []; /** @nocollapse */ NgxSpinnerService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function NgxSpinnerService_Factory() { return new NgxSpinnerService(); }, token: NgxSpinnerService, providedIn: "root" }); if (false) { /** * Spinner observable * * \@memberof NgxSpinnerService * @type {?} * @private */ NgxSpinnerService.prototype.spinnerObservable; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNwaW5uZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1zcGlubmVyLyIsInNvdXJjZXMiOlsibGliL25neC1zcGlubmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFXLE1BQU0sb0JBQW9CLENBQUM7O0FBSzFFLE1BQU0sT0FBTyxpQkFBaUI7Ozs7O0lBVzVCOzs7Ozs7UUFMUSxzQkFBaUIsR0FBRyxJQUFJLGFBQWEsQ0FBYSxDQUFDLENBQUMsQ0FBQztJQUs3QyxDQUFDOzs7Ozs7OztJQUtqQixVQUFVLENBQUMsSUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTTs7OztRQUFDLENBQUMsQ0FBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7Ozs7Ozs7OztJQU1ELElBQUksQ0FBQyxPQUFlLGVBQWUsRUFBRSxPQUFpQjs7Y0FDOUMsV0FBVyxHQUFHLElBQUksT0FBTzs7Ozs7UUFBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNuRCxJQUFJLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRTtnQkFDMUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsbUJBQU0sT0FBTyxJQUFFLElBQUksRUFBRSxJQUFJLElBQUcsQ0FBQyxDQUFDO2dCQUN4RSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDZjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNmO1FBQ0gsQ0FBQyxFQUFDO1FBQ0YsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7Ozs7Ozs7O0lBTUQsSUFBSSxDQUFDLE9BQWUsZUFBZSxFQUFFLFdBQW1CLENBQUM7O2NBQ2pELFdBQVcsR0FBRyxJQUFJLE9BQU87Ozs7O1FBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDbkQsVUFBVTs7O1lBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbkUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hCLENBQUMsR0FBRSxRQUFRLENBQUMsQ0FBQztRQUNmLENBQUMsRUFBQztRQUNGLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7OztZQXJERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7Ozs7Ozs7Ozs7SUFPQyw4Q0FBNkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOZ3hTcGlubmVyLCBQUklNQVJZX1NQSU5ORVIsIFNwaW5uZXIgfSBmcm9tICcuL25neC1zcGlubmVyLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hTcGlubmVyU2VydmljZSB7XG4gIC8qKlxuICAgKiBTcGlubmVyIG9ic2VydmFibGVcbiAgICpcbiAgICogQG1lbWJlcm9mIE5neFNwaW5uZXJTZXJ2aWNlXG4gICAqL1xuICBwcml2YXRlIHNwaW5uZXJPYnNlcnZhYmxlID0gbmV3IFJlcGxheVN1YmplY3Q8Tmd4U3Bpbm5lcj4oMSk7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIE5neFNwaW5uZXJTZXJ2aWNlLlxuICAgKiBAbWVtYmVyb2YgTmd4U3Bpbm5lclNlcnZpY2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG4gIC8qKlxuICAqIEdldCBzdWJzY3JpcHRpb24gb2YgZGVzaXJlZCBzcGlubmVyXG4gICogQG1lbWJlcm9mIE5neFNwaW5uZXJTZXJ2aWNlXG4gICoqL1xuICBnZXRTcGlubmVyKG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8Tmd4U3Bpbm5lcj4ge1xuICAgIHJldHVybiB0aGlzLnNwaW5uZXJPYnNlcnZhYmxlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmlsdGVyKCh4OiBOZ3hTcGlubmVyKSA9PiB4ICYmIHgubmFtZSA9PT0gbmFtZSkpO1xuICB9XG4gIC8qKlxuICAgKiBUbyBzaG93IHNwaW5uZXJcbiAgICpcbiAgICogQG1lbWJlcm9mIE5neFNwaW5uZXJTZXJ2aWNlXG4gICAqL1xuICBzaG93KG5hbWU6IHN0cmluZyA9IFBSSU1BUllfU1BJTk5FUiwgc3Bpbm5lcj86IFNwaW5uZXIpIHtcbiAgICBjb25zdCBzaG93UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCBfcmVqZWN0KSA9PiB7XG4gICAgICBpZiAoc3Bpbm5lciAmJiBPYmplY3Qua2V5cyhzcGlubmVyKS5sZW5ndGgpIHtcbiAgICAgICAgc3Bpbm5lclsnbmFtZSddID0gbmFtZTtcbiAgICAgICAgdGhpcy5zcGlubmVyT2JzZXJ2YWJsZS5uZXh0KG5ldyBOZ3hTcGlubmVyKHsgLi4uc3Bpbm5lciwgc2hvdzogdHJ1ZSB9KSk7XG4gICAgICAgIHJlc29sdmUodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNwaW5uZXJPYnNlcnZhYmxlLm5leHQobmV3IE5neFNwaW5uZXIoeyBuYW1lLCBzaG93OiB0cnVlIH0pKTtcbiAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gc2hvd1Byb21pc2U7XG4gIH1cbiAgLyoqXG4gICogVG8gaGlkZSBzcGlubmVyXG4gICpcbiAgKiBAbWVtYmVyb2YgTmd4U3Bpbm5lclNlcnZpY2VcbiAgKi9cbiAgaGlkZShuYW1lOiBzdHJpbmcgPSBQUklNQVJZX1NQSU5ORVIsIGRlYm91bmNlOiBudW1iZXIgPSAwKSB7XG4gICAgY29uc3QgaGlkZVByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgX3JlamVjdCkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3Bpbm5lck9ic2VydmFibGUubmV4dChuZXcgTmd4U3Bpbm5lcih7IG5hbWUsIHNob3c6IGZhbHNlIH0pKTtcbiAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgIH0sIGRlYm91bmNlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gaGlkZVByb21pc2U7XG4gIH1cbn1cbiJdfQ==