0.1.1 • Published 6 years ago

pinyin-tone-parse v0.1.1

Weekly downloads
7
License
MIT
Repository
github
Last release
6 years ago

Pinyin Tone Parse

Build Status Coverage Status code style: prettier License: MIT

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

OptionDefault valueDescription
allowUntonedtrueSet to false to throw MissingToneNumberError on each untoned word. Helps manually validate input.
allowAnyCharfalseBy 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.