@allgemein/expressions
Version:
Library for mango expressions
35 lines (34 loc) • 1.17 kB
TypeScript
import { IExpr } from './IExpr';
import { IClassRef, ILookupRegistry } from '@allgemein/schema-api';
export declare class ExprDesc implements IExpr {
readonly type: string;
private __key?;
get key(): any;
set key(value: any);
value?: any;
values?: any;
isOp(): boolean;
isGroup(): boolean;
getSourceKeys(): string[];
getTargetKeys(): string[];
applyOn(target: any, source: any, force?: boolean): void;
applyReverseOn(target: any, source: any, force?: boolean): void;
/**
* Returns key-value map of all key and referenced key or values
* (sometimes needed for join definitions).
*/
getMap(): any;
lookup(source: any): (target: any) => boolean;
for(target: any, keyMap?: any): any;
/**
* Test if conditions matching class properties and references
*/
test(sourceRef: IClassRef, errors?: string[]): boolean;
/**
* Validate if defined keys match source and target element
* - target = referred
* - source = referrer
*/
validate(registry: ILookupRegistry, targetRef: IClassRef, sourceRef?: IClassRef, throwing?: boolean): boolean;
toJson(): any;
}