UNPKG

@napi-rs/pinyin

Version:

Fastest Chinese words to pinyin library

37 lines (32 loc) 1.3 kB
const { loadBinding } = require('@node-rs/helper') /** * __dirname means load native addon from current dir * 'pinyin' means native addon name is `pinyin` * the first arguments was decided by `napi.name` field in `package.json` * the second arguments was decided by `name` field in `package.json` * loadBinding helper will load `pinyin.[PLATFORM].node` from `__dirname` first * If failed to load addon, it will fallback to load from `@napi-rs/pinyin-[PLATFORM]` */ const bindings = loadBinding(__dirname, 'pinyin', '@napi-rs/pinyin') function pinyin(input, options = {}) { return bindings.pinyin( input, typeof options.heteronym === 'undefined' ? false : options.heteronym, typeof options.style === 'undefined' ? bindings.PINYIN_STYLE.WithTone : options.style, typeof options.segment === 'undefined' ? false : options.segment, ) } function asyncPinyin(input, options = {}) { return bindings.asyncPinyin( input, typeof options.heteronym === 'undefined' ? false : options.heteronym, typeof options.style === 'undefined' ? bindings.PINYIN_STYLE.WithTone : options.style, typeof options.segment === 'undefined' ? false : options.segment, ) } module.exports = { pinyin, asyncPinyin, compare: bindings.compare, PINYIN_STYLE: bindings.PINYIN_STYLE, }