UNPKG

@leancodepl/cqrs-client-base

Version:

Base types and interfaces for CQRS client implementations

28 lines 1.04 kB
export type TokenProvider = { getToken: () => Promise<string | undefined>; invalidateToken: () => Promise<boolean>; }; export type ValidationError<TErrorCodes extends Record<string, number>> = { readonly PropertyName: string; readonly ErrorMessage: string; readonly ErrorCode: TErrorCodes[keyof TErrorCodes]; }; export type CommandResult<TErrorCodes extends Record<string, number>> = FailedCommandResult<TErrorCodes> | SuccessfulCommandResult; export type FailedCommandResult<TErrorCodes extends Record<string, number>> = { readonly WasSuccessful: false; readonly ValidationErrors: ValidationError<TErrorCodes>[]; }; export type SuccessfulCommandResult = { readonly WasSuccessful: true; }; export type ApiSuccess<TResult> = { readonly isSuccess: true; readonly result: TResult; }; export type ApiError = { readonly isSuccess: false; readonly error: any; readonly isAborted?: boolean; }; export type ApiResponse<TResult> = ApiError | ApiSuccess<TResult>; //# sourceMappingURL=index.d.ts.map