diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2023-12-19 00:33:38 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-19 05:33:38 +0000 |
commit | 1ced9aafc00c10992bab8bd3f1b6b1397f05b7b9 (patch) | |
tree | 305bb2b3bfc7fc3b051ee1cd3d1c35f442af0de4 /test/fixtures | |
parent | 5f96276fda93dcad39f2165fd3c8d890aa5f9be5 (diff) |
Make JSON.parse usage safer (#373)
* Make JSON.parse usage safer
* Fix any type
* Add readResponseJson
* Use readResponseJson
* Additional updates
* Rename files
* Add types
Diffstat (limited to 'test/fixtures')
-rw-r--r-- | test/fixtures/translator-test.js | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/test/fixtures/translator-test.js b/test/fixtures/translator-test.js index b17c37d9..cb1a3ef5 100644 --- a/test/fixtures/translator-test.js +++ b/test/fixtures/translator-test.js @@ -21,6 +21,7 @@ import {readFileSync} from 'fs'; import {fileURLToPath, pathToFileURL} from 'node:url'; import {dirname, join, resolve} from 'path'; import {expect, vi} from 'vitest'; +import {parseJson} from '../../dev/json.js'; import {createDictionaryArchive} from '../../dev/util.js'; import {AnkiNoteDataCreator} from '../../ext/js/data/sandbox/anki-note-data-creator.js'; import {DictionaryDatabase} from '../../ext/js/language/dictionary-database.js'; @@ -60,7 +61,7 @@ async function fetch(url) { status: 200, statusText: 'OK', text: async () => content.toString('utf8'), - json: async () => JSON.parse(content.toString('utf8')) + json: async () => parseJson(content.toString('utf8')) }; } @@ -96,7 +97,8 @@ async function createTranslatorContext(dictionaryDirectory, dictionaryName) { // Setup translator const japaneseUtil = new JapaneseUtil(null); const translator = new Translator({japaneseUtil, database: dictionaryDatabase}); - const deinflectionReasons = JSON.parse(readFileSync(deinflectionReasonsPath, {encoding: 'utf8'})); + /** @type {import('deinflector').ReasonsRaw} */ + const deinflectionReasons = parseJson(readFileSync(deinflectionReasonsPath, {encoding: 'utf8'})); translator.prepare(deinflectionReasons); // Assign properties |