aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-util/src/operation.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-util/src/operation.ts')
-rw-r--r--packages/taler-util/src/operation.ts19
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<