Skip to content

Instantly share code, notes, and snippets.

@juanpicado
Created March 20, 2016 19:33
Show Gist options
  • Save juanpicado/b0731a430123d7f59460 to your computer and use it in GitHub Desktop.
Save juanpicado/b0731a430123d7f59460 to your computer and use it in GitHub Desktop.
ast-types.js
var assert = require("assert");
var n = require("ast-types").namedTypes;
var b = require("ast-types").builders;
var fooId = b.identifier("foo");
var ifFoo = b.ifStatement(fooId, b.blockStatement([
b.expressionStatement(b.callExpression(fooId, []))
]));
assert.ok(n.IfStatement.check(ifFoo));
assert.ok(n.Statement.check(ifFoo));
assert.ok(n.Node.check(ifFoo));
assert.ok(n.BlockStatement.check(ifFoo.consequent));
assert.strictEqual(
ifFoo.consequent.body[0].expression.arguments.length,
0);
assert.strictEqual(ifFoo.test, fooId);
assert.ok(n.Expression.check(ifFoo.test));
assert.ok(n.Identifier.check(ifFoo.test));
assert.ok(!n.Statement.check(ifFoo.test));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment