警告⚠️:未发布 v2.0.0 之前,均为不稳定版本,慎用!!!
github https://github.com/chenbimo/yidash
npm install yidash
# 或
pnpm add yidash注意⚠️:本项目暂时只提供 ESM 包。
import { yd_number_validNumber, yd_regexp_trainNumber, yd_tree_array2Tree } from 'yidash';
console.dir(
yd_tree_array2Tree([
{ id: 1, pid: 0 },
{ id: 2, pid: 1 },
{ id: 3, pid: 2 }
])
);
console.dir(yd_regexp_trainNumber);
const validNumber = yd_number_validNumber();
console.log(validNumber(1.111)); // 1.11
console.log(validNumber(1.571333)); // 1.57
console.log(validNumber('1..221333')); // 1.22
console.log(validNumber('1.2213.33')); // 1.22
console.log(validNumber('1.')); // 1.
console.log(validNumber('1.2')); // 1.20
console.log(validNumber('1.2.')); // 1.20加笔者微信 chensuiyime,注明 yidash ,拉你进微信交流群。
群内将解答关于代码贡献相关的问题。
- 访问本仓库。
- fork本仓库。
- 拉取fork后的仓库。
- 修改代码。
- push代码。
- 发起pull request。
- 等待笔者验证与合并。
注意:只提交lib中的函数到本仓库合并即可,其他文件不要提交。
- 不能引入很多包,需要导包的函数要与我沟通确认,尽量不依赖第三方包。
- 不能写很复杂的函数,不能超过500行,要小而美。
- 每个文件的作者,一经提交,其他人后续修改也不能改其原作者。
- 必须写
JSDoc注释,不然别人看不懂,不知道怎么用。 - 必须写
函数作者,标签为@author,如@author chensuiyi。 - 必须写
函数别名,标签为@alias,如@alias yd_is_array。 - 必须写
案例说明,标签为@example,如@example yd_is_array([1,2,3])。 - 必须写
测试用例,在test目录下,与lib目录中的结构一一对应。 - 必须
4格缩进,不喜欢的请不要参与本项目。 - 必须按
git提交格式写清楚提交信息。 - 必须
一个函数一个文件,不能多个导出函数写到一个文件中。 - 函数名称必须清楚地表达函数作用。
- 函数必须使用
default默认导出,且导出的必须是一个箭头函数。 - 能用
const定义的地方尽量用const。 - 不能使用
var定义变量。 不要炫技,用尽量简单易懂的方式,宁愿多写几行,也不要增加理解难度。- 尽量不要函数引入函数,每个函数尽量独立,不依赖其他函数。
- 除导出函数外,其余函数不能使用多行注释,只能使用单行注释。
- 没有
TypeScript。 没有。Eslint
lib 目录下,每一个目录是一个函数类型集合。
每个目录下,不能再创建目录,只能创建函数文件。
函数名称尽量简短且清楚地表达函数的作用。
对外导出的函数名称 = 前缀 + 目录 + 函数。
比如 lib/is/array.js 函数,则其对外导出的函数名称是 yd_is_array。
这个函数名称会自动生成,不要手动书写。
提交主题: 提交具体内容
举例:
完善功能: yd_is_number函数增加判断机制代码重构: yd_number_thousands重新设计新增函数: 增加yd_is_array函数
- 增加开源参与度。
- 体会开源的乐趣。
- 为自己的职业经历增加一个彩蛋。
- 你的函数将会被每一个使用yidash的人看到。
- 额外获得VSCode扩展fnMap永久注册码一枚。
fnMap地址:https://marketplace.visualstudio.com/items?itemName=chensuiyi.fn-map。
- 每个注册用户可以免费领取一个永久注册码(登录自动领取)。
- 每个贡献者可以额外领取一个(私聊我即可)。