UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

112 lines 7.5 kB
/** * @fileoverview added by tsickle * Generated from: shared/preserve-next-event-emitter.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { EventEmitter } from '@angular/core'; /** * @template T */ export class PreserveNextEventEmitter extends EventEmitter { /** * @param {?=} isAsync */ constructor(isAsync = false) { super(isAsync); this._isAsync = isAsync; } /** * @return {?} */ get schedulerFns() { return this._schedulerFns; } /** * @param {?} value * @param {?=} once * @return {?} */ forceCallback(value, once = false) { if (this.schedulerFns && this.schedulerFns.size) { this.schedulerFns.forEach((/** * @param {?} fn * @return {?} */ fn => { fn(value); })); if (once) { this.cleanCallbackFn(); } } } /** * @return {?} */ cleanCallbackFn() { this._schedulerFns = undefined; } /** * @param {?=} value * @return {?} */ emit(value) { super.emit(value); } /** * @param {?=} generatorOrNext * @param {?=} error * @param {?=} complete * @return {?} */ subscribe(generatorOrNext, error, complete) { /** @type {?} */ let schedulerFn; if (generatorOrNext && typeof generatorOrNext === 'object') { schedulerFn = this._isAsync ? (/** * @param {?} value * @return {?} */ (value) => { setTimeout((/** * @return {?} */ () => generatorOrNext.next(value))); }) : (/** * @param {?} value * @return {?} */ (value) => { generatorOrNext.next(value); }); } else { schedulerFn = this._isAsync ? (/** * @param {?} value * @return {?} */ (value) => { setTimeout((/** * @return {?} */ () => generatorOrNext(value))); }) : (/** * @param {?} value * @return {?} */ (value) => { generatorOrNext(value); }); } if (!this._schedulerFns) { this._schedulerFns = new Set(); } this._schedulerFns.add(schedulerFn); return super.subscribe(generatorOrNext, error, complete); } } if (false) { /** * 保留注册的 generatorOrNext构成的函数 * @type {?} * @private */ PreserveNextEventEmitter.prototype._schedulerFns; /** * @type {?} * @private */ PreserveNextEventEmitter.prototype._isAsync; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2VydmUtbmV4dC1ldmVudC1lbWl0dGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZGV2dWkvZHJhZ2Ryb3AvIiwic291cmNlcyI6WyJzaGFyZWQvcHJlc2VydmUtbmV4dC1ldmVudC1lbWl0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUU3QyxNQUFNLE9BQU8sd0JBQTRCLFNBQVEsWUFBZTs7OztJQU05RCxZQUFZLFVBQW1CLEtBQUs7UUFDbEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQzs7OztJQUxELElBQUksWUFBWSxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7Ozs7OztJQU9qRCxhQUFhLENBQUMsS0FBUSxFQUFFLElBQUksR0FBRyxLQUFLO1FBQ2xDLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtZQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU87Ozs7WUFBQyxFQUFFLENBQUMsRUFBRTtnQkFDN0IsRUFBRSxDQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2IsQ0FBQyxFQUFDLENBQUM7WUFDSCxJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDeEI7U0FDRjtJQUNILENBQUM7Ozs7SUFDRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFDakMsQ0FBQzs7Ozs7SUFFRCxJQUFJLENBQUMsS0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDOzs7Ozs7O0lBRXRDLFNBQVMsQ0FBQyxlQUFxQixFQUFFLEtBQVcsRUFBRSxRQUFjOztZQUN0RCxXQUE0QjtRQUVoQyxJQUFJLGVBQWUsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLEVBQUU7WUFDMUQsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzs7OztZQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7Z0JBQzNDLFVBQVU7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUM7WUFDaEQsQ0FBQyxFQUFDLENBQUM7Ozs7WUFBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDO1NBQ3REO2FBQU07WUFDTCxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzs7O1lBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFHLFVBQVU7OztZQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7Ozs7O2dCQUM5RCxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUM7U0FDNUU7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksR0FBRyxFQUFPLENBQUM7U0FDckM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVwQyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBRUY7Ozs7Ozs7SUE1Q0MsaURBQWdDOzs7OztJQUNoQyw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBQcmVzZXJ2ZU5leHRFdmVudEVtaXR0ZXI8VD4gZXh0ZW5kcyBFdmVudEVtaXR0ZXI8VD4ge1xyXG4gIC8qKiDkv53nlZnms6jlhoznmoQgZ2VuZXJhdG9yT3JOZXh05p6E5oiQ55qE5Ye95pWwKi9cclxuICBwcml2YXRlIF9zY2hlZHVsZXJGbnM6IFNldDxhbnk+O1xyXG4gIHByaXZhdGUgX2lzQXN5bmM6IGJvb2xlYW47XHJcbiAgZ2V0IHNjaGVkdWxlckZucygpIHsgcmV0dXJuIHRoaXMuX3NjaGVkdWxlckZuczsgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihpc0FzeW5jOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIHN1cGVyKGlzQXN5bmMpO1xyXG4gICAgdGhpcy5faXNBc3luYyA9IGlzQXN5bmM7XHJcbiAgfVxyXG5cclxuICBmb3JjZUNhbGxiYWNrKHZhbHVlOiBULCBvbmNlID0gZmFsc2UpIHtcclxuICAgIGlmICh0aGlzLnNjaGVkdWxlckZucyAmJiB0aGlzLnNjaGVkdWxlckZucy5zaXplKSB7XHJcbiAgICAgIHRoaXMuc2NoZWR1bGVyRm5zLmZvckVhY2goZm4gPT4ge1xyXG4gICAgICAgIGZuICh2YWx1ZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAob25jZSkge1xyXG4gICAgICAgIHRoaXMuY2xlYW5DYWxsYmFja0ZuKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgY2xlYW5DYWxsYmFja0ZuKCkge1xyXG4gICAgdGhpcy5fc2NoZWR1bGVyRm5zID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZW1pdCh2YWx1ZT86IFQpIHsgc3VwZXIuZW1pdCh2YWx1ZSk7IH1cclxuXHJcbiAgc3Vic2NyaWJlKGdlbmVyYXRvck9yTmV4dD86IGFueSwgZXJyb3I/OiBhbnksIGNvbXBsZXRlPzogYW55KTogYW55IHtcclxuICAgIGxldCBzY2hlZHVsZXJGbjogKHQ6IGFueSkgPT4gYW55O1xyXG5cclxuICAgIGlmIChnZW5lcmF0b3JPck5leHQgJiYgdHlwZW9mIGdlbmVyYXRvck9yTmV4dCA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgc2NoZWR1bGVyRm4gPSB0aGlzLl9pc0FzeW5jID8gKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGdlbmVyYXRvck9yTmV4dC5uZXh0KHZhbHVlKSk7XHJcbiAgICAgIH0gOiAodmFsdWU6IGFueSkgPT4geyBnZW5lcmF0b3JPck5leHQubmV4dCh2YWx1ZSk7IH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzY2hlZHVsZXJGbiA9IHRoaXMuX2lzQXN5bmMgPyAodmFsdWU6IGFueSkgPT4geyBzZXRUaW1lb3V0KCgpID0+IGdlbmVyYXRvck9yTmV4dCh2YWx1ZSkpOyB9IDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZTogYW55KSA9PiB7IGdlbmVyYXRvck9yTmV4dCh2YWx1ZSk7IH07XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuX3NjaGVkdWxlckZucykge1xyXG4gICAgICB0aGlzLl9zY2hlZHVsZXJGbnMgPSBuZXcgU2V0PGFueT4oKTtcclxuICAgIH1cclxuICAgIHRoaXMuX3NjaGVkdWxlckZucy5hZGQoc2NoZWR1bGVyRm4pO1xyXG5cclxuICAgIHJldHVybiBzdXBlci5zdWJzY3JpYmUoZ2VuZXJhdG9yT3JOZXh0LCBlcnJvciwgY29tcGxldGUpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19