##// END OF EJS Templates
added observable subject producer
added observable subject producer

File last commit:

r124:fbe158a5752a default
r125:cede47727a1b v1.7.0 default
Show More
state-tests.ts
27 lines | 558 B | video/mp2t | TypeScriptLexer
import { observe, stateful } from "./observable";
import * as t from "tap";
interface CounterState {
count: number;
label: "low" | "mid" | "high"
}
let set: (v: CounterState) => void = () => void (0);
const initial: CounterState = { count: 0, label: "low" };
let value = initial;
const obs = observe(stateful<CounterState>(({ next }) => {
next(initial);
set = next;
}));
set({ count: 10, label: "mid" });
obs.subscribe({
next: v => value = v
});
t.equal(value.count, 10, "State should update");
set({ count: 20, label: "high" });