var y={},T=new Set(["__proto__","constructor","prototype"]);function u(e){return j(e)}function j(e){return e instanceof Map}function l(e){return M(e)}function M(e){return e instanceof Set}function a(e){return!!e&&e.constructor===Object}function b(e){return Object.keys(e).filter(i=>!T.has(i))}function O(e,i,...f){let s=y;for(let c of[e,i,...f]){if(!a(c))throw new TypeError("Expected all arguments to be object literals.");let r={...s},p=b(c);for(let o of p){let n=r[o],t=c[o];if(n!==t){if(a(n)&&a(t)){r[o]=O(n,t);continue}if(Array.isArray(n)&&Array.isArray(t)){r[o]=[...new Set([...n,...t])];continue}if(u(n)&&u(t)){r[o]=new Map([...n,...t]);continue}if(l(n)&&l(t)){r[o]=new Set([...n,...t]);continue}r[o]=t}}s=r}return s}export{y as initialValue,u as isMap,j as isMapInstance,a as isObjectLiteral,l as isSet,M as isSetInstance,O as merge,b as objectKeys};
