@luband/jstools
Version:
前端工具包
2 lines (1 loc) • 577 B
JavaScript
import e from"./isArray.js";import r from"./isRegExp.js";import t from"./isDate.js";function n(n){var i=function(e){var r="";return e.global&&(r+="g"),e.ignoreCase&&(r+="i"),e.multiline&&(r+="m"),r},o=[],a=[];return function n(u){if(null===u)return null;if("object"!=typeof u)return u;var f,s;e(u)?f=[]:r(u)?(f=new RegExp(u.source,i(u)),u.lastIndex&&(f.lastIndex=u.lastIndex)):t(u)?f=new Date(u.getTime()):(s=Object.getPrototypeOf(u),f=Object.create(s));var l=o.indexOf(u);if(-1!=l)return a[l];for(var p in o.push(u),a.push(f),u)f[p]=n(u[p]);return f}(n)}export{n as default};