@lightningkite/ktor-batteries
Version:
49 lines (48 loc) • 2.25 kB
TypeScript
import { Aggregate } from './Aggregate';
import { Condition } from './Condition';
import { ReifiedType } from '@lightningkite/khrysalis-runtime';
export declare class GroupCountQuery<Model extends any> {
readonly condition: Condition<Model>;
readonly groupBy: (keyof Model & string);
constructor(condition: Condition<Model>, groupBy: (keyof Model & string));
static properties: string[];
static propertyTypes(Model: ReifiedType): {
condition: (ReifiedType<unknown> | typeof Condition)[];
groupBy: (StringConstructor | ReifiedType<unknown>)[];
};
copy: (values: Partial<GroupCountQuery<Model>>) => this;
equals: (other: any) => boolean;
hashCode: () => number;
}
export declare class AggregateQuery<Model extends any> {
readonly aggregate: Aggregate;
readonly condition: Condition<Model>;
readonly property: (keyof Model & string);
constructor(aggregate: Aggregate, condition: Condition<Model>, property: (keyof Model & string));
static properties: string[];
static propertyTypes(Model: ReifiedType): {
aggregate: (typeof Aggregate)[];
condition: (ReifiedType<unknown> | typeof Condition)[];
property: (StringConstructor | ReifiedType<unknown>)[];
};
copy: (values: Partial<AggregateQuery<Model>>) => this;
equals: (other: any) => boolean;
hashCode: () => number;
}
export declare class GroupAggregateQuery<Model extends any> {
readonly aggregate: Aggregate;
readonly condition: Condition<Model>;
readonly groupBy: (keyof Model & string);
readonly property: (keyof Model & string);
constructor(aggregate: Aggregate, condition: Condition<Model>, groupBy: (keyof Model & string), property: (keyof Model & string));
static properties: string[];
static propertyTypes(Model: ReifiedType): {
aggregate: (typeof Aggregate)[];
condition: (ReifiedType<unknown> | typeof Condition)[];
groupBy: (StringConstructor | ReifiedType<unknown>)[];
property: (StringConstructor | ReifiedType<unknown>)[];
};
copy: (values: Partial<GroupAggregateQuery<Model>>) => this;
equals: (other: any) => boolean;
hashCode: () => number;
}