@qrvey/formula-lang
Version:
QFormula support for qrvey projects
32 lines (31 loc) • 1.23 kB
TypeScript
import { FunctionCallAST, FunctionDefinition, FunctionParameter, ProcessNodeResult, ValidatorExpectedInfo, ValidatorParameterResponse, ValidatorResponse } from '../constants/interfaces';
import { FunctionError } from './definitions';
interface MismatchDetail extends ValidatorExpectedInfo {
from?: number;
to?: number;
optional?: boolean;
}
interface MismatchExpected extends MismatchDetail {
generic?: boolean;
}
interface Mismatch {
node: FunctionCallAST;
validator: ValidatorResponse;
parameter?: FunctionParameter;
expected: Array<MismatchExpected>;
received: Array<MismatchDetail>;
}
export declare class FunctionArgumentsMismatch extends FunctionError implements Mismatch {
constructor(mismatch: Mismatch);
validator: ValidatorResponse;
parameter: FunctionParameter | undefined;
expected: Array<MismatchExpected>;
received: Array<MismatchDetail>;
node: FunctionCallAST;
}
export declare function validateParameters(definition: FunctionDefinition, args: Array<ProcessNodeResult>, validators?: ValidatorParameterResponse[]): {
expected: Array<MismatchExpected>;
received: Array<MismatchDetail>;
validator?: ValidatorParameterResponse;
};
export {};