@geektech/backone-utils
概览
backone-utils 通用工具包:数据库、ID、缓存、JWT、HTTP、限流、Schema、配置。
@geektech/backone-utils 是 BackOne 的通用工具包:零运行时依赖,全部构建在 Bun 内置能力与标准 Web API 之上。包含数据库(多库 CRUD)、ID 生成、缓存、JWT、HTTP 客户端、限流、Schema 校验与全局配置八个模块。
特性
零运行时依赖:数据库基于 Bun.SQL,JWT 基于 WebCrypto,HTTP 基于 fetch。多库方言:SQLite / PostgreSQL / MySQL / MariaDB 一套 API 统一读写。策略模式:ID 生成、缓存、限流均通过工厂按策略创建,可互换。类型安全:Schema 校验器带类型推导,配置读取后深冻结并推导完整类型。稳定错误码:各模块错误统一携带稳定 code,便于程序化处理。
安装
ts
bun add @geektech/backone-utils模块一览
| 模块 | 核心导出 | 说明 |
|---|---|---|
db | DatabaseManager / Database / Table | 多库连接管理与增删改查,基于 Bun.SQL |
id | createId / createIdGenerator | uuidv4 / uuidv7 / nanoid / snowflake |
cache | createCache | TTL 惰性过期 / LRU 容量淘汰,含 getOrSet |
jwt | createJwt | HMAC JWT 签发与验证(HS256/384/512) |
http | createHttpClient | fetch 封装:超时、指数退避重试、JSON |
rate-limit | createRateLimiter | 固定窗口 / 滑动窗口 / 令牌桶 |
schema | v | zod 风格轻量校验器,含类型推导与 safeParse |
config | defineConfig | 从环境变量读取强类型配置,启动期 fail-fast |
ts
import {
DatabaseManager, createId, createCache, createJwt,
createHttpClient, createRateLimiter, v, defineConfig,
} from '@geektech/backone-utils';