]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Selectors: Add inverse processor
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 11 Dec 2018 19:47:45 +0000 (19:47 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 11 Dec 2018 19:47:45 +0000 (19:47 +0000)
lualib/lua_selectors.lua

index 4025ef68030e6379d82bbb47090ec564b6f34c5f..ab2692eac4886ed466bbf7d156e7621189c36f25 100644 (file)
@@ -524,6 +524,22 @@ Returns either nil or its input if input is in args list]],
 Returns either nil or its input if input is not in args list]],
     ['args_schema'] = ts.array_of(ts.string)
   },
+  ['inverse'] = {
+    ['types'] = {
+      ['string'] = true,
+    },
+    ['map_type'] = 'string',
+    ['process'] = function(inp, _, args)
+      if inp then
+        return nil
+      else
+        return (args[1] or 'true'),'string'
+      end
+    end,
+    ['description'] = [[Inverses input.
+Empty string comes the first argument or 'true', non-empty string comes nil]],
+    ['args_schema'] = {ts.string:is_optional()}
+  },
 }
 
 local function process_selector(task, sel)