add Amp\Loop example
[m6w6/seekat] / examples / generator.php
index 9d962d4103076eaf99035926926b708639a1a6e7..88b69cd004c9eddc6bd2e1b84520f0cfec7def8f 100755 (executable)
@@ -4,25 +4,26 @@
 require_once __DIR__."/../vendor/autoload.php";
 
 use seekat\API;
+use seekat\API\Links;
 
 $log = new Monolog\Logger("seekat");
 $log->pushHandler((new Monolog\Handler\StreamHandler(STDERR))->setLevel(Monolog\Logger::INFO));
 
 $cli = new http\Client("curl", "seekat");
 
-$api = new API([
+$api = new API(API\Future\amp(), [
        "Authorization" => "token ".getenv("GITHUB_TOKEN")
 ], null, $cli, $log);
 
 $api(function($api) {
        $count = 0;
-       $events = yield $api->repos->m6w6->{"ext-http"}->issues->events();
+       $events = yield $api->repos->m6w6->{"ext-pq"}->issues->events();
        while ($events) {
                /* pro-actively queue the next request */
-               $next = $events->next();
+               $next = Links\next($events);
 
                foreach ($events as $event) {
-                       if ($event->event == "labeled") {
+                       if ($event->event == "labeled" || $event->event == "unlabeled") {
                                continue;
                        }
                        ++$count;
@@ -37,7 +38,7 @@ $api(function($api) {
                $events = yield $next;
        }
        return $count;
-})->done(function($count) {
+})->onResolve(function($error, $count) {
        printf("Listed %d events\n", $count);
 });