@forestadmin/datasource-toolkit
Version:
25 lines • 1.19 kB
TypeScript
import ConditionTree from './base';
import { AsyncLeafReplacer, LeafCallback, LeafReplacer, LeafTester, PlainConditionTreeLeaf } from './leaf';
import { Collection } from '../../../collection';
import { RecordData } from '../../../record';
import Projection from '../../projection';
export type Aggregator = 'And' | 'Or';
export type PlainConditionTreeBranch = {
aggregator: Aggregator;
conditions: Array<PlainConditionTreeBranch | PlainConditionTreeLeaf>;
};
export default class ConditionTreeBranch extends ConditionTree {
aggregator: Aggregator;
conditions: ConditionTree[];
get projection(): Projection;
constructor(aggregator: Aggregator, conditions: ConditionTree[]);
forEachLeaf(handler: LeafCallback): void;
everyLeaf(handler: LeafTester): boolean;
someLeaf(handler: LeafTester): boolean;
inverse(): ConditionTree;
replaceLeafs(handler: LeafReplacer, bind?: unknown): ConditionTree;
replaceLeafsAsync(handler: AsyncLeafReplacer, bind?: unknown): Promise<ConditionTree>;
match(record: RecordData, collection: Collection, timezone: string): boolean;
toPlainObject(): PlainConditionTreeBranch;
}
//# sourceMappingURL=branch.d.ts.map