https://github.com/codewithkyle/pubsub
A tiny Pub/Sub library.
https://github.com/codewithkyle/pubsub
Last synced: about 18 hours ago
JSON representation
A tiny Pub/Sub library.
- Host: GitHub
- URL: https://github.com/codewithkyle/pubsub
- Owner: codewithkyle
- License: mit
- Created: 2021-03-03T17:27:56.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-05-01T10:54:04.000Z (about 5 years ago)
- Last Synced: 2025-10-25T08:39:15.283Z (9 months ago)
- Language: TypeScript
- Homepage:
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
README
# PubSub
A lightweight (1kb) pubsub JavaScript library.
## Installation
Install via NPM
```bash
npm i -S @codewithkyle/pubsub
```
Install via CDN
```html
```
```javascript
import { EventBus, createSubscription, destroySubscription, publish, subscribe, unsubscribe } from "https://cdn.jsdelivr.net/npm/@codewithkyle/pubsub@1/pubsub.min.mjs";
```
## Usage
### ES Modules
```typescript
import { createSubscription, destroySubscription, publish, subscribe, unsubscribe } from "https://cdn.jsdelivr.net/npm/@codewithkyle/pubsub@1/pubsub.min.mjs";
const ticket = createSubscription();
const inbox = (data:any) => {
console.log(data);
};
const inboxId = subscribe(ticket, inbox);
setTimeout(()=>{
publish(ticket, "Hello world");
}, 1000);
```
### Vanilla JS
```javascript
const ticket = EventBus.createSubscription();
const inbox = (data:any) => {
console.log(data);
};
const inboxId = EventBus.subscribe(ticket, inbox);
setTimeout(()=>{
EventBus.publish(ticket, "Hello world");
}, 1000);
```