babel-type-scopes

1.1.0 • Public • Published

babel-type-scopes

Utils for looking up and working with Flow & TypeScript scopes in Babel

import {
  isTypeScope,
  getClosestTypeScopePath,
  getOwnTypeBindings,
  getTypeBinding,
} from 'babel-type-scopes';
 
isTypeScope(path); // true | false
getClosestTypeScopePath(path); // (Path)
getOwnTypeBindings(path) // { foo: { kind, path, id }, bar: { kind, path, id } }
getTypeBinding(path, 'foo') // { kind, path, id }

Installation

yarn add babel-type-scopes

API

isTypeScope(path: Path) => boolean

Check if a path creates a type scope.

getClosestTypeScope(path: Path) => Path

Find the closest path to a type scope.

getOwnTypeBindings(path: Path) => Bindings

Find the closest path to a type scope.

getTypeBinding(path: Path) => Binding

Search for a binding in the current scope and parent scopes.

Types

Binding

type Binding = {
  kind: 'import' | 'declaration' | 'expression' | 'param',
  path: Path,
  id: Path,
};

Bindings

type Bindings = { [name: string]: Binding };

Package Sidebar

Install

npm i babel-type-scopes

Weekly Downloads

6,797

Version

1.1.0

License

MIT

Unpacked Size

5.84 kB

Total Files

4

Last publish

Collaborators

  • thejameskyle