js-slang
Version:
Javascript-based implementations of Source, written in Typescript
16 lines (15 loc) • 945 B
TypeScript
import type es from 'estree';
import { ArrayMap } from '../dict';
export declare function getModuleDeclarationSource(node: Exclude<es.ModuleDeclaration, es.ExportDefaultDeclaration>): string;
/**
* Filters out all import declarations from a program, and sorts them by
* the module they import from
*/
export declare function filterImportDeclarations({ body }: es.Program): [
ArrayMap<string, es.ImportDeclaration>,
Exclude<es.Program['body'][0], es.ImportDeclaration>[]
];
export declare function extractIdsFromPattern(pattern: es.Pattern): es.Identifier[];
export declare function getIdsFromDeclaration(decl: es.Declaration, allowNull: true): (es.Identifier | null)[];
export declare function getIdsFromDeclaration(decl: es.Declaration, allowNull?: false): es.Identifier[];
export declare const getImportedName: (spec: Exclude<es.ImportDeclaration['specifiers'][number], es.ImportNamespaceSpecifier> | es.ExportSpecifier) => string;