UNPKG

patronum

Version:

☄️ Effector utility library delivering modularity and convenience

33 lines 819 B
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; }