@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
16 lines (15 loc) • 1.13 kB
TypeScript
import type { QueryArgumentsWithType, SupportedQueryTypes } from '../query';
import type { CompoundQueryFormat, VirtualCompoundConstraint } from './compound-query';
import { executeCompoundQueries } from './compound-query';
import type { BaseQueryFormat } from '../base-query-format';
/** A query that does not perform a search but may perform (e.g., convenience) modifications of other queries */
export type VirtualQueryArgumentsWithType<Base extends SupportedQueryTypes, VirtualArguments extends VirtualCompoundConstraint<Base> = VirtualCompoundConstraint<Base>> = CompoundQueryFormat<Base, VirtualArguments>;
export type VirtualQueryExecutor<Query extends BaseQueryFormat, Result extends BaseQueryFormat[]> = (query: Query) => Result;
type SupportedVirtualQueries = {
[QueryType in VirtualQueryArgumentsWithType<SupportedQueryTypes>['type']]: VirtualQueryExecutor<QueryArgumentsWithType<QueryType>, BaseQueryFormat[]>;
};
export declare const SupportedVirtualQueries: {
readonly compound: typeof executeCompoundQueries;
};
export type SupportedVirtualQueryTypes = keyof typeof SupportedVirtualQueries;
export {};