@@ -382,7 +382,7 @@ private function process(string $method, ?array $query, $data = false)
382382 }
383383 $ result = $ this ->getResponseBody ($ response );
384384 if ($ pager ) {
385- $ page = $ pager ->getPage ($ result , $ request , $ response , $ this , null , $ query );
385+ $ page = $ pager ->getPage ($ result , $ request , $ response , $ this , null , null , $ query );
386386 return Arr::unwrap ($ page ->getEntities (), 1 );
387387 }
388388 return $ result ;
@@ -444,16 +444,18 @@ private function paginate(string $method, ?array $query, $data = false): iterabl
444444 $ request = $ this ->createRequest ($ method , $ query , $ data );
445445 $ request = $ pager ->getFirstRequest ($ request , $ this , $ query );
446446 $ prev = null ;
447+ $ yielded = 0 ;
447448 do {
448449 if ($ request instanceof CurlerPageRequestInterface) {
449450 $ query = $ request ->getQuery () ?? $ query ;
450451 $ request = $ request ->getRequest ();
451452 }
452453 $ response = $ this ->doSendRequest ($ request );
453454 $ result = $ this ->getResponseBody ($ response );
454- $ page = $ pager ->getPage ($ result , $ request , $ response , $ this , $ prev , $ query );
455+ $ page = $ pager ->getPage ($ result , $ request , $ response , $ this , $ prev , $ prev ? $ yielded : null , $ query );
455456 // Use `yield` instead of `yield from` so entities get unique keys
456457 foreach ($ page ->getEntities () as $ entity ) {
458+ $ yielded ++;
457459 yield $ entity ;
458460 }
459461 if (!$ page ->hasNextRequest ()) {
0 commit comments