| -- Licensed to the Apache Software Foundation (ASF) under one | |
| -- or more contributor license agreements. See the NOTICE file | |
| -- distributed with this work for additional information | |
| -- regarding copyright ownership. The ASF licenses this file | |
| -- to you under the Apache License, Version 2.0 (the | |
| -- "License"); you may not use this file except in compliance | |
| -- with the License. You may obtain a copy of the License at | |
| -- | |
| -- https://www.apache.org/licenses/LICENSE-2.0 | |
| -- | |
| -- Unless required by applicable law or agreed to in writing, | |
| -- software distributed under the License is distributed on an | |
| -- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| -- KIND, either express or implied. See the License for the | |
| -- specific language governing permissions and limitations | |
| -- under the License. | |
| local BuiltInFunctions = require("src.util.BuiltInFunctions") | |
| local FunctionMap = { | |
| ["keyMatch"] = BuiltInFunctions.keyMatchFunc, | |
| ["keyGet"] = BuiltInFunctions.keyGetFunc, | |
| ["keyMatch2"] = BuiltInFunctions.keyMatch2Func, | |
| ["keyGet2"] = BuiltInFunctions.keyGet2Func, | |
| ["keyMatch3"] = BuiltInFunctions.keyMatch3Func, | |
| ["keyMatch4"] = BuiltInFunctions.keyMatch4Func, | |
| ["keyMatch5"] = BuiltInFunctions.keyMatch5Func, | |
| ["regexMatch"] = BuiltInFunctions.regexMatchFunc, | |
| ["IPMatch"] = BuiltInFunctions.IPMatchFunc, | |
| ["globMatch"] = BuiltInFunctions.globMatchFunc, | |
| } | |
| -- FunctionMap provides a set of built in functions | |
| function FunctionMap:new() | |
| local o = {} | |
| for k, v in pairs(FunctionMap) do | |
| o[k] = v | |
| end | |
| return o | |
| end | |
| -- Add new built-in function to FunctionMap | |
| function FunctionMap:addFunction(key, func) | |
| if not self[key] then | |
| self[key] = func | |
| end | |
| end | |
| return FunctionMap |