Skip to content

toObserver

Category
Export Size
88 B
Package
@vueuse/rxjs
Last Changed
5 years ago

Sugar function to convert a ref into an RxJS Observer. Available in the @vueuse/rxjs add-on.

Usage

ts
import { ref } from 'vue'
import { from, fromEvent, toObserver, useSubscription } from '@vueuse/rxjs'
import { interval } from 'rxjs'
import { map, mapTo, startWith, takeUntil, withLatestFrom } from 'rxjs/operators'

const count = ref(0)
const button = ref<HTMLButtonElement>(null)

useSubscription(
  interval(1000)
    .pipe(
      mapTo(1),
      takeUntil(fromEvent(button, 'click')),
      withLatestFrom(from(count).pipe(startWith(0))),
      map(([curr, total]) => curr + total),
    )
    .subscribe(toObserver(count)), // same as ).subscribe(val => (count.value = val))
)
js
import { ref } from 'vue'
import { from, fromEvent, toObserver, useSubscription } from '@vueuse/rxjs'
import { interval } from 'rxjs'
import {
  map,
  mapTo,
  startWith,
  takeUntil,
  withLatestFrom,
} from 'rxjs/operators'
const count = ref(0)
const button = ref(null)
useSubscription(
  interval(1000)
    .pipe(
      mapTo(1),
      takeUntil(fromEvent(button, 'click')),
      withLatestFrom(from(count).pipe(startWith(0))),
      map(([curr, total]) => curr + total),
    )
    .subscribe(toObserver(count)),
)

Type Declarations

typescript
export declare function toObserver<T>(value: Ref<T>): NextObserver<T>

Source

SourceDocs

Contributors

Anthony Fu
Theodros Zelleke
Curt Grimes
yang
Michel Betancourt

Changelog

No recent changes

Released under the MIT License.

AI writes code. Judgment ships.
First 500 spots filled. 400 more spots open. Still early access pricing.
Get early access
13
hours
:
31
minutes
:
15
seconds
: