var Compiler = require ('./compiler'); /** * Compiles a @Text from text node. */ module.exports = new Class ({ Extends: Compiler ,compile: function (builder, node, tagName) { if (!tagName) { var text = node.textContent; if (/^\s*\\?[_|\\]/.test (text)) { var prefix = text.match (/^\s*/)[0]; var suffix = text.match (/\s*$/)[0]; text = text.trim (); text = prefix + this.translateValue(text) + suffix; } } else if (tagName === 't') var text = _(node.firstChild.textContent); else return null; var context = {text: null}; if (this._interpoler.compile (context, null, text)) context.text = ''; else context.text = text; return context; } ,instantiate: function (doc, context, scope) { return doc.createTextNode (context.text); } ,setProperty: function (object, data, value) { object.textContent = value; } });