Files
Umbraco-CMS/src/Umbraco.Web.UI.Client/libs/observable-api/observer.ts

23 lines
443 B
TypeScript
Raw Normal View History

2023-01-02 11:09:47 +01:00
import { Observable, Subscription } from 'rxjs';
2023-01-04 09:31:16 +01:00
export class UmbObserver<T> {
2023-01-02 11:09:47 +01:00
#subscription!: Subscription;
constructor(source: Observable<T>, callback: (_value: T) => void) {
2023-01-02 11:09:47 +01:00
this.#subscription = source.subscribe((value) => callback(value));
}
2023-01-02 11:19:09 +01:00
// Notice controller class implements empty hostConnected().
2023-01-02 11:09:47 +01:00
hostDisconnected() {
this.#subscription.unsubscribe();
}
2023-01-02 11:38:01 +01:00
destroy(): void {
this.#subscription.unsubscribe();
}
};