UNPKG

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
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; }