Skip to content

Commit 2fc23f3

Browse files
authored
Merge pull request #7 from DJTB/feat/use-wanakana-odoriji-patch
Refactor: use wanakana odoriji patch
2 parents dd9145c + f4a2574 commit 2fc23f3

File tree

3 files changed

+8
-32
lines changed

3 files changed

+8
-32
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
},
3131
"dependencies": {
3232
"just-zip-it": "^3.0.2",
33-
"wanakana": "^4.0.2"
33+
"wanakana": "^5.2.0"
3434
},
3535
"devDependencies": {
3636
"@babel/cli": "^7.17.6",

src/utils.js

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
1-
import stripOkurigana from 'wanakana/es/stripOkurigana';
2-
import tokenize from 'wanakana/es/tokenize';
3-
import isKanji from 'wanakana/es/isKanji';
4-
import isKana from 'wanakana/es/isKana';
5-
import isHiragana from 'wanakana/es/isHiragana';
6-
import isKatakana from 'wanakana/es/isKatakana';
1+
import { stripOkurigana, tokenize, isKanji, isKana, isHiragana, isKatakana } from 'wanakana';
72
import zip from 'just-zip-it';
83

94
/**
@@ -59,13 +54,11 @@ export function basicFuri(word = '', reading = '') {
5954
reading.slice(stripOkurigana(reading, { matchKanji: word }).length),
6055
];
6156

62-
const innerWordTokens = tokenizeWithOdoriji(removeExtraneousKana(word, bikago, okurigana));
57+
const innerWordTokens = tokenize(removeExtraneousKana(word, bikago, okurigana));
6358
let innerReadingChars = removeExtraneousKana(reading, bikago, okurigana);
6459

6560
const kanjiOddKanaEvenRegex = RegExp(
66-
innerWordTokens
67-
.map((char) => (isKanji(char) || char.includes('々') ? '(.*)' : `(${char})`))
68-
.join('')
61+
innerWordTokens.map((char) => (isKanji(char) ? '(.*)' : `(${char})`)).join(''),
6962
);
7063

7164
[, ...innerReadingChars] = innerReadingChars.match(kanjiOddKanaEvenRegex) || [];
@@ -83,23 +76,6 @@ export function basicFuri(word = '', reading = '') {
8376
return ret;
8477
}
8578

86-
function tokenizeWithOdoriji(input) {
87-
const tokenizedArray = tokenize(input);
88-
// merge 々 with previous element
89-
for (let i = 0; i < tokenizedArray.length; i += 1) {
90-
if (tokenizedArray[i] === '々') {
91-
if (i !== 0) {
92-
tokenizedArray[i - 1] = tokenizedArray[i - 1] + tokenizedArray[i];
93-
tokenizedArray[i] = '';
94-
}
95-
}
96-
}
97-
// remove empty element
98-
const removedEmpty = tokenizedArray.filter((element) => element !== '');
99-
100-
return removedEmpty;
101-
}
102-
10379
function removeExtraneousKana(str = '', leading = '', trailing = '') {
10480
return str.replace(RegExp(`^${leading}`), '').replace(RegExp(`${trailing}$`), '');
10581
}

yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10589,10 +10589,10 @@ walker@^1.0.7:
1058910589
dependencies:
1059010590
makeerror "1.0.12"
1059110591

10592-
wanakana@^4.0.2:
10593-
version "4.0.2"
10594-
resolved "https://registry.yarnpkg.com/wanakana/-/wanakana-4.0.2.tgz#a7d60186724a56fd50e6e9c224628c09294901d8"
10595-
integrity sha512-lBFtnLJhTpp5wQBdH7TrOHhLxqmUabAfL86plNN8+iffyhosjZyx+kkO8KEBGR8zWH5nxSQ67oyx3W/lcEC8sg==
10592+
wanakana@^5.2.0:
10593+
version "5.2.0"
10594+
resolved "https://registry.yarnpkg.com/wanakana/-/wanakana-5.2.0.tgz#697ebd052a2e99146b14766c5f48577b8ca18501"
10595+
integrity sha512-5oYP9ZLfj181aldBy3JB83UoMH0YRl5QW/AgvXT56ck/n9N6/Zj9N/e04QGBtqNpmME84M3kbV1Ev3KdxXlzGg==
1059610596

1059710597
watchpack@^2.3.1:
1059810598
version "2.3.1"

0 commit comments

Comments
 (0)