UNPKG

ts-flex-query

Version:
17 lines (16 loc) 923 B
import { Expression } from '../core/expression'; import { DataType } from '../types/data-type'; import { EvaluationContext } from '../types/evaluation-context'; import { ExpressionResultType } from '../types/expression-result-type'; import { TsFlexQueryTypeMarker } from '../types/ts-flex-query-type'; export declare class RecordExpression implements Expression { readonly fields: Partial<Record<PropertyKey, Expression>>; readonly dataType: DataType; constructor(fields: Partial<Record<PropertyKey, Expression>>); evaluate(context: EvaluationContext): any; } type RecordType<TFields extends Partial<Record<PropertyKey, Expression>>> = TsFlexQueryTypeMarker<'record'> & { [field in keyof TFields]: ExpressionResultType<NonNullable<TFields[field]>>; }; export declare function record<TFields extends Partial<Record<PropertyKey, Expression>>>(fields: TFields): Expression<RecordType<TFields>>; export {};