twing
Version:
First-class Twig engine for Node.js
23 lines (22 loc) • 969 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createImportTagHandler = void 0;
const assignment_1 = require("../node/expression/assignment");
const import_1 = require("../node/import");
const createImportTagHandler = () => {
const tag = 'import';
return {
tag,
initialize: (parser) => {
return (token, stream) => {
const templateName = parser.parseExpression(stream);
stream.expect("NAME", 'as');
const alias = (0, assignment_1.createAssignmentNode)(stream.expect("NAME").value, token.line, token.column);
stream.expect("TAG_END");
parser.addImportedSymbol('template', alias.attributes.name);
return (0, import_1.createImportNode)(templateName, alias, parser.isMainScope(), token.line, token.column, tag);
};
}
};
};
exports.createImportTagHandler = createImportTagHandler;