UNPKG

@moomfe/zenjs

Version:

ZenJS 是一个高性能的 JavaScript 工具库。

10 lines (8 loc) 1.47 kB
/*! * Zen.js v5.0.0-beta.5 * https://github.com/MoomFE/ZenJS * * (c) 2018 Wei Zhang * Released under the MIT License. */ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n():"function"==typeof define&&define.amd?define(n):n()}(0,function(){"use strict";var n=/(%[0-9A-Z]{2})+/gi,c=/^[\{\[]/,p=/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,d=/%(23|24|26|2B|5E|60|7C)/g,a=/[\(\)]/g,e=ZenJS,s=e.assign,u=e.isNumber,o=e.defineValue;function f(e){return e.replace(n,decodeURIComponent)}function i(e,n,o){o=s({path:"/"},o),u(o.expires)&&(o.expires=new Date(1*new Date+864e5*o.expires)),o.expires=o.expires?o.expires.toUTCString():"";try{var t=JSON.stringify(n);c.test(t)&&(n=t)}catch(e){}n=encodeURIComponent(String(n)).replace(p,decodeURIComponent),e=encodeURIComponent(String(e)).replace(d,decodeURIComponent).replace(a,escape);var i,r="";for(i in o)o[i]&&(r+="; "+i,!0!==o[i]&&(r+="="+o[i].split(";")[0]));return document.cookie=e+"="+n+r}function r(e,n){for(var o,t,i,r={},c=document.cookie?document.cookie.split("; "):[],p=c.length,d=0;d<p;d++){t=(o=c[d].split("=")).slice(1).join("="),n||'"'!==t.charAt(0)||(t=t.slice(1,-1));try{if(i=f(o[0]),t=f(t),n)try{t=parse(t)}catch(e){}if(r[i]=t,e===i)break}catch(e){}}return void 0!==e?r[e]:r}o(document,"$cookie",function(e,n,o){var t=arguments.length;return t?1===t?r(e||e+"",!1):i(e,n,o):r(e,!0)}),o(document,"$deleteCookie $removeCookie",function(e,n){i(e,"",s(n||{},{expires:-1}))})});