database-builder
Version:
Library to assist in creating and maintaining SQL commands.
23 lines (22 loc) • 1.18 kB
TypeScript
import { WhereBuilderContract } from "./where-builder-contract";
import { TypeWhere } from "../core/utils";
import { WhereBaseBuilder } from "./where-base-builder";
import { ColumnParams } from "../core/column-params";
/**
* TODO: Verificar possibilidade de dar suporte para ao invês de passar uma coluna
* em formato string arbritaria utilizar keyof para permitir string com o nome das
* propriedades, o que seria mais eficiente do que utilizar expression que teriam
* que ser resolvidas em tempo de execução com manipulação de string e
* ainda assim garantiria uma validação de nomes de porpriedades do typescript
* assim como o que temos com expression hoje.
* Teriamos que verificar se a refatoração de propriedades cobre keyof
* link: https://stackoverflow.com/questions/50949905
*/
/**
* WhereBuilder
*/
export declare class WhereBuilder<T> extends WhereBaseBuilder<T, TypeWhere<T>, WhereBuilder<T>> implements WhereBuilderContract<T> {
protected _getInstance(): WhereBuilder<T>;
protected _create(typeT: new () => T, alias: string): WhereBuilder<T>;
protected getColumnParams(expression: TypeWhere<T>): ColumnParams;
}