From 87e0f594dfa036d735102b1aa17e0516d4f79111 Mon Sep 17 00:00:00 2001 From: "P. Reis" Date: Wed, 9 Oct 2024 19:17:03 -0300 Subject: [PATCH] refactor: throw new Error to have benefit of stack trace --- src/controllers/api/translate.ts | 2 +- src/translators/DeepLTranslator.ts | 2 +- src/translators/LibreTranslateTranslator.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/controllers/api/translate.ts b/src/controllers/api/translate.ts index 4578c7fb..5f229e0e 100644 --- a/src/controllers/api/translate.ts +++ b/src/controllers/api/translate.ts @@ -133,7 +133,7 @@ const translateController: AppController = async (c) => { dittoTranslations.set(translatedId, { data: mastodonTranslation }); return c.json(mastodonTranslation, 200); } catch (e: any) { - if (e.message?.includes('not supported') || e.error?.includes('not supported')) { + if (e.message?.includes('not supported')) { return c.json({ error: `Translation of source language '${event.language}' not supported` }, 422); } return c.json({ error: 'Service Unavailable' }, 503); diff --git a/src/translators/DeepLTranslator.ts b/src/translators/DeepLTranslator.ts index 4307898c..5c457903 100644 --- a/src/translators/DeepLTranslator.ts +++ b/src/translators/DeepLTranslator.ts @@ -69,7 +69,7 @@ export class DeepLTranslator implements DittoTranslator { const response = await this.fetch(request); const json = await response.json(); if (!response.ok) { - throw json; + throw new Error(json['message']); } const data = DeepLTranslator.schema().parse(json); diff --git a/src/translators/LibreTranslateTranslator.ts b/src/translators/LibreTranslateTranslator.ts index 0e6bd55a..a7d4eb85 100644 --- a/src/translators/LibreTranslateTranslator.ts +++ b/src/translators/LibreTranslateTranslator.ts @@ -69,7 +69,7 @@ export class LibreTranslateTranslator implements DittoTranslator { const response = await this.fetch(request); const json = await response.json(); if (!response.ok) { - throw json; + throw new Error(json['error']); } const data = LibreTranslateTranslator.schema().parse(json);