diff options
Diffstat (limited to 'node_modules/stylus/lib/functions/merge.js')
| -rw-r--r-- | node_modules/stylus/lib/functions/merge.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/node_modules/stylus/lib/functions/merge.js b/node_modules/stylus/lib/functions/merge.js new file mode 100644 index 00000000..a524973b --- /dev/null +++ b/node_modules/stylus/lib/functions/merge.js @@ -0,0 +1,24 @@ +var utils = require('../utils'); + +/** + * Merge the object `dest` with the given args. + * + * @param {Object} dest + * @param {Object} ... + * @return {Object} dest + * @api public + */ + +(module.exports = function merge(dest){ + utils.assertPresent(dest, 'dest'); + dest = utils.unwrap(dest).first; + utils.assertType(dest, 'object', 'dest'); + + var last = utils.unwrap(arguments[arguments.length - 1]).first + , deep = (true === last.val); + + for (var i = 1, len = arguments.length - deep; i < len; ++i) { + utils.merge(dest.vals, utils.unwrap(arguments[i]).first.vals, deep); + } + return dest; +}).raw = true; |
