UNPKG

vue-savedata

Version:

vuex插件 指定数据持久化(配置简,性能佳,体积小)

2 lines (1 loc) 4.1 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e=e||self)["vue-savedata"]=e["vue-savedata"]||{},e["vue-savedata"].umd=t())}(this,function(){"use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function r(r){for(var n=1;arguments.length>n;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?t(Object(o),!0).forEach(function(t){e(r,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))})}return r}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=[];t>r;r++)n[r]=e[r];return n}function o(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var o=0,a=function(){};return{s:a,n:function(){return e.length>o?{done:!1,value:e[o++]}:{done:!0}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,c=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return u=e.done,e},e:function(e){c=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(c)throw i}}}}return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.SS,a=void 0===n?null:n,i=t.LS,u=void 0===i?null:i,c=t.saveName,l=void 0===c?"saveData":c,f=t.mode,s=void 0===f?"LS":f,d=t.MMD,y=void 0===d?2:d,p=t.ciphertext,v=void 0!==p&&p,b=t.encode,S=void 0===b?function(e){return window.btoa(encodeURIComponent(JSON.stringify(e)))}:b,m=t.decode,O=void 0===m?function(e){return JSON.parse(decodeURIComponent(window.atob(e)))}:m,g=t.setState,h=void 0===g?function(e,t){e=v?S(e):JSON.stringify(e),window[t].setItem(l,e)}:g,w=t.getState,j=void 0===w?function(e){try{var t=window[e].getItem(l);return t?v?O(t):JSON.parse(t):null}catch(e){return null}}:w,P=t.checkParams,A=void 0===P?function(e){return!(!e.hasOwnProperty("storePath")||!e.hasOwnProperty("module"))||(console.warn("SS,LS的key约定必须包含storePath、module"),!1)}:P,I=t.deepMerge,D=void 0===I?function(e,t,r){if(!r)return t;for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=e[n]&&"[object Object]"===Object.prototype.toString.call(e[n])?D(e[n],t[n],--r):e[n]=t[n]);return e}:I;function k(e,t){if(e){var r=t.split("/");return r[r.length-1]}return t}function N(t,n,a){var i,u=null,c=o(t);try{for(c.s();!(i=c.n()).done;){var l=i.value,f=k(l.module.namespaced,n.type),s=l.module.mutations;s&&Object.prototype.hasOwnProperty.call(s,f)&&(u=r(r({},u),{},e({},l.storePath,a[l.storePath])))}}catch(e){c.e(e)}finally{c.f()}return u}return function(e){var t,n=!a||Array.isArray(a)?a:[a],i=!u||Array.isArray(u)?u:[u],c=null,l=null;if(i){var f,d=o(i);try{for(d.s();!(f=d.n()).done;)if(!A(f.value)){i=null;break}}catch(e){d.e(e)}finally{d.f()}i&&(l=t=j("localStorage"))}if(n){var p,v=o(n);try{for(v.s();!(p=v.n()).done;)if(!A(p.value)){n=null;break}}catch(e){v.e(e)}finally{v.f()}n&&(c=j("sessionStorage"),t=l?r(r({},l),c):c)}i||n||(t=j("".concat("SS"!==s?"localStorage":"sessionStorage"))),t&&e.replaceState(D(e.state,t,y+1)),e.subscribe(function(e,t){if(i){var o=N(i,e,t);if(o&&(l=r(r({},l),o),h(l,"localStorage")),!n)return}if(n){var f=N(n,e,t);f&&(c=r(r({},c),f),h(c,"sessionStorage"))}else!u&&!a&&h(t,"".concat("SS"!==s?"localStorage":"sessionStorage"))})}}});