@aplus-frontend/ui
Version:
2 lines (1 loc) • 880 B
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("lodash-unified"),y=require("vue");function m(n,e){const t=p(n),i=p(e);return e.map(r=>{const o=a(r.props.name),f=i.get(o),c=t.get(o);if(!t.get(o)||f?.index!==c?.index)return r;const g=u(c.item),l=u(f.item);return JSON.stringify(g)!==JSON.stringify(l)?r:y.cloneVNode(r,{_signal:c.item._signal})})}function a(n){return n?(s.isArray(n)?n:[n]).map(t=>""+t).join(""):""}function p(n){const e=new Map;return n.forEach((t,i)=>{const r=t.props,o=a(r.name);e.set(o,{item:r,index:i})}),e}function u(n){if(n===null||typeof n!="object")return n;const e={};for(const t in n){const i=n[t];t==="_signal"||typeof i=="function"||(e[t]=u(i))}return e}function d(n,...e){if(s.isArray(n))for(const t of n)s.isFunction(t)&&t(...e);else s.isFunction(n)&&n(...e)}exports.diffFormItem=m;exports.execFunc=d;