ipink-util
Version:
util.js
79 lines (78 loc) • 2.66 kB
TypeScript
/**
* 汉字转拼音
*
* 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;