@newbiz/vue-maintainer-libs
Version:
Vue.js maintainer 라이브러리
1 lines • 1.43 kB
JavaScript
;var t=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),u=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)u.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return u};Object.defineProperty(exports,"__esModule",{value:!0}),exports.initStore=function initStore(e,r){if(r.vuex){if(e.use(r.vuex),r.root&&!r.modules)return new r.vuex.Store(r.root);if(r.root&&r.modules){var n={},o={};return Object.entries(r.modules).map(function(e){var r=t(e,2),i=r[0],u=r[1];u.initialState&&u.module?(n[i]=u.initialState,o[i]=u.module):(n[i]=u.state?function(){return JSON.parse(JSON.stringify(u.state))}:function(){return{}},o[i]=u)}),Object.entries(o).map(function(e){var r=t(e,2),o=r[0],i=r[1];i.modules&&function addChildrenInitialStates(e,r,n){Object.entries(r).map(function(r){var o=t(r,2),i=o[0],u=o[1],a=n+"."+i,l=JSON.parse(JSON.stringify(u.state));e[a]=function(){return l},u.modules&&addChildrenInitialStates(e,u.modules,a)})}(n,i.modules,o)}),r.root.mutations=r.root.mutations||{},r.root.mutations.clearModuleStates=function(e){Object.entries(n).map(function(r){var n=t(r,2),o=n[0],i=n[1],u=o.split(".");u.filter(function(t,e){return e!==u.length-1}).reduce(function(t,e){return t[e]},e)[u[u.length-1]]=i()})},r.root.modules=o,new r.vuex.Store(r.root)}}return new r.vuex.Store({})};