Skip to main content
Version: 2.x

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将一个数值转换为带单位的数据。