@danielkucal/ngx-signalr
TypeScript icon, indicating that this package has built-in type declarations

1.0.0-RC1 • Public • Published

@mradcliffe/ngx-signalr Build Status

@mradcliffe/ngx-signalr is a Angular module that provides an easy-to-use service to create SignalR hub connections. It wraps common SignalR methods in RxJS observables and allows http client interceptors (middleware) to be used in connections.

Table of Contents

  1. Installation
  2. Usage
  3. Contributing

Installation

Confirm that your dependencies match for the Angular release you are using.

Angular RxJS zone.js
^6 ^6.2 ^0.8
^7 ^6.4 ^0.8
^8 ^6.5 ^0.9
^9 ^6.5 N/A
  • npm install ngx-signalr

Usage

Create a SignalrHubConnection

This provides a SignalrFactory with which will create and start a new HubConnectios.

this.signalrFactory
  .createHubConnection('https://example.com/hubs/test')
  .pipe(skipWhile((c: SignalrHubConnection) => c === null));

A BehaviorSubject<SignalrHubConnection> is returned from the factory. The SignalrHubConnection wraps the HubConnection methods in Observables.

Work with SignalrHubConnection

// Subscribes to the "counted" method on the hub.
const subject = connection.on<number>('counted');
subject.subscribe((n: number) => {});

// Unsubscribe using this specific behavior subject for the "counted" method.
connection.off('counted', subject);

// Unsubscribe all "counted" methods.
connection.off('counted');

// Invokes the increment method on the hub with argument "count".
const count = 5;
connection.invoke<number>('increment', count)
  .subscribe((n: number) => {});

// Send a method with arguments that only needs to check success.
connection.send('foo', 'bar)
  .subscribe((success: boolean) => {
    if (success) {
      // Method was successful.
    } else {
      // Method was not successful.
    }
  });

Contributing

Please read the CONTRIBUTING document.

/@danielkucal/ngx-signalr/

    Package Sidebar

    Install

    npm i @danielkucal/ngx-signalr

    Weekly Downloads

    1

    Version

    1.0.0-RC1

    License

    MIT

    Unpacked Size

    148 kB

    Total Files

    21

    Last publish

    Collaborators

    • danielkucal