/*! * Stylus - Visitor * Copyright (c) Automattic * MIT Licensed */ /** * Initialize a new `Visitor` with the given `root` Node. * * @param {Node} root * @api private */ var Visitor = module.exports = function Visitor(root) { this.root = root; }; /** * Visit the given `node`. * * @param {Node|Array} node * @api public */ Visitor.prototype.visit = function(node, fn){ var method = 'visit' + node.constructor.name; if (this[method]) return this[method](node); return node; };