UNPKG

@naverpay/hidash

Version:

improved lodash

2 lines (1 loc) 1.14 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("./internal/to-string-tags.js"),G=require("./isNil.js"),u=require("./isObject.js"),b=Object.prototype.toString,y=b.call.bind(b);function A(e,n){return n===o.DATE_TAG?new Date(e):new RegExp(e)}function f(e,n){if(n==null)return e;const c=y(n);if(c===o.DATE_TAG||c===o.REGEXP_TAG)return A(n,c);if(Array.isArray(n)){if(!Array.isArray(e))return n.slice();const r=n.length;e.length<r&&(e.length=r);for(let t=0;t<r;t++)if(t in n){const i=n[t];if(i==null){e[t]=i;continue}const l=y(i);e[t]=l===o.DATE_TAG||l===o.REGEXP_TAG?A(i,l):u.isObject(i)?f(u.isObject(e[t])?e[t]:{},i):i}return e}if(u.isObject(n)){const s=Object.keys(n),r=s.length;let t;for(let i=0;i<r;i++){t=s[i];const l=n[t];if(l!==void 0)if(l!==null&&typeof l=="object"){const T=y(l);if(T===o.DATE_TAG||T===o.REGEXP_TAG)e[t]=A(l,T);else{const E=e[t];e[t]=u.isObject(E)?f(E,l):f({},l)}}else e[t]=l}return e}return n}function p(e,...n){const c=n.length;if(!c)return G.isNil(e)?{}:e;let s=e;for(let r=0;r<c;r++)s=f(s,n[r]);return s}exports.default=p;exports.merge=p;