# @f5devcentral/atg-shared-utilities 中文文档

规范地址：https://npmcn.com/package/%40f5devcentral/atg-shared-utilities/

版本：0\.10\.12
npm 元数据更新时间：2026-08-31T20:43:21.106Z
中文译文更新时间：2026-11-14T07:33:14.257Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40f5devcentral/atg-shared-utilities
原文对照：https://npmcn.com/package/%40f5devcentral/atg-shared-utilities/?lang=original
项目主页：https://github.com/f5devcentral/f5-atg-shared-utilities#readme
源码仓库：https://github.com/f5devcentral/f5-atg-shared-utilities

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

- 包体积（解压后）：76.8 kB，11 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：3 个
- 首次发布：2021-02-01T19:10:53.398Z
- 最新版本发布：2026-08-31T20:43:20.900Z
- 近 30 天下载量：9548（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：44（近 12 个月 3 个）

## 中文简介

这个项目拥有一些通用的公用功能,可以在F5自动化工具链项目中共享.

## 安装

```sh
npm install @f5devcentral/atg-shared-utilities
```

也可以使用：`pnpm add @f5devcentral/atg-shared-utilities`、`yarn add @f5devcentral/atg-shared-utilities`、`bun add @f5devcentral/atg-shared-utilities`

## README

# 共享用途

这个项目拥有一些通用的公用功能,可以在F5自动化工具链项目中共享.

## 捐款

通过投稿/README.md阅读,了解如何为该项目出稿.

## ipUtils (英语)

这些公用事业将协助IP地址计算

### 最小化IP( ip)

最小化 F5 IPv4/6 地址的字符串表示式中的零

### iIPv4( ip)

检查地址是否为 IPv4

### isIPv6( ip) 语句

检查地址是否为 IPv6

### 分块地址( 地址)

将 IPv4 或 IPv6 地址分割为地址和端口对

### 获取 Cidr 从Netmask( netmask, 无斜线)

返回给定网盖的 CIDR 。 可选返回 CIDR 不带“ /”

### 解析IpAddress( 地址)

将一个IP地址分解到它的组件: IP, 路由域, CIRD, netmask, 有路由的IP

## 承诺Utils

这些公用设施将帮助管理你计划中的承诺.

### 延迟( t, v)

此函数会延迟 t (时间为毫秒) 。 其解决后 v (可选).

### 序列(函数)

此函数将依次解决一系列函数 。 注意每个函数必须返回承诺 .

### 并行( 函数 \[\])

此功能将同时解决一系列功能. 注意每个函数必须返回承诺 .

### 种族成功( 保证\[ )

此功能将运行一系列承诺 。 然后用第一个承诺的结果来决定.

### 重试 保证( fn, 选项, 参数\[ \]

fn - 要运行的函数 . 选项 - 有.retries和.delay的对象。 两者都需要. args - 一系列被传递到 fn.

这将用参数参数运行函数 fn, 最多等于选项的数倍 。 复试,或至决.

## 阵列Utils

这种utils的集合侧重于对数组有用的通用函数.

### 保证阵列( 可变)

取出变量,将其转换为数组(如果不是数组),然后返回。 如果未定义, 将会返回 `[]`。 。 。 .

### 将ArrayContain anyOf(阵列1,阵列2)

检查阵列中是否有 tArray 成员 .

### 行算盘( 阵列, 目标)

检查是否有目标成员在阵列中.

### 插入 OrAtBetGinning( 阵列、 目标、 项、 比较)

在数组中或数组起步时,在另一项目后插入项目.

### 在OrAtBetGinning(阵列、目标、项目、比较)之前插入

在数组或数组起步处,在另一个项目之前插入一个项目.

### 插入 OrAtEnd( 阵列、 目标、 项目、 比较)

在数组中或数组结束时,在另一个项目后插入项目.

### 插入 OrAtEnd( 阵列、 目标、 项、 比较)

在数组或数组末端的另外一个项目之前插入一个项目.

## 请求Utils

此图集用于发送 http 请求 .

### 发送(请求选项、正文、选项)

