support onfirstsubscribe callback in ROV

will use it to start polling for turnServer updates
This commit is contained in:
Bruno Windels 2022-09-26 15:24:14 +02:00
parent 6570ec46f4
commit f4e633beb4

View File

@ -17,15 +17,17 @@ limitations under the License.
import {ObservableValue} from "./ObservableValue";
export class RetainedObservableValue<T> extends ObservableValue<T> {
private _freeCallback: () => void;
constructor(initialValue: T, freeCallback: () => void) {
constructor(initialValue: T, private freeCallback: () => void, private startCallback: () => void = () => {}) {
super(initialValue);
this._freeCallback = freeCallback;
}
onSubscribeFirst() {
this.startCallback();
}
onUnsubscribeLast() {
super.onUnsubscribeLast();
this._freeCallback();
this.freeCallback();
}
}