pinyin-tone-parse

0.1.1 • Public • Published

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

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.

Package Sidebar

Install

npm i pinyin-tone-parse

Weekly Downloads

1

Version

0.1.1

License

MIT

Unpacked Size

10.8 kB

Total Files

8

Last publish

Collaborators

  • oleglegun