diff --git a/babel-traverse/babel-traverse-tests.ts b/babel-traverse/babel-traverse-tests.ts index c02efe44ad..3779852c5f 100644 --- a/babel-traverse/babel-traverse-tests.ts +++ b/babel-traverse/babel-traverse-tests.ts @@ -109,3 +109,16 @@ const v1: Visitor = { path.scope.rename("n"); } }; + +// Binding.kind +const BindingKindTest: Visitor = { + Identifier(path) { + const kind = path.scope.getBinding("str").kind; + kind === 'module'; + kind === 'const'; + kind === 'let'; + kind === 'var'; + // The following should fail when uncommented + // kind === 'anythingElse'; + }, +}; diff --git a/babel-traverse/index.d.ts b/babel-traverse/index.d.ts index 67dd119e91..e307cd664d 100644 --- a/babel-traverse/index.d.ts +++ b/babel-traverse/index.d.ts @@ -126,7 +126,7 @@ export class Binding { identifier: t.Identifier; scope: Scope; path: NodePath; - kind: 'var' | 'let' | 'const'; + kind: 'var' | 'let' | 'const' | 'module'; referenced: boolean; references: number; referencePaths: NodePath[];