UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

16 lines (15 loc) 849 B
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;