Pipes 管道列表
Pipes 管道源码现在托管在公开的 GitHub 仓库:easyops-cn/brick-next-pipes 中。
当前平台支持的管道函数列表如下:
类型转换:
| 管道名 | 说明 |
|---|---|
| boolean | 将一个值转换为布尔值(也可使用别名 `bool`)。 |
| number | 将输入值转换为数字。 |
| string | 将输入值转换为字符串。 |
逻辑运算:
| 管道名 | 说明 |
|---|---|
| equal | 比较两个值是否相同(深度比较)。 |
| not | 布尔取反。 |
| nullish | 空值合并(`??`)。 |
| ternary | 三元运算,根据条件返回两个值中的一个。 |
数学运算:
| 管道名 | 说明 |
|---|---|
| add | 数学加法或字符串拼接。 |
| divide | 数学除法。 |
| multiply | 数学乘法。 |
| round | 获取一个数值的近似值。 |
| subtract | 数学减法。 |
字符串处理:
| 管道名 | 说明 |
|---|---|
| split | 将一个字符串分割为字符串列表。 |
| substr | 根据指定起始位置和长度返回一个字符串的子串。 |
| substring | 根据指定起始位置和结束位置(不包含)返回一个字符串的子串。 |
数组或字典:
| 管道名 | 说明 |
|---|---|
| countBy | 统计一个集合中每个元素的指定属性(或迭代器执行结果)的值出现的次数。 |
| find | 从一个数据集合中找到第一个匹配的元素。 |
| findLast | 从一个数据集合中从后向前找到第一个匹配的元素。 |
| groupBy | 把一个集合按指定属性(或迭代器执行结果)的值进行分组。 |
| keyBy | 将指定属性(或迭代器执行结果)作为键名收集一个集合中的元素。 |
数组:
| 管道名 | 说明 |
|---|---|
| findIndex | 从一个数组中找到第一个匹配的元素的位置。 |
| findLastIndex | 从一个数组中从后向前找到第一个匹配的元素的位置。 |
| includes | 判断一个数组是否包含指定元素,或一个字符串是否包含指定子串。 |
| join | 将一个数组的所有元素拼接成字符串。 |
| map | 通过填充调用数组中各项的指定属性来创建一个新数组。 |
| mergeArrayByKey | 将多个对象数组根据键合并为一个数组, 对于数组类型的属性不会 deep merge, 只会 concat。 |
| reverse | 返回一个数组倒转之后的新数组。 |
| slice | 根据起始位置和结束位置(不包含)返回一个数组的一部分。 |
| sort | 返回一个数组按指定属性排序后的新数组。 |
| uniq | 获取一个数组去重后的新数组。 |
字典:
| 管道名 | 说明 |
|---|---|
| get | 获取一个对象指定属性(路径)的值。 |
序列化和反序列化:
| 管道名 | 说明 |
|---|---|
| json | 解析一个 JSON 格式的字符串(反序列化)。 |
| jsonStringify | 将一个值转换为 JSON 格式的字符串(序列化)。 |
| yaml | 解析一个 YAML 格式的字符串(反序列化)。 |
| yamlStringify | 将一个值转换为 YAML 格式的字符串(序列化)。 |
日期时间:
| 管道名 | 说明 |
|---|---|
| datetime | 日期时间格式化(使用当地时区)。 |
| deltaTime | 将一个时间段转换为人类可读的文本。 |
| parseTimeRange | 解析一个时间字符串。 |
其它:
| 管道名 | 说明 |
|---|---|
| cmdbInstanceShowName | 获得一个 CMDB 实例的展示名。 |
| graphTree | 将图遍历查询接口返回的图数据转换为树结构数据。 |
| groupByToIndex | 返回一个数组的拷贝,并为每个元素新增一个分组索引字段。 |
| mapToArray | 将一个对象根据键值对映射转换为数组。 |
| randomString | 获得一个随机字符串 |
| unitFormat | 将一个数值转换为带单位的数据。 |