st-common-core
Version:
小尾巴前端通用核心库
2 lines (1 loc) • 1.18 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("../../arr/utils/arr-copy-util.js"),T=(l,t,u,f,n)=>{if(Reflect.has(n,f)){const s=n[f];return s(l,t,f)}else return u},H=({origin:l,props:t=[],excludeProps:u=[],propsMap:f={},targetPropValMap:n={},excludeArrItem:s=()=>!1,sort:b=null,isCopyEmptyArr:D=!0,isRemoveObjUndefined:S=!1,isRemoveArrUndefined:k=!1})=>{const y={};for(const e in l){if(u.length>0&&u.includes(e)||t.length>0&&!t.includes(e))continue;let c=null;if(l[e]===void 0){if(S)continue;c=l[e]}else if(l[e]===null||typeof l[e]=="function")c=l[e];else if(Array.isArray(l[e])){if(c=j.copyDeep({origin:l[e],props:t,excludeProps:u,propsMap:f,targetPropValMap:n,excludeArrItem:s,sort:b,isCopyEmptyArr:D,isRemoveObjUndefined:S,isRemoveArrUndefined:k}),c.length===0&&!D)continue}else typeof l[e]=="object"?c=H({origin:l[e],props:t,excludeProps:u,propsMap:f,targetPropValMap:n,excludeArrItem:s,sort:b,isCopyEmptyArr:D,isRemoveObjUndefined:S,isRemoveArrUndefined:k}):c=l[e];if(Reflect.has(f,e)){const h=f[e];Array.isArray(h)?h.forEach(q=>{y[q]=T(l,e,c,q,n)}):y[h]=T(l,e,c,h,n)}else y[e]=T(l,e,c,e,n)}return y};exports.copyDeep=H;