ngx-echarts
Version:
<!-- Badges section here. -->
50 lines • 6.32 kB
JavaScript
import { ReplaySubject, Subscription } from 'rxjs';
export class ChangeFilterV2 {
constructor() {
this.subject = new ReplaySubject(1);
this.subscriptions = new Subscription();
}
doFilter(changes) {
this.subject.next(changes);
}
dispose() {
this.subscriptions.unsubscribe();
}
notEmpty(key, handler) {
this.subscriptions.add(this.subject.subscribe(changes => {
if (changes[key]) {
const value = changes[key].currentValue;
if (value !== undefined && value !== null) {
handler(value);
}
}
}));
}
has(key, handler) {
this.subscriptions.add(this.subject.subscribe(changes => {
if (changes[key]) {
const value = changes[key].currentValue;
handler(value);
}
}));
}
notFirst(key, handler) {
this.subscriptions.add(this.subject.subscribe(changes => {
if (changes[key] && !changes[key].isFirstChange()) {
const value = changes[key].currentValue;
handler(value);
}
}));
}
notFirstAndEmpty(key, handler) {
this.subscriptions.add(this.subject.subscribe(changes => {
if (changes[key] && !changes[key].isFirstChange()) {
const value = changes[key].currentValue;
if (value !== undefined && value !== null) {
handler(value);
}
}
}));
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLWZpbHRlci12Mi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1lY2hhcnRzL3NyYy9saWIvY2hhbmdlLWZpbHRlci12Mi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuRCxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNVLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDOUMsa0JBQWEsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQXlEM0QsQ0FBQztJQXZEQyxRQUFRLENBQUMsT0FBc0I7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRLENBQUksR0FBVyxFQUFFLE9BQXVCO1FBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMvQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDaEIsTUFBTSxLQUFLLEdBQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQztnQkFDM0MsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7b0JBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDaEI7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsR0FBRyxDQUFJLEdBQVcsRUFBRSxPQUF1QjtRQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2hCLE1BQU0sS0FBSyxHQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUM7Z0JBQzNDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNoQjtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUSxDQUFJLEdBQVcsRUFBRSxPQUF1QjtRQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7Z0JBQ2pELE1BQU0sS0FBSyxHQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUM7Z0JBQzNDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNoQjtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCLENBQUksR0FBVyxFQUFFLE9BQXVCO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMvQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtnQkFDakQsTUFBTSxLQUFLLEdBQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQztnQkFDM0MsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7b0JBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDaEI7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIENoYW5nZUZpbHRlclYyIHtcbiAgcHJpdmF0ZSBzdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8U2ltcGxlQ2hhbmdlcz4oMSk7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGRvRmlsdGVyKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dChjaGFuZ2VzKTtcbiAgfVxuXG4gIGRpc3Bvc2UoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBub3RFbXB0eTxUPihrZXk6IHN0cmluZywgaGFuZGxlcjogKHQ6IFQpID0+IHZvaWQpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5zdWJqZWN0LnN1YnNjcmliZShjaGFuZ2VzID0+IHtcbiAgICAgICAgaWYgKGNoYW5nZXNba2V5XSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlOiBUID0gY2hhbmdlc1trZXldLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGFuZGxlcih2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBoYXM8VD4oa2V5OiBzdHJpbmcsIGhhbmRsZXI6ICh0OiBUKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc3ViamVjdC5zdWJzY3JpYmUoY2hhbmdlcyA9PiB7XG4gICAgICAgIGlmIChjaGFuZ2VzW2tleV0pIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZTogVCA9IGNoYW5nZXNba2V5XS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgaGFuZGxlcih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5vdEZpcnN0PFQ+KGtleTogc3RyaW5nLCBoYW5kbGVyOiAodDogVCkgPT4gdm9pZCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN1YmplY3Quc3Vic2NyaWJlKGNoYW5nZXMgPT4ge1xuICAgICAgICBpZiAoY2hhbmdlc1trZXldICYmICFjaGFuZ2VzW2tleV0uaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgY29uc3QgdmFsdWU6IFQgPSBjaGFuZ2VzW2tleV0uY3VycmVudFZhbHVlO1xuICAgICAgICAgIGhhbmRsZXIodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBub3RGaXJzdEFuZEVtcHR5PFQ+KGtleTogc3RyaW5nLCBoYW5kbGVyOiAodDogVCkgPT4gdm9pZCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN1YmplY3Quc3Vic2NyaWJlKGNoYW5nZXMgPT4ge1xuICAgICAgICBpZiAoY2hhbmdlc1trZXldICYmICFjaGFuZ2VzW2tleV0uaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgY29uc3QgdmFsdWU6IFQgPSBjaGFuZ2VzW2tleV0uY3VycmVudFZhbHVlO1xuICAgICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoYW5kbGVyKHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19