@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
144 lines • 8.75 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: shared/preserve-next-event-emitter.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { EventEmitter } from '@angular/core';
/**
* @template T
*/
var /**
* @template T
*/
PreserveNextEventEmitter = /** @class */ (function (_super) {
tslib_1.__extends(PreserveNextEventEmitter, _super);
function PreserveNextEventEmitter(isAsync) {
if (isAsync === void 0) { isAsync = false; }
var _this = _super.call(this, isAsync) || this;
_this._isAsync = isAsync;
return _this;
}
Object.defineProperty(PreserveNextEventEmitter.prototype, "schedulerFns", {
get: /**
* @return {?}
*/
function () { return this._schedulerFns; },
enumerable: true,
configurable: true
});
/**
* @param {?} value
* @param {?=} once
* @return {?}
*/
PreserveNextEventEmitter.prototype.forceCallback = /**
* @param {?} value
* @param {?=} once
* @return {?}
*/
function (value, once) {
if (once === void 0) { once = false; }
if (this.schedulerFns && this.schedulerFns.size) {
this.schedulerFns.forEach((/**
* @param {?} fn
* @return {?}
*/
function (fn) {
fn(value);
}));
if (once) {
this.cleanCallbackFn();
}
}
};
/**
* @return {?}
*/
PreserveNextEventEmitter.prototype.cleanCallbackFn = /**
* @return {?}
*/
function () {
this._schedulerFns = undefined;
};
/**
* @param {?=} value
* @return {?}
*/
PreserveNextEventEmitter.prototype.emit = /**
* @param {?=} value
* @return {?}
*/
function (value) { _super.prototype.emit.call(this, value); };
/**
* @param {?=} generatorOrNext
* @param {?=} error
* @param {?=} complete
* @return {?}
*/
PreserveNextEventEmitter.prototype.subscribe = /**
* @param {?=} generatorOrNext
* @param {?=} error
* @param {?=} complete
* @return {?}
*/
function (generatorOrNext, error, complete) {
/** @type {?} */
var schedulerFn;
if (generatorOrNext && typeof generatorOrNext === 'object') {
schedulerFn = this._isAsync ? (/**
* @param {?} value
* @return {?}
*/
function (value) {
setTimeout((/**
* @return {?}
*/
function () { return generatorOrNext.next(value); }));
}) : (/**
* @param {?} value
* @return {?}
*/
function (value) { generatorOrNext.next(value); });
}
else {
schedulerFn = this._isAsync ? (/**
* @param {?} value
* @return {?}
*/
function (value) { setTimeout((/**
* @return {?}
*/
function () { return generatorOrNext(value); })); }) :
(/**
* @param {?} value
* @return {?}
*/
function (value) { generatorOrNext(value); });
}
if (!this._schedulerFns) {
this._schedulerFns = new Set();
}
this._schedulerFns.add(schedulerFn);
return _super.prototype.subscribe.call(this, generatorOrNext, error, complete);
};
return PreserveNextEventEmitter;
}(EventEmitter));
/**
* @template T
*/
export { PreserveNextEventEmitter };
if (false) {
/**
* 保留注册的 generatorOrNext构成的函数
* @type {?}
* @private
*/
PreserveNextEventEmitter.prototype._schedulerFns;
/**
* @type {?}
* @private
*/
PreserveNextEventEmitter.prototype._isAsync;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2VydmUtbmV4dC1ldmVudC1lbWl0dGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZGV2dWkvZHJhZ2Ryb3AvIiwic291cmNlcyI6WyJzaGFyZWQvcHJlc2VydmUtbmV4dC1ldmVudC1lbWl0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFFN0M7Ozs7SUFBaUQsb0RBQWU7SUFNOUQsa0NBQVksT0FBd0I7UUFBeEIsd0JBQUEsRUFBQSxlQUF3QjtRQUFwQyxZQUNFLGtCQUFNLE9BQU8sQ0FBQyxTQUVmO1FBREMsS0FBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7O0lBQzFCLENBQUM7SUFMRCxzQkFBSSxrREFBWTs7OztRQUFoQixjQUFxQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDOzs7T0FBQTs7Ozs7O0lBT2pELGdEQUFhOzs7OztJQUFiLFVBQWMsS0FBUSxFQUFFLElBQVk7UUFBWixxQkFBQSxFQUFBLFlBQVk7UUFDbEMsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO1lBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTzs7OztZQUFDLFVBQUEsRUFBRTtnQkFDMUIsRUFBRSxDQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2IsQ0FBQyxFQUFDLENBQUM7WUFDSCxJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDeEI7U0FDRjtJQUNILENBQUM7Ozs7SUFDRCxrREFBZTs7O0lBQWY7UUFDRSxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztJQUNqQyxDQUFDOzs7OztJQUVELHVDQUFJOzs7O0lBQUosVUFBSyxLQUFTLElBQUksaUJBQU0sSUFBSSxZQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Ozs7OztJQUV0Qyw0Q0FBUzs7Ozs7O0lBQVQsVUFBVSxlQUFxQixFQUFFLEtBQVcsRUFBRSxRQUFjOztZQUN0RCxXQUE0QjtRQUVoQyxJQUFJLGVBQWUsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLEVBQUU7WUFDMUQsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzs7OztZQUFDLFVBQUMsS0FBVTtnQkFDdkMsVUFBVTs7O2dCQUFDLGNBQU0sT0FBQSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUEzQixDQUEyQixFQUFDLENBQUM7WUFDaEQsQ0FBQyxFQUFDLENBQUM7Ozs7WUFBQyxVQUFDLEtBQVUsSUFBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUM7U0FDdEQ7YUFBTTtZQUNMLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Ozs7WUFBQyxVQUFDLEtBQVUsSUFBTyxVQUFVOzs7WUFBQyxjQUFNLE9BQUEsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUF0QixDQUFzQixFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQzs7Ozs7Z0JBQzlELFVBQUMsS0FBVSxJQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDO1NBQzVFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBTyxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFcEMsT0FBTyxpQkFBTSxTQUFTLFlBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUgsK0JBQUM7QUFBRCxDQUFDLEFBOUNELENBQWlELFlBQVksR0E4QzVEOzs7Ozs7Ozs7OztJQTVDQyxpREFBZ0M7Ozs7O0lBQ2hDLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFByZXNlcnZlTmV4dEV2ZW50RW1pdHRlcjxUPiBleHRlbmRzIEV2ZW50RW1pdHRlcjxUPiB7XHJcbiAgLyoqIOS/neeVmeazqOWGjOeahCBnZW5lcmF0b3JPck5leHTmnoTmiJDnmoTlh73mlbAqL1xyXG4gIHByaXZhdGUgX3NjaGVkdWxlckZuczogU2V0PGFueT47XHJcbiAgcHJpdmF0ZSBfaXNBc3luYzogYm9vbGVhbjtcclxuICBnZXQgc2NoZWR1bGVyRm5zKCkgeyByZXR1cm4gdGhpcy5fc2NoZWR1bGVyRm5zOyB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKGlzQXN5bmM6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgc3VwZXIoaXNBc3luYyk7XHJcbiAgICB0aGlzLl9pc0FzeW5jID0gaXNBc3luYztcclxuICB9XHJcblxyXG4gIGZvcmNlQ2FsbGJhY2sodmFsdWU6IFQsIG9uY2UgPSBmYWxzZSkge1xyXG4gICAgaWYgKHRoaXMuc2NoZWR1bGVyRm5zICYmIHRoaXMuc2NoZWR1bGVyRm5zLnNpemUpIHtcclxuICAgICAgdGhpcy5zY2hlZHVsZXJGbnMuZm9yRWFjaChmbiA9PiB7XHJcbiAgICAgICAgZm4gKHZhbHVlKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChvbmNlKSB7XHJcbiAgICAgICAgdGhpcy5jbGVhbkNhbGxiYWNrRm4oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjbGVhbkNhbGxiYWNrRm4oKSB7XHJcbiAgICB0aGlzLl9zY2hlZHVsZXJGbnMgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBlbWl0KHZhbHVlPzogVCkgeyBzdXBlci5lbWl0KHZhbHVlKTsgfVxyXG5cclxuICBzdWJzY3JpYmUoZ2VuZXJhdG9yT3JOZXh0PzogYW55LCBlcnJvcj86IGFueSwgY29tcGxldGU/OiBhbnkpOiBhbnkge1xyXG4gICAgbGV0IHNjaGVkdWxlckZuOiAodDogYW55KSA9PiBhbnk7XHJcblxyXG4gICAgaWYgKGdlbmVyYXRvck9yTmV4dCAmJiB0eXBlb2YgZ2VuZXJhdG9yT3JOZXh0ID09PSAnb2JqZWN0Jykge1xyXG4gICAgICBzY2hlZHVsZXJGbiA9IHRoaXMuX2lzQXN5bmMgPyAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZ2VuZXJhdG9yT3JOZXh0Lm5leHQodmFsdWUpKTtcclxuICAgICAgfSA6ICh2YWx1ZTogYW55KSA9PiB7IGdlbmVyYXRvck9yTmV4dC5uZXh0KHZhbHVlKTsgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNjaGVkdWxlckZuID0gdGhpcy5faXNBc3luYyA/ICh2YWx1ZTogYW55KSA9PiB7IHNldFRpbWVvdXQoKCkgPT4gZ2VuZXJhdG9yT3JOZXh0KHZhbHVlKSk7IH0gOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlOiBhbnkpID0+IHsgZ2VuZXJhdG9yT3JOZXh0KHZhbHVlKTsgfTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5fc2NoZWR1bGVyRm5zKSB7XHJcbiAgICAgIHRoaXMuX3NjaGVkdWxlckZucyA9IG5ldyBTZXQ8YW55PigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc2NoZWR1bGVyRm5zLmFkZChzY2hlZHVsZXJGbik7XHJcblxyXG4gICAgcmV0dXJuIHN1cGVyLnN1YnNjcmliZShnZW5lcmF0b3JPck5leHQsIGVycm9yLCBjb21wbGV0ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=