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