import{n as e}from"./_BCiCTKAo.js";function t(e,t){let n={key:t.key,parents:t.parents,values:t.values,result:t.result},r=e?.hierarchy;return{...n,hierarchy:r===void 0?[n]:[...r,n]}}function n(e,t){return e.includes(void 0)?e.filter(e=>e!==void 0):e}function r(e,t,n){return n===A.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions[t]!==e.defaultMergeFunctions[t]}function i(e,t){return{...t,...Object.fromEntries(Object.entries(e).filter(([e])=>Object.hasOwn(t,e)).map(([e,n])=>n===!1?[e,t.mergeOthers]:typeof n==`function`?[e,n]:[e,t[e]]))}}function a(e,t,n){return e.flat()}function o(e,t,n){let r=new Set;for(let t of e)for(let e of t)r.add(e);return r}function s(e,t,n){return e.at(-1)}function c(e){return typeof e!=`object`||!e?j.NOT:Array.isArray(e)?j.ARRAY:f(e)?j.RECORD:e instanceof Set?j.SET:e instanceof Map?j.MAP:j.OTHER}function l(e){let t=new Set;for(let n of e){let e=Object.keys(n);for(let n of e)t.add(n);let r=Object.getOwnPropertySymbols(n);if(r.length>0)for(let e of r)Object.prototype.propertyIsEnumerable.call(n,e)&&t.add(e)}return t}function u(e){let t=Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t));return[...Object.keys(e),...t]}function d(e,t){return typeof e==`object`&&Object.prototype.propertyIsEnumerable.call(e,t)}function f(e){let t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;let n=Object.prototype.toString.call(e);if(n!==`[object Object]`&&n!==`[object Module]`)return!1;let{constructor:r}=e;if(r===void 0)return!0;let i=r.prototype;if(typeof i!=`object`||!i)return!1;let a=Object.prototype.toString.call(i);return!(a!==`[object Object]`&&a!==`[object Module]`||!Object.hasOwn(i,`isPrototypeOf`))}function p(e,t,n){if(t===void 0||t.length===0)return 0;let r=1;for(let i=t.length-1;i>=0;i--){let{parents:a}=t[i];if(a[n]===e||a.includes(e))return r;r+=1}return 0}function m(e){return e?.hierarchy}function h(e,t,n){if(e.length===2){let r={},i=(i,a)=>{let o=C(a,t,t.metaDataUpdater(n,{key:i,parents:e,values:a,result:r}));o!==A.skip&&(i===`__proto__`?Object.defineProperty(r,i,{value:o,configurable:!0,enumerable:!0,writable:!0}):r[i]=o)},a=e[0],o=e[1];for(let e of u(a))i(e,d(o,e)?[a[e],o[e]]:[a[e]]);for(let e of u(o))d(a,e)||i(e,[o[e]]);return r}return g(e,t,n)}function g(e,t,n){let r={};for(let i of l(e)){let a=[];for(let t of e)d(t,i)&&a.push(t[i]);let o=C(a,t,t.metaDataUpdater(n,{key:i,parents:e,values:a,result:r}));o!==A.skip&&(i===`__proto__`?Object.defineProperty(r,i,{value:o,configurable:!0,enumerable:!0,writable:!0}):r[i]=o)}return r}function _(e,t,n){let r=new Map,i=new Map;for(let t of e)for(let[e,n]of t){let t=i.get(e);t===void 0?i.set(e,[n]):t.push(n)}for(let[a,o]of i){let i=C(o,t,t.metaDataUpdater(n,{key:a,parents:e,values:o,result:r}));i!==A.skip&&r.set(a,i)}return r}function v(e,t,n){if(typeof e!=`object`||!e)return e;let r=m(n),i=p(e,r,0);if(r!==void 0&&i>0)return r[r.length-i]?.result;if(c(e)===j.RECORD){let r=e,i=!1,a={};for(let e of u(r)){let o=r[e],s=v(o,t,t.metaDataUpdater(n,{key:e,parents:[r],values:[o],result:a}));s!==o&&(i=!0),e===`__proto__`?Object.defineProperty(a,e,{value:s,configurable:!0,enumerable:!0,writable:!0}):a[e]=s}return i?a:e}return e}function y(e,t,n,r){let i=t[0],a=m(r);for(let o=1;o=0?e.maxDepth:1e3,actions:A}}function C(e,t,n){let r=t.filterValues?.(e,n)??e;if(r.length===0)return;let i=m(n),a=i?.length??(typeof n==`number`?n:n?.depth??0);if(t.maxDepth!==void 0&&a>=t.maxDepth)return k(r,t,n);if(r.length===1){if(i!==void 0){let e=p(r[0],i,0);if(e>0)return i[i.length-e]?.result??i[i.length-e]?.parents[0]}return k(r,t,n)}let o=c(r[0]);if(o!==j.NOT&&o!==j.OTHER){if(r.length===2){if(c(r[1])!==o)return k(r,t,n);let e=p(r[0],i,0),a=p(r[1],i,1);if(e!==0||a!==0)return O(r,[e,a],t,n)}else{let e=Array(r.length);e[0]=p(r[0],i,0);for(let a=1;ae!==0))return O(r,e,t,n)}}switch(o){case j.RECORD:return w(r,t,n);case j.ARRAY:return T(r,t,n);case j.SET:return E(r,t,n);case j.MAP:return D(r,t,n);default:return k(r,t,n)}}function w(e,t,n){let i=t.mergeFunctions.mergeRecords(e,t,n);return r(t,`mergeRecords`,i)?t.defaultMergeFunctions.mergeRecords(e,t,n):i}function T(e,t,n){let i=t.mergeFunctions.mergeArrays(e,t,n);return r(t,`mergeArrays`,i)?t.defaultMergeFunctions.mergeArrays(e):i}function E(e,t,n){let i=t.mergeFunctions.mergeSets(e,t,n);return r(t,`mergeSets`,i)?t.defaultMergeFunctions.mergeSets(e):i}function D(e,t,n){let i=t.mergeFunctions.mergeMaps(e,t,n);return r(t,`mergeMaps`,i)?t.defaultMergeFunctions.mergeMaps(e,t,n):i}function O(e,t,n,i){let a=n.mergeFunctions.mergeCircularReferences(e,t,n,i);return r(n,`mergeCircularReferences`,a)?n.defaultMergeFunctions.mergeCircularReferences(e,t,n,i):a}function k(e,t,n){let i=t.mergeFunctions.mergeOthers(e,t,n);return r(t,`mergeOthers`,i)?t.defaultMergeFunctions.mergeOthers(e):i}var A,j,M,N;function P(){return(P=e((()=>{A={defaultMerge:Symbol(`deepmerge-ts: default merge`),skip:Symbol(`deepmerge-ts: skip`)},A.defaultMerge,(function(e){e[e.NOT=0]=`NOT`,e[e.RECORD=1]=`RECORD`,e[e.ARRAY=2]=`ARRAY`,e[e.SET=3]=`SET`,e[e.MAP=4]=`MAP`,e[e.OTHER=5]=`OTHER`})(j||={}),M={mergeRecords:h,mergeArrays:a,mergeSets:o,mergeMaps:_,mergeCircularReferences:y,mergeOthers:s},N=x()})))()}export{P as n,b as t};