Sha256: 40630cfa54b049fbc63362197ca1a7612861987fe001423d49f97f494957b888
Contents?: true
Size: 1.58 KB
Versions: 33
Compression:
Stored size: 1.58 KB
Contents
/*! * 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(parent){ var clone = nodes.Expression.prototype.clone.call(this, parent); clone.map = {}; for (var key in this.map) { clone.map[key] = this.map[key].clone(parent, clone); } clone.lineno = this.lineno; clone.filename = this.filename; return clone; }; /** * Return a JSON representation of this node. * * @return {Object} * @api public */ Arguments.prototype.toJSON = function(){ return { __type: 'Arguments', map: this.map, isList: this.isList, preserve: this.preserve, lineno: this.lineno, filename: this.filename, nodes: this.nodes }; };
Version data entries
33 entries across 19 versions & 1 rubygems