hexo/node_modules/stylus/lib/visitor/index.js

32 lines
561 B
JavaScript

/*!
* Stylus - Visitor
* Copyright (c) Automattic <developer.wordpress.com>
* 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;
};