]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Selectors: filter_string_nils utility transformation
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 13 Nov 2020 16:52:43 +0000 (16:52 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 13 Nov 2020 16:52:43 +0000 (16:52 +0000)
lualib/lua_selectors/transforms.lua

index 1a27b775d795343b3064b896932d4925d515e6ab..232a49b7931fdf69b5b6cb22ab0816ef3c3c4a18 100644 (file)
@@ -458,6 +458,17 @@ Empty string comes the first argument or 'true', non-empty string comes nil]],
     ['description'] = 'Converts a list of strings to numbers & returns a packed string',
     ['args_schema'] = {ts.string:is_optional()}
   },
+  -- Filter nils from a list
+  ['filter_string_nils'] = {
+    ['types'] = {
+      ['string_list'] = true
+    },
+    ['process'] = function(inp, _, _)
+      return fun.filter(function(val) return type(val) == 'string' and val ~= 'nil' end, inp), 'string_list'
+    end,
+    ['description'] = 'Removes all nils from a list of strings (when converted implicitly)',
+    ['args_schema'] = {}
+  },
 }
 
 transform_function.match = transform_function.regexp