An open API service indexing awesome lists of open source software.

https://github.com/frectonz/leader-tab

An algorithm for selecting a leader from all the open tabs of a website.
https://github.com/frectonz/leader-tab

distributed-systems leader-election

Last synced: 5 months ago
JSON representation

An algorithm for selecting a leader from all the open tabs of a website.

Awesome Lists containing this project

README

          

# `leader-tab`

An algorithm for selecting a leader from all the open tabs of a website. Uses the [Broadcast Channel](https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API) API for synchronization.

```typescript
import { elector } from "leader-tab";

const tab = elector({
onLeaderElected: () => {
console.log("I am the leader");
},
onLeaderDemoted: () => {
console.log("I got demoted");
},
});

console.log("Current tab id", tab.getTabId());
console.log("Is current tab the leader", tab.isLeader());
console.log("Stop all synchronization work", tab.destroy());
```