equal
deleted
inserted
replaced
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 |