UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

109 lines (72 loc) 2.41 kB
--- title: Variables --- ## Variables There is a hierarchy in the AST that's important to understand for variables: 1. Variable statement. 2. Variable declaration list. 3. Variable declaration. ## Variable Statement Example: ```typescript export const var1 = "5", var2 = "6"; ``` From a variable statement you will be able to get or set (if implemented) a variable declaration list, documentation, ambient information, and exported information. ### Get a variable statement Can be retrieved from source files, namespaces, or function bodies: ```typescript const variableStatements = sourceFile.getVariableStatements(); const firstExportedVariableStatement = sourceFile.getVariableStatement(s => s.hasExportKeyword()); ``` ### Remove Call `.remove()`: ```typescript variableStatement.remove(); ``` ## Variable Declaration List Example: ```typescript const var1 = "5", var2 = "6"; ``` ### Get variable declaration list Get one from the variable statement: ```typescript const declarationList = variableStatement.getDeclarationList(); ``` Or from source files, namespaces, and function bodies: ```typescript const variableDeclarationLists = sourceFile.getVariableDeclarationLists(); const firstConstDeclaration = sourceFile.getVariableDeclarationList(l => l.getDeclarationType() === VariableDeclarationType.Const); ``` ### Get declaration type Use: ```typescript const declarationType = variableDeclarationList.getDeclarationType(); ``` It will return one of the following values: ```typescript VariableDeclarationType.Let; VariableDeclarationType.Const; VariableDeclarationType.Var; ``` ## Variable Declaration These are the individual declarations within a variable declaration list. ### Get variable declaration Get them from the variable declaration list: ```typescript const variableDeclarations = variableDeclarationList.getDeclarations(); ``` Or from source files, namespaces, and function bodies: ```typescript const variableDeclarations = sourceFile.getVariableDeclarations(); const variableDeclaration = sourceFile.getVariableDeclaration("myVar"); const firstStringTypedVariableDeclaration = sourceFile.getVariableDeclaration(v => v.getType().getText() === "string"); ``` ### Remove Call `.remove()`: ```typescript variableDeclaration.remove(); ```