swig
Version:
A simple, powerful, and extendable templating engine for node.js and browsers, similar to Django, Jinja2, and Twig.
29 lines (26 loc) • 721 B
JavaScript
var ifparser = require('./if').parse;
/**
* Like <code data-language="swig">{% else %}</code>, except this tag can take more conditional statements.
*
* @alias elseif
* @alias elif
*
* @example
* {% if false %}
* Tacos
* {% elseif true %}
* Burritos
* {% else %}
* Churros
* {% endif %}
* // => Burritos
*
* @param {...mixed} conditional Conditional statement that returns a truthy or falsy value.
*/
exports.compile = function (compiler, args) {
return '} else if (' + args.join(' ') + ') {\n';
};
exports.parse = function (str, line, parser, types, stack) {
var okay = ifparser(str, line, parser, types, stack);
return okay && (stack.length && stack[stack.length - 1].name === 'if');
};