
Лёгкая утилита на Node.js для глубокого или поверхностного слияния JavaScript-объектов, портированная из метода extend библиотеки jQuery.
node-extend — это порт классического метода extend() из jQuery. Он работает именно так, как вы ожидаете. Он прост, проверен и надёжен.
Примечания:
Object.assign
теперь предлагает ту же функциональность нативно (но без опции «глубокого копирования»).
См. .Object.assign как в Node.js, так и во многих
браузерах (поскольку NPM-модули предназначены и для браузера тоже) могут не полностью
соответствовать спецификации.
Обратите внимание на модуль object.assign как на
совместимый кандидат.Этот пакет доступен в npm как: extend
npm install extend
Синтаксис: extend ( [deep], target, object1, [objectN] )
Расширяет один объект одним или несколькими другими, возвращая изменённый объект.
Пример:
var extend = require('extend');
extend(targetObject, object1, object2);
Имейте в виду, что целевой объект будет изменён и будет возвращён из extend().
Если в качестве первого аргумента указано логическое true, extend выполняет глубокое копирование, рекурсивно копируя все встречающиеся объекты. В противном случае копия будет разделять структуру с исходным(и) объектом(ами).
Свойства со значением undefined не копируются. Однако свойства, унаследованные от прототипа объекта, будут скопированы.
Предупреждение: передача false в качестве первого аргумента не поддерживается.
deep Boolean (необязательный)
Если задан, объединение становится рекурсивным (т.е. глубоким копированием).target Object
Объект, который нужно расширить.object1 Object
Объект, который будет объединён с первым.objectN Object (необязательный)
Дополнительные объекты для объединения с первым.node-extend распространяется под лицензией MIT.
Вся заслуга принадлежит авторам jQuery за совершенствование этой замечательной утилиты.
Портирован в Node.js Стефаном Томасом при участии Джонатана Бьюкенена и Джордана Харбанда.