中文 | English
⚠️ 该库仍在开发中,API 可能会发生变更
shi-jian(时间),一个富有人体工学的现代 JavaScript 日期处理库。
shi-jian 不包含任何生产依赖,可以安全地导入到项目中,无需担心依赖冲突或包体积膨胀。
基于原生 Date 和 Intl 对象构建,充分利用浏览器与 Node.js 提供的原生 API,并随 JavaScript 标准演进持续优化。
提供良好的不变性保证,确保数据不会被意外修改,支持无副作用的函数式编程风格。
内置 TypeScript 类型定义,提供完善的类型检查与智能提示,提升开发体验。
npm install @aqian0/shi-jianpnpm add @aqian0/shi-jianbun add @aqian0/shi-jian优先采用undefined作为标准falsy。一方面null在实现上先天具有一定劣势,在诸多方法上需要进行额外的判定与处理,而undefined在不涉及到数据库与类的前端场景下,无疑更加通用。另一方面从现实意义的角度上进行考量,无论如何日期都是存在的,当用户在获取日期的时候,要么获取到未定义为日期的值,要么获取到真实日期对应的值,不可能出现日期为空这种情况。
由于shi-jian是一个零依赖的库,所以不太可能做一些比较复杂且全面的错误处理,这也和它轻量级的定位不符。考虑到它较为“扁平”的使用场景,直接将错误信息抛出是可以接受的,这是设计上的一个取舍。
-
falsy值处理规范化
-
异常与错误处理优化
-
性能提升
-
函数缓存
-
打包大小
-
复杂函数调用
-
正则替换与转换
-
-
类型声明调整
-
测试功能完善
-
文档
-
JSDoc
-
英文版本
-
-
CI/CD
-
审查
-
发布
-
- tempo: 灵感与设计来源,早期代码极大参考了该项目源码。