mongoose-management
Version:
Mongoose schemas management tool
17 lines (16 loc) • 627 B
TypeScript
import AbstractDataset from './abstract';
export interface InterfaceColumnDataset<T> {
getName: () => string;
flatColumns: () => T[];
setReference: () => void;
getFullname(withBracketsForThisColumn?: boolean, withBrackets?: boolean): string;
}
export default abstract class AbstractColumnsDataset<P, T extends InterfaceColumnDataset<T>> extends AbstractDataset<P> {
protected abstract columns: T[];
getColumns(): T[];
getColumn(name: string, withSubColumns?: boolean): T | undefined;
addColumn(column: T): T;
flatColumns(): T[];
removeColumn(column: T): void;
sortColumns(): void;
}