UNPKG

metal-soy-critic

Version:
22 lines (21 loc) 663 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const soyparser_1 = require("soyparser"); class SoyContext { constructor(raw) { this.raw = raw; this.ast = soyparser_1.default(raw); } getRenderParams() { const renderTemplate = this.ast.body .find(({ id }) => id.namespace === null && id.name === 'render'); return renderTemplate ? renderTemplate.params : []; } getRaw({ mark }) { return this.raw.substring(mark.start.offset, mark.end.offset); } visit(visitor) { soyparser_1.traverse.visit(this.ast, visitor); } } exports.default = SoyContext;