cnchar 在 3.2.0 加入了随机生成数据的功能,可以随机生成 拼音、汉字、词语、成语、歇后语
启用该功能需要安装 cnchar-random
, 该库可以独立于cnchar主库运行,且该库相关功能依赖相关插件库提供的字典
举个例子:
如需使用随机生成成语,则需要依赖cnchar-idiom
库,有两种方式
- 一种是通过
cnchar
引用cnchar-idiom
import cnchar from 'cnchar';
import random from 'cnchar-random';
import idiom from 'cnchar-idiom';
cnchar.use(random, idiom);
cnchar.random.idiom({number: 10});
- 另一种是直接引用
cnchar-idiom
import random from 'cnchar-random';
import idiom from 'cnchar-idiom';
random.use(idiom);
random.idiom({number: 10});
当脱离 cnchar 独立引用时,需要通过 random.use api 引入相关功能插件才可以正常使用随机生成数据功能
random.use(plugin);
该功能依赖cnchar
cnchar.random.spell(options?: {
number?: number; // 生成数量 默认1
tone?: boolean; // 是否带音调 默认false
flat?: boolean; // 是否扁平化拼音 如 lv2 默认false
}): string[];
该功能依赖cnchar
cnchar.random.word(options?: {
number?: number; // 生成数量 默认1
stroke?: number; // 笔画数 默认不限制
trad?: boolean; // 是否查找繁体字 默认否
}): string;
如需根据 笔顺 随机生成汉字,可以参考 orderToWord 方法
该功能依赖cnchar-idiom
cnchar.random.idiom(options?: {
number?: number; // 生成数量 默认1
pattern?: [TIdiomInput, ...IdomArg[]];
}): string;
pattern参数,会调用cnchar.idiom(...pattern) 请参考cnchar-idiom文档
该功能依赖cnchar-xhy
cnchar.random.xhy(options?: {
number?: number; // 生成数量 默认1
pattern?: [string, ...XhyArg[]];
}): string;
pattern参数,会调用cnchar.xhy(...pattern) 请参考cnchar-xhy文档
该功能依赖cnchar-words
cnchar.random.words(options?: {
number?: number; // 生成数量 默认1
length?: number; // 词语长度 默认不限制
match?: string; // 查找包含match的词语
}): string;
该功能依赖cnchar-info
cnchar.random.info(options?: {
number?: number; // 生成数量 默认1
fiveElement?: '金' | '木' | '水' | '火' | '土'; // 根据五行查找
method?: '形声' | '会意'; // 根据造字法查找
}): string;