##// END OF EJS Templates
Amd tests are passed
Amd tests are passed

File last commit:

r80:8ddb2322c855 default
r91:36a42b1ae292 ts-plugin
Show More
ObservableValue.ts
33 lines | 761 B | video/mp2t | TypeScriptLexer
/ src / main / ts / ObservableValue.ts
import { Observable } from "./Observable";
import { IDestroyable } from "./interfaces";
import { argumentNotNull } from "./safe";
type Handler<T> = (x: T) => void;
export class ObservableValue<T> extends Observable<T> {
private _value: T;
constructor(initial: T) {
super();
this._value = initial;
}
getValue() {
return this._value;
}
setValue(value: T) {
this._value = value;
this._notifyNext(value);
}
on(next: Handler<T>, error?: Handler<any>, complete?: () => void): IDestroyable {
argumentNotNull(next, "next");
try {
next(this._value);
} catch {
// suppress error
}
return super.on(next, error, complete);
}
}