UNPKG

@leancodepl/validation

Version:

CQRS validation helpers for command and query validation

29 lines (28 loc) 1.2 kB
import { ApiResponse, CommandResult } from "@leancodepl/cqrs-client-base"; export type SuccessOrFailureMarker = { success: -1; failure: -2; }; /** * Handles CQRS command responses and transforms them into validation error handlers. * * @template TErrors - Error codes map type extending Record<string, number> * @param response - API response containing command result * @param errorCodesMap - Mapping of error names to numeric codes * @returns Validation error handler with success/failure support * @example * ```typescript * const errorCodes = { UserNotFound: 1 } as const; * const response = await commandClient.execute(createUserCommand); * * handleResponse(response, errorCodes) * .handle('success', () => console.log('User created')) * .handle('failure', () => console.log('Network error')) * .handle('UserNotFound', () => console.log('User not found')) * .check(); * ``` */ export declare function handleResponse<TErrors extends Record<string, number>>(response: ApiResponse<CommandResult<TErrors>>, errorCodesMap: TErrors): import("./handleValidationErrors").ValidationErrorsHandler<TErrors & { readonly success: -1; readonly failure: -2; }, never>;