@cosmwasm/ts-codegen
Version:
@cosmwasm/ts-codegen converts your CosmWasm smart contracts into dev-friendly TypeScript classes so you can focus on shipping code.
50 lines (49 loc) • 1.41 kB
TypeScript
import { BuilderContext, RenderOptions } from '@cosmwasm/ts-codegen-ast';
import { IBuilderPlugin } from '../plugins';
export interface TSBuilderInput {
contracts: Array<ContractFile | string>;
outPath: string;
options?: TSBuilderOptions;
plugins?: IBuilderPlugin[];
}
export interface BundleOptions {
enabled?: boolean;
scope?: string;
bundleFile?: string;
bundlePath?: string;
}
export type TSBuilderOptions = {
bundle?: BundleOptions;
/**
* Enable using shorthand constructor.
* Default: true
*/
useShorthandCtor?: boolean;
} & RenderOptions;
export type BuilderFileType = 'type' | 'client' | 'recoil' | 'react-query' | 'message-composer' | 'message-builder' | 'plugin';
export interface BuilderFile {
type: BuilderFileType;
pluginType?: string;
contract: string;
localname: string;
filename: string;
}
export interface ContractFile {
name: string;
dir: string;
}
export declare class TSBuilder {
contracts: Array<ContractFile | string>;
outPath: string;
options?: TSBuilderOptions;
plugins: IBuilderPlugin[];
builderContext: BuilderContext;
protected files: BuilderFile[];
loadDefaultPlugins(): void;
constructor({ contracts, outPath, options, plugins }: TSBuilderInput);
build(): Promise<void>;
private process;
private render;
private after;
bundle(): Promise<void>;
}