chinese-baby-names
Version:
chinese baby names
69 lines (68 loc) • 1.76 kB
TypeScript
import { Gender } from '../enums/Gender';
import { PoetryType } from '../enums/PoetryType';
/**
* 读取本地数据
* @param name
*/
export declare function readLocalData(name: string): string[];
export declare function readLocalJsonData(name: string): string[];
declare enum StorageType {
JSON = "json",
TEXT = "text",
DAT = "dat"
}
export declare const PoetCounter: Record<PoetryType.SONG_SHI | PoetryType.SONG_CI | PoetryType.TANG_SHI, number>;
export declare const DatabaseStorages: Record<PoetryType, {
type: StorageType;
locate: string;
}>;
interface GetJsonDataParams<T> {
/**
* json 文件路径
*/
locate: string;
/**
* 获取诗句内容
* @param item
*/
getSentences: (item: T) => string[];
/**
* 获取诗句来源
* @param item
*/
getTitle: (item: T) => string;
/**
* 回调函数
* @param sentence 单条 sentence
* @param title 标题
*/
callback: (sentence: string, title: string) => void | boolean;
}
export interface AINameData {
name: string;
gender: Gender;
}
export declare class Database {
/**
* 拆字字典
*/
static splitDirectory: Record<string, string[]>;
/**
* 名字字典
*/
static namesDirectory: Record<string, Gender>;
/**
* 笔画字典
*/
static strokeDirectory: Record<string, number>;
/**
* ai名字字典
*/
static aiNames: AINameData[];
static getJsonData<T>({ locate, getSentences, getTitle, callback }: GetJsonDataParams<T>): void;
private static generateStrokeDirectory;
private static generateCharSplitDirectory;
private static generateNamesDirectory;
private static generateAINamesDirectory;
}
export {};