From 40a5c66a8a64bf591b534d1b2dd8cfe3cd8cc948 Mon Sep 17 00:00:00 2001 From: btroncone Date: Tue, 7 Oct 2025 14:05:32 -0400 Subject: [PATCH 1/2] chore: remove ua --- operators/combination/combineall.md | 2 +- operators/combination/combinelatest.md | 2 +- operators/combination/concat.md | 2 +- operators/combination/concatall.md | 2 +- operators/combination/endwith.md | 2 +- operators/combination/forkjoin.md | 2 +- operators/combination/merge.md | 2 +- operators/combination/mergeall.md | 2 +- operators/combination/pairwise.md | 2 +- operators/combination/race.md | 2 +- operators/combination/startwith.md | 2 +- operators/combination/withlatestfrom.md | 2 +- operators/combination/zip.md | 2 +- operators/conditional/defaultifempty.md | 2 +- operators/conditional/every.md | 2 +- operators/conditional/iif.md | 2 +- operators/conditional/sequenceequal.md | 2 +- operators/creation/ajax.md | 2 +- operators/creation/create.md | 2 +- operators/creation/defer.md | 2 +- operators/creation/empty.md | 2 +- operators/creation/from.md | 2 +- operators/creation/fromevent.md | 2 +- operators/creation/generate.md | 2 +- operators/creation/interval.md | 2 +- operators/creation/range.md | 2 +- operators/creation/throw.md | 2 +- operators/creation/timer.md | 2 +- operators/error_handling/catch.md | 2 +- operators/error_handling/retry.md | 2 +- operators/error_handling/retrywhen.md | 2 +- operators/filtering/debounce.md | 2 +- operators/filtering/debouncetime.md | 2 +- operators/filtering/distinct.md | 2 +- operators/filtering/distinctuntilchanged.md | 2 +- operators/filtering/distinctuntilkeychanged.md | 2 +- operators/filtering/filter.md | 2 +- operators/filtering/find.md | 2 +- operators/filtering/first.md | 2 +- operators/filtering/ignoreelements.md | 2 +- operators/filtering/last.md | 2 +- operators/filtering/sample.md | 2 +- operators/filtering/single.md | 2 +- operators/filtering/skip.md | 2 +- operators/filtering/skipuntil.md | 2 +- operators/filtering/skipwhile.md | 2 +- operators/filtering/take.md | 2 +- operators/filtering/takelast.md | 2 +- operators/filtering/takeuntil.md | 2 +- operators/filtering/takewhile.md | 2 +- operators/filtering/throttle.md | 2 +- operators/filtering/throttletime.md | 2 +- operators/multicasting/multicast.md | 2 +- operators/multicasting/publish.md | 2 +- operators/multicasting/share.md | 2 +- operators/multicasting/sharereplay.md | 2 +- operators/transformation/buffer.md | 2 +- operators/transformation/buffercount.md | 2 +- operators/transformation/buffertoggle.md | 2 +- operators/transformation/bufferwhen.md | 2 +- operators/transformation/concatmap.md | 2 +- operators/transformation/concatmapto.md | 2 +- operators/transformation/exhaustmap.md | 2 +- operators/transformation/expand.md | 2 +- operators/transformation/groupby.md | 2 +- operators/transformation/map.md | 2 +- operators/transformation/mapto.md | 2 +- operators/transformation/mergemap.md | 2 +- operators/transformation/mergescan.md | 2 +- operators/transformation/partition.md | 2 +- operators/transformation/pluck.md | 2 +- operators/transformation/reduce.md | 2 +- operators/transformation/scan.md | 2 +- operators/transformation/switchmap.md | 2 +- operators/transformation/switchmapto.md | 2 +- operators/transformation/toarray.md | 2 +- operators/transformation/windowcount.md | 2 +- operators/transformation/windowtime.md | 2 +- operators/transformation/windowtoggle.md | 2 +- operators/transformation/windowwhen.md | 2 +- operators/utility/delay.md | 2 +- operators/utility/delaywhen.md | 2 +- operators/utility/do.md | 2 +- operators/utility/let.md | 2 +- operators/utility/repeat.md | 2 +- operators/utility/repeatwhen.md | 2 +- operators/utility/timeinterval.md | 2 +- operators/utility/timeout.md | 2 +- operators/utility/timeoutwith.md | 2 +- operators/utility/topromise.md | 2 +- recipes/alphabet-invasion-game.md | 2 +- recipes/battleship-game.md | 2 +- recipes/breakout-game.md | 2 +- recipes/car-racing-game.md | 2 +- recipes/catch-the-dot-game.md | 2 +- recipes/click-ninja-game.md | 2 +- recipes/flappy-bird-game.md | 2 +- recipes/gameloop.md | 2 +- recipes/horizontal-scroll-indicator.md | 2 +- recipes/http-polling.md | 2 +- recipes/lockscreen.md | 2 +- recipes/matrix-digital-rain.md | 2 +- recipes/memory-game.md | 2 +- recipes/mine-sweeper-game.md | 2 +- recipes/platform-jumper-game.md | 2 +- recipes/progressbar.md | 2 +- recipes/save-indicator.md | 2 +- recipes/smartcounter.md | 2 +- recipes/space-invaders-game.md | 2 +- recipes/stop-watch.md | 2 +- recipes/swipe-to-refresh.md | 2 +- recipes/tank-battle-game.md | 2 +- recipes/tetris-game.md | 2 +- recipes/type-ahead.md | 2 +- recipes/uncover-image-game.md | 2 +- subjects/asyncsubject.md | 2 +- subjects/behaviorsubject.md | 2 +- subjects/replaysubject.md | 2 +- subjects/subject.md | 2 +- 119 files changed, 119 insertions(+), 119 deletions(-) diff --git a/operators/combination/combineall.md b/operators/combination/combineall.md index 50eeefaf..b8be3ec7 100644 --- a/operators/combination/combineall.md +++ b/operators/combination/combineall.md @@ -4,7 +4,7 @@ ## When source observable completes use [combineLatest](combinelatest.md) with collected observables. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/combination/combinelatest.md b/operators/combination/combinelatest.md index 06d0dae6..3cf7520e 100644 --- a/operators/combination/combinelatest.md +++ b/operators/combination/combinelatest.md @@ -31,7 +31,7 @@ Lastly, if you are working with observables that only emit one value, or you only require the last value of each before completion, [`forkJoin`](forkjoin.md) is likely a better option. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/combination/concat.md b/operators/combination/concat.md index 7732b148..9215a797 100644 --- a/operators/combination/concat.md +++ b/operators/combination/concat.md @@ -21,7 +21,7 @@ Keep in mind that concat will only start emitting values from the next observabl In contrast, if you need to combine observables that emit values concurrently, or you require the latest values from multiple observables whenever any of them emit a new value, [combineLatest](combinelatest.md) or [withLatestFrom](withlatestfrom.md) might be more suitable options. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/combination/concatall.md b/operators/combination/concatall.md index c50bca0c..8be4b423 100644 --- a/operators/combination/concatall.md +++ b/operators/combination/concatall.md @@ -22,7 +22,7 @@ Bear in mind that `concatAll` will only start processing the next observable whe Additionally, if you're working with observables that can emit values concurrently and don't need to wait for one to complete before processing another, [mergeAll](mergeall.md) might be a more suitable choice. Similarly, if you only need to combine the values of multiple observables at the point when they all complete, [forkJoin](forkjoin.md) could be a better option. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/combination/endwith.md b/operators/combination/endwith.md index 65e9600f..0ab7e7c6 100644 --- a/operators/combination/endwith.md +++ b/operators/combination/endwith.md @@ -21,7 +21,7 @@ Keep in mind that endWith only emits the specified value when the source observa In cases where you want to prepend a value at the beginning of an observable sequence instead of appending it at the end, consider using the [startWith](startwith.md) operator. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/combination/forkjoin.md b/operators/combination/forkjoin.md index e2e5db9c..db22c9a0 100644 --- a/operators/combination/forkjoin.md +++ b/operators/combination/forkjoin.md @@ -34,7 +34,7 @@ item, and you are concerned with the previous emissions `forkJoin` is not the correct choice. In these cases you may be better off with an operator like [combineLatest](combinelatest.md) or [zip](zip.md). -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/combination/merge.md b/operators/combination/merge.md index 3be37026..02944033 100644 --- a/operators/combination/merge.md +++ b/operators/combination/merge.md @@ -22,7 +22,7 @@ Keep in mind that `merge` will emit values as soon as any of the observables emi Lastly, if you're dealing with observables that emit values at specific intervals and you need to combine them based on time, consider using the [zip](zip.md) operator instead. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/combination/mergeall.md b/operators/combination/mergeall.md index 65261b79..4bb55431 100644 --- a/operators/combination/mergeall.md +++ b/operators/combination/mergeall.md @@ -25,7 +25,7 @@ When deciding between mergeAll and other operators, keep in mind the following: - If you need to merge observables that produce values independently and are short-lived, `mergeAll` is the operator to reach for. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/combination/pairwise.md b/operators/combination/pairwise.md index 58f4c05e..79cca6a1 100644 --- a/operators/combination/pairwise.md +++ b/operators/combination/pairwise.md @@ -11,7 +11,7 @@ Keep in mind that `pairwise` will not emit an initial value until the observable Lastly, if you're working with observables that emit multiple values but you only want to compare the last two emitted values, consider using the [bufferCount](../transformation/buffercount.md) operator with a buffer size of 2 and a start buffer count of 1 as an alternative approach. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/combination/race.md b/operators/combination/race.md index 5de29b6e..b970f7c1 100644 --- a/operators/combination/race.md +++ b/operators/combination/race.md @@ -13,7 +13,7 @@ It's crucial to remember that `race` only pays attention to the first emitted va If your use case involves working with multiple observables that should all emit values and complete, or you need to process the emitted values in a specific order, consider using operators like [combineLatest](combinelatest.md) or [forkJoin](forkjoin.md) instead. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/combination/startwith.md b/operators/combination/startwith.md index e88ea1dc..b76139af 100644 --- a/operators/combination/startwith.md +++ b/operators/combination/startwith.md @@ -19,7 +19,7 @@ A real-world example can be seen in a search functionality, where the search res Keep in mind that startWith emits the initial value immediately upon subscription. This behavior is helpful when you want to make sure your subscribers receive a value right away, even before the source observable starts emitting values. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/combination/withlatestfrom.md b/operators/combination/withlatestfrom.md index c98adbb7..e55b4ea5 100644 --- a/operators/combination/withlatestfrom.md +++ b/operators/combination/withlatestfrom.md @@ -20,7 +20,7 @@ Keep in mind that `withLatestFrom` only emits a value when the main observable e If you need to combine values from multiple observables that emit more than once and are interdependent, consider using [`combineLatest`](combinelatest.md) instead. And for scenarios where observables emit only once or you just need their last values, [`forkJoin`](forkjoin.md) might be a more suitable choice. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/combination/zip.md b/operators/combination/zip.md index a34e2ce7..b4f3b939 100644 --- a/operators/combination/zip.md +++ b/operators/combination/zip.md @@ -19,7 +19,7 @@ An everyday example is when you want to match information from two sources, like Be mindful that zip will only emit a value when all input observables have emitted a corresponding value. This means if one observable has emitted more values than another, the unmatched values will be held back until the other observable emits its next value. In some cases, this could lead to unpaired values, making it important to ensure your observables are synchronized. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/conditional/defaultifempty.md b/operators/conditional/defaultifempty.md index 4340fb7d..05e92a56 100644 --- a/operators/conditional/defaultifempty.md +++ b/operators/conditional/defaultifempty.md @@ -4,7 +4,7 @@ ## Emit given value if nothing is emitted before completion. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/conditional/every.md b/operators/conditional/every.md index 3166a507..57676ce2 100644 --- a/operators/conditional/every.md +++ b/operators/conditional/every.md @@ -4,7 +4,7 @@ ## If all values pass predicate before completion emit true, else false. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/conditional/iif.md b/operators/conditional/iif.md index 9f167c1a..7e19384a 100644 --- a/operators/conditional/iif.md +++ b/operators/conditional/iif.md @@ -4,7 +4,7 @@ ## Subscribe to first or second observable based on a condition -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/conditional/sequenceequal.md b/operators/conditional/sequenceequal.md index 823c5696..4d04ae2c 100644 --- a/operators/conditional/sequenceequal.md +++ b/operators/conditional/sequenceequal.md @@ -4,7 +4,7 @@ ## Compares emitted sequence to expected sequence for match -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/creation/ajax.md b/operators/creation/ajax.md index 9062e981..107feec9 100644 --- a/operators/creation/ajax.md +++ b/operators/creation/ajax.md @@ -4,7 +4,7 @@ ## Create an observable for an Ajax request with either a request object with url, headers, etc or a string for a URL. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/creation/create.md b/operators/creation/create.md index c95cd0d9..2aa3ea29 100644 --- a/operators/creation/create.md +++ b/operators/creation/create.md @@ -4,7 +4,7 @@ ## Create an observable with given subscription function. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/creation/defer.md b/operators/creation/defer.md index c10ea644..23927b6a 100644 --- a/operators/creation/defer.md +++ b/operators/creation/defer.md @@ -12,7 +12,7 @@ is used as part of the [`iif`](../conditional/iif.md) operator! --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/creation/empty.md b/operators/creation/empty.md index cb133bcf..3ae977fc 100644 --- a/operators/creation/empty.md +++ b/operators/creation/empty.md @@ -4,7 +4,7 @@ ## Observable that immediately completes. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/creation/from.md b/operators/creation/from.md index 71bd8473..eff6c9c7 100644 --- a/operators/creation/from.md +++ b/operators/creation/from.md @@ -14,7 +14,7 @@ --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/creation/fromevent.md b/operators/creation/fromevent.md index 2cc7860e..b7f68ed0 100644 --- a/operators/creation/fromevent.md +++ b/operators/creation/fromevent.md @@ -4,7 +4,7 @@ ## Turn event into observable sequence. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/creation/generate.md b/operators/creation/generate.md index ef57ec93..7b692b35 100644 --- a/operators/creation/generate.md +++ b/operators/creation/generate.md @@ -4,7 +4,7 @@ ## Generates an observable sequence by running a state-driven loop producing the sequence's elements, using the specified scheduler to send out observer messages. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/creation/interval.md b/operators/creation/interval.md index 39e141c6..487b8c2a 100644 --- a/operators/creation/interval.md +++ b/operators/creation/interval.md @@ -4,7 +4,7 @@ ## Emit numbers in sequence based on provided timeframe. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/creation/range.md b/operators/creation/range.md index 6e1d0122..3f268207 100644 --- a/operators/creation/range.md +++ b/operators/creation/range.md @@ -4,7 +4,7 @@ ## Emit numbers in provided range in sequence. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/creation/throw.md b/operators/creation/throw.md index 633422fa..d871854a 100644 --- a/operators/creation/throw.md +++ b/operators/creation/throw.md @@ -4,7 +4,7 @@ ## Emit error on subscription. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/creation/timer.md b/operators/creation/timer.md index b7cee1fe..21f8872b 100644 --- a/operators/creation/timer.md +++ b/operators/creation/timer.md @@ -4,7 +4,7 @@ ## After given duration, emit numbers in sequence every specified duration. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/error_handling/catch.md b/operators/error_handling/catch.md index 3f27d1e0..d9ad69f8 100644 --- a/operators/error_handling/catch.md +++ b/operators/error_handling/catch.md @@ -10,7 +10,7 @@ --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/error_handling/retry.md b/operators/error_handling/retry.md index c02693a9..a36f32d1 100644 --- a/operators/error_handling/retry.md +++ b/operators/error_handling/retry.md @@ -15,7 +15,7 @@ --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/error_handling/retrywhen.md b/operators/error_handling/retrywhen.md index 039e38d5..7bb07f88 100644 --- a/operators/error_handling/retrywhen.md +++ b/operators/error_handling/retrywhen.md @@ -4,7 +4,7 @@ ## Retry an observable sequence on error based on custom criteria. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/debounce.md b/operators/filtering/debounce.md index dec351f8..ef6a54ec 100644 --- a/operators/filtering/debounce.md +++ b/operators/filtering/debounce.md @@ -11,7 +11,7 @@ important when the debounce rate is variable! --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/debouncetime.md b/operators/filtering/debouncetime.md index a3d9564e..bc2e0149 100644 --- a/operators/filtering/debouncetime.md +++ b/operators/filtering/debouncetime.md @@ -27,7 +27,7 @@ this.myFormControl.valueChanges.pipe( ``` -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/distinct.md b/operators/filtering/distinct.md index 2ee39f25..bee2f612 100644 --- a/operators/filtering/distinct.md +++ b/operators/filtering/distinct.md @@ -4,7 +4,7 @@ ## Emits items emitted that are distinct based on any previously emitted item. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/distinctuntilchanged.md b/operators/filtering/distinctuntilchanged.md index 5698ebaf..bb0cb003 100644 --- a/operators/filtering/distinctuntilchanged.md +++ b/operators/filtering/distinctuntilchanged.md @@ -26,7 +26,7 @@ It's important to remember that **`distinctUntilChanged` compares the current va In essence, when you're looking to filter out consecutive duplicate emissions from your observables, think of `distinctUntilChanged` as your go-to option. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/distinctuntilkeychanged.md b/operators/filtering/distinctuntilkeychanged.md index 72cab3fe..04c29dc8 100644 --- a/operators/filtering/distinctuntilkeychanged.md +++ b/operators/filtering/distinctuntilkeychanged.md @@ -4,7 +4,7 @@ ## Only emit when the specified key value has changed -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/filter.md b/operators/filtering/filter.md index 90afd548..50529b48 100644 --- a/operators/filtering/filter.md +++ b/operators/filtering/filter.md @@ -19,7 +19,7 @@ This operator is your go-to when you need to sift out unwanted values from an ob Also, for scenarios where you not only want to filter values but also transform them, [`map`](../transformation/map.md) is an ideal companion to `filter`. Use them in tandem to both shape and refine your data streams. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/find.md b/operators/filtering/find.md index 67920a7c..48c73708 100644 --- a/operators/filtering/find.md +++ b/operators/filtering/find.md @@ -11,7 +11,7 @@ --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/first.md b/operators/filtering/first.md index 31cf84ad..5058820c 100644 --- a/operators/filtering/first.md +++ b/operators/filtering/first.md @@ -14,7 +14,7 @@ this behavior, use `take(1)` instead. --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/ignoreelements.md b/operators/filtering/ignoreelements.md index 634c415e..3a8e2093 100644 --- a/operators/filtering/ignoreelements.md +++ b/operators/filtering/ignoreelements.md @@ -4,7 +4,7 @@ ## Ignore everything but complete and error. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/last.md b/operators/filtering/last.md index 937fc133..1b122cdc 100644 --- a/operators/filtering/last.md +++ b/operators/filtering/last.md @@ -10,7 +10,7 @@ --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/sample.md b/operators/filtering/sample.md index 4d38ae65..5a89510d 100644 --- a/operators/filtering/sample.md +++ b/operators/filtering/sample.md @@ -4,7 +4,7 @@ ## Sample from source when provided observable emits. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/single.md b/operators/filtering/single.md index c3d6ca6b..10849584 100644 --- a/operators/filtering/single.md +++ b/operators/filtering/single.md @@ -4,7 +4,7 @@ ## Emit single item that passes expression. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/skip.md b/operators/filtering/skip.md index bf59d7aa..0901b2ec 100644 --- a/operators/filtering/skip.md +++ b/operators/filtering/skip.md @@ -16,7 +16,7 @@ emissions. You could mimic `skip` by using [`filter`](./filter.md) with indexes. Ex. `.filter((val, index) => index > 1)` -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/skipuntil.md b/operators/filtering/skipuntil.md index f846c7ec..43f5d4b9 100644 --- a/operators/filtering/skipuntil.md +++ b/operators/filtering/skipuntil.md @@ -4,7 +4,7 @@ ## Skip emitted values from source until provided observable emits. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/skipwhile.md b/operators/filtering/skipwhile.md index 2d5631a8..58b5804d 100644 --- a/operators/filtering/skipwhile.md +++ b/operators/filtering/skipwhile.md @@ -4,7 +4,7 @@ ## Skip emitted values from source until provided expression is false. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/take.md b/operators/filtering/take.md index 8421a1ef..5bc102b9 100644 --- a/operators/filtering/take.md +++ b/operators/filtering/take.md @@ -26,7 +26,7 @@ emissions. --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/takelast.md b/operators/filtering/takelast.md index 64467aa6..b14e2f93 100644 --- a/operators/filtering/takelast.md +++ b/operators/filtering/takelast.md @@ -11,7 +11,7 @@ of multiple observables, try [forkJoin](../combination/forkjoin.md)! --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/takeuntil.md b/operators/filtering/takeuntil.md index 2e9043c2..9d75dbdc 100644 --- a/operators/filtering/takeuntil.md +++ b/operators/filtering/takeuntil.md @@ -33,7 +33,7 @@ ngOnDestroy() { With this setup, as soon as the `ngOnDestroy` method is called (when the component is about to be destroyed), the observables using `takeUntil` with the `destroy$` subject will automatically unsubscribe, ensuring that no unwanted memory leaks or unexpected behavior occurs. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/takewhile.md b/operators/filtering/takewhile.md index 6d4b9f66..67e5a7f6 100644 --- a/operators/filtering/takewhile.md +++ b/operators/filtering/takewhile.md @@ -11,7 +11,7 @@ the first item that didn't pass the predicate. --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/throttle.md b/operators/filtering/throttle.md index aabc06ab..a9e6e5c5 100644 --- a/operators/filtering/throttle.md +++ b/operators/filtering/throttle.md @@ -4,7 +4,7 @@ ## Emit value on the leading edge of an interval, but suppress new values until `durationSelector` has completed. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/filtering/throttletime.md b/operators/filtering/throttletime.md index 8ec5f4ce..05ef7142 100644 --- a/operators/filtering/throttletime.md +++ b/operators/filtering/throttletime.md @@ -4,7 +4,7 @@ ## Emit first value then ignore for specified duration -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/multicasting/multicast.md b/operators/multicasting/multicast.md index 9b40cffc..5402a62b 100644 --- a/operators/multicasting/multicast.md +++ b/operators/multicasting/multicast.md @@ -4,7 +4,7 @@ ## Share source utilizing the provided Subject. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/multicasting/publish.md b/operators/multicasting/publish.md index 679b44fc..d854bb20 100644 --- a/operators/multicasting/publish.md +++ b/operators/multicasting/publish.md @@ -4,7 +4,7 @@ ## Share source and make hot by calling connect. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/multicasting/share.md b/operators/multicasting/share.md index adf7f9fd..009cd4b9 100644 --- a/operators/multicasting/share.md +++ b/operators/multicasting/share.md @@ -10,7 +10,7 @@ --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/multicasting/sharereplay.md b/operators/multicasting/sharereplay.md index b2e2c097..a53d0720 100644 --- a/operators/multicasting/sharereplay.md +++ b/operators/multicasting/sharereplay.md @@ -133,7 +133,7 @@ source, sending values through an internal `ReplaySubject`: } ``` -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/buffer.md b/operators/transformation/buffer.md index 9bddfc61..cb1d7885 100644 --- a/operators/transformation/buffer.md +++ b/operators/transformation/buffer.md @@ -11,7 +11,7 @@ Buffer shines in scenarios like batching multiple events together before process However, keep in mind that buffer may not be the best fit when you require immediate processing of each emitted value. One way to think about this is "buffer is about batching". Remember, buffer is all about accumulating and releasing values based on specific triggers, making it a powerful tool for managing grouped events. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/buffercount.md b/operators/transformation/buffercount.md index a84587ec..03e18cf6 100644 --- a/operators/transformation/buffercount.md +++ b/operators/transformation/buffercount.md @@ -13,7 +13,7 @@ Keep in mind, though, that bufferCount may not be the best choice when the buffe Exercise caution in situations where buffering strategy plays a critical role in the desired output, as choosing the wrong operator might lead to unexpected behavior. Familiarize yourself with the various buffering operators to make informed decisions based on your specific requirements. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/buffertoggle.md b/operators/transformation/buffertoggle.md index 460a1917..81c08a5b 100644 --- a/operators/transformation/buffertoggle.md +++ b/operators/transformation/buffertoggle.md @@ -4,7 +4,7 @@ ## Toggle on to catch emitted values from source, toggle off to emit buffered values as array. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/bufferwhen.md b/operators/transformation/bufferwhen.md index a4994d87..9c3105f4 100644 --- a/operators/transformation/bufferwhen.md +++ b/operators/transformation/bufferwhen.md @@ -4,7 +4,7 @@ ## Collect all values until closing selector emits, emit buffered values. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/concatmap.md b/operators/transformation/concatmap.md index 6efc6fa1..9e8d41ab 100644 --- a/operators/transformation/concatmap.md +++ b/operators/transformation/concatmap.md @@ -14,7 +14,7 @@ Keep in mind that **if the inner observable takes a significant time to complete Lastly, if you're not concerned about the order of processing and just want everything to execute as it arrives, [`mergeMap`](mergemap.md) might be the better choice. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/concatmapto.md b/operators/transformation/concatmapto.md index 41226dc4..aee2568c 100644 --- a/operators/transformation/concatmapto.md +++ b/operators/transformation/concatmapto.md @@ -4,7 +4,7 @@ ## Subscribe to provided observable when previous completes, emit values. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/exhaustmap.md b/operators/transformation/exhaustmap.md index b81efd43..2369eb82 100644 --- a/operators/transformation/exhaustmap.md +++ b/operators/transformation/exhaustmap.md @@ -14,7 +14,7 @@ Take note that **`exhaustMap` will ignore source values while the previous inner If you want to handle every single event, even if previous ones haven't completed, other operators like [`switchMap`](switchmap.md) or [`mergeMap`](mergemap.md) might be more appropriate. But when ensuring one task is exhausted before moving to the next, `exhaustMap` is your go-to choice. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/expand.md b/operators/transformation/expand.md index f5a5a4a9..7bec82cd 100644 --- a/operators/transformation/expand.md +++ b/operators/transformation/expand.md @@ -4,7 +4,7 @@ ## Recursively call provided function. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/groupby.md b/operators/transformation/groupby.md index 1768814a..b5990b47 100644 --- a/operators/transformation/groupby.md +++ b/operators/transformation/groupby.md @@ -4,7 +4,7 @@ ## Group into observables based on provided value. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/map.md b/operators/transformation/map.md index a68cb01e..4e7ff752 100644 --- a/operators/transformation/map.md +++ b/operators/transformation/map.md @@ -11,7 +11,7 @@ New to transformation operators? Check out the article {% endhint %} -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/mapto.md b/operators/transformation/mapto.md index 850e0843..4ef673d3 100644 --- a/operators/transformation/mapto.md +++ b/operators/transformation/mapto.md @@ -11,7 +11,7 @@ New to transformation operators? Check out the article {% endhint %} -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/mergemap.md b/operators/transformation/mergemap.md index dbffc6f3..4077a922 100644 --- a/operators/transformation/mergemap.md +++ b/operators/transformation/mergemap.md @@ -39,7 +39,7 @@ can also limit the number of active inner subscriptions at a time with the `concurrent` parameter, seen in [example 5](#example-5-mergemap-with-concurrent-value). -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/mergescan.md b/operators/transformation/mergescan.md index 8076767c..ee8b099e 100644 --- a/operators/transformation/mergescan.md +++ b/operators/transformation/mergescan.md @@ -4,7 +4,7 @@ ## Accumulate value over time via merged observables. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/partition.md b/operators/transformation/partition.md index b741ede8..d90c42f6 100644 --- a/operators/transformation/partition.md +++ b/operators/transformation/partition.md @@ -4,7 +4,7 @@ ## Split one observable into two based on provided predicate. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/pluck.md b/operators/transformation/pluck.md index 174605b6..3ccdc54b 100644 --- a/operators/transformation/pluck.md +++ b/operators/transformation/pluck.md @@ -11,7 +11,7 @@ New to transformation operators? Check out the article {% endhint %} -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/reduce.md b/operators/transformation/reduce.md index 5e27da8d..490219f6 100644 --- a/operators/transformation/reduce.md +++ b/operators/transformation/reduce.md @@ -10,7 +10,7 @@ 💡 If you need the current accumulated value on each emission, try [scan](scan.md)! -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/scan.md b/operators/transformation/scan.md index e28a6a80..992a5e52 100644 --- a/operators/transformation/scan.md +++ b/operators/transformation/scan.md @@ -18,7 +18,7 @@ The scan operator is highly useful in scenarios that require real-time monitorin In summary, the scan operator provides a powerful and flexible means of handling continuous accumulation and emission of values, which can be especially useful in real-time monitoring and processing tasks. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/switchmap.md b/operators/transformation/switchmap.md index 1445a7a7..ac739d1a 100644 --- a/operators/transformation/switchmap.md +++ b/operators/transformation/switchmap.md @@ -38,7 +38,7 @@ every request needs to complete, think writes to a database. `switchMap` could cancel a request if the source emits quickly enough. In these scenarios [mergeMap](mergemap.md) is the correct option. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/switchmapto.md b/operators/transformation/switchmapto.md index 58c69986..ea1da852 100644 --- a/operators/transformation/switchmapto.md +++ b/operators/transformation/switchmapto.md @@ -11,7 +11,7 @@ --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/toarray.md b/operators/transformation/toarray.md index 9ee5f8b1..691723d7 100644 --- a/operators/transformation/toarray.md +++ b/operators/transformation/toarray.md @@ -4,7 +4,7 @@ ## Collects all source emissions and emits them as an array when the source completes. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/windowcount.md b/operators/transformation/windowcount.md index 671d86aa..b0661ba2 100644 --- a/operators/transformation/windowcount.md +++ b/operators/transformation/windowcount.md @@ -4,7 +4,7 @@ ## Observable of values from source, emitted each time provided count is fulfilled. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/windowtime.md b/operators/transformation/windowtime.md index 7a2e18fa..5a1bd845 100644 --- a/operators/transformation/windowtime.md +++ b/operators/transformation/windowtime.md @@ -4,7 +4,7 @@ ## Observable of values collected from source for each provided time span. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/windowtoggle.md b/operators/transformation/windowtoggle.md index d6b1d091..75860632 100644 --- a/operators/transformation/windowtoggle.md +++ b/operators/transformation/windowtoggle.md @@ -4,7 +4,7 @@ ## Collect and emit observable of values from source between opening and closing emission. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/transformation/windowwhen.md b/operators/transformation/windowwhen.md index 1ca51c7c..eba7ee51 100644 --- a/operators/transformation/windowwhen.md +++ b/operators/transformation/windowwhen.md @@ -4,7 +4,7 @@ ## Close window at provided time frame emitting observable of collected values from source. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/utility/delay.md b/operators/utility/delay.md index d32aec12..1e8a938b 100644 --- a/operators/utility/delay.md +++ b/operators/utility/delay.md @@ -10,7 +10,7 @@ This operator is your go-to when simulating real-world scenarios such as network Keep in mind that **`delay` won’t prevent the original observable from emitting values**. It merely postpones the delivery to its subscribers. This is a _gotcha_ as it could look like your data is lagging or not in sync with the source, especially when multiple observables are at play. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/utility/delaywhen.md b/operators/utility/delaywhen.md index a55f1d95..dc8d2be8 100644 --- a/operators/utility/delaywhen.md +++ b/operators/utility/delaywhen.md @@ -4,7 +4,7 @@ ## Delay emitted values determined by provided function. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/utility/do.md b/operators/utility/do.md index 21552efd..7fa081b1 100644 --- a/operators/utility/do.md +++ b/operators/utility/do.md @@ -20,7 +20,7 @@ However, a word of caution: **remember that `tap` is solely for side effects**. Lastly, it's best to ensure that the side effects you introduce via `tap` are not critical to the main logic of your observable chain, keeping them non-intrusive and harmless. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/utility/let.md b/operators/utility/let.md index 8a898a8b..5cd83364 100644 --- a/operators/utility/let.md +++ b/operators/utility/let.md @@ -11,7 +11,7 @@ --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/utility/repeat.md b/operators/utility/repeat.md index f9f16833..99304be5 100644 --- a/operators/utility/repeat.md +++ b/operators/utility/repeat.md @@ -10,7 +10,7 @@ --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/utility/repeatwhen.md b/operators/utility/repeatwhen.md index 307b9015..969bd8fb 100644 --- a/operators/utility/repeatwhen.md +++ b/operators/utility/repeatwhen.md @@ -11,7 +11,7 @@ --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/utility/timeinterval.md b/operators/utility/timeinterval.md index 4c7e2e3f..f5686e41 100644 --- a/operators/utility/timeinterval.md +++ b/operators/utility/timeinterval.md @@ -4,7 +4,7 @@ ## Convert an Observable that emits items into one that emits indications of the amount of time elapsed between those emissions -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/utility/timeout.md b/operators/utility/timeout.md index e45a56b0..28a81853 100644 --- a/operators/utility/timeout.md +++ b/operators/utility/timeout.md @@ -4,7 +4,7 @@ ## Error if no value is emitted before specified duration -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/utility/timeoutwith.md b/operators/utility/timeoutwith.md index 28995a65..d7118ca5 100644 --- a/operators/utility/timeoutwith.md +++ b/operators/utility/timeoutwith.md @@ -4,7 +4,7 @@ ## Subscribe to second Observable if no emission occurs in given time span. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/operators/utility/topromise.md b/operators/utility/topromise.md index 04d75300..c1251f2a 100644 --- a/operators/utility/topromise.md +++ b/operators/utility/topromise.md @@ -10,7 +10,7 @@ --- -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/recipes/alphabet-invasion-game.md b/recipes/alphabet-invasion-game.md index fcfe4a16..99a82b44 100644 --- a/recipes/alphabet-invasion-game.md +++ b/recipes/alphabet-invasion-game.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates RxJS implementation of Alphabet Invasion Game. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/battleship-game.md b/recipes/battleship-game.md index 66cef0ac..d2ef0911 100644 --- a/recipes/battleship-game.md +++ b/recipes/battleship-game.md @@ -5,7 +5,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates an RxJS implementation of Battleship Game where you play against the computer. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/breakout-game.md b/recipes/breakout-game.md index 76cf5aaa..c89072e8 100644 --- a/recipes/breakout-game.md +++ b/recipes/breakout-game.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates an RxJS implementation of Breakout game. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/car-racing-game.md b/recipes/car-racing-game.md index e7095bbb..b1917afc 100644 --- a/recipes/car-racing-game.md +++ b/recipes/car-racing-game.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates RxJS implementation of Car Racing game. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/catch-the-dot-game.md b/recipes/catch-the-dot-game.md index 9dbb35e6..198efabc 100644 --- a/recipes/catch-the-dot-game.md +++ b/recipes/catch-the-dot-game.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe shows usage of scan operator for state management in simple game -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/click-ninja-game.md b/recipes/click-ninja-game.md index 4626d12e..4fa5320e 100644 --- a/recipes/click-ninja-game.md +++ b/recipes/click-ninja-game.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe shows usage of time interval operator in a simple game -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/flappy-bird-game.md b/recipes/flappy-bird-game.md index 22778ca8..133cd394 100644 --- a/recipes/flappy-bird-game.md +++ b/recipes/flappy-bird-game.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates RxJs implementation of Flappy Bird like game. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/gameloop.md b/recipes/gameloop.md index 3af9b9ca..a6fee80d 100644 --- a/recipes/gameloop.md +++ b/recipes/gameloop.md @@ -9,7 +9,7 @@ a stream of frames and their deltaTimes since the previous frames. Combined with this is a stream of user inputs, and the current gameState, which we can use to update our objects, and render to to the screen on each frame emission. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/horizontal-scroll-indicator.md b/recipes/horizontal-scroll-indicator.md index 7dfdc895..d9d57146 100644 --- a/recipes/horizontal-scroll-indicator.md +++ b/recipes/horizontal-scroll-indicator.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates the creation of a horizontal scroll indicator. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/http-polling.md b/recipes/http-polling.md index 654751d4..12480206 100644 --- a/recipes/http-polling.md +++ b/recipes/http-polling.md @@ -1,6 +1,6 @@ # HTTP Polling -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/recipes/lockscreen.md b/recipes/lockscreen.md index 8ed85ac2..394e1439 100644 --- a/recipes/lockscreen.md +++ b/recipes/lockscreen.md @@ -5,7 +5,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates RxJS implementation of lockscreen functionality (known for example from smartphones). -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/matrix-digital-rain.md b/recipes/matrix-digital-rain.md index a5d9ca5a..8c5b1489 100644 --- a/recipes/matrix-digital-rain.md +++ b/recipes/matrix-digital-rain.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates RxJS implementation of Matrix Digital Rain. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/memory-game.md b/recipes/memory-game.md index 3db8732e..aac19fb7 100644 --- a/recipes/memory-game.md +++ b/recipes/memory-game.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates an RxJS game to train your memory. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/mine-sweeper-game.md b/recipes/mine-sweeper-game.md index 4135271f..181ba827 100644 --- a/recipes/mine-sweeper-game.md +++ b/recipes/mine-sweeper-game.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates RxJS implementation of Mine Sweeper Game. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/platform-jumper-game.md b/recipes/platform-jumper-game.md index 2411c39c..32e5041a 100644 --- a/recipes/platform-jumper-game.md +++ b/recipes/platform-jumper-game.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates RxJS implementation of Platform Jumper game. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/progressbar.md b/recipes/progressbar.md index dfd315f7..9ab82697 100644 --- a/recipes/progressbar.md +++ b/recipes/progressbar.md @@ -6,7 +6,7 @@ This recipe demonstrates the creation of an animated progress bar, simulating the management of multiple requests, and updating overall progress as each completes. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/save-indicator.md b/recipes/save-indicator.md index 84cad84e..92c5f48f 100644 --- a/recipes/save-indicator.md +++ b/recipes/save-indicator.md @@ -3,7 +3,7 @@ This recipe demonstrates the creation of a google docs-esque save indicator with RxJS. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/smartcounter.md b/recipes/smartcounter.md index 3ba4547d..2899d459 100644 --- a/recipes/smartcounter.md +++ b/recipes/smartcounter.md @@ -8,7 +8,7 @@ a popular library that accomplishes this is [Hubspot](https://github.com/HubSpot). Let's see how we can accomplish something similar with just a few lines of RxJS. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + #### Vanilla JS diff --git a/recipes/space-invaders-game.md b/recipes/space-invaders-game.md index 5a217cb5..f74b0226 100644 --- a/recipes/space-invaders-game.md +++ b/recipes/space-invaders-game.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates RxJS implementation of Space Invaders Game. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/stop-watch.md b/recipes/stop-watch.md index fed86345..42cb7ae1 100644 --- a/recipes/stop-watch.md +++ b/recipes/stop-watch.md @@ -6,7 +6,7 @@ This recipe demonstrates RxJS implementation of Stop Watch, inspired by [RxJS Advanced Patterns – Operate Heavily Dynamic UI’s](https://www.youtube.com/watch?v=XKfhGntZROQ) talk by [@Michael_Hladky](https://twitter.com/michael_hladky) -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/swipe-to-refresh.md b/recipes/swipe-to-refresh.md index a951a1c3..0933f982 100644 --- a/recipes/swipe-to-refresh.md +++ b/recipes/swipe-to-refresh.md @@ -5,7 +5,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates RxJS implementation of swipe to refresh functionality. Inspired by [@BenLesh](https://twitter.com/BenLesh) RxJs talks. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/tank-battle-game.md b/recipes/tank-battle-game.md index 61cac015..2b018ac0 100644 --- a/recipes/tank-battle-game.md +++ b/recipes/tank-battle-game.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates RxJS implementation of Tank Battle like game. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/tetris-game.md b/recipes/tetris-game.md index 5479db43..ceabe9c3 100644 --- a/recipes/tetris-game.md +++ b/recipes/tetris-game.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates RxJS implementation of Tetris game. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/type-ahead.md b/recipes/type-ahead.md index d4fe8114..c9e0d627 100644 --- a/recipes/type-ahead.md +++ b/recipes/type-ahead.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates the creation of type ahead client side code. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/recipes/uncover-image-game.md b/recipes/uncover-image-game.md index 9aa501ce..dc82957e 100644 --- a/recipes/uncover-image-game.md +++ b/recipes/uncover-image-game.md @@ -4,7 +4,7 @@ _By [adamlubek](https://github.com/adamlubek)_ This recipe demonstrates RxJS implementation of Uncover Image Game. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Example Code diff --git a/subjects/asyncsubject.md b/subjects/asyncsubject.md index f718a274..ca45c894 100644 --- a/subjects/asyncsubject.md +++ b/subjects/asyncsubject.md @@ -2,7 +2,7 @@ ## Emits its last value on completion -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/subjects/behaviorsubject.md b/subjects/behaviorsubject.md index da39224d..db4e4fcc 100644 --- a/subjects/behaviorsubject.md +++ b/subjects/behaviorsubject.md @@ -20,7 +20,7 @@ Contrasting with [`ReplaySubject`](replaysubject.md), while both provide histori In conclusion, if you need to ensure subscribers always get the latest value upon subscription, or you have an initial seed value, `BehaviorSubject` is your pick. If you need more historical emissions, consider [`ReplaySubject`](replaysubject.md). And if you don't need any history at all, a simple [`Subject`](subject.md) might be what you're looking for. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/subjects/replaysubject.md b/subjects/replaysubject.md index 5b337e70..8cdaecc9 100644 --- a/subjects/replaysubject.md +++ b/subjects/replaysubject.md @@ -20,7 +20,7 @@ However, be cautious. `ReplaySubject` can potentially use more memory since it's In conclusion, if you want the ability to replay a series of previous emissions to new subscribers, `ReplaySubject` is your go-to. If you only care about the most recent emission (with an initial value), opt for `BehaviorSubject`. And if you want a basic, no-frills broadcasting mechanism where late subscribers miss prior emissions, stick with a plain `Subject`. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples diff --git a/subjects/subject.md b/subjects/subject.md index 98740269..1037de67 100644 --- a/subjects/subject.md +++ b/subjects/subject.md @@ -18,7 +18,7 @@ In contrast, a simple `Subject` doesn't offer these playback features. If you jo In summary, choose `Subject` for standard multicasting needs. Opt for `BehaviorSubject` when the latest value or seed value is critical, and `ReplaySubject` when you want to ensure a history of values is available for late subscribers. -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg 'Ultimate RxJS')](https://ultimatecourses.com/courses/rxjs?ref=4) + ### Examples From 8aeb7a99c17a850fe03e8311e8d9bc91c1045043 Mon Sep 17 00:00:00 2001 From: btroncone Date: Tue, 7 Oct 2025 14:09:41 -0400 Subject: [PATCH 2/2] chore: update readme --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index b9bcd85c..dc1c0ba9 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,6 @@ material on the web. The goal is to supplement the while offering a new, fresh perspective to clear any hurdles and tackle the pain points. Learning Rx may be difficult but it is certainly worth the effort! -[![Ultimate RxJS](https://ultimatecourses.com/static/banners/banner-rxjs.svg)](https://ultimatecourses.com/courses/rxjs?ref=4) ### Brand New to RxJS?