mirror of
https://github.com/logos-storage/nim-json-rpc.git
synced 2026-01-09 00:53:07 +00:00
Added marshalling support for uint32 (#88)
* Added marshalling support for uint32 * Update json_rpc/jsonmarshal.nim Co-authored-by: Jacek Sieka <arnetheduck@gmail.com> Co-authored-by: Jacek Sieka <arnetheduck@gmail.com>
This commit is contained in:
parent
99455437ba
commit
dc3a2d33fc
@ -34,6 +34,7 @@ proc fromJson*[T](n: JsonNode, argName: string, result: var seq[T])
|
||||
proc fromJson*[N, T](n: JsonNode, argName: string, result: var array[N, T])
|
||||
proc fromJson*(n: JsonNode, argName: string, result: var int64)
|
||||
proc fromJson*(n: JsonNode, argName: string, result: var uint64)
|
||||
proc fromJson*(n: JsonNode, argName: string, result: var uint32)
|
||||
proc fromJson*(n: JsonNode, argName: string, result: var ref int64)
|
||||
proc fromJson*(n: JsonNode, argName: string, result: var ref int)
|
||||
proc fromJson*[T](n: JsonNode, argName: string, result: var Option[T])
|
||||
@ -94,6 +95,16 @@ proc fromJson*(n: JsonNode, argName: string, result: var uint64) =
|
||||
ValueError, "JSON-RPC input is an unexpected negative value")
|
||||
result = uint64(asInt)
|
||||
|
||||
proc fromJson*(n: JsonNode, argName: string, result: var uint32) =
|
||||
n.kind.expect(JInt, argName)
|
||||
let asInt = n.getBiggestInt()
|
||||
# signed -> unsigned conversions are unchecked
|
||||
# https://github.com/nim-lang/RFCs/issues/175
|
||||
if asInt < 0:
|
||||
raise newException(
|
||||
ValueError, "JSON-RPC input is an unexpected negative value")
|
||||
result = uint32(asInt)
|
||||
|
||||
proc fromJson*(n: JsonNode, argName: string, result: var ref int64) =
|
||||
n.kind.expect(JInt, argName)
|
||||
new result
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user