UNPKG

defaults-deep-ts

Version:
24 lines (23 loc) 833 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var isPlainObject = function (obj) { return Object.prototype.toString.call(obj) === '[object Object]'; }; var isNil = function (v) { return v === null || v === undefined; }; var defaultsDeep = function (object, defaults) { var result = object; for (var p in defaults) { if (!Object.prototype.hasOwnProperty.call(defaults, p)) { continue; } if (isNil(result[p]) && !isNil(defaults[p])) { result[p] = defaults[p]; } } for (var p in result) { var defaultValue = defaults[p]; if (isPlainObject(result[p]) && isPlainObject(defaultValue)) { result[p] = defaultsDeep(result[p], defaultValue); } } return result; }; exports.default = defaultsDeep;