123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var is_array_1 = require("./is-array");
- var is_plain_object_1 = require("./is-plain-object");
- var MAX_MIX_LEVEL = 5;
- function _deepMix(dist, src, level, maxLevel) {
- level = level || 0;
- maxLevel = maxLevel || MAX_MIX_LEVEL;
- for (var key in src) {
- if (src.hasOwnProperty(key)) {
- var value = src[key];
- if (value !== null && is_plain_object_1.default(value)) {
- if (!is_plain_object_1.default(dist[key])) {
- dist[key] = {};
- }
- if (level < maxLevel) {
- _deepMix(dist[key], value, level + 1, maxLevel);
- }
- else {
- dist[key] = src[key];
- }
- }
- else if (is_array_1.default(value)) {
- dist[key] = [];
- dist[key] = dist[key].concat(value);
- }
- else if (value !== undefined) {
- dist[key] = value;
- }
- }
- }
- }
- // todo 重写
- var deepMix = function (rst) {
- var args = [];
- for (var _i = 1; _i < arguments.length; _i++) {
- args[_i - 1] = arguments[_i];
- }
- for (var i = 0; i < args.length; i += 1) {
- _deepMix(rst, args[i]);
- }
- return rst;
- };
- exports.default = deepMix;
- //# sourceMappingURL=deep-mix.js.map
|