How to use the namedTypes function from recast

Find comprehensive JavaScript recast.namedTypes code examples handpicked from public code repositorys.

In the JavaScript AST (Abstract Syntax Tree) ecosystem, recast.namedTypes is a module that provides a set of constructors for creating AST nodes with named types, making it easier to work with and manipulate the AST.

-2
fork icon0
star icon2
watch icon0

+ 8 other calls in file

9
10
11
12
13
14
15
16
17
18
19


var assert = require("assert");
var types = require("recast").types;
var isArray = types.builtInTypes.array;
var b = types.builders;
var n = types.namedTypes;
var leap = require("./leap");
var meta = require("./meta");
var util = require("./util");
var runtimeProperty = util.runtimeProperty;
fork icon0
star icon0
watch icon1

+ 4 other calls in file

How does recast.namedTypes work?

In the JavaScript AST (Abstract Syntax Tree) ecosystem, recast.namedTypes is a module that provides a set of constructors for creating AST nodes with named types, making it easier to work with and manipulate the AST. The namedTypes module is a part of the recast library, which is a popular tool for parsing and transforming JavaScript code using AST. The namedTypes module provides a set of named constructors that can be used to create AST nodes with specific types. For example, namedTypes.FunctionDeclaration can be used to create a function declaration node, while namedTypes.VariableDeclaration can be used to create a variable declaration node. Each constructor in the namedTypes module has a corresponding check function that can be used to check if an AST node has a specific type. For example, namedTypes.FunctionDeclaration.check(node) can be used to check if a given AST node is a function declaration. By using the named constructors provided by the namedTypes module, it is easier to manipulate and traverse the AST in a type-safe and efficient way. For example, you can use the namedTypes.VariableDeclaration constructor to create a new variable declaration node and then insert it into the AST at a specific location using the ast-types.builders API provided by the recast library. Overall, recast.namedTypes provides a convenient and type-safe way to work with the AST in JavaScript, making it easier to parse, transform, and generate JavaScript code programmatically.

Ai Example

1
2
3
4
5
6
7
8
9
10
const recast = require("recast");
const { namedTypes: n, builders: b } = recast.types;

// Create a new variable declaration node
const myVarDecl = b.variableDeclaration("const", [
  b.variableDeclarator(b.identifier("myVar"), b.literal(42)),
]);

// Check if the new node is a variable declaration
console.log(n.VariableDeclaration.check(myVarDecl));

In this example, we import the recast library and destructure the namedTypes and builders APIs from the types object. We then use the builders API to create a new variable declaration node using the b.variableDeclaration() constructor and the b.variableDeclarator() constructor. The resulting myVarDecl variable declaration node represents the declaration of a new constant variable with the identifier myVar and the literal value 42. Finally, we use the namedTypes API to check if the myVarDecl node is a variable declaration node, using the n.VariableDeclaration.check() function. When the code is executed, the output will be true, indicating that the myVarDecl node is indeed a variable declaration node. Overall, recast.namedTypes provides a convenient and type-safe way to create and manipulate AST nodes in JavaScript, making it easier to parse, transform, and generate JavaScript code programmatically.