使用选项和正文发送 http/ https 请求 。 这个是包裹 [节点的 http/https](https://nodejs.org/api/https.html#https) 请求功能.

## 安全断层

这些 BIG- IP 只使用 BIG- IP 半径服务器为您加密并解密 JSON 字符串 .

### 加密( 字符串)

此函数将使用字符串并返回该字符串的加密数组 .

### 解密( 字符串)

此函数将带入加密字符串并返回未加密字符串 .

## 追踪器

此 lib 包含有利于跟踪性能的类别和功能,当前执行使用 `Jaeger`,它遵循 OpenTeleometry (参见 [https://openterometry.io/docs/concepts/data-sources/ 互联网档案馆的存檔,存档日期2013-12-21](https://opentelemetry.io/docs/concepts/data-sources/) 基础教育)

**性能追踪不用于生产**但是由于追踪与生产代码的其余部分是结合的,a `Tracer` 必须存在,然后如果在即时(默认)时无法启用,则将起到不操作的作用.

### 构建

#### 杰格客户

这个 `jaeger-client` 被列出为可选的依赖性,只有在追踪器初始化时才会被加载/需要,并且只有在能够进行追踪时才会被载入。 这样,在创建出出产楼时,我们就不会包括模块.

建议项目使用单独的脚本来创建可追踪的建筑. 例如,可使用下列方法创建生产大楼: `npm run build` 用于 `npm ci --only=production --no-optional`,而使用 `npm run buildperf` 用于 `npm ci --only=production`,然后允许包含可选的减费.

#### 错误包

Jaeger 对更古老的节点版本投出错误( 具体针对依赖性) `thriftrw -> error`),其中只读名称属性正在被修改。 因此,我们不得不修改包锁.json 并把它钉到7.2.1, 否则, `thriftw` 使用它自己的节点单元子目录,更古老的错误版本为7.0.2.

### 设置

有两种方式可以在即时反应时启动追踪器:

-   通过构造器选项,或
-   设置嵌入变量
    -   这是快速调试或尚未持续设置的项目的选项 .
    -   App设置一般在 App 启动完成后被加载; env 变量充当备份,以便在 app 启动时启动跟踪并提前获取信息.
    -   对于使用 iControl REST 框架的项目: 重新点名是具体的, 它是如何启动的, 运行的文件需要更新以包含 env 变量)

示例变量:

```
  export F5_PERF_TRACING_ENDPOINT=http://{jaegerHost}:{jaegerPort}/api/traces
  export F5_PERF_TRACING_DEBUG=true
  export F5_PERF_TRACING_ENABLED=true
```

### 使用量

西班牙语

-   跨度是追踪的基本单位。 一个跨度可以有其他相关的跨度,或者在同一级别,或者作为儿童跨度. 子女跨度表示在父母跨度内完成的某些操作的子集.
-   一个跨可以有与之相关的日志(事件),以及标记(与跨度相关的键值对属性).
-   给定带url的典型 REST 端点的样本用途 `/shared/myProject/myResource/{myResourceId}` 它允许 POST 创建新资源
    -   使用 `tracer.startHttpSpan()` 收到请求时端点处理器的开头将创建:
        
        -   一条有 api 路径的新跨度 `/shared/myProject/myResource/{myResourceId}`. 该 `{myResourceId}` 这里有字面意思 - 我们不需要每个资源集的跨度 .
        -   相关http标签(如:. `http.url:shared/myProject/myResource/resourceId123`, (中文(简体) ), `http.method:POST`(中文(简体) )
    -   使用 `tracer.startChildSpan()` 在以后的行动中,(例如: `validateResource()` 再来一次 `createNewResource()`)和通过之前的 http 跨度,因为父词会用自己的起始和结束时间、标记和事件来创建这些孩子的跨度。 这样就可以进一步钻探和检查.
        

追踪器. close ()

-   必须明确呼吁 `tracer.close()` 当不再需要追踪器来冲出任何未决操作并避免内存漏出时.

## 许可证

[Apache 许可证 2.0](https://choosealicense.com/licenses/apache-2.0/)

## 版权

版权:2014-2024 F5网络股份有限公司.

## 常见问题

### @f5devcentral/atg-shared-utilities 是什么？

这个项目拥有一些通用的公用功能,可以在F5自动化工具链项目中共享\.

### 如何安装 @f5devcentral/atg-shared-utilities？

在项目目录运行 npm install @f5devcentral/atg-shared-utilities，或使用 pnpm add / yarn add / bun add。

### @f5devcentral/atg-shared-utilities 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/f5devcentral\_\_atg-shared-utilities 是否存在。

### @f5devcentral/atg-shared-utilities 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @f5devcentral/atg-shared-utilities 可以商用吗？

@f5devcentral/atg-shared-utilities 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @f5devcentral/atg-shared-utilities 的下载量有多少？

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

### @f5devcentral/atg-shared-utilities 还在维护吗？

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

