ts-flex-query
Version:
Flexible and type-safe data queries
17 lines (16 loc) • 958 B
TypeScript
import { Expression } from '../core/expression';
import { DataType } from '../types/data-type';
import { EvaluationContext } from '../types/evaluation-context';
import { TsFlexQueryTypeMarker } from '../types/ts-flex-query-type';
export declare class GroupExpression implements Expression {
readonly input: Expression;
readonly variableSymbol: symbol;
readonly groupValue: Expression;
readonly elementsField: string;
readonly groupValueField: string;
readonly dataType: DataType;
constructor(input: Expression, variableSymbol: symbol, groupValue: Expression, elementsField: string, groupValueField: string);
evaluate(context: EvaluationContext): unknown;
private evaluateGroupValue;
}
export type GroupResultType<TIn extends unknown[], TGroupValue, TElementsField extends string, TGroupValueField extends string> = (TsFlexQueryTypeMarker<'record'> & Record<TElementsField, TIn> & Record<TGroupValueField, TGroupValue>)[];