UNPKG

patronum

Version:

☄️ Effector utility library delivering modularity and convenience

31 lines 692 B
import { createEffect, restore, sample, is } from 'effector'; var defaultNow = () => Date.now(); export function time(args) { var argsShape = is.unit(args) ? { clock: args } : args; var { clock, getNow, initial } = argsShape; var timeReader = getNow !== null && getNow !== void 0 ? getNow : defaultNow; var readNowFx = createEffect(timeReader, { name: "readNowFx", sid: "ito90c" }); var $time = restore(readNowFx, initial !== null && initial !== void 0 ? initial : timeReader(), { name: "$time", sid: "-k3vl4d" }); sample({ and: [{ clock, target: readNowFx }], or: { sid: "rul0o2" } }); return $time; }