solidity-docgen
Version:
Solidity API documentation automatic generator.
93 lines • 2.67 kB
TypeScript
import { Filter } from './filter';
export interface SolcOutput {
sources: {
[file: string]: {
ast: ast.SourceUnit;
};
};
errors: {
severity: string;
formattedMessage: string;
}[];
}
export declare namespace ast {
interface SourceUnit {
nodeType: 'SourceUnit';
id: number;
nodes: SourceItem[];
}
type SourceItem = ContractDefinition | ImportDirective;
interface ImportDirective {
nodeType: 'ImportDirective';
id: number;
sourceUnit: number;
symbolAliases: {
foreign: {
name: string;
};
local?: null | string;
}[];
}
interface ContractDefinition {
nodeType: 'ContractDefinition';
id: number;
name: string;
documentation: string | null;
nodes: ContractItem[];
linearizedBaseContracts: number[];
}
type ContractItem = VariableDeclaration | FunctionDefinition | EventDefinition | ModifierDefinition;
interface VariableDeclaration {
nodeType: 'VariableDeclaration';
visibility: 'internal' | 'public' | 'private';
name: string;
constant: boolean;
typeName: TypeName;
}
interface FunctionDefinition {
nodeType: 'FunctionDefinition';
kind: 'function' | 'constructor' | 'fallback';
visibility: 'internal' | 'external' | 'public' | 'private';
name: string;
documentation: string | null;
parameters: ParameterList;
returnParameters: ParameterList;
}
interface EventDefinition {
nodeType: 'EventDefinition';
name: string;
documentation: string | null;
parameters: ParameterList;
}
interface ModifierDefinition {
nodeType: 'ModifierDefinition';
name: string;
documentation: string | null;
parameters: ParameterList;
}
interface ParameterList {
parameters: {
name: string;
typeName: TypeName;
}[];
}
interface TypeName {
nodeType: 'ElementaryTypeName' | 'UserDefinedTypeName';
typeDescriptions: {
typeString: string;
};
}
}
export declare const outputSelection: {
'*': {
'': string[];
};
};
export declare function compile(filter: Filter, solcModule?: string, solcSettings?: object): Promise<SolcOutput>;
export declare class SolcAdapter {
private readonly solc;
static require(solcModule: string): Promise<SolcAdapter>;
constructor(solc: any);
compile(input: object): SolcOutput;
}
//# sourceMappingURL=solc.d.ts.map