@leancodepl/validation
Version:
CQRS validation helpers for command and query validation
29 lines • 1.25 kB
TypeScript
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>;
//# sourceMappingURL=handleResponse.d.ts.map