# @drawbridge/drawbridge-utils 中文文档

规范地址：https://npmcn.com/package/%40drawbridge/drawbridge-utils/

版本：0\.0\.232
npm 元数据更新时间：2026-11-11T17:05:54.831Z
中文译文更新时间：2026-11-12T22:45:36.731Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40drawbridge/drawbridge-utils
原文对照：https://npmcn.com/package/%40drawbridge/drawbridge-utils/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：5.7 MB，228 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：11 个
- peer 依赖：@node-oauth/oauth2-server ^5\.3\.0
- 首次发布：2026-05-06T06:42:39.146Z
- 最新版本发布：2026-11-11T17:05:54.598Z
- 近 30 天下载量：3576（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：221（近 12 个月 221 个）

## 中文简介

共享用于抽取桥\*存储库的助手和数据.

## 安装

```sh
npm install @drawbridge/drawbridge-utils
```

也可以使用：`pnpm add @drawbridge/drawbridge-utils`、`yarn add @drawbridge/drawbridge-utils`、`bun add @drawbridge/drawbridge-utils`

## README

# @ drawbridge/ drawbridge- utils 页面存档备份,存于互联网档案馆

共享用于抽取桥\*存储库的助手和数据.

## 主要条目

```js
const utils = require( '@drawbridge/drawbridge-utils' );
// or: import { capitalize } from '@drawbridge/drawbridge-utils';
```

输出 :

-   `bytesToGB( bytes )` 编号 : `bytesToMB( bytes )` ——字节转换.
-   `capitalize( string )` ——大写为第一个字符.
-   `constants` – 每Mongo收藏名的默认记录形状(动作,品牌,活动,绘图,成员,组织,页面,奖金,范围,参考者,模板,用法,用户).
-   `currencies` 编号 : `currency( code )` ——ISO货币列表(键/值/代码/数字)和按代码检索.
-   `expiredPaymentMethod( card )` ——检查卡片记录的年份/月是否过去.
-   `formatCurrency({ code, digits, display, locale, value })` ——以入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入出出出出出出入入入入入入. `display: 'standard'` (默认)返回 Intl 的标准字符串; `'parts'` 返回符号,数字,然后是代码 ("500.00 CAD"),将符号投放到没有货币("500.00瑞士法郎")的货币上.
-   `formatDateString({ date, locale, time, options })` ——基于内置日期的物料. `time: true` 增加小时/分钟.
-   `formatNumber( number, digits )` ——以内置数为主的有固定数分/最大分数的分量物质.
-   `getPlanFeature( plan, key )` —— 说 `{ granted, message }` 寻找.
-   `infinite`, (中文(简体) ), `isInfinite( value )`, (中文(简体) ), `megabyte`, (中文(简体) ), `gigabyte` ——大小常数.
-   `nanoid()` ——8Char Base36 随机ID.
-   `percentage( value1, value2, decimals )` —— 说 `(value1 / value2) * 100`,固定小数(默认值1).
-   `reducers.fields` —— 编组字段的减少值 `additional` 编号 : `lead` 类型.
-   `regex.url` 编号 : `regex.protocols` 编号 : `regex.domain` ——共享regex常数.
-   `shareUrls({ formUri, organization, page })` ——从配置的窗体基 URI 构建共享 URL. 倒计时 `process.env.APP_CLIENT_FORM_URI` 若为 `formUri` 不通过.
-   `urlRoot( string )` —— 说 `'https://'` 如果输入包含 `'https'`,则 `'http://'`。 。 。 .

## 加密条目( 只有服务器)

```js
const { encrypt, decrypt } = require( '@drawbridge/drawbridge-utils/encrypt' );
```

仅服务器因其使用节点 `crypto` 读取 `process.env.ENCRYPT_CONNECTION_SECRET`被曝光为子出口 所以客户捆绑不拉节点内置.

## Axios 条目( 只有服务器)

```js
const { safe, axios } = require( '@drawbridge/drawbridge-utils/axios' );
```

-   `safe.get( url, axiosOptions )` - SSRF保护的请求.
-   `axios` 用于高级用途的生轴传通.

## 电路条目( 只有服务器)

```js
const { circuit } = require( '@drawbridge/drawbridge-utils/circuit' );
```

-   `circuit({ name, threshold, timeout })` 用于合成操作的断路器.

## 上传条目

```js
const { allowedUploadTypes, allowedMimes, resolveUploadType, isAllowedMime } = require( '@drawbridge/drawbridge-utils/upload' );
```

-   `allowedUploadTypes` 编号 : `allowedMimes` ——共享白名单常数.
-   `resolveUploadType( type, extension )` ——从MIME+扩展解析上传类型.
-   `isAllowedMime( mime )` ——MIME白名单的上游.

## Nanoid 条目( 只有服务器)

```js
const { nanoid, retry } = require( '@drawbridge/drawbridge-utils/nanoid' );
```

-   `nanoid()` ——8-Char Base36随机ID(同为主输出).
-   `retry({ field, operation, maxRetries })` ——运行一个生成纳米id的Async操作,在Mongo重复键错误上重试.

## 构建和发布( P)

```bash
nvm use
npm install
npm run build
```

`build` 运行 `tsup` (多条目、双重CJS + 无害环境管理产出),然后 `npm publish`弹出 `version` 内 `package.json` 先说.

## 常见问题

### @drawbridge/drawbridge-utils 是什么？

共享用于抽取桥\*存储库的助手和数据\.

### 如何安装 @drawbridge/drawbridge-utils？

在项目目录运行 npm install @drawbridge/drawbridge-utils，或使用 pnpm add / yarn add / bun add。

### @drawbridge/drawbridge-utils 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @drawbridge/drawbridge-utils 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @drawbridge/drawbridge-utils 可以商用吗？

@drawbridge/drawbridge-utils 使用 ISC 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @drawbridge/drawbridge-utils 的下载量有多少？

根据 npm 官方下载统计，@drawbridge/drawbridge-utils 在 2026/10/13 – 2026/11/11 这 30 天内被下载 3,576 次，日均约 119 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @drawbridge/drawbridge-utils 还在维护吗？

最新版本 0\.0\.232 发布于 2026/11/12（1 天前）；至今共发布 221 个版本，其中过去 12 个月发布了 221 个；首次发布于 2026/05/06。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

