fix: 修复 multiple 和 surname 一同使用的情景

This commit is contained in:
zhoulixiang
2024-03-20 09:21:58 +08:00
parent e15bc29a26
commit 13a9e08402
2 changed files with 12 additions and 6 deletions

View File

@@ -134,11 +134,17 @@ type GetMultiplePinyin = (
const getMultiplePinyin: GetMultiplePinyin = (word, mode = 'normal') => {
const wordCode = word.charCodeAt(0);
const customMultpileDict = getCustomMultpileDict();
const pinyin =
customMultpileDict[wordCode] ||
(mode === 'surname' ? Surnames[word] : '') ||
DICT1[wordCode] ||
'';
let pinyin = DICT1[wordCode] || '';
if (customMultpileDict[wordCode]) {
pinyin = customMultpileDict[wordCode];
} else if (mode === 'surname') {
const surnamePinyin = Surnames[word];
pinyin = [
surnamePinyin,
pinyin.split(' ').filter(py => py !== surnamePinyin),
].join(' ');
}
if (pinyin) {
return pinyin.split(' ').map((value) => ({
origin: word,

View File

@@ -34,7 +34,7 @@ describe('multiple', () => {
it('[multiple]multiple+surname同时使用', () => {
const result = pinyin('能', { mode: 'surname', multiple: true });
expect(result).to.be.equal('nài');
expect(result).to.be.equal('nài néng');
});
it('[multiple]base', () => {