@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
27 lines (26 loc) • 1.01 kB
TypeScript
import { Json } from '../types/Json';
import { Sort } from '../types/Sort';
import { Convert } from '../utils/Convert';
export declare class Condition {
readonly key: string;
readonly operator: string;
readonly value: unknown;
constructor(key: string, operator: string, value: unknown);
and: (...others: Condition[]) => LogicalCondition;
or: (...others: Condition[]) => LogicalCondition;
toJSON(): Json;
}
export declare class LogicalCondition {
readonly operator: string;
readonly conditions: Condition[];
constructor(operator: string, conditions: Condition[]);
toJSON(): Json;
}
export declare class SortCondition extends Condition implements Sort {
readonly key: string;
readonly value: -1 | 1;
constructor(key: string, value: -1 | 1);
toJSON(): Json;
}
export declare const toCondition: (field: string, operator: string, value: unknown, conv?: Convert) => Condition;
export declare const isSortCondition: (s?: unknown) => s is SortCondition;