buntis
Version:
A 100% compliant, self-hosted typescript parser that emits an ESTree-compatible abstract syntax tree
33 lines (26 loc) • 1.13 kB
text/typescript
import * as ESTree from './estree';
import { Context, Options, ErrorCallback } from './common';
import { parseSource } from './parser';
/**
* Parse a script, optionally with various options.
*/
export function parseScript(source: string, options?: Options, onError?: ErrorCallback): ESTree.Program {
return parseSource(source, options, Context.Empty, onError);
}
/**
* Parse a module, optionally with various options.
*/
export function parseModule(source: string, options?: Options, onError?: ErrorCallback): ESTree.Program {
return parseSource(source, options, Context.Strict | Context.Module, onError);
}
/**
* Parse a module, optionally with various options.
*/
export function parseTSModule(source: string, options?: Options, onError?: ErrorCallback): ESTree.Program {
return parseSource(source, options, Context.Strict | Context.Module | Context.OptionsTS, onError);
}
export function parseTSScript(source: string, options?: Options, onError?: ErrorCallback): ESTree.Program {
return parseSource(source, options, Context.OptionsTS, onError);
}
export { Options, ESTree };
export const version = '0.2.0';