@cosmology/ast
Version:
Cosmos TypeScript AST generation
42 lines (41 loc) • 1.99 kB
TypeScript
import { TelescopeOptions, ProtoField, ProtoRef, TraversalSymbol, IParseContext, ImportUsage } from '@cosmology/types';
import { IProtoStore } from '@cosmology/types';
import { TelescopeBaseTypes } from './types';
interface DerivativeImport {
type: TelescopeBaseTypes;
symbol: TraversalSymbol;
}
export declare class GenericParseContext implements IParseContext {
options: TelescopeOptions;
imports: ImportUsage[];
derivedImports: DerivativeImport[];
utils: Record<string, boolean>;
store: IProtoStore;
ref: ProtoRef;
constructor(ref: ProtoRef, store: IProtoStore, options: TelescopeOptions);
pluginValue(name: any): any;
isExcluded(): boolean;
addUtil(util: any): void;
addImport(imp: ImportUsage): void;
addImportDerivative(imp: DerivativeImport): void;
getTypeNameFromFieldName(name: string, importSrc: string): string;
getTypeName(field: ProtoField): string;
lookupTypeFromCurrentPath(field: ProtoField, currentProtoPath: string): import("@cosmology/types").Lookup;
getTypeFromCurrentPath(field: ProtoField, currentProtoPath: string): any;
}
export declare class AminoParseContext extends GenericParseContext implements IParseContext {
aminoCasingFn: Function;
constructor(ref: ProtoRef, store: IProtoStore, options: TelescopeOptions);
private setAminoCasingFn;
aminoCaseField(field: ProtoField): string;
lookupEnumFromJson(field: ProtoField, currentProtoPath: string): string;
lookupEnumToJson(field: ProtoField, currentProtoPath: string): string;
}
export declare class ProtoParseContext extends GenericParseContext implements IParseContext {
constructor(ref: ProtoRef, store: IProtoStore, options: TelescopeOptions);
setEnumValues(pkg: string, name: string, protoSyntex: string, values: number[]): void;
getDefaultOrExistingSmallestEnumValue(pkg: string, name: string): number;
getToEnum(field: ProtoField): string;
getFromEnum(field: ProtoField): string;
}
export {};