From 6511c0585190f5c4174c526055baeae1ce962a69 Mon Sep 17 00:00:00 2001 From: Vlad Faust Date: Fri, 19 Oct 2018 13:31:46 +0300 Subject: [PATCH] refactor: prettier error on null JSON parsing --- src/params.cr | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/params.cr b/src/params.cr index 206db58..1c70b3f 100644 --- a/src/params.cr +++ b/src/params.cr @@ -348,8 +348,15 @@ module Params @initialized[{{key}}] = true rescue ex : JSON::ParseException - value = pull.read_raw - raise ::Params::TypeCastError.new(value, value.class.name, {{value["defined_type"].stringify}}, {{key}}, @path) + value = "null" + klass = "Null" + + pull.read_null_or do + value = pull.read_raw + klass = value.class.name + end + + raise ::Params::TypeCastError.new(value, klass, {{value["defined_type"].stringify}}, {{key}}, @path) end {% end %} {% end %}