Add converters to and from common stint types and byte

This commit is contained in:
coffeepots 2018-05-09 13:07:32 +01:00 committed by zah
parent 425854ba46
commit cb7e7a3cae

View File

@ -0,0 +1,25 @@
import json, stint
iterator bytes*(i: UInt256|Int256): byte =
let b = cast[ptr array[32, byte]](i.unsafeaddr)
var pos = 0
while pos < 32:
yield b[pos]
pos += 1
proc `%`*(n: UInt256): JsonNode =
## Generic constructor for JSON data. Creates a new `JInt JsonNode`.
result = newJArray()
for elem in n.bytes:
result.add(%int(elem))
proc `%`*(n: Int256): JsonNode =
## Generic constructor for JSON data. Creates a new `JInt JsonNode`.
result = newJArray()
for elem in n.bytes:
result.add(%int(elem))
proc `%`*(n: byte): JsonNode =
## Generic constructor for JSON data. Creates a new `JInt JsonNode`.
result = newJInt(int(n))