src/Pure/Tools/phabricator.scala
changeset 75385 5fbdb35305ee
parent 75382 81673c441ce3
child 75393 87ebf5a50283
equal deleted inserted replaced
75376:c2532adbfa3e 75385:5fbdb35305ee
   949       method: String, params: JSON.Object.T, unapply: JSON.T => Option[A]): List[A] =
   949       method: String, params: JSON.Object.T, unapply: JSON.T => Option[A]): List[A] =
   950     {
   950     {
   951       val results = new mutable.ListBuffer[A]
   951       val results = new mutable.ListBuffer[A]
   952       var after = ""
   952       var after = ""
   953 
   953 
   954       do {
   954       var cont = true
       
   955       while (cont) {
   955         val result =
   956         val result =
   956           execute(method, params = params ++ JSON.optional("after" -> proper_string(after)))
   957           execute(method, params = params ++ JSON.optional("after" -> proper_string(after)))
   957         results ++= result.get_value(JSON.list(_, "data", unapply))
   958         results ++= result.get_value(JSON.list(_, "data", unapply))
   958         after = result.get_value(JSON.value(_, "cursor", JSON.string0(_, "after")))
   959         after = result.get_value(JSON.value(_, "cursor", JSON.string0(_, "after")))
   959       } while (after.nonEmpty)
   960         cont = after.nonEmpty
       
   961       }
   960 
   962 
   961       results.toList
   963       results.toList
   962     }
   964     }
   963 
   965 
   964     def ping(): String = execute("conduit.ping").get_string
   966     def ping(): String = execute("conduit.ping").get_string