code: protected function getReferences($type)
      {
          $perPage = 100;
          $resource = $this->getApiUrl().'/repository/'.$type.'?per_page='.$perPage;
  
          $references = array();
          do {
              $data = JsonFile::parseJson($this->getContents($resource), $resource);
  
              foreach ($data as $datum) {
                  $references[$datum['name']] = $datum['commit']['id'];
  
                  // Keep the last commit date of a reference to avoid
                  // unnecessary API call when retrieving the composer file.
                  $this->commits[$datum['commit']['id']] = $datum['commit'];
              }
  
              if (count($data) >= $perPage) {
                  $resource = $this->getNextPage();
              } else {
                  $resource = false;
              }
          } while ($resource);
  
          return $references;
      }
docs: @param string $type
  
  @return string[] where keys are named references like tags or branches and the value a sha