pinyin-tone-parse
v0.1.1
Published
Parse Pinyin tone numbers.
Downloads
91
Readme
Pinyin Tone Parse
Easily parse pinyin tone numbers.
Installation
npm install pinyin-tone-parse
Usage
const toneParse = require('pinyin-tone-parse')
toneParse('Ni3 hao3 ma5?')
// [[ 'Ni', 3 ], ' ', [ 'hao', 3 ], ' ',[ 'ma', 5 ], '?']
// Composite words
toneParse('Zhong1guo2ren2 hai2shi5 e2guo2ren2?')
// [['Zhong', 1], ['guo', 2], ['ren', 2], ' ', ['hai', 2], ['shi', 5], ' ', ['e', 2], ['guo', 2], ['ren', 2], '?']
Options
| Option | Default value | Description |
| -------------- | :-----------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| allowUntoned
| true | Set to false
to throw MissingToneNumberError
on each untoned word. Helps manually validate input. |
| allowAnyChar
| false | By default throws UnrecognizedCharacterError
on any character that is not in the A-Za-z0-9.。,:;?!-–
set. Set to true
to omit this error. Correct parsing results in this case are not guaranteed. |
// Check for untoned words
toneParse('Ni3 hao3 ma?')
// [[ 'Ni', 3 ], ' ', [ 'hao', 3 ], ' ', [ 'ma', 5 ], '?']
toneParse('Ni3 hao3 ma?', { allowUntoned: false }) // throws MissingToneNumberError for word "ma"
// Allow any characters
toneParse('Ni3 & wo3.') // throws UnrecognizedCharacterError for `&` character
toneParse('Ni3 & wo3.', { allowAnyChar: true })
// [[ 'Ni', 3 ], ' ', '&', ' ', [ 'wo', 3 ], '.']
Tests
npm test
License
MIT.