               shift (+ shift vlq-base-shift)]
           (if continuation?
             (recur i result shift)
-            {:value (from-vlq-signed result) :rest (.substring s i)}))))))
+            (lazy-seq
+             (cons (from-vlq-signed result)
+                   (let [s (.substring s i)]
+                     (when-not (string/blank? s)
+                       (decode s)))))))))))
 
 (comment
   ;; tests


  (encode 32) ; "gC"
  (decode "gC") ; {:value 32 :rest ""}
  )
(ns cljs.sourcemap.base64-vlq
  (require [clojure.string :as string]
           [cljs.sourcemap.base64 :as base64]))

(def ^:const vlq-base-shift 5)
(def ^:const vlq-base (bit-shift-left 1 vlq-base-shift))
