.+<\/a><\/div>/;
20 | var m = html.match(re_zi);
21 | if(m && m[1]){
22 | var url = m[1];
23 |
24 | request(SERVER + url, function(err, res, body){
25 |
26 | if(error || response.statusCode !== 200){
27 | console.error("404, Not Found 1.", han);
28 | return;
29 | }
30 |
31 | var re_py = /拼音:([^<]+)<\/span>/;
32 | var m_py = body.match(re_py);
33 | if(m_py && m_py[1]){
34 |
35 | var py = m_py[1];
36 | console.log('"' + han + '": "' + py + '",');
37 |
38 | }else{
39 | console.error("404, Not Found. 2", han);
40 | }
41 |
42 | });
43 | }else{
44 | console.error("404, Not Found. 3", han);
45 | }
46 | }
47 | );
48 | }
49 |
50 | // 分时处理数组的每一项数据。
51 | // @param {Array} array, 待处理的数值数据。
52 | // @param {Function} process, 处理过程。
53 | // @param {Object} 处理过程和回调函数中 this 指向的上下文。
54 | // @param {Function} 分时处理完成的回调函数。
55 | function chunk(array, process, context, callback){
56 | var items = array.concat(); //clone the array
57 | var delay = 25;
58 |
59 | setTimeout(function(){
60 | var item = items.shift();
61 | process.call(context, item);
62 |
63 | if(items.length > 0){
64 | setTimeout(arguments.callee, delay);
65 | }else{
66 | callback && callback.call(context);
67 | }
68 | }, delay);
69 | }
70 |
71 |
72 | // @param {Array} hans 汉字集合。
73 | exports.dict = function(hans){
74 | chunk(hans, getPinyinDict);
75 | };
76 |
77 |
78 | // 从快典网查询,带注音的 GBK 编码拼音,Iconv 无法正常转换编码,
79 | // 而其注音格式参数无效,未完成。
80 | // @deprecated
81 | function getKDDPinyinDict(han){
82 | remote("http://py.kdd.cc/index.asp?zy=1&u=3&dy=red&ps=gray&zs=blue&kd=55&wz="+
83 | URLEncoder.encode(han), "POST", function(html){
84 | var py_start = "";
85 | var py_end = "";
86 | var idx = html.indexOf(py_start);
87 | var idx2 = html.indexOf(py_end, idx);
88 | if(idx < 0){
89 | console.log(han, "No Found.")
90 | return;
91 | }
92 | console.log(han, ":", html.substring(idx+py_start.length, idx2));
93 | //console.log(html);
94 | }, function(response){
95 | });
96 | }
97 |
--------------------------------------------------------------------------------
/tools/segment.js:
--------------------------------------------------------------------------------
1 | const nodejieba = require("nodejieba");
2 | const rustjieba = require("@node-rs/jieba");
3 | console.log('----debug', rustjieba);
4 |
5 | const words = "我的名字叫做江大桥,田亮";
6 | console.log('nodejieba: ', nodejieba.tag(words, 4));
7 | console.log('rustjieba: ', rustjieba.tag(words));
8 |
--------------------------------------------------------------------------------
/tools/zi/frequent.js:
--------------------------------------------------------------------------------
1 | // 常用字(2500字)
2 | // 笔画顺序表
3 | // @see http://www.china-language.gov.cn/wenziguifan/shanghi/013c.htm
4 | module.exports = [
5 |
6 | // 一画
7 | "一乙",
8 |
9 | // 二画
10 | "二十丁厂七卜人入八九几儿了力乃刀又",
11 |
12 | // 三画
13 | "三于干亏士工土才寸下大丈与万上小",
14 | "口巾山千乞川亿个勺久凡及夕丸么广",
15 | "亡门义之尸弓己已子卫也女飞刃习叉",
16 | "马乡",
17 |
18 |
19 | // 四画
20 | "丰王井开夫天无元专云扎艺木五支厅",
21 | "不太犬区历尤友匹车巨牙屯比互切瓦",
22 | "止少日中冈贝内水见午牛手毛气升长",
23 | "仁什片仆化仇币仍仅斤爪反介父从今",
24 | "凶分乏公仓月氏勿欠风丹匀乌凤勾文",
25 | "六方火为斗忆订计户认心尺引丑巴孔",
26 | "队办以允予劝双书幻",
27 |
28 | // 五画
29 | "玉刊示末未击打巧正扑扒功扔去甘世",
30 | "古节本术可丙左厉右石布龙平灭轧东",
31 | "卡北占业旧帅归且旦目叶甲申叮电号",
32 | "田由史只央兄叼叫另叨叹四生失禾丘",
33 | "付仗代仙们仪白仔他斥瓜乎丛令用甩",
34 | "印乐句匆册犯外处冬鸟务包饥主市立",
35 | "闪兰半汁汇头汉宁穴它讨写让礼训必",
36 | "议讯记永司尼民出辽奶奴加召皮边发",
37 | "孕圣对台矛纠母幼丝",
38 |
39 | // 六画
40 | "式刑动扛寺吉扣考托老执巩圾扩扫地",
41 | "扬场耳共芒亚芝朽朴机权过臣再协西",
42 | "压厌在有百存而页匠夸夺灰达列死成",
43 | "夹轨邪划迈毕至此贞师尘尖劣光当早",
44 | "吐吓虫曲团同吊吃因吸吗屿帆岁回岂",
45 | "刚则肉网年朱先丢舌竹迁乔伟传乒乓",
46 | "休伍伏优伐延件任伤价份华仰仿伙伪",
47 | "自血向似后行舟全会杀合兆企众爷伞",
48 | "创肌朵杂危旬旨负各名多争色壮冲冰",
49 | "庄庆亦刘齐交次衣产决充妄闭问闯羊",
50 | "并关米灯州汗污江池汤忙兴宇守宅字",
51 | "安讲军许论农讽设访寻那迅尽导异孙",
52 | "阵阳收阶阴防奸如妇好她妈戏羽观欢",
53 | "买红纤级约纪驰巡",
54 |
55 | // 七画
56 | "寿弄麦形进戒吞远违运扶抚坛技坏扰",
57 | "拒找批扯址走抄坝贡攻赤折抓扮抢孝",
58 | "均抛投坟抗坑坊抖护壳志扭块声把报",
59 | "却劫芽花芹芬苍芳严芦劳克苏杆杠杜",
60 | "材村杏极李杨求更束豆两丽医辰励否",
61 | "还歼来连步坚旱盯呈时吴助县里呆园",
62 | "旷围呀吨足邮男困吵串员听吩吹呜吧",
63 | "吼别岗帐财针钉告我乱利秃秀私每兵",
64 | "估体何但伸作伯伶佣低你住位伴身皂",
65 | "佛近彻役返余希坐谷妥含邻岔肝肚肠",
66 | "龟免狂犹角删条卵岛迎饭饮系言冻状",
67 | "亩况床库疗应冷这序辛弃冶忘闲间闷",
68 | "判灶灿弟汪沙汽沃泛沟没沈沉怀忧快",
69 | "完宋宏牢究穷灾良证启评补初社识诉",
70 | "诊词译君灵即层尿尾迟局改张忌际陆",
71 | "阿陈阻附妙妖妨努忍劲鸡驱纯纱纳纲",
72 | "驳纵纷纸纹纺驴纽",
73 |
74 | // 八画
75 | "奉玩环武青责现表规抹拢拔拣担坦押",
76 | "抽拐拖拍者顶拆拥抵拘势抱垃拉拦拌",
77 | "幸招坡披拨择抬其取苦若茂苹苗英范",
78 | "直茄茎茅林枝杯柜析板松枪构杰述枕",
79 | "丧或画卧事刺枣雨卖矿码厕奔奇奋态",
80 | "欧垄妻轰顷转斩轮软到非叔肯齿些虎",
81 | "虏肾贤尚旺具果味昆国昌畅明易昂典",
82 | "固忠咐呼鸣咏呢岸岩帖罗帜岭凯败贩",
83 | "购图钓制知垂牧物乖刮秆和季委佳侍",
84 | "供使例版侄侦侧凭侨佩货依的迫质欣",
85 | "征往爬彼径所舍金命斧爸采受乳贪念",
86 | "贫肤肺肢肿胀朋股肥服胁周昏鱼兔狐",
87 | "忽狗备饰饱饲变京享店夜庙府底剂郊",
88 | "废净盲放刻育闸闹郑券卷单炒炊炕炎",
89 | "炉沫浅法泄河沾泪油泊沿泡注泻泳泥",
90 | "沸波泼泽治怖性怕怜怪学宝宗定宜审",
91 | "宙官空帘实试郎诗肩房诚衬衫视话诞",
92 | "询该详建肃录隶居届刷屈弦承孟孤陕",
93 | "降限妹姑姐姓始驾参艰线练组细驶织",
94 | "终驻驼绍经贯",
95 |
96 | // 九画
97 | "奏春帮珍玻毒型挂封持项垮挎城挠政",
98 | "赴赵挡挺括拴拾挑指垫挣挤拼挖按挥",
99 | "挪某甚革荐巷带草茧茶荒茫荡荣故胡",
100 | "南药标枯柄栋相查柏柳柱柿栏树要咸",
101 | "威歪研砖厘厚砌砍面耐耍牵残殃轻鸦",
102 | "皆背战点临览竖省削尝是盼眨哄显哑",
103 | "冒映星昨畏趴胃贵界虹虾蚁思蚂虽品",
104 | "咽骂哗咱响哈咬咳哪炭峡罚贱贴骨钞",
105 | "钟钢钥钩卸缸拜看矩怎牲选适秒香种",
106 | "秋科重复竿段便俩贷顺修保促侮俭俗",
107 | "俘信皇泉鬼侵追俊盾待律很须叙剑逃",
108 | "食盆胆胜胞胖脉勉狭狮独狡狱狠贸怨",
109 | "急饶蚀饺饼弯将奖哀亭亮度迹庭疮疯",
110 | "疫疤姿亲音帝施闻阀阁差养美姜叛送",
111 | "类迷前首逆总炼炸炮烂剃洁洪洒浇浊",
112 | "洞测洗活派洽染济洋洲浑浓津恒恢恰",
113 | "恼恨举觉宣室宫宪突穿窃客冠语扁袄",
114 | "祖神祝误诱说诵垦退既屋昼费陡眉孩",
115 | "除险院娃姥姨姻娇怒架贺盈勇怠柔垒",
116 | "绑绒结绕骄绘给络骆绝绞统",
117 |
118 | // 十画
119 | "耕耗艳泰珠班素蚕顽盏匪捞栽捕振载",
120 | "赶起盐捎捏埋捉捆捐损都哲逝捡换挽",
121 | "热恐壶挨耻耽恭莲莫荷获晋恶真框桂",
122 | "档桐株桥桃格校核样根索哥速逗栗配",
123 | "翅辱唇夏础破原套逐烈殊顾轿较顿毙",
124 | "致柴桌虑监紧党晒眠晓鸭晃晌晕蚊哨",
125 | "哭恩唤啊唉罢峰圆贼贿钱钳钻铁铃铅",
126 | "缺氧特牺造乘敌秤租积秧秩称秘透笔",
127 | "笑笋债借值倚倾倒倘俱倡候俯倍倦健",
128 | "臭射躬息徒徐舰舱般航途拿爹爱颂翁",
129 | "脆脂胸胳脏胶脑狸狼逢留皱饿恋桨浆",
130 | "衰高席准座脊症病疾疼疲效离唐资凉",
131 | "站剖竞部旁旅畜阅羞瓶拳粉料益兼烤",
132 | "烘烦烧烛烟递涛浙涝酒涉消浩海涂浴",
133 | "浮流润浪浸涨烫涌悟悄悔悦害宽家宵",
134 | "宴宾窄容宰案请朗诸读扇袜袖袍被祥",
135 | "课谁调冤谅谈谊剥恳展剧屑弱陵陶陷",
136 | "陪娱娘通能难预桑绢绣验继",
137 |
138 | // 十一画
139 | "球理捧堵描域掩捷排掉堆推掀授教掏",
140 | "掠培接控探据掘职基著勒黄萌萝菌菜",
141 | "萄菊萍菠营械梦梢梅检梳梯桶救副票",
142 | "戚爽聋袭盛雪辅辆虚雀堂常匙晨睁眯",
143 | "眼悬野啦晚啄距跃略蛇累唱患唯崖崭",
144 | "崇圈铜铲银甜梨犁移笨笼笛符第敏做",
145 | "袋悠偿偶偷您售停偏假得衔盘船斜盒",
146 | "鸽悉欲彩领脚脖脸脱象够猜猪猎猫猛",
147 | "馅馆凑减毫麻痒痕廊康庸鹿盗章竟商",
148 | "族旋望率着盖粘粗粒断剪兽清添淋淹",
149 | "渠渐混渔淘液淡深婆梁渗情惜惭悼惧",
150 | "惕惊惨惯寇寄宿窑密谋谎祸谜逮敢屠",
151 | "弹随蛋隆隐婚婶颈绩绪续骑绳维绵绸",
152 | "绿",
153 |
154 | // 十二画
155 | "琴斑替款堪搭塔越趁趋超提堤博揭喜",
156 | "插揪搜煮援裁搁搂搅握揉斯期欺联散",
157 | "惹葬葛董葡敬葱落朝辜葵棒棋植森椅",
158 | "椒棵棍棉棚棕惠惑逼厨厦硬确雁殖裂",
159 | "雄暂雅辈悲紫辉敞赏掌晴暑最量喷晶",
160 | "喇遇喊景践跌跑遗蛙蛛蜓喝喂喘喉幅",
161 | "帽赌赔黑铸铺链销锁锄锅锈锋锐短智",
162 | "毯鹅剩稍程稀税筐等筑策筛筒答筋筝",
163 | "傲傅牌堡集焦傍储奥街惩御循艇舒番",
164 | "释禽腊脾腔鲁猾猴然馋装蛮就痛童阔",
165 | "善羡普粪尊道曾焰港湖渣湿温渴滑湾",
166 | "渡游滋溉愤慌惰愧愉慨割寒富窜窝窗",
167 | "遍裕裤裙谢谣谦属屡强粥疏隔隙絮嫂",
168 | "登缎缓编骗缘",
169 |
170 | // 十三画
171 | "瑞魂肆摄摸填搏塌鼓摆携搬摇搞塘摊",
172 | "蒜勤鹊蓝墓幕蓬蓄蒙蒸献禁楚想槐榆",
173 | "楼概赖酬感碍碑碎碰碗碌雷零雾雹输",
174 | "督龄鉴睛睡睬鄙愚暖盟歇暗照跨跳跪",
175 | "路跟遣蛾蜂嗓置罪罩错锡锣锤锦键锯",
176 | "矮辞稠愁筹签简毁舅鼠催傻像躲微愈",
177 | "遥腰腥腹腾腿触解酱痰廉新韵意粮数",
178 | "煎塑慈煤煌满漠源滤滥滔溪溜滚滨粱",
179 | "滩慎誉塞谨福群殿辟障嫌嫁叠缝缠",
180 |
181 | // 十四画
182 | "静碧璃墙撇嘉摧截誓境摘摔聚蔽慕暮",
183 | "蔑模榴榜榨歌遭酷酿酸磁愿需弊裳颗",
184 | "嗽蜻蜡蝇蜘赚锹锻舞稳算箩管僚鼻魄",
185 | "貌膜膊膀鲜疑馒裹敲豪膏遮腐瘦辣竭",
186 | "端旗精歉熄熔漆漂漫滴演漏慢寨赛察",
187 | "蜜谱嫩翠熊凳骡缩",
188 |
189 | // 十五画
190 | "慧撕撒趣趟撑播撞撤增聪鞋蕉蔬横槽",
191 | "樱橡飘醋醉震霉瞒题暴瞎影踢踏踩踪",
192 | "蝶蝴嘱墨镇靠稻黎稿稼箱箭篇僵躺僻",
193 | "德艘膝膛熟摩颜毅糊遵潜潮懂额慰劈",
194 |
195 | // 十六画
196 | "操燕薯薪薄颠橘整融醒餐嘴蹄器赠默",
197 | "镜赞篮邀衡膨雕磨凝辨辩糖糕燃澡激",
198 | "懒壁避缴",
199 |
200 | // 十七画
201 | "戴擦鞠藏霜霞瞧蹈螺穗繁辫赢糟糠燥",
202 | "臂翼骤",
203 |
204 | // 十八画
205 | "鞭覆蹦镰翻鹰",
206 |
207 | // 十九画
208 | "警攀蹲颤瓣爆疆",
209 |
210 | // 二十画
211 | "壤耀躁嚼嚷籍魔灌",
212 |
213 | // 二十一画
214 | "蠢霸露",
215 |
216 | // 二十二画
217 | "囊",
218 |
219 | // 二十三画
220 | "罐"
221 | ].join("");
222 |
--------------------------------------------------------------------------------
/tools/zi/frequent2.js:
--------------------------------------------------------------------------------
1 | // 次常用字(1000字)
2 | // 笔画顺序表
3 | // @see http://www.china-language.gov.cn/wenziguifan/shanghi/013d.htm
4 | module.exports = [
5 | // 画
6 | "匕刁",
7 |
8 | // 画
9 | "丐歹戈夭仑讥冗邓",
10 |
11 | // 画
12 | "艾夯凸卢叭叽皿凹囚矢乍尔冯玄",
13 |
14 | // 画
15 | "邦迂邢芋芍吏夷吁吕吆屹廷迄臼仲伦",
16 | "伊肋旭匈凫妆亥汛讳讶讹讼诀弛阱驮",
17 | "驯纫",
18 |
19 | // 画
20 | "玖玛韧抠扼汞扳抡坎坞抑拟抒芙芜苇",
21 | "芥芯芭杖杉巫杈甫匣轩卤肖吱吠呕呐",
22 | "吟呛吻吭邑囤吮岖牡佑佃伺囱肛肘甸",
23 | "狈鸠彤灸刨庇吝庐闰兑灼沐沛汰沥沦",
24 | "汹沧沪忱诅诈罕屁坠妓姊妒纬",
25 |
26 | // 画
27 | "玫卦坷坯拓坪坤拄拧拂拙拇拗茉昔苛",
28 | "苫苟苞茁苔枉枢枚枫杭郁矾奈奄殴歧",
29 | "卓昙哎咕呵咙呻咒咆咖帕账贬贮氛秉",
30 | "岳侠侥侣侈卑刽刹肴觅忿瓮肮肪狞庞",
31 | "疟疙疚卒氓炬沽沮泣泞泌沼怔怯宠宛",
32 | "衩祈诡帚屉弧弥陋陌函姆虱叁绅驹绊",
33 | "绎",
34 |
35 | // 画
36 | "契贰玷玲珊拭拷拱挟垢垛拯荆茸茬荚",
37 | "茵茴荞荠荤荧荔栈柑栅柠枷勃柬砂泵",
38 | "砚鸥轴韭虐昧盹咧昵昭盅勋哆咪哟幽",
39 | "钙钝钠钦钧钮毡氢秕俏俄俐侯徊衍胚",
40 | "胧胎狰饵峦奕咨飒闺闽籽娄烁炫洼柒",
41 | "涎洛恃恍恬恤宦诫诬祠诲屏屎逊陨姚",
42 | "娜蚤骇",
43 |
44 | // 画
45 | "耘耙秦匿埂捂捍袁捌挫挚捣捅埃耿聂",
46 | "荸莽莱莉莹莺梆栖桦栓桅桩贾酌砸砰",
47 | "砾殉逞哮唠哺剔蚌蚜畔蚣蚪蚓哩圃鸯",
48 | "唁哼唆峭唧峻赂赃钾铆氨秫笆俺赁倔",
49 | "殷耸舀豺豹颁胯胰脐脓逛卿鸵鸳馁凌",
50 | "凄衷郭斋疹紊瓷羔烙浦涡涣涤涧涕涩",
51 | "悍悯窍诺诽袒谆祟恕娩骏",
52 |
53 | // 一画
54 | "琐麸琉琅措捺捶赦埠捻掐掂掖掷掸掺",
55 | "勘聊娶菱菲萎菩萤乾萧萨菇彬梗梧梭",
56 | "曹酝酗厢硅硕奢盔匾颅彪眶晤曼晦冕",
57 | "啡畦趾啃蛆蚯蛉蛀唬啰唾啤啥啸崎逻",
58 | "崔崩婴赊铐铛铝铡铣铭矫秸秽笙笤偎",
59 | "傀躯兜衅徘徙舶舷舵敛翎脯逸凰猖祭",
60 | "烹庶庵痊阎阐眷焊焕鸿涯淑淌淮淆渊",
61 | "淫淳淤淀涮涵惦悴惋寂窒谍谐裆袱祷",
62 | "谒谓谚尉堕隅婉颇绰绷综绽缀巢",
63 |
64 | // 二画
65 | "琳琢琼揍堰揩揽揖彭揣搀搓壹搔葫募",
66 | "蒋蒂韩棱椰焚椎棺榔椭粟棘酣酥硝硫",
67 | "颊雳翘凿棠晰鼎喳遏晾畴跋跛蛔蜒蛤",
68 | "鹃喻啼喧嵌赋赎赐锉锌甥掰氮氯黍筏",
69 | "牍粤逾腌腋腕猩猬惫敦痘痢痪竣翔奠",
70 | "遂焙滞湘渤渺溃溅湃愕惶寓窖窘雇谤",
71 | "犀隘媒媚婿缅缆缔缕骚",
72 |
73 | // 三画
74 | "瑟鹉瑰搪聘斟靴靶蓖蒿蒲蓉楔椿楷榄",
75 | "楞楣酪碘硼碉辐辑频睹睦瞄嗜嗦暇畸",
76 | "跷跺蜈蜗蜕蛹嗅嗡嗤署蜀幌锚锥锨锭",
77 | "锰稚颓筷魁衙腻腮腺鹏肄猿颖煞雏馍",
78 | "馏禀痹廓痴靖誊漓溢溯溶滓溺寞窥窟",
79 | "寝褂裸谬媳嫉缚缤剿",
80 |
81 | // 四画
82 | "赘熬赫蔫摹蔓蔗蔼熙蔚兢榛榕酵碟碴",
83 | "碱碳辕辖雌墅嘁踊蝉嘀幔镀舔熏箍箕",
84 | "箫舆僧孵瘩瘟彰粹漱漩漾慷寡寥谭褐",
85 | "褪隧嫡缨",
86 |
87 | // 五画
88 | "撵撩撮撬擒墩撰鞍蕊蕴樊樟橄敷豌醇",
89 | "磕磅碾憋嘶嘲嘹蝠蝎蝌蝗蝙嘿幢镊镐",
90 | "稽篓膘鲤鲫褒瘪瘤瘫凛澎潭潦澳潘澈",
91 | "澜澄憔懊憎翩褥谴鹤憨履嬉豫缭",
92 |
93 | // 六画
94 | "撼擂擅蕾薛薇擎翰噩橱橙瓢蟥霍霎辙",
95 | "冀踱蹂蟆螃螟噪鹦黔穆篡篷篙篱儒膳",
96 | "鲸瘾瘸糙燎濒憾懈窿缰",
97 |
98 | // 七画
99 | "壕藐檬檐檩檀礁磷瞭瞬瞳瞪曙蹋蟋蟀",
100 | "嚎赡镣魏簇儡徽爵朦臊鳄糜癌懦豁臀",
101 |
102 | // 八画
103 | "藕藤瞻嚣鳍癞瀑襟璧戳",
104 |
105 | // 九画
106 | "攒孽蘑藻鳖蹭蹬簸簿蟹靡癣羹",
107 |
108 | // 十画
109 | "鬓攘蠕巍鳞糯譬",
110 |
111 | // 十一画
112 | "霹躏髓",
113 |
114 | // 十二画
115 | "蘸镶瓤",
116 |
117 | // 十四画
118 | "矗"
119 | ].join("");
120 |
--------------------------------------------------------------------------------
/tools/zi/infrequent.js:
--------------------------------------------------------------------------------
1 | module.exports = "乂乜亍兀弋彳丫巳孑孓幺亓韦廿卅仄厄曰壬仃仉仂兮刈爻殳卞亢闩讣尹夬爿毋邗戋卉邛艽艿札叵匝丕戊匜劢卟叱叩叻冉氕仨仕仟仡仫伋仞卮氐犰卯刍庀邝邙汀汈忉宄讦讧讪讫尻弗弘阢阡尕弁驭匡耒玎玑戎圩圬圭扦圪圳圹扪圯圮芏芊芨芄芎芑芗亘厍戌夼戍尥尧乩旯曳岌屺凼囝囡钆钇缶氘氖牝伎伛伢仳佤仵伥伧伉伫囟甪汆氽刖夙旮犴刎犷犸舛邬饧冱邡汕汔汲汐汜汝汊忖忏讴讵祁讷聿艮厾阮阪丞妁妃牟纡纣纥纨纩玕玙玚抟抔坜圻坂扺坍抃抉毐芫邯芸芾芰苈苊苣芷芮苋芼苌苁芩芪芴芡芟苄苎苡杌杓杧杞忑孛吾邴酉邳矶奁豕尬忒欤轪轫迓邶忐芈卣邺旰呋呓呔呖呃旸吡町虬呙呗吣吲岍帏岐岈岘岑岚兕囵囫钊钋钌迕氙氚岙佞邱佐伾攸佚佝佟佗伽彷佘佥孚豸坌肟邸奂劬狄狃狁邹饨饩饪饫饬亨庑庋疔疖肓闱闳闵闶羌炀沣沅沄沔沤沌沘沏沚汩汨汭沂汾沨汴汶沆沩沁泐怃忮怄忡忤忾怅忻忪怆忭忸诂诃祀祃诋诌诎诏诐诒屃孜陇阽阼陀陂陉妍妩妪妣妊妗妫妞姒妤邵劭刭甬邰矣纭纰纴纶纻纾玮玡玠玢玥玦甙盂忝匦邽坩垅抨拤拈坫垆抻拃拊坼拎坻坨坭抿拚坳耵耶苷苯苤茏苴苜苒苘茌苻苓茚茆茑苑茓茔茕苠茀苕枥枇杪杳枘枧杵枨枞枋杻杷杼矸矻矽砀刳瓯殁郏轭郅鸢盱昊杲昃咂呸昕昀旻昉炅咔畀虮迪咀呷黾咋呱呤咚咛咄呶呦咝岵岢岿岬岫帙岣峁刿峂迥岷剀帔峄沓囹罔钍钎钏钐钒钔钕钗邾迭迮牦竺迤佶佬佴侑佰侉臾岱侗侃侏侩佻佾侪佼佯侬帛阜侔郈徂郐郄怂籴戗肼朊肽肱肫肭肷剁迩郇狉狙狎狝狍狒咎炙枭饯饳饴冽冼庖疠疝疡兖庚妾於劾炜炖炝炔泔沭泷泸泱泅泗泠泜泺泃泖泫泮沱泯泓泾怙怵怦怛怏怍怩怫怊怿怡宕穸穹宓诓诔诖诘戾诙戽郓祆祎祉诛诜诟诠诣诤诧诨诩鸤戕孢亟陔卺妲妯姗妮帑弩孥驽迦迢迨绀绁绂驵驷驸绉驺绋绌驿骀甾砉耔珏珐珂珑玳珀顸珉珈韨拮垭挝垣垯挞垤赳贲垱拽垌哉垲挢埏郝垍垧垓垟垞挦垠拶茜荙荑贳荛荜茈茼莒茱莛茯荏荇荃荟荀茗茭茨垩茳荥荦荨茛荩荪荫茹荬荭柰栉柯柘栊柩枰栌柙枵柚枳柞柝栀柃柢栎枸柈柁柽剌郚剅酊郦甭砗砑砘砒斫砭砜奎耷虺殂殇殄殆轱轲轳轵轶轷轸轹轺虿毖觇尜哐眄眍郢眇眊昽眈哇咭禺哂咴曷昴昱咦哓哔畎毗呲胄畋畈虼虻咣哕剐郧咻囿咿哌哙哚咯咩咤哝哏哞峙峣罘帧峒峤峋峥峧帡贶贻钘钚钛钡钣钤钨钪钫钬钭钯矧氡氟牯郜秭竽笈笃俦俨俅俪叟垡牮俣俚俜皈禹俑俟逅徇徉舢舣俞弇郗俎卻爰郛瓴胨胩胪胛胂胙胍胗胝朐胫鸨匍狨狯飐飑狩狲訇訄逄昝饷饸饹饻胤孪娈庤弈庥疬疣疥疭疢庠竑彦闼闾闿阂羑迸籼酋兹炳炻炟炽炯烀炷烃洱洹洧洌浃泚浈浉洇洄洙洑洎洫浍洮洵洚洺浏洨浐洴洣浒浔浕洳恸恹恫恺恻恂恪恽宥宬窀扃袆衲衽衿袂祛祜祓祚诮祗祢诰诳鸩昶郡咫弭牁胥陛陟陧姞娅娆姝姽姣姘姹怼羿炱癸矜绔骁骅绗绚彖绛骈耖挈恝珥珙顼珰珽珩珧珣珞琤珲敖恚埔埕埘埚埙挹耆耄捋埒贽垸捃盍莰茝莆莳莴莪莠莓莜莅荼莶莩荽莸荻莘莎莞莨莙鸪莼桔栲栳郴桓桡桎桢桄桤梃栝桕桁桧栒栟桉栩逑逋彧鬲豇酐酎酏逦厝孬砝砹砺砧砷砟砼砥砣硁恧剞砻轼轾辀辁辂鸫趸剕龀鸬虔逍眬唛晟眩眙唝哧哳哽唔晔晁晏晖鸮趵趿畛蚨蚍蚋蚬蚝蚧唢圄哦唣唏盎唑帱崂崃罡罟峨峪觊赅赆钰钲钴钵钷钹钺钼钽钿铀铂铄铈铉铊铋铌铍铎眚氩氤氦毪舐秣盉笄笕笊笫笏俸倩俵倻偌俳俶倬倏恁倭倪俾倜隼隽倞倓倌倥臬皋郫倨衄颀徕舨舫瓞釜奚鬯衾鸰胱胴胭脍脎胲胼朕脒胺鸱玺鱽鸲狴狷猁狳猃狺逖狻桀袅眢饽馀凇栾挛勍亳疳疴疽疸痄痈疱疰痃痂痉衮凋颃恣旆旄旃阃阄阆恙桊敉粑朔郸烜烨烩烊剡郯烬浡涑浯涞涟娑涅涠浞涓涢浥涔浜浠浼浣涘浚悖悚悭悝悃悒悌悢悛宸窅窈剜诹扅诼冢袪袗袢袯祯祧冥诿谀谂谄谇屐屙陬勐奘疍牂蚩陲陴烝姬娠娌娉娟娲娥娴娣娓婀砮哿畚逡剟绠骊绡骋绤绥绦骍绨骎邕烝鸶彗耜焘舂琎琏琇掭揶埴掎埼埯捯焉掳掴埸堌赧捭晢逵埝堋堍掬鸷掊堉捩掮悫埭埽掇掼聃聆聍菁菝萁菥菘堇萘萋勩菽菖萜萸萑菂棻菔菟萏萃菼菏菹菪菅菀萦菰菡梽梵婪梾梏觋桴桷梓棁桫棂啬郾匮敕豉鄄酞酚厣戛硎硭硒硖硗硐硚硇硌鸸瓠匏厩龚殒殓殍赉雩辄堑龁眭唪眦啧晡眺眵眸圊啪喏喵啉勖晞晗啭趼趺啮跄蚶蛄蛎蚰蚺蛊圉蚱蛏蚴鄂啁啕唿啐唼唷啴啖啵啶啷唳啜帻崦帼崮帷崟崤崞崆崛赇赈铑铒铕铗铘铙铚铞铟铠铢铤铥铧铨铩铪铫铬铮铯铰铱铳铴铵铷氪牾鸹稆秾逶笺筇笸笪笮笱笠笥笳笾笞偾鸺偃偕偈偲偬偻皑皎鸻徜舸舻舳舴鸼龛瓻豚脶脞脬脘脲脧匐鱾猗猡猊猞猄猝斛觖猕馗馃馄鸾孰庹庼庾庳痔痍疵翊旌旎袤阇阈阉阊阋阌阍阏羚羝羟粝粕焐烯焓烽焖烷烺焌渍渚淇淅淞渎涿淖挲淏淠涸渑淦淝淬涪淙涫渌淄惬悻悱惝惘悸惟惆惚惇惮寅逭窕谌谏扈皲谑袼裈裉祲谔谕谖谗谙谛谝敝逯艴隋郿隈粜隍隗婧婊婞婳婕娼婢婵胬袈翌恿欸绫骐绮绯骒绲骓绶绹绺绻绾骖缁耠琫琵琶琪瑛琦琥琨靓琰琮琯琬琛琚辇鼋揳堞搽塃揸揠堙趄揾颉塄揿堠耋揄蛰蛩絷塆揞揎摒揆掾葜聒葑葚靰靸葳蒇蒈葺蒉葸萼蓇萩葆葩葶蒌葓蒎萱葖戟葭楮棼椟棹椤棰椑鹀赍椋椁棬楗棣椐鹁覃酤酢酡酦鹂觌硪硷厥殚殛雯辊辋椠辌辍辎斐黹牚睐睑睇睃戢喋嗒喃喱喹晷喈跖跗跞跚跎跏跆蛱蛲蛭蛳蛐蛞蛴蛟蛘蛑畯喁喟斝啾嗖喤喑嗟喽嗞喀喔喙嵘嵖崴遄詈嵎崽嵚嵬嵛翙嵯嵝嵫幄嵋赑铹铻铼铽铿锃锂锆锇锊锎锏锑锒锓锔锕掣矬氰毳毽犊犄犋鹄犍颋嵇稃稂筘筚筜筅筵筌傣傈舄傥傧遑皓皖傩遁徨舾畲弑颌翕釉鹆舜貂腈腓腆腴腑腙腚腱腒鱿鲀鲂鲃颍猢猹猥飓觞觚猸猱飧馇馈馉馊亵脔裒廋斌痣痨痦痞痤痫痧鄌赓竦瓿啻颏鹇阑阒阕粞遒孳焯焜焱鹈湛渫湮湎湝湨湜渭湍湫溲湟溆渝湲溠溇湔湉渲渥湄滁愠惺愦惴愣愀愎愔喾寐谟扉棨扊裢裎裣裥祾祺祼谠禅禄幂谡谥谧塈遐孱弼巽骘媪媛婷巯毵翚皴婺骛缂缃缄彘缇缈缉缌缏缑缒缗骙飨耢瑚瑁瑀瑜瑗瑄瑕遨骜瑙遘韫髡塥塬鄢趔趑摅摁赪塮蜇搋搒搐搛搠摈彀毂搌搦搡蓁戡蓍鄞靳蓐蓦鹋蒽蓓蓊蒯蓟蓑蒺蓠蒟蒡蒹蒴蒗蓂蓥颐蓣楠楂楝楫榀楸椴槌楯榇榈槎榉楦楹椽裘剽甄酮酰酯酩蜃碛碓碚碇碜鹌尴辏辒龃龅龆觜訾粲虞睚嗪睫韪嗷嗉睨睢雎睥嘟嗑嗫嗬嗔嗝戥嗄煦暅暄遢暌跬跶跸跐跣跹跻跤蛸蜎蜊蜍蜉蜣畹嗣嗯嗥嗲嗳嗌嗍嗨嗵罨嵊嵩嵴骰锖锗锘锛锜锝锞锟锢锧锪锫锩锬锱雉氲犏歃稞稗稔筠筢筮筻筲筼筱牒煲鹎敫僇徭愆艄觎毹貊貅貉颔腠腩腼腽腭腧塍媵詹鲅鲆鲇鲈鲉鲊稣鲋鲌鲍鲏鲐鹐飔飕觥遛馌馐鹑亶廒瘃痱痼痿瘐瘁瘅瘆鄘麂裔鄣歆旒雍阖阗阘阙羧豢粳猷煳煜煨煅煊煸煺滟溱溘滠漭滢滇溥溧溽裟溻溷溦滗滫溴滏滃滦溏滂溟滘滍滪愫慑慥慊鲎骞窦窠窣裱褚裼裨裾裰禊谩谪谫媾嫫媲嫒嫔媸缙缜缛辔骝缟缡缢缣骟耥璈瑶瑭瑢獒觏慝嫠韬髦墈摽墟墁撂摞撄翥踅銎摭墉墒榖撖摺綦蔷靺靼鞅靽鞁靿蔌甍蔸蓰蔹蔡蔟蔺戬蕖蔻蓿斡鹕嘏蓼榧槚槛榻榫槜榭槔槁槟槠榷榍僰酽酾酲酶酴酹厮碶碡碣碲磋碹碥劂臧豨殡霆霁辗蜚裴翡龇龈睿夥瞅瞍睽嘞嘈嘌嘎暧暝踌踉跽蜞蜥蜮蜾蝈蜴蜱蜩蜷蜿螂蜢嘘嘡鹗嘣嘤嘚嘛嗾嘧罴罱嶂幛赙罂骷骶鹘锲锴锶锷锸锽锾锵锿镁镂镃镄镅犒箐箦箧箸箨箬箅箪箔箜箢箓毓僖儆僳僭僬劁僦僮魅魃魆睾艋鄱膈膑鲑鲔鲙鲚鲛鲟獐獍飗觫雒夤馑銮塾麽廙瘌瘗瘊瘥瘘瘙廖韶旖膂阚鄯鲞粼粽糁槊鹚熘煽熥潢潆潇漤漕滹漯漶潋潴漪漉漳澉潍慵搴窬窨窭寤肇綮谮褡褙褓褛褊禚谯谰谲暨屣鹛嫣嫱嫖嫦嫚嫘嫜嫪鼐翟瞀鹜骠缥缦缧骢缪缫耦耧瑾璜璀璎璁璋璇璆奭髯髫撷撅赭墦撸鋆撙撺墀聩觐鞑蕙鞒蕈蕨蕤蕞蕺瞢劐蕃蕲蕰赜鼒槿樯槭樗樘槲鹝醌醅靥魇餍磊磔磙磉殣慭霄霈辘龉龊觑瞌瞑嘻嘭噎噶颙暹踔踝踟踬踮踣踯踺踞蝽蝾蝻蝰蝮螋蝓蝣蝼蝤噗嘬颚噍噢噙噜噌噀噔颛幞幡嶓嶙嶝骺骼骸镆镈镉镋镌镍镎镏镑镒镓镔稷箴篑篁篌篆牖儇儋徵磐虢鹞鹟滕鲠鲡鲢鲣鲥鲦鲧鲩鲪鲬橥獗獠觯鹠馓馔麾廛鹡瘛瘼瘢瘠齑鹡羯羰糇遴糌糍糈糅翦鹣熜熵熠澍澌潵潸鲨潲鋈潟潼潽潺潏憬憧寮窳谳褴褫禤谵熨屦勰戮蝥缬缮缯骣畿耩耨耪璞璟靛璠璘聱螯髻髭髹擀熹甏擐擞磬鄹颞蕻鞘黇颟薤薨檠薏蕹薮薜薅樾橛橇樵檎橹橦樽樨橼墼橐翮醛醐醍醚醑觱磺磲赝飙殪霖霏霓錾辚臻遽氅瞥瞟瞠瞰嚄嚆噤暾曈蹀蹅踶踹踵踽蹉蹁螨蟒螈螅螭螗螠噱噬噫噻噼幪罹圜镖镗镘镚镛镝镞镠氇氆憩穑穄篝篚篥簉篦篪盥劓翱魉魈徼歙盦膪螣膦膙鲭鲮鲯鲰鲱鲲鲳鲴鲵鲷鲺鲹鲻獴獭獬邂憝亸鹧廨赟癀瘭瘰廪瘿瘵瘴癃瘳斓麇麈嬴壅羲糗瞥甑燠燔燧燊燏濑濉潞澧澴澹澥澶濂澼憷黉褰寰窸褶禧嬖犟隰嬗鹨翯颡缱缲缳璨璩璐璪螫擤觳罄擢藉薹鞡薷薰藓藁檑檄懋醢翳繄礅磴鹩龋龌豳壑黻瞵瞩嚏嚅蹑蹒蹊蹓蹐螬螵疃螳蟑嚓羁罽罾嶷黜黝髁髀镡镢镤镥镦镧镨镩镪镫罅黏簧簌篾簃篼簏簖簋鼢黛鹪鼾皤魍艚龠繇貘邈貔臌膻臁臆臃鲼鲽鲾鳀鳁鳂鳃鳅鳆鳇鳈鳉鳊獯螽燮鹫襄縻膺癍麋馘懑濡濮濞濠濯蹇謇邃襕襁檗甓擘孺隳嬷蟊鹬鍪鏊鳌鬹鬈鬃瞽鞯鞨鞫鞧鞣藜藠藩鹲檫檵醪蹙礞礓礌燹餮蹩瞿曛颢曜躇鹭蹢蹜蟛蟪蟠蟮嚚鹮黠黟髅髂镬镭镯镱馥簠簟簪簦鼫鼬鼩雠艟臑鳎鳏鳐鳐鳑鹱癔癜癖糨冁瀍瀌鎏懵彝邋鬏攉鞲鞴藿蘧蘅麓醭醮醯礤酃霪霭黼曝嚯蹰蹶蹽蹼蹯蹴蹾蹿蠖蠓蠋蟾蠊巅黢髋髌镲籀籁鳘齁魑艨鼗鳓鳔鳕鳗鳙鳚麒鏖蠃羸瀚瀣瀛襦谶襞骥缵瓒馨蘩蘖蘘醵醴霰颥酆矍曦躅鼍巉黩黥镳镴黧纂鼯犨臜鳜鳝鳟獾瀹瀵孀骧耰瓘鼙醺礴礳颦曩黯鼱鳡鳢癫麝赣夔爝灏禳鐾羼蠡耲耱懿韂鹳糵蘼霾氍饕躔躐髑镵穰鳤饔鬻鬟趱攫攥颧躜鼹鼷癯麟蠲蠹醾躞衢鑫灞襻纛鬣攮囔馕戆蠼爨齉";
--------------------------------------------------------------------------------
/tsconfig-amd.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "./dist/amd/",
5 | "module": "amd",
6 | "target": "ES5"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/tsconfig-es5.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "dist/es5",
5 | "module": "CommonJS",
6 | "target": "ES5"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "esModuleInterop": true,
4 | "resolveJsonModule": true,
5 | "declaration": true,
6 | "declarationDir": "lib/types",
7 | "outDir": "lib",
8 | "target": "ES6",
9 | "lib": ["ESNext"],
10 | "module": "ESNext",
11 | "sourceMap": true,
12 | "baseUrl": "./src/",
13 | "jsx": "preserve",
14 | "allowSyntheticDefaultImports": true,
15 | "moduleResolution": "node",
16 | "forceConsistentCasingInFileNames": true,
17 | "noImplicitReturns": true,
18 | "noUnusedLocals": true,
19 | "allowJs": true,
20 | "skipLibCheck": true,
21 | "experimentalDecorators": true,
22 | "strict": true,
23 | "paths": {
24 | "@/*": ["./src/*"],
25 | "@@/*": ["./src/.umi/*"]
26 | }
27 | },
28 | "include": [
29 | "src"
30 | ],
31 | "exclude": [
32 | "node_modules",
33 | "lib"
34 | ]
35 | }
36 |
--------------------------------------------------------------------------------