add hw2
This commit is contained in:
		
							
								
								
									
										60
									
								
								node_modules/sucrase/dist/esm/parser/traverser/base.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								node_modules/sucrase/dist/esm/parser/traverser/base.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| import State from "../tokenizer/state"; | ||||
| import {charCodes} from "../util/charcodes"; | ||||
|  | ||||
| export let isJSXEnabled; | ||||
| export let isTypeScriptEnabled; | ||||
| export let isFlowEnabled; | ||||
| export let state; | ||||
| export let input; | ||||
| export let nextContextId; | ||||
|  | ||||
| export function getNextContextId() { | ||||
|   return nextContextId++; | ||||
| } | ||||
|  | ||||
| // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||||
| export function augmentError(error) { | ||||
|   if ("pos" in error) { | ||||
|     const loc = locationForIndex(error.pos); | ||||
|     error.message += ` (${loc.line}:${loc.column})`; | ||||
|     error.loc = loc; | ||||
|   } | ||||
|   return error; | ||||
| } | ||||
|  | ||||
| export class Loc { | ||||
|    | ||||
|    | ||||
|   constructor(line, column) { | ||||
|     this.line = line; | ||||
|     this.column = column; | ||||
|   } | ||||
| } | ||||
|  | ||||
| export function locationForIndex(pos) { | ||||
|   let line = 1; | ||||
|   let column = 1; | ||||
|   for (let i = 0; i < pos; i++) { | ||||
|     if (input.charCodeAt(i) === charCodes.lineFeed) { | ||||
|       line++; | ||||
|       column = 1; | ||||
|     } else { | ||||
|       column++; | ||||
|     } | ||||
|   } | ||||
|   return new Loc(line, column); | ||||
| } | ||||
|  | ||||
| export function initParser( | ||||
|   inputCode, | ||||
|   isJSXEnabledArg, | ||||
|   isTypeScriptEnabledArg, | ||||
|   isFlowEnabledArg, | ||||
| ) { | ||||
|   input = inputCode; | ||||
|   state = new State(); | ||||
|   nextContextId = 1; | ||||
|   isJSXEnabled = isJSXEnabledArg; | ||||
|   isTypeScriptEnabled = isTypeScriptEnabledArg; | ||||
|   isFlowEnabled = isFlowEnabledArg; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 nik
					nik