123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- "use strict";
- const { toString } = Object.prototype;
- function isArray(val) {
- return toString.call(val) === "[object Array]";
- }
- function isObject(val) {
- return val !== null && typeof val === "object";
- }
- function isDate(val) {
- return toString.call(val) === "[object Date]";
- }
- function isURLSearchParams(val) {
- return typeof URLSearchParams !== "undefined" && val instanceof URLSearchParams;
- }
- function forEach(obj, fn) {
- if (obj === null || typeof obj === "undefined") {
- return;
- }
- if (typeof obj !== "object") {
- obj = [obj];
- }
- if (isArray(obj)) {
- for (let i = 0, l = obj.length; i < l; i++) {
- fn.call(null, obj[i], i, obj);
- }
- } else {
- for (const key in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
- fn.call(null, obj[key], key, obj);
- }
- }
- }
- }
- function isPlainObject(obj) {
- return Object.prototype.toString.call(obj) === "[object Object]";
- }
- function deepMerge() {
- const result = {};
- function assignValue(val, key) {
- if (typeof result[key] === "object" && typeof val === "object") {
- result[key] = deepMerge(result[key], val);
- } else if (typeof val === "object") {
- result[key] = deepMerge({}, val);
- } else {
- result[key] = val;
- }
- }
- for (let i = 0, l = arguments.length; i < l; i++) {
- forEach(arguments[i], assignValue);
- }
- return result;
- }
- function isUndefined(val) {
- return typeof val === "undefined";
- }
- exports.deepMerge = deepMerge;
- exports.forEach = forEach;
- exports.isArray = isArray;
- exports.isDate = isDate;
- exports.isObject = isObject;
- exports.isPlainObject = isPlainObject;
- exports.isURLSearchParams = isURLSearchParams;
- exports.isUndefined = isUndefined;
|