@@ -539,6 +539,32 @@ Deno.test("Query - limit API", async () => {
539539 db . close ( ) ;
540540} ) ;
541541
542+ Deno . test ( "Query - with cursor" , async ( ) => {
543+ const db = await Deno . openKv ( ":memory:" ) ;
544+ await db
545+ . atomic ( )
546+ . set ( [ "a" , "b" ] , { age : 10 } )
547+ . set ( [ "a" , "b" , "c" ] , { age : 10 } )
548+ . set ( [ "a" , "d" , "e" ] , { age : 10 } )
549+ . set ( [ "a" , "d" , "f" ] , { age : 10 } )
550+ . set ( [ "a" , "g" ] , { age : 20 } )
551+ . set ( [ "b" , "h" ] , { age : 10 } )
552+ . commit ( ) ;
553+ const iterator = query ( db , { prefix : [ ] } , { limit : 2 } )
554+ . where ( "age" , "==" , 10 )
555+ . get ( ) ;
556+ const result = await Array . fromAsync ( iterator ) ;
557+ assertEquals ( result . length , 2 ) ;
558+ const iterator2 = query ( db , { prefix : [ ] } , { limit : 2 , cursor : iterator . cursor } )
559+ . where ( "age" , "==" , 10 )
560+ . get ( ) ;
561+ const result2 = await Array . fromAsync ( iterator2 ) ;
562+ assertEquals ( result2 . length , 2 ) ;
563+ assertEquals ( result2 [ 0 ] . key , [ "a" , "d" , "e" ] ) ;
564+ assertEquals ( result2 [ 1 ] . key , [ "a" , "d" , "f" ] ) ;
565+ db . close ( ) ;
566+ } ) ;
567+
542568Deno . test ( {
543569 name : "query - blob with limit" ,
544570 async fn ( ) {
0 commit comments