use foreach iterator

This commit is contained in:
Dmitriy Ryajov 2023-09-14 18:08:04 -06:00
parent e39bd530d9
commit 812b4fd3b6
No known key found for this signature in database
GPG Key ID: DA8C680CE7C657A4

View File

@ -41,8 +41,8 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
res: seq[QueryResponse] res: seq[QueryResponse]
cnt = 0 cnt = 0
while not iter.finished: for pair in iter:
let (key, val) = (await iter.next()).tryGet let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
@ -75,13 +75,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
let let
iter = (await ds.query(q)).tryGet iter = (await ds.query(q)).tryGet
res = block: res = block:
var res: seq[QueryResponse] var
while not iter.finished: res: seq[QueryResponse]
let (key, val) = (await iter.next()).tryGet cnt = 0
for pair in iter:
let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
res.add((key, val)) res.add((key, val))
cnt.inc
res res
@ -109,13 +113,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
let let
iter = (await ds.query(q)).tryGet iter = (await ds.query(q)).tryGet
res = block: res = block:
var res: seq[QueryResponse] var
while not iter.finished: res: seq[QueryResponse]
let (key, val) = (await iter.next()).tryGet cnt = 0
for pair in iter:
let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
res.add((key, val)) res.add((key, val))
cnt.inc
res res
@ -129,7 +137,7 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
(await iter.dispose()).tryGet (await iter.dispose()).tryGet
test "Key should list all keys at the same level": test "Key should all list all keys at the same level":
let let
queryKey = Key.init("/a").tryGet queryKey = Key.init("/a").tryGet
q = Query.init(queryKey) q = Query.init(queryKey)
@ -184,19 +192,22 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
key = Key.init(key, Key.init("/" & $i).tryGet).tryGet key = Key.init(key, Key.init("/" & $i).tryGet).tryGet
val = ("val " & $i).toBytes val = ("val " & $i).toBytes
echo "putting ", $key
(await ds.put(key, val)).tryGet (await ds.put(key, val)).tryGet
let let
iter = (await ds.query(q)).tryGet iter = (await ds.query(q)).tryGet
res = block: res = block:
var res: seq[QueryResponse] var
while not iter.finished: res: seq[QueryResponse]
let (key, val) = (await iter.next()).tryGet cnt = 0
for pair in iter:
let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
res.add((key, val)) res.add((key, val))
cnt.inc
res res
@ -220,13 +231,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
let let
iter = (await ds.query(q)).tryGet iter = (await ds.query(q)).tryGet
res = block: res = block:
var res: seq[QueryResponse] var
while not iter.finished: res: seq[QueryResponse]
let (key, val) = (await iter.next()).tryGet cnt = 0
for pair in iter:
let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
res.add((key, val)) res.add((key, val))
cnt.inc
res res
@ -250,13 +265,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
let let
iter = (await ds.query(q)).tryGet iter = (await ds.query(q)).tryGet
res = block: res = block:
var res: seq[QueryResponse] var
while not iter.finished: res: seq[QueryResponse]
let (key, val) = (await iter.next()).tryGet cnt = 0
for pair in iter:
let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
res.add((key, val)) res.add((key, val))
cnt.inc
res res
@ -296,13 +315,17 @@ template queryTests*(ds: Datastore, extended = true) {.dirty.} =
let let
iter = (await ds.query(q)).tryGet iter = (await ds.query(q)).tryGet
res = block: res = block:
var res: seq[QueryResponse] var
while not iter.finished: res: seq[QueryResponse]
let (key, val) = (await iter.next()).tryGet cnt = 0
for pair in iter:
let (key, val) = (await pair).tryGet
if key.isNone: if key.isNone:
break break
res.add((key, val)) res.add((key, val))
cnt.inc
res res