@f5devcentral/atg-shared-utilities

中文文档
0.10.12发布于 2026/09/01Apache-2.0CommonJS近 30 天下载 9548

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

中文使用文档
文档目录33 节
  1. 捐款
  2. ipUtils (英语)
  3. 最小化IP( ip)
  4. iIPv4( ip)
  5. isIPv6( ip) 语句
  6. 分块地址( 地址)
  7. 获取 Cidr 从Netmask( netmask, 无斜线)
  8. 解析IpAddress( 地址)
  9. 承诺Utils
  10. 延迟( t, v)
  11. 序列(函数)
  12. 并行( 函数 [])
  13. 种族成功( 保证[ )
  14. 重试 保证( fn, 选项, 参数[ ]
  15. 阵列Utils
  16. 保证阵列( 可变)
  17. 将ArrayContain anyOf(阵列1,阵列2)
  18. 行算盘( 阵列, 目标)
  19. 插入 OrAtBetGinning( 阵列、 目标、 项、 比较)
  20. 在OrAtBetGinning(阵列、目标、项目、比较)之前插入
  21. 插入 OrAtEnd( 阵列、 目标、 项目、 比较)
  22. 插入 OrAtEnd( 阵列、 目标、 项、 比较)
  23. 请求Utils
  24. 发送(请求选项、正文、选项)
  25. 安全断层
  26. 加密( 字符串)
  27. 解密( 字符串)
  28. 追踪器
  29. 构建
  30. 设置
  31. 使用量
  32. 许可证
  33. 版权

共享用途

这个项目拥有一些通用的公用功能,可以在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 请求功能.

安全断层

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

加密( 字符串)

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

解密( 字符串)

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

追踪器

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

性能追踪不用于生产但是由于追踪与生产代码的其余部分是结合的,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

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

版本与发布记录

@f5devcentral/atg-shared-utilities 共发布 44 个版本,首次发布于 2021/02/02;过去 12 个月发布了 3 个版本。

版本发布日期距今
0.10.12latest2026/09/012 个月前
0.10.112026/04/176 个月前
0.10.102026/01/0910 个月前
0.10.92025/10/031.1 年前
0.10.82025/02/211.7 年前
0.10.72024/09/112 年前

其他发布通道:beta → 0.4.8。

关于 @f5devcentral/atg-shared-utilities 的常见问题

@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 和提交记录判断。