New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

diode

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

diode - npm Package Compare versions

Comparing version 5.0.0 to 6.0.0

.babelrc

11

package.json
{
"name": "diode",
"version": "5.0.0",
"version": "6.0.0",
"description": "A simple event emitter.",
"main": "src/diode.js",
"scripts": {
"test": "mocha -R dot",
"test:watch": "mocha -R dot -w"
},
"repository": {

@@ -20,3 +24,6 @@ "type": "git",

"bugs": "https://github.com/vigetlabs/diode/issues",
"homepage": "https://github.com/vigetlabs/diode"
"homepage": "https://github.com/vigetlabs/diode",
"devDependencies": {
"mocha": "2.3.2"
}
}

68

src/diode.js
/**
* The Diode emits a heartbeat whenever any store state has changed.
* When Stores change, they can use this entity to broadcast
* that state has changed.
* Event subscription for Microcosm
*/
'use strict';
var Diode = function (app) {
var callbacks = []
function Diode(target) {
var _callbacks = [];
if (this instanceof Diode) {
target = this;
} else {
target = target || {};
app = this
} else if (arguments.length == 0){
return new Diode()
}

@@ -21,23 +17,18 @@

*/
target.listen = target.subscribe = function (callback) {
if (typeof callback !== 'function') {
throw new TypeError('callback must be a function');
}
app.listen = app.subscribe = function (callback) {
callbacks.push(callback)
return app
}
_callbacks.push(callback);
return target;
};
/**
* Given a CALLBACK function, remove it from the set of callbacks.
* Throws an error if the callback is not included in the Set.
* Throws an error if the callback is not included in the set.
*/
target.ignore = target.unsubscribe = function (callback) {
_callbacks = _callbacks.filter(function (i) {
return i !== callback;
});
app.ignore = app.unsubscribe = function (unwanted) {
callbacks = callbacks.filter(function(entry) {
return entry !== unwanted
})
return target;
};
return app
}

@@ -47,24 +38,13 @@ /**

*/
target.emit = target.publish = function () {
/**
* Important: do not cache the length of _callbacks
* in the event a callback causes later subscriptions
* to disappear
*/
for (var i = 0; i < _callbacks.length; i++) {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_callbacks[i].apply(target, args);
app.emit = app.publish = function () {
for (var i = 0; i < callbacks.length; i++) {
callbacks[i].apply(app, arguments)
}
return target;
};
return app
}
return target;
return app
}
module.exports = Diode(Diode);
module.exports.decorate = Diode;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaW9kZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQU1BLFNBQVMsS0FBSyxDQUFFLE1BQU0sRUFBRTtBQUN0QixNQUFJLFVBQVUsR0FBRyxFQUFFLENBQUE7O0FBRW5CLE1BQUksSUFBSSxZQUFZLEtBQUssRUFBRTtBQUN6QixVQUFNLEdBQUcsSUFBSSxDQUFBO0dBQ2QsTUFBTTtBQUNMLFVBQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFBO0dBQ3RCOzs7OztBQUtELFFBQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsR0FBRyxVQUFVLFFBQVEsRUFBRTtBQUNyRCxRQUFJLE9BQU8sUUFBUSxLQUFLLFVBQVUsRUFBRTtBQUNsQyxZQUFNLElBQUksU0FBUyxDQUFDLDZCQUE2QixDQUFDLENBQUE7S0FDbkQ7O0FBRUQsY0FBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTs7QUFFekIsV0FBTyxNQUFNLENBQUE7R0FDZCxDQUFBOzs7Ozs7QUFNRCxRQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsVUFBVSxRQUFRLEVBQUU7QUFDdkQsY0FBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUU7QUFDMUMsYUFBTyxDQUFDLEtBQUssUUFBUSxDQUFBO0tBQ3RCLENBQUMsQ0FBQTs7QUFFRixXQUFPLE1BQU0sQ0FBQTtHQUNkLENBQUE7Ozs7O0FBS0QsUUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTyxHQUFHLFlBQW1COzs7Ozs7QUFNaEQsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7d0NBTkYsSUFBSTtBQUFKLFlBQUk7OztBQU81QyxnQkFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7S0FDbEM7O0FBRUQsV0FBTyxNQUFNLENBQUE7R0FDZCxDQUFBOztBQUVELFNBQU8sTUFBTSxDQUFBO0NBQ2Q7O0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBIiwiZmlsZSI6ImRpb2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgRGlvZGUgZW1pdHMgYSBoZWFydGJlYXQgd2hlbmV2ZXIgYW55IHN0b3JlIHN0YXRlIGhhcyBjaGFuZ2VkLlxuICogV2hlbiBTdG9yZXMgY2hhbmdlLCB0aGV5IGNhbiB1c2UgdGhpcyBlbnRpdHkgdG8gYnJvYWRjYXN0XG4gKiB0aGF0IHN0YXRlIGhhcyBjaGFuZ2VkLlxuICovXG5cbmZ1bmN0aW9uIERpb2RlICh0YXJnZXQpIHtcbiAgdmFyIF9jYWxsYmFja3MgPSBbXVxuXG4gIGlmICh0aGlzIGluc3RhbmNlb2YgRGlvZGUpIHtcbiAgICB0YXJnZXQgPSB0aGlzXG4gIH0gZWxzZSB7XG4gICAgdGFyZ2V0ID0gdGFyZ2V0IHx8IHt9XG4gIH1cblxuICAvKipcbiAgICogR2l2ZW4gYSBDQUxMQkFDSyBmdW5jdGlvbiwgYWRkIGl0IHRvIHRoZSBTZXQgb2YgYWxsIGNhbGxiYWNrcy5cbiAgICovXG4gIHRhcmdldC5saXN0ZW4gPSB0YXJnZXQuc3Vic2NyaWJlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uJylcbiAgICB9XG5cbiAgICBfY2FsbGJhY2tzLnB1c2goY2FsbGJhY2spXG5cbiAgICByZXR1cm4gdGFyZ2V0XG4gIH1cblxuICAvKipcbiAgICogR2l2ZW4gYSBDQUxMQkFDSyBmdW5jdGlvbiwgcmVtb3ZlIGl0IGZyb20gdGhlIHNldCBvZiBjYWxsYmFja3MuXG4gICAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgY2FsbGJhY2sgaXMgbm90IGluY2x1ZGVkIGluIHRoZSBTZXQuXG4gICAqL1xuICB0YXJnZXQuaWdub3JlID0gdGFyZ2V0LnVuc3Vic2NyaWJlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgX2NhbGxiYWNrcyA9IF9jYWxsYmFja3MuZmlsdGVyKGZ1bmN0aW9uIChpKSB7XG4gICAgICByZXR1cm4gaSAhPT0gY2FsbGJhY2tcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRhcmdldFxuICB9XG5cbiAgLyoqXG4gICAqIEltbWVkaWF0ZWx5IHRyaWdnZXIgZXZlcnkgY2FsbGJhY2tcbiAgICovXG4gIHRhcmdldC5lbWl0ID0gdGFyZ2V0LnB1Ymxpc2ggPSBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgIC8qKlxuICAgICAqIEltcG9ydGFudDogZG8gbm90IGNhY2hlIHRoZSBsZW5ndGggb2YgX2NhbGxiYWNrc1xuICAgICAqIGluIHRoZSBldmVudCBhIGNhbGxiYWNrIGNhdXNlcyBsYXRlciBzdWJzY3JpcHRpb25zXG4gICAgICogdG8gZGlzYXBwZWFyXG4gICAgICovXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBfY2FsbGJhY2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBfY2FsbGJhY2tzW2ldLmFwcGx5KHRhcmdldCwgYXJncylcbiAgICB9XG5cbiAgICByZXR1cm4gdGFyZ2V0XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0XG59XG5cbm1vZHVsZS5leHBvcnRzID0gRGlvZGUoRGlvZGUpXG5tb2R1bGUuZXhwb3J0cy5kZWNvcmF0ZSA9IERpb2RlXG4iXX0=
module.exports = Diode(Diode)
SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc