Wondering what’s next for npm?Check out our public roadmap! »

    @jameslnewell/observable
    TypeScript icon, indicating that this package has built-in type declarations

    1.5.0 • Public • Published

    @jameslnewell/observable

    npm (scoped) Bundle Size Actions Status

    A super simple and light-weight observable implementation.

    Installation

    yarn add @jameslnewell/observable

    Usage

    const {create, map, pipe} from '@jameslnewell/observable';
    
    const numbers = (ms = 1000) => create(subscriber => {
      let count = 0;
      const handle = setInterval(() => subscriber.next(count++), ms);
      return () => clearInterval(handle);
    });
    
    const letters = pipe(map(number => String.fromCharCode(65 + number)))(numbers())
    
    const subscription = letters.subscribe({
      next: data => console.log(data),
      error: error => console.error(error),
      completed: () => console.log('completed')
    });
    
    subscription.unsubscribe();

    API

    fromArray(array)

    fromError(array)

    create(factory): Observable

    map(fn)(observable): Observable

    delay(ms)(observable): Observable

    pipe(fn1, fn2, fn3)(Observable): Observable

    isObservable(value): boolean

    firstValueFrom(observable: Observable): Promise

    lastValueFrom(observable: Observable): Promise

    Install

    npm i @jameslnewell/observable

    DownloadsWeekly Downloads

    30

    Version

    1.5.0

    License

    MIT

    Unpacked Size

    37.6 kB

    Total Files

    31

    Last publish

    Collaborators

    • avatar