1.0.2 • Published 4 years ago

@nanots/pubsub v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

npm.io npm.io npm.io

@nanots/pubsub

@nanots/pubsub is a tiny, type-safe pubsub library written in typescript.

Installation

npm install @nanots/pubsub

Usage

import { createPubSub } from "@nanots/pubsub";

interface LoginPayload {
  token: string;
  remember?: boolean;
}

interface Events {
  login: LoginPayload;
  logout: void; // no payload
}

const pubsub = createPubSub<Events>();

// returns a cleanup function to remove listener
const unsubscribe = pubsub.subscribe("login", ({ token, remember }) => {
  // payload is inferred
});

// fails without payload, must be provided
pubsub.publish("login", { token: "foobar" });

// fails with payload
pubsub.publish("logout");

// clear all listeners for `login`
pubsub.unsubscribe("login");

// clear all
pubsub.unsubscribe();
1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago