From a3e078b0b755d38883aa978f2ef1ab1198e743cb Mon Sep 17 00:00:00 2001 From: James Cook Date: Tue, 9 May 2023 19:24:03 +0100 Subject: [PATCH] fix: handle parsing json errors --- .changeset/modern-rabbits-film.md | 5 +++++ src/core/baseClient.ts | 12 ++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 .changeset/modern-rabbits-film.md diff --git a/.changeset/modern-rabbits-film.md b/.changeset/modern-rabbits-film.md new file mode 100644 index 0000000..98493e4 --- /dev/null +++ b/.changeset/modern-rabbits-film.md @@ -0,0 +1,5 @@ +--- +"classcharts-api": minor +--- + +Throw more description JSON parsing errors diff --git a/src/core/baseClient.ts b/src/core/baseClient.ts index ca6f2fa..f17ce26 100644 --- a/src/core/baseClient.ts +++ b/src/core/baseClient.ts @@ -112,10 +112,14 @@ export class BaseClient { } } const request = await ky(path, requestOptions); - const responseJSON = (await request.json()) as ClassChartsResponse< - unknown, - unknown - >; + let responseJSON: ClassChartsResponse; + try { + responseJSON = await request.json(); + } catch (err) { + throw new Error( + "Error parsing JSON. Returned response: " + (await request.text()) + ); + } if (responseJSON.success == 0) { throw new Error(responseJSON.error); }