diff options
Diffstat (limited to 'node_modules/stylus/lib/nodes/extend.js')
| -rw-r--r-- | node_modules/stylus/lib/nodes/extend.js | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/node_modules/stylus/lib/nodes/extend.js b/node_modules/stylus/lib/nodes/extend.js new file mode 100644 index 00000000..05458b61 --- /dev/null +++ b/node_modules/stylus/lib/nodes/extend.js @@ -0,0 +1,69 @@ + +/*! + * Stylus - Extend + * Copyright (c) Automattic <developer.wordpress.com> + * MIT Licensed + */ + +/** + * Module dependencies. + */ + +var Node = require('./node'); + +/** + * Initialize a new `Extend` with the given `selectors` array. + * + * @param {Array} selectors array of the selectors + * @api public + */ + +var Extend = module.exports = function Extend(selectors){ + Node.call(this); + this.selectors = selectors; +}; + +/** + * Inherit from `Node.prototype`. + */ + +Extend.prototype.__proto__ = Node.prototype; + +/** + * Return a clone of this node. + * + * @return {Node} + * @api public + */ + +Extend.prototype.clone = function(){ + return new Extend(this.selectors); +}; + +/** + * Return `@extend selectors`. + * + * @return {String} + * @api public + */ + +Extend.prototype.toString = function(){ + return '@extend ' + this.selectors.join(', '); +}; + +/** + * Return a JSON representation of this node. + * + * @return {Object} + * @api public + */ + +Extend.prototype.toJSON = function(){ + return { + __type: 'Extend', + selectors: this.selectors, + lineno: this.lineno, + column: this.column, + filename: this.filename + }; +}; |
