mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-19 05:26:47 +00:00
21 lines
726 B
TypeScript
21 lines
726 B
TypeScript
import { DomainError } from '../../src/nest/common/domain-error';
|
|
|
|
/**
|
|
* Awaits a service call and hands a `DomainError` refusal back as the
|
|
* `{ error, status }` result the service used to return, so a test can assert a
|
|
* refusal and a success through one shape. Any other rejection propagates.
|
|
*/
|
|
export async function asLegacyResult<T>(call: Promise<T> | T): Promise<T & { error?: string; status?: number }> {
|
|
try {
|
|
return (await call) as T & { error?: string; status?: number };
|
|
} catch (err) {
|
|
if (err instanceof DomainError) {
|
|
return { ...err.details, error: err.publicMessage, status: err.getStatus() } as T & {
|
|
error?: string;
|
|
status?: number;
|
|
};
|
|
}
|
|
throw err;
|
|
}
|
|
}
|