spreadsheet-orm
Version:
ORM for Google Spreadsheet - Query Builder and Schema Management for spreadsheet database
10 lines • 739 B
TypeScript
import Schema from "../core/DDL/implements/Schema";
import BaseBuilder from "../core/DML/abstracts/BaseBuilder";
import { QueryBuilderConfig } from "./configPicks";
export type ExtractConstructor<T> = T extends BaseBuilder<infer U> ? BuilderConstructor<U, T> : never;
export type Tail<T extends any[]> = T extends [any, ...infer Rest] ? Rest : never;
type BuilderCtorParamType<T extends CtorType> = Tail<ConstructorParameters<T>>;
export default BuilderCtorParamType;
export type CtorType<T = any> = abstract new (...args: any[]) => T;
export type BuilderConstructor<T extends Schema[], ReturnClass extends BaseBuilder<T>> = new (config: QueryBuilderConfig<T>, ...args: any[]) => ReturnClass;
//# sourceMappingURL=BuilderCtorTypes.d.ts.map