@stryke/capnp
Version:
A package to assist in running the Cap'n Proto compiler and creating Cap'n Proto serialization protocol schemas.
44 lines (41 loc) • 1.29 kB
text/typescript
import { Node, CodeGeneratorRequest_RequestedFile_Import, Field } from 'capnp-es/capnp/schema';
import { ParsedCommandLine } from 'typescript';
interface CodeGeneratorFileContext {
readonly nodes: Node[];
readonly imports: CodeGeneratorRequest_RequestedFile_Import[];
concreteLists: Array<[string, Field]>;
generatedNodeIds: Set<string>;
generatedResultsPromiseIds: Set<bigint>;
tsPath: string;
codeParts?: string[];
constructor: any;
toString: () => string;
}
declare class CodeGeneratorContext {
files: CodeGeneratorFileContext[];
}
interface CapnpcCLIOptions {
ts?: boolean;
noTs?: boolean;
js?: boolean;
dts?: boolean;
noDts?: boolean;
schema: string;
output?: string;
importPath?: string[];
tsconfig: string;
generateId?: boolean;
standardImport?: boolean;
projectRoot: string;
workspaceRoot: string;
tty?: boolean;
}
type CapnpcOptions = Omit<CapnpcCLIOptions, "noTs" | "noDts" | "tsconfig" | "schema"> & {
tsconfig: ParsedCommandLine;
schemas: string[];
};
interface CapnpcResult {
ctx: CodeGeneratorContext;
files: Map<string, string>;
}
export { type CapnpcCLIOptions, type CapnpcOptions, type CapnpcResult, CodeGeneratorContext, type CodeGeneratorFileContext };