@zenstone/ts-utils
v0.2.0
Published
A collection of utility functions for TypeScript
Maintainers
Readme
@zenstone/ts-utils
从实际项目中沉淀的 TypeScript 工具库。不追求大而全,只收录真正在生产中反复使用的函数。
核心设计原则:
- 类型推断优先 — 泛型从原函数推断,不需要手动指定。
retry(fn)返回的函数自动保持fn的参数和返回值类型。 - 高阶函数模式 —
retry、timeout等都是fn => fn的包装器,返回增强后的函数而非立即执行。 unknown守住边界 — 对外暴露的类型一律unknown,迫使使用者显式收窄;any只出现在泛型约束的基底声明中。- 不过度抽象 — 没有 DI、没有装饰器、没有配置体系。三行能解决的事不封装成类。
使用 Bun.js 开发,兼容 Node.js 运行时。
API 文档见 GitHub Wiki(由 TypeDoc + typedoc-github-wiki-theme 生成)。
安装
# node
npm install @zenstone/ts-utils
# bun
bun add @zenstone/ts-utils使用
整体导入
import { retry, isStr, errMsg } from '@zenstone/ts-utils';独立导入(推荐)
ESM 支持子路径导入:
import { retry, RetryExhaustedError, TimeoutError } from '@zenstone/ts-utils/async';
import { isStr, errMsg, isNumber, isInferObj } from '@zenstone/ts-utils/guards';
import { createPathUtils } from '@zenstone/ts-utils/path';模块列表
| 模块 | 说明 | 导入路径 |
|------|------|----------|
| async | 异步工具函数 | @zenstone/ts-utils/async |
| guards | Type Guards 和基础类型工具 | @zenstone/ts-utils/guards |
| path | 路径处理 | @zenstone/ts-utils/path |
| http | HTTP 相关工具 | @zenstone/ts-utils/http |
| remote | 远程模块加载 | @zenstone/ts-utils/remote |
| fetch-download | 下载工具 | @zenstone/ts-utils/fetch-download |
| misc | 杂项工具(timer、singleton、configurable 等) | @zenstone/ts-utils/misc |
| events | 事件发布订阅 | @zenstone/ts-utils/events |
| traits | traits | @zenstone/ts-utils/traits |
模块详情
async
异步工具函数
Classes:
Functions:
guards
Type Guards 和基础类型工具
Functions:
andaryGuardcalcProgressceil10decimalAdjusterrMsgfloor10isAryisBoolisCtorisErrLikeisInferObjisNilisNullisNumberisNumberValisPlainObjisPresentisPromiseisStrisUndefinedlimitNumberMaxlimitNumberMinlimitNumberMinMaxnotnotEmptyArynotEmptyStrorround10toNumber
path
路径处理
Functions:
http
HTTP 相关工具
Functions:
remote
远程模块加载
Classes:
Functions:
fetch-download
下载工具
Classes:
Functions:
misc
杂项工具(timer、singleton、configurable 等)
Functions:
events
事件发布订阅
Functions:
traits
traits
Functions:
