UNPKG

ipink-util

Version:

util.js

79 lines (78 loc) 2.66 kB
/** * 汉字转拼音 * * Create 2023.11.22 By Gavin New */ /** * @desc 拼音转换模式 * >0 普通汉字模式 * 0: 仅做拼音转换 * 1: 所有汉字取首字符 * 2: 首位汉字取首字符 * >10 姓名模式 * 10: 姓与名分割展示 * 11: 展示姓 * 12: 展示名 **/ export type PinYinTranslateMode = 0 | 1 | 2 | 10 | 11 | 12; export interface PinYinTranslateOptions { trim?: boolean; trimAll?: boolean; split?: string; mode?: PinYinTranslateMode; } export interface PinYinTranslateExtOptions extends PinYinTranslateOptions { firstChar?: boolean; lowerCase?: boolean; } export type TranslateResult = { value: string; valueArr: string[]; }; export declare class PinyinTranslate { static instance: PinyinTranslate | null; mode: PinYinTranslateMode; modeList: PinYinTranslateMode[]; options: PinYinTranslateOptions; /** * @Description options & ext * options.mode * options.trim = false // 仅保留汉字和字母和数字 * options.trimAll = false // 是否去岁所有除非汉字部分 * options.split = true // 首字符大写分割, false: 空格分割 * */ constructor(options: PinYinTranslateOptions | PinYinTranslateMode, ext?: PinYinTranslateOptions); /** * @desc 初始化实例 * @param options 配置选项或者模式ID { PinYinTranslateOptions | PinYinTranslateMode } * @param extOptions { PinYinTranslateOptions } * @return: */ initInstance(options: PinYinTranslateOptions | PinYinTranslateMode, ext?: PinYinTranslateOptions): void; static createInstance(options: PinYinTranslateOptions | PinYinTranslateMode, ext?: PinYinTranslateOptions): PinyinTranslate; /** * @desc 获取指定字符串的拼音 * @param val 指定字符串 { string } * @return: { value, valueArr } */ value(val: string): TranslateResult; createMode0(val: string): TranslateResult; createMode1(val: string): TranslateResult; createMode2(val: string): TranslateResult; createMode10(val: string): TranslateResult; createMode11(val: string): TranslateResult; createMode12(val: string, options?: PinYinTranslateExtOptions): TranslateResult; /** * @desc 字符/拼音转换 * @param val 指定字符串 { string } * @param val 指定字符串 { string } * @return: */ translate(val?: string, options?: PinYinTranslateExtOptions): TranslateResult; splitName: (e: string) => { surname: string; name: string; }; } export declare const Pinyin: typeof PinyinTranslate.createInstance;