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"; import {ObservableValue} from "./ObservableValue";
export class RetainedObservableValue<T> extends ObservableValue<T> { 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); super(initialValue);
this._freeCallback = freeCallback; }
onSubscribeFirst() {
this.startCallback();
} }
onUnsubscribeLast() { onUnsubscribeLast() {
super.onUnsubscribeLast(); super.onUnsubscribeLast();
this._freeCallback(); this.freeCallback();
} }
} }