cassandra-codegen
Version:
Generate type definitions from a Cassandra database
13 lines (12 loc) • 1.09 kB
TypeScript
import { mapping } from "cassandra-driver";
import { PartitionKeyColumns, PrimaryKeyColumns } from "./utils";
export type mapperResult<T> = mapping.Result<Required<T>>;
export interface CodegenModelMapper<T> extends mapping.ModelMapper<T> {
get(doc: PrimaryKeyColumns<T>, docInfo?: {
fields?: string[];
}, executionOptions?: string | mapping.MappingExecutionOptions): Promise<null | Required<T>>;
find<U extends PartitionKeyColumns<T>>(doc: U, docInfo?: mapping.FindDocInfo, executionOptions?: string | mapping.MappingExecutionOptions): Promise<mapperResult<T>>;
insert<U extends PrimaryKeyColumns<T>>(doc: U, docInfo?: mapping.InsertDocInfo, executionOptions?: string | mapping.MappingExecutionOptions): Promise<mapperResult<T>>;
update<U extends PrimaryKeyColumns<T>>(doc: U, docInfo?: mapping.UpdateDocInfo, executionOptions?: string | mapping.MappingExecutionOptions): Promise<mapperResult<T>>;
remove(doc: PrimaryKeyColumns<T>, docInfo?: mapping.RemoveDocInfo, executionOptions?: string | mapping.MappingExecutionOptions): Promise<mapperResult<T>>;
}