@ashetm/ng-broadcast-channel
TypeScript icon, indicating that this package has built-in type declarations

13.0.1 • Public • Published

@ashetm/ng-broadcast-channel

@ashetm/ng-broadcast-channel is a library that simplify manipulation of BroadcastChannel API.

It works with Angular 11 and above

Demo

Link to an sample app to see how it works

Install

You can install it with npm:

npm install @ashetm/ng-broadcast-channel

Import

You only need to import BroadcastChannelModule.

...
import { BroadcastChannelModule } from '@ashetm/ng-broadcast-channel';
...
@NgModule({
  ...
  imports: [
    ...
    BroadcastChannelModule, 
    ...
  ]
  ...
})
export class AppModule { }

API

@ashetm/ng-broadcast-channel exposes the following:

Modules

  • BroadcastChannelModule, that needs to import in order to use the library

Services

BroadcastChannelService

BroadcastChannelService is a service concern all about BroadcastChannel API.

And for methods, there is the following:

  • create<T>(name: string) returns BroadcastChannelRef<T> a reference of BroadcastChannel with that name provided in the first argument, if exists otherwise returns create a new one.

  • get<T>(name: string) returns BroadcastChannelRef<T> | null a reference of BroadcastChannel with that name provided in the first argument, otherwise null.

BroadcastChannelRef<T> is wrapper class to manipulate BroadcastChannel API, it exposes the following:

  • data$: Observable<T> is an observable of stream data that listen to data sent through that broadcast channel.

  • close() returns void, closes the broadcast channel.

  • send(data: T) returns void, send data through the broadcast channel.

Issue

LOOKING FOR MAINTAINER OR IF THERE IS AN ISSUE OR ANY IDEA TO ADD. PLEASE CREATE ISSUE IN GITHUB REPOSITORY.

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @ashetm/ng-broadcast-channel

    Weekly Downloads

    4

    Version

    13.0.1

    License

    none

    Unpacked Size

    39.8 kB

    Total Files

    17

    Last publish

    Collaborators

    • ashetm