2022-06-29 11:04:35 -05:00
|
|
|
import pkg/chronos
|
2022-05-11 10:50:05 -05:00
|
|
|
import pkg/questionable/results
|
|
|
|
|
import pkg/upraises
|
|
|
|
|
|
|
|
|
|
import ./key
|
2022-07-15 15:28:42 -05:00
|
|
|
import ./query
|
2022-09-20 16:41:54 -04:00
|
|
|
import ./types
|
2022-05-11 10:50:05 -05:00
|
|
|
|
2022-09-20 16:41:54 -04:00
|
|
|
export key, query, types
|
2022-05-11 10:50:05 -05:00
|
|
|
|
|
|
|
|
push: {.upraises: [].}
|
|
|
|
|
|
2022-09-30 10:24:26 -04:00
|
|
|
type
|
|
|
|
|
BatchEntry* = tuple[key: Key, data: seq[byte]]
|
|
|
|
|
|
2023-09-13 14:41:40 -06:00
|
|
|
method has*(self: Datastore, key: Key): Future[?!bool] {.base, locks: "unknown", raises: [].} =
|
2022-05-11 10:50:05 -05:00
|
|
|
raiseAssert("Not implemented!")
|
|
|
|
|
|
2023-09-13 14:41:40 -06:00
|
|
|
method delete*(self: Datastore, key: Key): Future[?!void] {.base, locks: "unknown", raises: [].} =
|
2022-05-11 10:50:05 -05:00
|
|
|
raiseAssert("Not implemented!")
|
|
|
|
|
|
2023-09-13 14:41:40 -06:00
|
|
|
method delete*(self: Datastore, keys: seq[Key]): Future[?!void] {.base, locks: "unknown", raises: [].} =
|
2022-09-30 10:24:26 -04:00
|
|
|
raiseAssert("Not implemented!")
|
|
|
|
|
|
2023-09-13 14:41:40 -06:00
|
|
|
method get*(self: Datastore, key: Key): Future[?!seq[byte]] {.base, locks: "unknown", raises: [].} =
|
2022-05-11 10:50:05 -05:00
|
|
|
raiseAssert("Not implemented!")
|
|
|
|
|
|
2023-09-13 14:41:40 -06:00
|
|
|
method put*(self: Datastore, key: Key, data: seq[byte]): Future[?!void] {.base, locks: "unknown", raises: [].} =
|
2022-09-19 15:52:34 -06:00
|
|
|
raiseAssert("Not implemented!")
|
2022-05-11 10:50:05 -05:00
|
|
|
|
2023-09-13 14:41:40 -06:00
|
|
|
method put*(self: Datastore, batch: seq[BatchEntry]): Future[?!void] {.base, locks: "unknown", raises: [].} =
|
2022-09-30 10:24:26 -04:00
|
|
|
raiseAssert("Not implemented!")
|
|
|
|
|
|
2023-09-13 14:41:40 -06:00
|
|
|
method close*(self: Datastore): Future[?!void] {.base, locks: "unknown", raises: [].} =
|
2022-09-20 16:41:54 -04:00
|
|
|
raiseAssert("Not implemented!")
|
2022-05-11 10:50:05 -05:00
|
|
|
|
2023-09-25 21:07:42 -07:00
|
|
|
method query*(self: Datastore,
|
|
|
|
|
query: Query
|
|
|
|
|
): Future[?!QueryIter] {.base, gcsafe, raises: [].} =
|
2022-07-15 15:28:42 -05:00
|
|
|
|
2023-09-13 14:41:40 -06:00
|
|
|
raiseAssert("Not implemented!")
|
2022-12-02 16:25:44 -06:00
|
|
|
|
2023-09-25 21:07:42 -07:00
|
|
|
method queryIter*(self: Datastore,
|
|
|
|
|
query: Query
|
|
|
|
|
): ?!(iterator(): ?!QueryResponse) {.base, gcsafe, raises: [].} =
|
|
|
|
|
raiseAssert("Not implemented!")
|
|
|
|
|
|
2023-09-13 14:41:40 -06:00
|
|
|
proc contains*(self: Datastore, key: Key): Future[bool] {.async, raises: [].} =
|
2022-12-02 16:25:44 -06:00
|
|
|
return (await self.has(key)) |? false
|