mirror of
https://github.com/vector-im/hydrogen-web.git
synced 2025-02-02 15:41:41 +01:00
support onfirstsubscribe callback in ROV
will use it to start polling for turnServer updates
This commit is contained in:
parent
6570ec46f4
commit
f4e633beb4
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user