aboutsummaryrefslogtreecommitdiff
path: root/node_modules/stylus/lib/functions/merge.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/stylus/lib/functions/merge.js')
-rw-r--r--node_modules/stylus/lib/functions/merge.js24
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;