File tree Expand file tree Collapse file tree 2 files changed +22
-1
lines changed
language-adaptors/rxjava-clojure/src
main/clojure/rx/lang/clojure
test/clojure/rx/lang/clojure Expand file tree Collapse file tree 2 files changed +22
-1
lines changed Original file line number Diff line number Diff line change 44 empty every?
55 filter first future
66 group-by
7- interleave interpose into
7+ interleave interpose into iterate
88 keep keep-indexed
99 map mapcat map-indexed
1010 merge next nth partition-all reduce reductions
550550 ; same thread, so we can't do that here.
551551 (reduce conj to from))
552552
553+ (defn iterate
554+ " Returns an Observable of x, (f x), (f (f x)) etc. f must be free of side-effects
555+
556+ See:
557+ clojure.core/iterate
558+ "
559+ [f x]
560+ (observable* (fn [s]
561+ (loop [x x]
562+ (when-not (unsubscribed? s)
563+ (on-next s x)
564+ (recur (f x)))))))
565+
553566(defn keep
554567 [f xs]
555568 (filter (complement nil?) (map f xs)))
Original file line number Diff line number Diff line change 348348 {} []
349349 '() (range 50 )))
350350
351+ (deftest test-iterate
352+ (are [f x n] (= (->> (iterate f x) (take n))
353+ (->> (rx/iterate f x) (rx/take n) (b/into [])))
354+ inc 0 10
355+ dec 20 100
356+ #(conj % (count %)) [] 5
357+ #(cons (count %) % ) nil 5 ))
358+
351359(deftest test-keep
352360 (is (= (into [] (keep identity [true true false ]))
353361 (b/into [] (rx/keep identity (rx/seq->o [true true false ])))))
You can’t perform that action at this time.
0 commit comments