@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
65 lines (64 loc) • 3.14 kB
TypeScript
import { AdaptableModule } from '../AdaptableState/Common/Types';
import { AdaptableQuery } from '../AdaptableState/Common/AdaptableQuery';
import { AdaptableColumn } from '../AdaptableState/Common/AdaptableColumn';
/**
* Functions related to Expressions in AdapTableQL (the Adaptable Query Language)
*/
export interface ExpressionApi {
/**
* Whether the given BooleanExpression is valid
* @param expression query to Check
* @param module module specific query
* @param validationErrorMessage optional validation error message; if provided, the error will be logged
*/
isValidBooleanExpression(expression: string, module: AdaptableModule, validationErrorMessage?: string): boolean;
/**
* Whether the given ObservableExpression is valid
* @param expression - ObservableExpression to check
* @param module - module specific query
* @param validationErrorMessage - optional validation error message; if provided, the error will be logged
*/
isValidObservableExpression(expression: string, module: AdaptableModule, validationErrorMessage?: string): boolean;
/**
* Whether the given AggregatedBooleanExpression is valid
* @param expression - AggregatedBooleanExpression to check
* @param module - module specific query
* @param validationErrorMessage - optional validation error message; if provided, the error will be logged
*/
isValidAggregatedBooleanExpression(expression: string, module: AdaptableModule, validationErrorMessage?: string): boolean;
/**
* Whether the given AggregatedScalarExpression is valid
* @param expression - AggregatedScalarExpression to check
* @param module - module specific query
* @param validationErrorMessage - optional validation error message; if provided, the error will be logged
*/
isValidAggregatedScalarExpression(expression: string, module: AdaptableModule, validationErrorMessage?: string): boolean;
/**
* Returns all Columns referenced in an Expression
* @param expression - expression to check
*/
getColumnsFromExpression(expression: string): string[];
/**
* Returns whether a Column is Queryable
*/
isColumnQueryable(abColumn: AdaptableColumn): boolean;
/**
* Runs the AST that AdapTableQL creates for an Expression - useful when evaluating remotely
* @param expression expression to be run
*/
getASTForExpression(expression: string): any;
/**
* Returns Expression string of given AdaptableQuery: can be Boolean, AggregatedBoolean, Scalar, AggregatedScalar or Observable
* @param query - the AdaptableQuery
*/
getAdaptableQueryExpression(query: Partial<AdaptableQuery>): string | undefined;
/**
* Returns Expression string of given AdaptableQuery with column friendly names (instead of Column IDs)
* @param query - the AdaptableQuery
*/
getAdaptableQueryExpressionWithColumnFriendlyNames(query: Partial<AdaptableQuery>): string | undefined;
/**
* Whether Expressions are evaluated using Case Sensitivity
*/
useCaseSensitivity(): boolean;
}