2019-08-02 13:25:02 +03:00
|
|
|
import stew/shims/tables, ../../json_serialization/[reader, writer, lexer]
|
|
|
|
export tables
|
|
|
|
|
|
|
|
type
|
|
|
|
TableType = OrderedTable | Table
|
|
|
|
|
|
|
|
proc writeValue*(writer: var JsonWriter, value: TableType) =
|
|
|
|
writer.beginRecord()
|
|
|
|
for key, val in value:
|
|
|
|
writer.writeField key, val
|
|
|
|
writer.endRecord()
|
|
|
|
|
|
|
|
proc readValue*(reader: var JsonReader, value: var TableType) =
|
|
|
|
type KeyType = type(value.keys)
|
|
|
|
type ValueType = type(value.values)
|
|
|
|
value = init TableType
|
2019-08-02 15:07:06 +03:00
|
|
|
for key, val in readObject(reader, KeyType, ValueType):
|
2019-08-02 13:25:02 +03:00
|
|
|
value[key] = val
|
|
|
|
|