util/jsonschema.lua
changeset 13092 0fbb2b3fd4c0
parent 13091 5d3e8a226840
child 13166 6140aa67c618
equal deleted inserted replaced
13091:5d3e8a226840 13092:0fbb2b3fd4c0
     1 -- This file is generated from teal-src/util/jsonschema.lua
     1 -- This file is generated from teal-src/util/jsonschema.lua
     2 
     2 
     3 local m_type = function(n)
     3 local m_type = function(n)
     4 	return type(n) == "number" and n % 1 == 0 and n <= 9007199254740992 and n >= -9007199254740992 and "integer" or "float";
     4 	return type(n) == "number" and n % 1 == 0 and n <= 9007199254740992 and n >= -9007199254740992 and "integer" or "float";
       
     5 end;
       
     6 
       
     7 local utf8 = rawget(_G, "utf8") or require("prosody.util.encodings").utf8;
       
     8 local utf8_len = utf8.len or function(s)
       
     9 	local _, count = s:gsub("[%z\001-\127\194-\253][\128-\191]*", "");
       
    10 	return count
     5 end;
    11 end;
     6 local json = require("prosody.util.json")
    12 local json = require("prosody.util.json")
     7 local null = json.null;
    13 local null = json.null;
     8 
    14 
     9 local pointer = require("prosody.util.jsonpointer")
    15 local pointer = require("prosody.util.jsonpointer")
   101 			return false
   107 			return false
   102 		end
   108 		end
   103 	end
   109 	end
   104 
   110 
   105 	if type(data) == "string" then
   111 	if type(data) == "string" then
   106 		if schema.maxLength and #data > schema.maxLength then
   112 		if schema.maxLength and utf8_len(data) > schema.maxLength then
   107 			return false
   113 			return false
   108 		end
   114 		end
   109 		if schema.minLength and #data < schema.minLength then
   115 		if schema.minLength and utf8_len(data) < schema.minLength then
   110 			return false
   116 			return false
   111 		end
   117 		end
   112 		if schema.luaPattern and not data:match(schema.luaPattern) then
   118 		if schema.luaPattern and not data:match(schema.luaPattern) then
   113 			return false
   119 			return false
   114 		end
   120 		end