lambdaorm
Version:
26 lines (25 loc) • 1.49 kB
TypeScript
import { Operand } from '3xpr';
import { EntityMapping, Field, Sentence, Join, Map, Filter, Having } from 'lambdaorm-base';
import { Query } from '../../../../query/domain';
import { DmlBuilderBase } from '../base/dmlBuilder';
export declare class NoSqlDmlBuilder extends DmlBuilderBase {
build(sentence: Sentence): Query;
protected buildSelectSentence(sentence: Sentence): string;
protected buildInsertSentence(sentence: Sentence): string;
protected buildUpdateSentence(sentence: Sentence): string;
protected buildDeleteSentence(sentence: Sentence): string;
protected buildField(operand: Field): string;
protected buildObject(operand: Operand): string;
protected buildReplaceRoot(entity: EntityMapping): any[];
protected getHaving(query: any, having: Having): any[];
protected solveHaving(operand: Operand, groupKeyValues: [string, string][], toReplaces: [string, string][]): void;
protected getGroupBy(map: Map, sentence: Sentence): any[];
protected getMap(map: Map, sentence: Sentence): any[];
protected getComposite(sentence: Sentence): string | undefined;
protected getChildrenMap(sentence: Sentence): any;
protected buildJoins(entity: EntityMapping, joins: Join[]): any[];
protected buildFilter(operand: Filter): any[];
protected getFieldMapping(operand: Field, alias?: string): string;
protected setPrefixToField(operand: Operand, prefix: string): void;
protected hadGroupFunction(operand: Operand): boolean;
}