@codegouvfr/react-dsfr
Version:
French State Design System React integration library
20 lines • 640 B
JavaScript
import { Evt } from "evt";
export function statefulObservableToStatefulEvt(params) {
const { statefulObservable, ctx = Evt.newCtx() } = params;
const evt = Evt.create(statefulObservable.current);
let doSkip = false;
evt.attach(ctx, data => {
doSkip = true;
statefulObservable.current = data;
doSkip = false;
});
const { unsubscribe } = statefulObservable.subscribe(data => {
if (doSkip) {
return;
}
evt.state = data;
});
ctx.evtDoneOrAborted.attach(() => unsubscribe());
return evt;
}
//# sourceMappingURL=statefulObservableToStatefulEvt.js.map