UNPKG

patronum

Version:

☄️ Effector utility library delivering modularity and convenience

40 lines (39 loc) 763 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.snapshot = snapshot; var _effector = require("effector"); function snapshot({ source, clock, fn = value => value }) { const defaultValue = fn(source.defaultState); const onSnapshot = clock ? (0, _effector.sample)({ and: [{ source, clock: clock, fn }], or: { name: "onSnapshot", sid: "-imuiws" } }) : (0, _effector.sample)({ and: [{ source, fn }], or: { name: "onSnapshot", sid: "-imaqbf" } }); const $snapshot = (0, _effector.createStore)(defaultValue, { name: "$snapshot", sid: "-63s6pn" }); $snapshot.on(onSnapshot, (_, value) => value); return $snapshot; }