X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=libs%2Fuvl%2Fluasrc%2Fuvl%2Fdatatypes.lua;h=60377e289e076ba74147fc3fd028525e0339db12;hb=19e22598fd5b43a4e3e23e5e0d5f994281024035;hp=586e3f8b833c3289f7718868bd5b00c15df30d04;hpb=7726e737252026683d10f5d85a32798f975ef437;p=project%2Fluci.git diff --git a/libs/uvl/luasrc/uvl/datatypes.lua b/libs/uvl/luasrc/uvl/datatypes.lua index 586e3f8b8..60377e289 100644 --- a/libs/uvl/luasrc/uvl/datatypes.lua +++ b/libs/uvl/luasrc/uvl/datatypes.lua @@ -22,9 +22,18 @@ require("luci.util") function boolean( val ) - if val == "1" or val == "yes" or val == "on" then + if val == "1" or val == "yes" or val == "on" or val == "true" then return true - elseif val == "0" or val == "no" or val == "off" then + elseif val == "0" or val == "no" or val == "off" or val == "false" then + return true + end + + return false +end + +function uint( val ) + local n = tonumber(val) + if n ~= nil and math.floor(n) == n and n >= 0 then return true end @@ -44,6 +53,10 @@ function float( val ) return ( tonumber(val) ~= nil ) end +function ipaddr( val ) + return ip4addr(val) or ip6addr(val) +end + function ip4addr( val ) if val then return luci.ip.IPv4(val) and true or false @@ -98,6 +111,10 @@ function hostname( val ) return false end +function host( val ) + return hostname(val) or ipaddr(val) +end + function string( val ) return true -- Everything qualifies as valid string end