AG
Size: a a a
AG
IG
AD
(lazy-seq (concat (get-items) (lazy-seq (get-items))))
ST
(lazy-seq (concat (get-items) (lazy-seq (get-items))))
IG
AI
ST
IG
IG
IG
(list-objects [this bucket]
(s3/list-objects creds bucket))
(iter-objects [this bucket]
(lazy-seq
(let [result (list-objects this bucket)
{:keys [object-summaries
truncated?]} result]
(if truncated?
object-summaries
(concat object-summaries
(s3/list-next-batch-of-objects creds result))))))
ST
IG
AI
IG
IG
(if truncated?
object-summaries
(lazy-cat object-summaries
(s3/list-next-batch-of-objects creds result)))
ST
(defn get-items
[]
{:items [1 2 3]
:has-more (rand-nth [true true true false])})
(->> (repeatedly get-items)
(take-while :has-more)
(mapcat :items))
IG
ST