mirror of
https://github.com/logos-storage/nim-datastore.git
synced 2026-01-02 21:53:05 +00:00
add key/value
This commit is contained in:
parent
ea3546f5b3
commit
1833155e53
@ -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))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user