js-slang
Version:
Javascript-based implementations of Source, written in Typescript
22 lines (21 loc) • 1.22 kB
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 function getSourceVariableDeclaration(decl: es.VariableDeclaration): {
id: es.Identifier;
init: es.Expression;
loc: es.SourceLocation | null | undefined;
};
export declare const getImportedName: (spec: es.ImportSpecifier | es.ImportDefaultSpecifier | es.ExportSpecifier) => string;
export declare const speciferToString: (spec: es.ImportSpecifier | es.ImportDefaultSpecifier | es.ExportSpecifier) => string;