diff options
Diffstat (limited to 'ext/js/background')
-rw-r--r-- | ext/js/background/backend.js | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/ext/js/background/backend.js b/ext/js/background/backend.js index 5cbb65cb..82457a7e 100644 --- a/ext/js/background/backend.js +++ b/ext/js/background/backend.js @@ -414,9 +414,9 @@ class Backend { const options = this._getProfileOptions(optionsContext); const {general: {resultOutputMode: mode, maxResults}} = options; const findTermsOptions = this._getTranslatorFindTermsOptions(details, options); - const [definitions, length] = await this._translator.findTerms(mode, text, findTermsOptions); - definitions.splice(maxResults); - return {length, definitions}; + const {dictionaryEntries, originalTextLength} = await this._translator.findTerms(mode, text, findTermsOptions); + dictionaryEntries.splice(maxResults); + return {length: originalTextLength, definitions: dictionaryEntries}; } async _onApiTextParse({text, optionsContext}) { @@ -1050,7 +1050,7 @@ class Backend { let i = 0; const ii = text.length; while (i < ii) { - const [definitions, sourceLength] = await this._translator.findTerms( + const {dictionaryEntries, originalTextLength} = await this._translator.findTerms( 'simple', text.substring(i, i + scanningLength), findTermsOptions @@ -1058,20 +1058,20 @@ class Backend { const codePoint = text.codePointAt(i); const character = String.fromCodePoint(codePoint); if ( - definitions.length > 0 && - sourceLength > 0 && - (sourceLength !== character.length || this._japaneseUtil.isCodePointJapanese(codePoint)) + dictionaryEntries.length > 0 && + originalTextLength > 0 && + (originalTextLength !== character.length || this._japaneseUtil.isCodePointJapanese(codePoint)) ) { previousUngroupedSegment = null; - const {expression, reading} = definitions[0]; - const source = text.substring(i, i + sourceLength); - const term = []; - for (const {text: text2, furigana} of jp.distributeFuriganaInflected(expression, reading, source)) { + const {headwords: [{term, reading}]} = dictionaryEntries[0]; + const source = text.substring(i, i + originalTextLength); + const textSegments = []; + for (const {text: text2, furigana} of jp.distributeFuriganaInflected(term, reading, source)) { const reading2 = jp.convertReading(text2, furigana, readingMode); - term.push({text: text2, reading: reading2}); + textSegments.push({text: text2, reading: reading2}); } - results.push(term); - i += sourceLength; + results.push(textSegments); + i += originalTextLength; } else { if (previousUngroupedSegment === null) { previousUngroupedSegment = {text: character, reading: ''}; |