@ashetm/ng-broadcast-channel v16.0.1
@ashetm/ng-broadcast-channel
@ashetm/ng-broadcast-channel is a library that simplify manipulation of BroadcastChannel API.
Compatibility Table
| Angular Version | @ashetm/ng-broadcast-channel Version | Zone | Support |
|---|---|---|---|
| Angular 16.x and + | @ashetm/ng-broadcast-channel 16.x and + | Zonefull | ✅ |
| Angular 15.x | @ashetm/ng-broadcast-channel 15.x | Zonefull | ❌ |
| Angular 14.x | @ashetm/ng-broadcast-channel 14.x | Zonefull | ❌ |
| Angular 13.x | @ashetm/ng-broadcast-channel 13.x | Zonefull | ❌ |
| Angular 12.x | @ashetm/ng-broadcast-channel 12.x | Zonefull | ❌ |
| Angular 11.x | @ashetm/ng-broadcast-channel 11.x | Zonefull | ❌ |
Demo
Link to an sample app to see how it works
Install
You can install it with npm:
npm install @ashetm/ng-broadcast-channelImport
You only need to import provideBroadcastChannel.
...
import { provideBroadcastChannel } from '@ashetm/ng-broadcast-channel';
...
@NgModule({
...
provide: [
...
provideBroadcastChannel(),
...
]
...
})
export class AppModule { }API
@ashetm/ng-broadcast-channel exposes the following:
Providers
provideBroadcastChannel, 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)returnsBroadcastChannelRef<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)returnsBroadcastChannelRef<T> | nulla 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()returnsvoid, closes the broadcast channel.send(data: T)returnsvoid, 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.