@42px/effector-extra
Version:
helpful effector utils
3 lines (2 loc) • 1.39 kB
JavaScript
var EffectorExtra=function(e,t){"use strict";function r(e){const r=e.domain?e.domain.effect({name:"effect",sid:"-xn2rd6"}):t.createEffect({name:"effect",sid:"-x614yz"});return r.use((t=>{let r=e.effect(e.mapParams(t),{name:"promise",sid:"-9qez7q"});return e.mapResult&&(r=r.then((r=>e.mapResult({params:t,result:r})))),e.mapError&&(r=r.catch((r=>{throw e.mapError({params:t,error:r})}))),r})),r}return e.attachWrapper=r,e.batchEvents=function(e,r){const a=t.createEvent({name:"event",sid:"-qsq21n"}),n=t.createEvent({name:"pushStore",sid:"-99i15u"}),c=t.createEvent({name:"resetStore",sid:"-ka34j3"}),o=t.createEvent({name:"timeoutEnd",sid:"-8qf3eg"}),s=t.createStore([],{name:"$storedEvents",sid:"tj0mgu"});let i;return s.on(n,((e,t)=>[...e,t])).reset(c),e.watch((e=>{void 0!==i?(clearTimeout(i),n(e)):a([e]),i=setTimeout((()=>{i=void 0,o()}),r)})),t.sample({and:[{source:t.sample({and:[{source:s,clock:o,fn:e=>e}],or:{name:"source",sid:"4pit6z"}}),filter:s.map((e=>Boolean(e.length)))}],or:{sid:"c06kr4"}}).watch((e=>{a(e),c()})),a},e.createService=function({domain:e,effect:a}){return{createMethod:function(n){return t.withFactory({sid:"7v5c9k",fn:()=>r({domain:e,effect:a,...n}),name:"none",method:"attachWrapper"})}}},e.mockEffects=()=>new Map,e.mockStores=()=>new Map,Object.defineProperty(e,"__esModule",{value:!0}),e}({},effector);
//# sourceMappingURL=effector-extra.iife.js.map