mirror of
https://github.com/zh-lx/pinyin-pro.git
synced 2026-03-13 09:51:38 +08:00
fix: 修复 multiple 和 surname 一同使用的情景
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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', () => {
|
||||
|
||||
Reference in New Issue
Block a user