Socket
Socket
Sign inDemoInstall

@storybook/channels

Package Overview
Dependencies
Maintainers
12
Versions
1907
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@storybook/channels - npm Package Compare versions

Comparing version 4.0.0-alpha.6 to 4.0.0-alpha.7

19

dist/index.js

@@ -29,2 +29,4 @@ "use strict";

function Channel(_ref) {
var _this = this;
var transport = _ref.transport;

@@ -35,3 +37,5 @@ (0, _classCallCheck3.default)(this, Channel);

this._transport = transport;
this._transport.setHandler(this._handleEvent.bind(this));
this._transport.setHandler(function (event) {
return _this._handleEvent(event);
});
this._listeners = {};

@@ -48,8 +52,4 @@ }

value: function addPeerListener(type, listener) {
var _this = this;
var peerListener = listener;
peerListener.isPeer = function (from) {
return from === _this._sender;
};
peerListener.ignorePeer = true;
this.on(type, peerListener);

@@ -66,2 +66,3 @@ }

this._transport.send(event);
this._handleEvent(event, true);
}

@@ -135,7 +136,7 @@ }, {

key: "_handleEvent",
value: function _handleEvent(event) {
value: function _handleEvent(event, isPeer) {
var listeners = this._listeners[event.type];
if (listeners) {
if (listeners && (isPeer || event.from !== this._sender)) {
listeners.forEach(function (fn) {
return !(fn.isPeer && fn.isPeer(event.from)) && fn.apply(undefined, (0, _toConsumableArray3.default)(event.args));
return !(isPeer && fn.ignorePeer) && fn.apply(undefined, (0, _toConsumableArray3.default)(event.args));
});

@@ -142,0 +143,0 @@ }

{
"name": "@storybook/channels",
"version": "4.0.0-alpha.6",
"version": "4.0.0-alpha.7",
"description": "",

@@ -5,0 +5,0 @@ "license": "MIT",

@@ -7,3 +7,3 @@ /* eslint no-underscore-dangle: 0 */

this._transport = transport;
this._transport.setHandler(this._handleEvent.bind(this));
this._transport.setHandler(event => this._handleEvent(event));
this._listeners = {};

@@ -18,3 +18,3 @@ }

const peerListener = listener;
peerListener.isPeer = from => from === this._sender;
peerListener.ignorePeer = true;
this.on(type, peerListener);

@@ -26,2 +26,3 @@ }

this._transport.send(event);
this._handleEvent(event, true);
}

@@ -84,6 +85,6 @@

_handleEvent(event) {
_handleEvent(event, isPeer) {
const listeners = this._listeners[event.type];
if (listeners) {
listeners.forEach(fn => !(fn.isPeer && fn.isPeer(event.from)) && fn(...event.args));
if (listeners && (isPeer || event.from !== this._sender)) {
listeners.forEach(fn => !(isPeer && fn.ignorePeer) && fn(...event.args));
}

@@ -90,0 +91,0 @@ }

@@ -198,3 +198,3 @@ /* eslint no-underscore-dangle: 0 */

describe('_miscellaneous', () => {
it('should not ignore if event came from itself', () => {
it('should ignore if event came from own sender', () => {
const received = [];

@@ -204,2 +204,10 @@ channel.on('type-1', n => received.push(n));

channel._handleEvent({ type: 'type-1', args: [12], from: channel._sender });
expect(received).toEqual([11]);
});
it('should not ignore peer event', () => {
const received = [];
channel.on('type-1', n => received.push(n));
channel._handleEvent({ type: 'type-1', args: [11] });
channel._handleEvent({ type: 'type-1', args: [12] }, true);
expect(received).toEqual([11, 12]);

@@ -213,2 +221,3 @@ });

channel._handleEvent({ type: 'type-1', args: [12], from: '_' });
channel._handleEvent({ type: 'type-1', args: [13] }, true);
expect(received).toEqual([12]);

@@ -215,0 +224,0 @@ });

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