UNPKG

handlebars

Version:

Handlebars provides the power necessary to let you build semantic templates effectively with no frustration

28 lines (21 loc) 775 B
"use strict"; var parser = require("./parser")["default"]; var AST = require("./ast")["default"]; var WhitespaceControl = require("./whitespace-control")["default"]; var Helpers = require("./helpers"); var extend = require("../utils").extend; exports.parser = parser; var yy = {}; extend(yy, Helpers, AST); function parse(input, options) { // Just return if an already-compiled AST was passed in. if (input.type === 'Program') { return input; } parser.yy = yy; // Altering the shared object here, but this is ok as parser is a sync operation yy.locInfo = function(locInfo) { return new yy.SourceLocation(options && options.srcName, locInfo); }; var strip = new WhitespaceControl(); return strip.accept(parser.parse(input)); } exports.parse = parse;