UNPKG

kex

Version:

Kex is a tiny library for state managenent in JavaScript projects

30 lines 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const is_object_1 = require("../utils/is-object"); function applyModifiers(obj, ...resolvedModifiers) { if (!is_object_1.isObject(obj)) { return Object.create(null); } for (let resolvedModifier of resolvedModifiers) { if (!is_object_1.isObject(resolvedModifier)) { continue; } for (let key in resolvedModifier) { if (!Object.prototype.hasOwnProperty.call(obj, key) || !is_object_1.isObject(obj[key]) || !is_object_1.isObject(resolvedModifier[key]) || obj[key] instanceof Date) { if (resolvedModifier[key] === undefined) { delete obj[key]; continue; } obj[key] = resolvedModifier[key]; continue; } applyModifiers(obj[key], resolvedModifier[key]); } } return obj; } exports.applyModifiers = applyModifiers; //# sourceMappingURL=apply-modifiers.js.map