1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /**
- * Expose `Compiler`.
- */
- module.exports = Compiler;
- /**
- * Initialize a compiler.
- *
- * @param {Type} name
- * @return {Type}
- * @api public
- */
- function Compiler(opts) {
- this.options = opts || {};
- }
- /**
- * Emit `str`
- */
- Compiler.prototype.emit = function(str) {
- return str;
- };
- /**
- * Visit `node`.
- */
- Compiler.prototype.visit = function(node){
- return this[node.type](node);
- };
- /**
- * Map visit over array of `nodes`, optionally using a `delim`
- */
- Compiler.prototype.mapVisit = function(nodes, delim){
- var buf = '';
- delim = delim || '';
- for (var i = 0, length = nodes.length; i < length; i++) {
- buf += this.visit(nodes[i]);
- if (delim && i < length - 1) buf += this.emit(delim);
- }
- return buf;
- };
|