Skip to content

Commit

Permalink
Merge pull request #8 from na2na-p/develop
Browse files Browse the repository at this point in the history
除外対象だけを無視して判定をできるように
  • Loading branch information
na2na-p authored Mar 21, 2022
2 parents c6ebecc + 1b1a75f commit b05c4d5
Showing 1 changed file with 34 additions and 20 deletions.
54 changes: 34 additions & 20 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class Gomamayo {
this.db = null;
}
}

/**
* @param {string} inputString
* @return {ParsedWord[]}
Expand Down Expand Up @@ -89,6 +89,25 @@ class Gomamayo {
return returnReading;
}

private async ignoreWordRemove(inputString: string): Promise<string> {
if (this.db) {
let result: string = inputString;
const ignoreWords = await this.db.findMany();
// ignoreWords[i].surfaceが、inputStringに含まれているかどうかを判定する
for (let i = 0; i < ignoreWords.length; i++) {
if (result.includes(ignoreWords[i].surface)) {
console.log(
`除外ワード:${ignoreWords[i].surface}`,
);
result = inputString.split(ignoreWords[i].surface).join("")
}
}
return result;
} else {
return inputString;
}
}

/**
* @param {string} inputString 判定したい文字列
* @param isIgnored 除外設定を使うかどうか。指定した文字列を除外する場合はtrue。デフォルトはtrue。
Expand All @@ -103,22 +122,17 @@ class Gomamayo {
combo: 0,
detail: [],
};
const rawParseResult = await this.parse(inputString);

const _rawInputString = inputString;
// console.log(`分析対象:${_rawInputString}`);

if (isIgnored) {
console.log("除外設定を使用します。");
if (this.db) {
const ignoreWords = await this.db.findMany();
// ignoreWords[i].surfaceが、inputStringに含まれているかどうかを判定する
for (let i = 0; i < ignoreWords.length; i++) {
if (inputString.includes(ignoreWords[i].surface)) {
console.log(`除外ワード\n${ignoreWords[i].surface}\nが含まれていたため、判定を中断します。`);
return gomamayoResult;
}
}
}
inputString = await this.ignoreWordRemove(inputString);
}


const rawParseResult = await this.parse(inputString);

// rawParseResult[i].readingに「ー」が含まれていたらprolongedSoundMarkVowelizeを実行し、それに置き換える
rawParseResult.map((raw) => {
if (typeof raw.reading !== "undefined") {
Expand Down Expand Up @@ -173,13 +187,13 @@ class Gomamayo {
this.db.insertOne({
surface: word,
})
.then(() => {
console.log(`${word} を除外設定に追加しました。`);
})
.catch((err) => {
console.error(err);
return false;
});
.then(() => {
console.log(`${word} を除外設定に追加しました。`);
})
.catch((err) => {
console.error(err);
return false;
});
return Promise.resolve(true);
} else {
return Promise.resolve(false);
Expand Down

0 comments on commit b05c4d5

Please sign in to comment.