32 lines
		
	
	
		
			624 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			624 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
| 
 | |
| 
 | |
| import {augmentError, initParser, state} from "./traverser/base";
 | |
| import {parseFile} from "./traverser/index";
 | |
| 
 | |
| export class File {
 | |
|   
 | |
|   
 | |
| 
 | |
|   constructor(tokens, scopes) {
 | |
|     this.tokens = tokens;
 | |
|     this.scopes = scopes;
 | |
|   }
 | |
| }
 | |
| 
 | |
| export function parse(
 | |
|   input,
 | |
|   isJSXEnabled,
 | |
|   isTypeScriptEnabled,
 | |
|   isFlowEnabled,
 | |
| ) {
 | |
|   if (isFlowEnabled && isTypeScriptEnabled) {
 | |
|     throw new Error("Cannot combine flow and typescript plugins.");
 | |
|   }
 | |
|   initParser(input, isJSXEnabled, isTypeScriptEnabled, isFlowEnabled);
 | |
|   const result = parseFile();
 | |
|   if (state.error) {
 | |
|     throw augmentError(state.error);
 | |
|   }
 | |
|   return result;
 | |
| }
 |