jsonutils: fromJson forward opt param fix (#16612)
This commit is contained in:
parent
58b9191354
commit
0d5cab77f6
2 changed files with 18 additions and 4 deletions
|
|
@ -201,17 +201,17 @@ proc fromJson*[T](a: var T, b: JsonNode, opt = Joptions()) =
|
|||
if b.kind == JNull: a = nil
|
||||
else:
|
||||
a = T()
|
||||
fromJson(a[], b)
|
||||
fromJson(a[], b, opt)
|
||||
elif T is array:
|
||||
checkJson a.len == b.len, $(a.len, b.len, $T)
|
||||
var i = 0
|
||||
for ai in mitems(a):
|
||||
fromJson(ai, b[i])
|
||||
fromJson(ai, b[i], opt)
|
||||
i.inc
|
||||
elif T is seq:
|
||||
a.setLen b.len
|
||||
for i, val in b.getElems:
|
||||
fromJson(a[i], val)
|
||||
fromJson(a[i], val, opt)
|
||||
elif T is object:
|
||||
template fun(key, typ): untyped {.used.} =
|
||||
if b.hasKey key:
|
||||
|
|
@ -237,7 +237,7 @@ proc fromJson*[T](a: var T, b: JsonNode, opt = Joptions()) =
|
|||
checkJson b.kind == JArray, $(b.kind) # we could customize whether to allow JNull
|
||||
var i = 0
|
||||
for val in fields(a):
|
||||
fromJson(val, b[i])
|
||||
fromJson(val, b[i], opt)
|
||||
i.inc
|
||||
checkJson b.len == i, $(b.len, i, $T, b) # could customize
|
||||
else:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue