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 4
4
empty every?
5
5
filter first future
6
6
group-by
7
- interleave interpose into
7
+ interleave interpose into iterate
8
8
keep keep-indexed
9
9
map mapcat map-indexed
10
10
merge next nth partition-all reduce reductions
550
550
; same thread, so we can't do that here.
551
551
(reduce conj to from))
552
552
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
+
553
566
(defn keep
554
567
[f xs]
555
568
(filter (complement nil?) (map f xs)))
Original file line number Diff line number Diff line change 348
348
{} []
349
349
'() (range 50 )))
350
350
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
+
351
359
(deftest test-keep
352
360
(is (= (into [] (keep identity [true true false ]))
353
361
(b/into [] (rx/keep identity (rx/seq->o [true true false ])))))
You can’t perform that action at this time.
0 commit comments