import { pinyin } from "./pinyintojs.js" import { XuiChineseToPinYinOpts, XuiChineseToPinYinResult } from "../interface.uts" import { XuiChineseToPinYinFailImpl } from "../unierror.uts" /** 中文转拼音 */ export function toPinYin(opts : XuiChineseToPinYinOpts){ try { let c = opts.char; if (c == '') { let errorIml = new XuiChineseToPinYinFailImpl(1002) opts?.fail?.(errorIml) opts?.complete?.(null) return; } const result = pinyin(c, { toneType: 'none', style: pinyin.STYLE_NORMAL }) const resultZhuying = pinyin(c, { toneType: 'symbol', style: pinyin.STYLE_NORMAL }) const ok : XuiChineseToPinYinResult = { detail: result, zhuyin: resultZhuying } opts?.success?.(ok) opts?.complete?.(ok) } catch (error) { console.error(error) opts?.fail?.(new XuiChineseToPinYinFailImpl(1001)) opts?.complete?.(null) } }