Full implementation of PromiseObserver.
class PromiseObserver extends AbstractObserver<
Promise<unknown>,
undefined,
undefined
> {
constructor(
owner: IDisposableOwner,
target: Promise<unknown>,
private readonly _promiseAccessor: IPromiseAccessor,
) {
super(owner, target, undefined, new ReplaySubject<IPropertyChange>(1));
target.then(this.onValueResolved);
}
protected override disposeInternal(): void {
this._promiseAccessor.clearLastValue(this.target);
}
private onValueResolved = (newValue: unknown): void => {
if (this.isDisposed) {
return;
}