patronum
Version:
☄️ Effector utility library delivering modularity and convenience
33 lines • 819 B
JavaScript
import { createStore, launch, step, is } from 'effector';
export function previous() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var [store] = args;
var initialValue = args.length < 2 ? null : args[1];
if (!is.store(store, {
sid: "mzq5dc"
})) {
throw Error('previous first argument should be a store');
}
var $prevValue = createStore(initialValue, {
and: {
serialize: 'ignore',
skipVoid: false
},
name: "$prevValue",
sid: "e05yob"
});
var storeNode = store.graphite;
storeNode.seq.push(step.compute({
fn(upd, _, stack) {
launch({
target: $prevValue,
params: stack.a,
defer: true
});
return upd;
}
}));
return $prevValue;
}