sol-merger
Version:
Merges all import files into single file.
42 lines (41 loc) • 1.44 kB
TypeScript
import { ContractLikeExportType, ExportType } from '../../types';
export interface RangeVisitResult {
start: number;
end: number;
}
export interface ImportVisitResult extends RangeVisitResult {
filename: string;
globalRename: string | null;
namedImports: ImportVisitNamedImport[] | null;
}
export interface ImportVisitNamedImport {
name: string;
as: string | null;
}
export type ExportVisitResult = ExportVisitResultContractLike | ExportVisitResultConstant | ExportVisitResultFunction | ExportVisitResultUserDefinedValueType | ExportVisitResultUsingDirective;
export interface ExportVisitResultContractLike extends RangeVisitResult {
abstract: boolean;
type: ContractLikeExportType;
name: string;
body: RangeVisitResult;
is: RangeVisitResult | null;
}
export interface ExportVisitResultConstant extends RangeVisitResult {
type: ExportType.constant;
body: RangeVisitResult;
typeName: string;
name: string;
}
export interface ExportVisitResultFunction extends RangeVisitResult {
type: ExportType.function;
name: string;
}
export interface ExportVisitResultUserDefinedValueType extends RangeVisitResult {
type: ExportType.userDefinedValueType;
name: string;
}
export interface ExportVisitResultUsingDirective extends RangeVisitResult {
type: ExportType.usingDirective;
name: string;
}
export type VisitCallback<T extends RangeVisitResult> = (v: T) => void;