UNPKG

@meleon/uni-ui

Version:

A uniapp components library written in vue3 and typescript

1 lines 780 B
import{Watcher}from"./watcher";class StateWatcher extends Watcher{constructor(){super();const t=this;this.observerList=[],this.mutations={setData:function(t,s){Object.keys(s).forEach((e=>{t[e]=s[e]}))},insertColumns:function(s,e,o){const r=s._columns;void 0!==r[o]?r.splice(o-1,0,e):r.push(e),t.updateColumns()},getStore:()=>t.getStore()}}commit(t,...s){const e=this.mutations;if(e[t]){const o=[this.states,...s];e[t].apply(this,o)}else console.log(`Action ${t} not found...`);this.notify()}getStore(){return this}getStates(){return this.states}addObserver(...t){const s=[...this.observerList,...t],e=[],o=[];s.forEach((t=>{e.includes(t.name)||(e.push(t.name),o.push(t))})),this.observerList=[...o]}notify(){this.observerList.forEach((t=>t.update()))}}export default StateWatcher;