UNPKG

stylus

Version:

Robust, expressive, and feature-rich CSS superset

66 lines (53 loc) 1.13 kB
/*! * Stylus - Arguments * Copyright(c) 2010 LearnBoost <dev@learnboost.com> * MIT Licensed */ /** * Module dependencies. */ var Node = require('./node') , nodes = require('../nodes') , utils = require('../utils'); /** * Initialize a new `Arguments`. * * @api public */ var Arguments = module.exports = function Arguments(){ nodes.Expression.call(this); this.map = {}; }; /** * Inherit from `nodes.Expression.prototype`. */ Arguments.prototype.__proto__ = nodes.Expression.prototype; /** * Initialize an `Arguments` object with the nodes * from the given `expr`. * * @param {Expression} expr * @return {Arguments} * @api public */ Arguments.fromExpression = function(expr){ var args = new Arguments , len = expr.nodes.length; args.lineno = expr.lineno; args.isList = expr.isList; for (var i = 0; i < len; ++i) { args.push(expr.nodes[i]); } return args; }; /** * Return a clone of this node. * * @return {Node} * @api public */ Arguments.prototype.clone = function(){ var clone = nodes.Expression.prototype.clone.call(this); clone.map = this.map; return clone; };