UNPKG

vuex-state-storage-sync

Version:
3 lines (2 loc) 2.57 kB
var r=function(r){return function(r){return!!r&&"object"==typeof r}(r)&&!function(r){var t=Object.prototype.toString.call(r);return"[object RegExp]"===t||"[object Date]"===t||function(r){return r.$$typeof===e}(r)}(r)},e="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function t(r,e){return!1!==e.clone&&e.isMergeableObject(r)?u(Array.isArray(r)?[]:{},r,e):r}function n(r,e,n){return r.concat(e).map(function(r){return t(r,n)})}function o(r){return Object.keys(r).concat(function(r){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(r).filter(function(e){return r.propertyIsEnumerable(e)}):[]}(r))}function c(r,e){try{return e in r}catch(r){return!1}}function u(e,i,a){(a=a||{}).arrayMerge=a.arrayMerge||n,a.isMergeableObject=a.isMergeableObject||r,a.cloneUnlessOtherwiseSpecified=t;var f=Array.isArray(i);return f===Array.isArray(e)?f?a.arrayMerge(e,i,a):function(r,e,n){var i={};return n.isMergeableObject(r)&&o(r).forEach(function(e){i[e]=t(r[e],n)}),o(e).forEach(function(o){(function(r,e){return c(r,e)&&!(Object.hasOwnProperty.call(r,e)&&Object.propertyIsEnumerable.call(r,e))})(r,o)||(i[o]=c(r,o)&&n.isMergeableObject(e[o])?function(r,e){if(!e.customMerge)return u;var t=e.customMerge(r);return"function"==typeof t?t:u}(o,n)(r[o],e[o],n):t(e[o],n))}),i}(e,i,a):t(i,a)}u.all=function(r,e){if(!Array.isArray(r))throw new Error("first argument should be an array");return r.reduce(function(r,t){return u(r,t,e)},{})};var i=u;export default function(r){var e,t=(r=r||{}).storage||window&&window.localStorage,n=r.key||"store",o=function(r,e){try{var t=e.getItem(r);return void 0!==t?JSON.parse(t):void 0}catch(r){return}},c=function(r,e,t){return t.setItem(r,JSON.stringify(e))},u=function(r,e){return Array.isArray(e)?e.reduce(function(e,t){return function(r,e,t,n){return(e=e.split?e.split("."):e.slice(0)).slice(0,-1).reduce(function(r,e){return r[e]=r[e]||{}},r)[e.pop()]=t,r}(e,t,(n=r,void 0===(n=((o=t).split?o.split("."):o).reduce(function(r,e){return r&&r[e]},n))?void 0:n));var n,o},{}):r},a=function(){return!0},f=function(r){return function(e){return r.subscribe(e)}},s=function(){return(r.getState||o)(n,t)};return r.fetchBeforeUse&&(e=s()),function(o){r.fetchBeforeUse||(e=s()),"object"==typeof e&&null!==e&&(o.replaceState(r.overwrite?e:(r.merge||i)(o.state,e,{arrayMerge:r.arrayMerge||function(r,e){return e},clone:!1})),(r.rehydrated||function(){})(o)),(r.subscriber||f)(o)(function(e,o){(r.filter||a)(e)&&(r.setState||c)(n,(r.reducer||u)(o,r.paths),t)})}} //# sourceMappingURL=vuex-state-stoage-sync.es.js.map