@jitterbit/soql-parser-js
Version:
Salesforce.com SOQL parser and composer
33 lines (32 loc) • 1.47 kB
TypeScript
import { FieldType, GroupByClause, HavingClause, OrderByClause, Query, WhereClause, WithDataCategoryClause, FieldTypeOf, Subquery } from '../api/api-models';
import { Formatter, FormatOptions } from '../formatter/formatter';
import { ParseQueryConfig } from '../parser/parser';
export interface SoqlComposeConfig {
logging: boolean;
format: boolean;
formatOptions?: FormatOptions;
autoCompose: boolean;
}
export declare function formatQuery(soql: string, formatOptions?: FormatOptions, parseOptions?: ParseQueryConfig): string;
export declare function composeQuery(soql: Query, config?: Partial<SoqlComposeConfig>): string;
export declare class Compose {
private soql;
logging: boolean;
format: boolean;
query: string;
formatter: Formatter;
constructor(soql: Query, config?: Partial<SoqlComposeConfig>);
start(): void;
private log;
private parseFn;
parseQuery(query: Query | Subquery): string;
parseFields(fields: FieldType[]): {
text: string;
typeOfClause?: string[];
}[];
parseTypeOfField(typeOfField: FieldTypeOf): string[];
parseWhereOrHavingClause(whereOrHaving: WhereClause | HavingClause, tabOffset?: number, priorConditionIsNegation?: boolean): string;
parseGroupByClause(groupBy: GroupByClause | GroupByClause[]): string;
parseOrderBy(orderBy: OrderByClause | OrderByClause[]): string;
parseWithDataCategory(withDataCategory: WithDataCategoryClause): string;
}