UNPKG

@pujansrt/data-genie

Version:

High performant ETL engine written in TypeScript

28 lines (27 loc) 1.03 kB
import { DataReader, DataRecord } from '../core/interfaces'; import { DataTransformer } from '../transformers/transformers'; export interface ValidationMessage { record: DataRecord; field?: string; message: string; } export type RecordValidationRule = (record: DataRecord, messages: ValidationMessage[]) => boolean; export declare class ValidatingReader extends DataTransformer { private rules; private messages; private throwExceptionOnFailure; private recordStackTraceInMessage; constructor(reader: DataReader); add(rule: RecordValidationRule): this; setExceptionOnFailure(value: boolean): this; setRecordStackTraceInMessage(value: boolean): this; getMessages(): ValidationMessage[]; read(): AsyncIterableIterator<DataRecord>; } export declare class FieldValidator { private fieldName; private rules; constructor(fieldName: string); addRule(rule: (value: any) => boolean, errorMessage: string): this; createRecordValidationRule(): RecordValidationRule; }