// plugins/my-error.ts export class ApiError extends Error { statusCode?: number; data?: unknown; constructor(message: string, statusCode?: number, data?: unknown) { super(message); this.name = "ApiError"; this.statusCode = statusCode; this.data = data; } } export default definePayloadPlugin(() => { definePayloadReducer( "ApiError", (data) => data instanceof ApiError && [data.message, data.statusCode, data.data], ); definePayloadReviver( "ApiError", ([message, statusCode, data]) => new ApiError(message, statusCode, data), ); });