Socket
Socket
Sign inDemoInstall

keep-posted

Package Overview
Dependencies
0
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.0 to 1.0.1

4

package.json
{
"name": "keep-posted",
"description": "Event emitting done functional way",
"version": "1.0.0",
"description": "Event emitting done the simplest functional way",
"version": "1.0.1",
"author": "Jakub Szwacz <jakub@szwacz.com>",

@@ -6,0 +6,0 @@ "keywords": [

keep-posted
===========
Event emitting done functional way. No silly strings to pass around. Only functions.
Event emitting done the simplest, functional way. No silly strings to pass around. Only functions.

@@ -12,42 +12,62 @@ Actually *keep-posted* resembles more [Signal](https://github.com/millermedeiros/js-signals/wiki/Comparison-between-different-Observer-Pattern-implementations#signals) than [EventEmitter](https://github.com/millermedeiros/js-signals/wiki/Comparison-between-different-Observer-Pattern-implementations#event-emittertargetdispatcher) pattern but anyway. You can give it a try. For me this little piece of code gets job done faster and in less error-prone fashion than any other, more complicated PubSub/EventEmitter pattern.

```
Or just grap `keep-posted.js` file from this repo (it's UMD).
## Intended Usage
Can be imported via CommonJS, AMD and plain &lt;scrip&gt; tag. Here using CommonJS:
## Basic Usage
```js
var sillyModule = function () {
var keepPosted = requite('keep-posted');
// Create an instance
var somethingHappened = keepPosted.create();
// Attach event listener
var unsubscribe = somethingHappened.subscribe(function (a, b, c) {
console.log('Event!', a, b, c);
});
// Just call the function to trigger the event.
// Pass as many arguments as you like.
somethingHappened(1, 2, 3);
// Call the function returned to you when you did the subscribe
// to stop listening on that event.
unsubscribe();
```
## Intended Usage in Modules
```js
var sillyStoreModule = function () {
var keepPosted = requite('keep-posted');
var store = [];
// One keep-posted instance is for only one event type.
// Create more instances if you need to support more event types.
var newStuffAdded = keepPosted.create();
var storeCapacityReached = keepPosted.create();
// One instance is for only one event type. Create more
// instances if you need to support more event types.
var somethingHappened = keepPosted.create();
var somethingDifferentHappened = keepPosted.create();
var doSomething = function () {
// Calling keep-posted instance as function triggers
// the event, and allows you to pass as many parameters
// as you like to listeners.
somethingHappened(1, 2, 3);
somethingDifferentHappened();
var addStuff = function (stuff) {
store.push(stuff);
newStuffAdded(stuff);
if (store.length > 99) {
storeCapacityReached();
}
};
return {
doSomething: doSomething,
// Anyone who wants to listen to events have to call
// 'subscribe' function with a callback.
onSomething: somethingHappened.subscribe,
onSomethingDifferent: somethingDifferentHappened.subscribe,
addStuff: addStuff,
onNewStuffAdded: newStuffAdded.subscribe,
onStoreFull: storeCapacityReached.subscribe,
}
};
var myModule = sillyModule();
myModule.onSomething(function (a, b, c) {
console.log('Something happened with params:', a, b, c);
var store = sillyStoreModule();
store.onNewStuffAdded(function (stuff) {
console.log('New stuff added:', stuff);
});
var unsubscribe = myModule.onSomethingDifferent(function () {
console.log('Something different happened!');
store.onStoreFull(function () {
console.log("Can't store more!");
});
myModule.doSomething();
// Don't want to listen anymore to 'onSomethingDifferent'.
unsubscribe();
store.addStuff('abc');
```

@@ -76,3 +96,3 @@

**Parameters:**
`params...` - any number of parameters, passed as payload to all listeners.
`params...` - any number of parameters which will be passed to all listeners.

@@ -88,3 +108,3 @@

**Returns:**
Unsubscribe trigger. A `function` which you can call when don't want to listen to that event anymore.
Unsubscribe trigger. A `function` which you can call when you don't want to listen to that event anymore.

@@ -91,0 +111,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc