This commit is contained in:
Alex Yatskov 2017-01-15 22:17:49 -08:00
parent eae885b9aa
commit e8840465f0
5 changed files with 18 additions and 22 deletions

View File

@ -65,7 +65,7 @@ class Database {
});
}
findTerm(term, dictionaries) {
findTerms(term, dictionaries) {
if (this.db === null) {
return Promise.reject('database not initialized');
}

View File

@ -41,12 +41,12 @@ class Translator {
});
}
findTerm(text, dictionaries, softKatakana) {
findTerms(text, dictionaries, softKatakana) {
const cache = {};
return this.findTermDeinflections(text, dictionaries, cache).then(deinfLiteral => {
return this.findTermsDeinflected(text, dictionaries, cache).then(deinfLiteral => {
const textHiragana = wanakana._katakanaToHiragana(text);
if (text !== textHiragana && softKatakana) {
return this.findTermDeinflections(textHiragana, dictionaries, cache).then(deinfHiragana => deinfLiteral.concat(deinfHiragana));
return this.findTermsDeinflected(textHiragana, dictionaries, cache).then(deinfHiragana => deinfLiteral.concat(deinfHiragana));
} else {
return deinfLiteral;
}
@ -82,8 +82,8 @@ class Translator {
});
}
findTermGrouped(text, dictionaries, softKatakana) {
return this.findTerm(text, dictionaries, softKatakana).then(({length, definitions}) => {
findTermsGrouped(text, dictionaries, softKatakana) {
return this.findTerms(text, dictionaries, softKatakana).then(({length, definitions}) => {
return {length, definitions: groupTermDefs(definitions)};
});
}
@ -109,13 +109,13 @@ class Translator {
});
}
findTermDeinflections(text, dictionaries, cache) {
findTermsDeinflected(text, dictionaries, cache) {
const definer = term => {
if (cache.hasOwnProperty(term)) {
return Promise.resolve(cache[term]);
}
return this.database.findTerm(term, dictionaries).then(definitions => cache[term] = definitions);
return this.database.findTerms(term, dictionaries).then(definitions => cache[term] = definitions);
};
const promises = [];

View File

@ -106,15 +106,11 @@ class Yomichan {
tabInvokeAll(action, params) {
chrome.tabs.query({}, tabs => {
for (const tab of tabs) {
this.tabInvoke(tab.id, action, params);
chrome.tabs.sendMessage(tab.id, {action, params}, () => null);
}
});
}
tabInvoke(tabId, action, params) {
chrome.tabs.sendMessage(tabId, {action, params}, () => null);
}
formatNote(definition, mode) {
const note = {fields: {}, tags: this.options.anki.tags};
@ -174,7 +170,7 @@ class Yomichan {
);
}
api_findTerm({text, callback}) {
api_findTerms({text, callback}) {
const dictionaries = [];
for (const title in this.options.dictionaries) {
if (this.options.dictionaries[title].enableTerms) {
@ -183,7 +179,7 @@ class Yomichan {
}
promiseCallback(
this.translator.findTerm(
this.translator.findTerms(
text,
dictionaries,
this.options.general.softKatakana
@ -192,7 +188,7 @@ class Yomichan {
);
}
api_findTermGrouped({text, callback}) {
api_findTermsGrouped({text, callback}) {
const dictionaries = [];
for (const title in this.options.dictionaries) {
if (this.options.dictionaries[title].enableTerms) {
@ -201,7 +197,7 @@ class Yomichan {
}
promiseCallback(
this.translator.findTermGrouped(
this.translator.findTermsGrouped(
text,
dictionaries,
this.options.general.softKatakana

View File

@ -146,7 +146,7 @@ class Driver {
searchTerms(textSource) {
textSource.setEndOffset(this.options.scanning.length);
const findFunc = this.options.general.groupResults ? findTermGrouped : findTerm;
const findFunc = this.options.general.groupResults ? findTermsGrouped : findTerms;
return findFunc(textSource.text()).then(({definitions, length}) => {
if (definitions.length === 0) {
return false;

View File

@ -37,12 +37,12 @@ function getOptions() {
return invokeBgApi('getOptions', {});
}
function findTerm(text) {
return invokeBgApi('findTerm', {text});
function findTerms(text) {
return invokeBgApi('findTerms', {text});
}
function findTermGrouped(text) {
return invokeBgApi('findTermGrouped', {text});
function findTermsGrouped(text) {
return invokeBgApi('findTermsGrouped', {text});
}
function findKanji(text) {