Sha256: 27d1ab706e6a66e60b10aeef6225d14f9f9ce73ff50882287661c00e0ab9796a

Contents?: true

Size: 670 Bytes

Versions: 5

Compression:

Stored size: 670 Bytes

Contents

import parser from './parser';
import WhitespaceControl from './whitespace-control';
import * as Helpers from './helpers';
import { extend } from '../utils';

export { parser };

let yy = {};
extend(yy, Helpers);

export 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);
  };

  let strip = new WhitespaceControl(options);
  return strip.accept(parser.parse(input));
}

Version data entries

5 entries across 5 versions & 3 rubygems

Version Path
locomotivecms-4.0.0.alpha1 app/javascript/node_modules/handlebars/lib/handlebars/compiler/base.js
locomotivecms-3.4.0 app/javascript/node_modules/handlebars/lib/handlebars/compiler/base.js
lanes-0.8.0 node_modules/handlebars/lib/handlebars/compiler/base.js
eslint_node_modules-1.6.0.1 vendor/node_modules/eslint/node_modules/handlebars/lib/handlebars/compiler/base.js
eslint_node_modules-1.6.0 vendor/node_modules/eslint/node_modules/handlebars/lib/handlebars/compiler/base.js