diff options
Diffstat (limited to 'packages/taler-util/src/operation.ts')
-rw-r--r-- | packages/taler-util/src/operation.ts | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/packages/taler-util/src/operation.ts b/packages/taler-util/src/operation.ts index 07a216fe9..771f5860b 100644 --- a/packages/taler-util/src/operation.ts +++ b/packages/taler-util/src/operation.ts @@ -138,22 +138,21 @@ export async function opKnownHttpFailure<T extends HttpStatusCode>( return { type: "fail", case: s, detail }; } -export async function opKnownTalerFailure<T extends TalerErrorCode>( +export function opKnownTalerFailure<T extends TalerErrorCode>( s: T, - resp: HttpResponse, -): Promise<OperationFail<T>> { - const detail = await readTalerErrorResponse(resp); + detail: TalerErrorDetail, +): OperationFail<T> { return { type: "fail", case: s, detail }; } -export function opUnknownFailure(resp: HttpResponse, text: string): never { +export function opUnknownFailure(resp: HttpResponse, error: TalerErrorDetail): never { throw TalerError.fromDetail( TalerErrorCode.WALLET_UNEXPECTED_REQUEST_ERROR, { requestUrl: resp.requestUrl, requestMethod: resp.requestMethod, httpStatusCode: resp.status, - errorResponse: text, + errorResponse: error, }, `Unexpected HTTP status ${resp.status} in response`, ); @@ -184,10 +183,10 @@ export type ResultByMethod< p extends keyof TT, > = TT[p] extends (...args: any[]) => infer Ret ? Ret extends Promise<infer Result> - ? Result extends OperationResult<any, any> - ? Result - : never - : never //api always use Promises + ? Result extends OperationResult<any, any> + ? Result + : never + : never //api always use Promises : never; //error cases just for functions export type FailCasesByMethod<TT extends object, p extends keyof TT> = Exclude< |