bookish-potato-dto
Version:
A TypeScript DTO (Data Transfer Object) parsing and validation library. Define a schema once — get runtime validation and a fully inferred TypeScript type for free.
16 lines (15 loc) • 721 B
TypeScript
import { PropertyDataToParse } from '../../_types';
import { PropertyParsingError } from '../../error';
export interface ParseChainData {
readonly propertyDataToParse: PropertyDataToParse<unknown>;
readonly dto: Record<string, unknown>;
}
export interface ParseChain {
parse(data: ParseChainData): PropertyParsingError | undefined;
}
export declare abstract class ParseChainBase implements ParseChain {
private nextChain;
setNextChain(nextChain: ParseChainBase): ParseChainBase;
parse(data: ParseChainData): PropertyParsingError | undefined;
protected abstract _parse(data: ParseChainData, next: (data: ParseChainData) => PropertyParsingError | undefined): PropertyParsingError | undefined;
}