diff --git a/lib/jsonschema.lua b/lib/jsonschema.lua index e682fb3..beb99cc 100644 --- a/lib/jsonschema.lua +++ b/lib/jsonschema.lua @@ -188,17 +188,9 @@ end function codectx_mt:as_func(name, ...) self:_get_loader() local loader, err = loadstring(tab_concat(self._code_table, ""), 'jsonschema:' .. (name or 'anonymous')) - if loader then - local validator - validator, err = loader(self._uservalues, ...) - if validator then return validator end - end - - -- something went really wrong if DEBUG then local line=1 print('------------------------------') - print('FAILED to generate validator: ', err) print('generated code:') print('0001: ' .. self:as_string():gsub('\n', function() line = line + 1 @@ -206,6 +198,17 @@ function codectx_mt:as_func(name, ...) end)) print('------------------------------') end + + if loader then + local validator + validator, err = loader(self._uservalues, ...) + if validator then return validator end + end + + -- something went really wrong + if DEBUG then + print('FAILED to generate validator: ', err) + end error(err) end