@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
16 lines (15 loc) • 849 B
TypeScript
import type * as Joi from 'joi';
import type { FlowrMessage, IdMessageBase, MessageDefinition } from './messages/all-messages';
import type { Socket } from './net';
export interface ValidationErrorResult {
type: 'error';
reason: Joi.ValidationError | Error;
}
export interface SuccessValidationResult<T extends IdMessageBase> {
type: 'success';
message: T;
}
export type ValidationResult<T extends IdMessageBase> = SuccessValidationResult<T> | ValidationErrorResult;
export declare function validateBaseMessageFormat(input: string): ValidationResult<IdMessageBase>;
export declare function validateMessage<T extends FlowrMessage | IdMessageBase>(input: IdMessageBase, def: MessageDefinition<T>): ValidationResult<T>;
export declare function answerForValidationError(client: Socket, result: ValidationErrorResult, id?: string): void;