add key/value

This commit is contained in:
Jaremy Creechley 2023-09-20 17:27:14 -07:00
parent ea3546f5b3
commit 1833155e53
No known key found for this signature in database
GPG Key ID: 4E66FB67B21D3300

View File

@ -25,6 +25,18 @@ type
DbKey* = tuple[data: DataBuffer]
DbValue* = tuple[data: DataBuffer]
proc toDb*(key: Key): DbKey {.inline, raises: [].} =
(data: DataBuffer.new(key.id()))
proc toKey*(key: DbKey): Key {.inline, raises: [].} =
Key.init(key.data).expect("expected valid key here for but got `" & $key.data & "`")
proc toDb*(value: sink seq[byte]): DbValue {.inline, raises: [].} =
(data: DataBuffer.new(value))
proc toValue*(value: DbValue): seq[byte] {.inline, raises: [].} =
value.data.toSeq()
converter toThreadErr*(e: ref CatchableError): ThreadResErr {.inline, raises: [].} =
if e of DatastoreKeyNotFound: (ErrorEnum.DatastoreKeyNotFoundErr, DataBuffer.new(e.msg))
elif e of QueryEndedError: (ErrorEnum.QueryEndedErr, DataBuffer.new(e.msg))