From 48f1d012ad5045319d4e492dfbefa39da92817b2 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Mon, 15 Jan 2024 06:12:33 -0500 Subject: Add toError utility function (#523) * Add asError utility function * Rename to toError --- dev/dictionary-validate.js | 7 ++++--- dev/to-error.js | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 dev/to-error.js (limited to 'dev') diff --git a/dev/dictionary-validate.js b/dev/dictionary-validate.js index 51edcc50..3727310e 100644 --- a/dev/dictionary-validate.js +++ b/dev/dictionary-validate.js @@ -23,6 +23,7 @@ import {performance} from 'perf_hooks'; import {fileURLToPath} from 'url'; import {parseJson} from './json.js'; import {createJsonSchema} from './schema-validate.js'; +import {toError} from './to-error.js'; const dirname = path.dirname(fileURLToPath(import.meta.url)); @@ -47,7 +48,7 @@ async function validateDictionaryBanks(mode, zip, fileNameFormat, schema) { try { jsonSchema = createJsonSchema(mode, schema); } catch (e) { - const e2 = e instanceof Error ? e : new Error(`${e}`); + const e2 = toError(e); e2.message += `\n(in file ${fileNameFormat})}`; throw e2; } @@ -62,7 +63,7 @@ async function validateDictionaryBanks(mode, zip, fileNameFormat, schema) { try { jsonSchema.validate(data); } catch (e) { - const e2 = e instanceof Error ? e : new Error(`${e}`); + const e2 = toError(e); e2.message += `\n(in file ${fileName})}`; throw e2; } @@ -92,7 +93,7 @@ export async function validateDictionary(mode, archive, schemas) { const jsonSchema = createJsonSchema(mode, schemas.index); jsonSchema.validate(index); } catch (e) { - const e2 = e instanceof Error ? e : new Error(`${e}`); + const e2 = toError(e); e2.message += `\n(in file ${indexFileName})}`; throw e2; } diff --git a/dev/to-error.js b/dev/to-error.js new file mode 100644 index 00000000..1cc84f50 --- /dev/null +++ b/dev/to-error.js @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2023 Yomitan Authors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +export {toError} from '../ext/js/core/to-error.js'; -- cgit v1.2.3