solidity-ast
Version:
Solidity AST schema and type definitions
15 lines (10 loc) • 676 B
TypeScript
import { SolcOutput } from './solc';
import { Node, NodeType, NodeTypeMap } from './node';
export { findAll } from './utils/find-all';
export function isNodeType<N extends Node, T extends NodeType>(nodeType: T | readonly T[]): (node: N) => node is N & NodeTypeMap[T];
export function isNodeType<N extends Node, T extends NodeType>(nodeType: T | readonly T[], node: N): node is N & NodeTypeMap[T];
export interface ASTDereferencer {
<T extends NodeType>(nodeType: T | readonly T[]): (id: number) => NodeTypeMap[T];
<T extends NodeType>(nodeType: T | readonly T[], id: number): NodeTypeMap[T];
}
export function astDereferencer(solcOutput: SolcOutput): ASTDereferencer;