diff options
Diffstat (limited to 'lualib/lua_selectors.lua')
-rw-r--r-- | lualib/lua_selectors.lua | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lualib/lua_selectors.lua b/lualib/lua_selectors.lua index 9af5f8f92..2a4782e8b 100644 --- a/lualib/lua_selectors.lua +++ b/lualib/lua_selectors.lua @@ -38,6 +38,7 @@ local M = "selectors" local E = {} local extractors = { + -- Plain id function ['id'] = { ['get_value'] = function(_, args) if args[1] then @@ -50,6 +51,18 @@ local extractors = { For example, `id('Something')` returns a string 'Something']], ['args_schema'] = {ts.string:is_optional()} }, + -- Similar but for making lists + ['list'] = { + ['get_value'] = function(_, args) + if args[1] then + return fun.map(tostring, args), 'string_list' + end + + return {},'string_list' + end, + ['description'] = [[Return a list from function's arguments or an empty list, +For example, `list('foo', 'bar')` returns a list {'foo', 'bar'}]], + }, -- Get source IP address ['ip'] = { ['get_value'] = function(task) |