@nlabs/storybook-channels

3.4.3 • Public • Published

Storybook Channel

Build Status on CircleCI CodeFactor Known Vulnerabilities BCH compliance codecov


Storybook Channel is similar to an EventEmitter. Channels are used with Storybook implementations to send/receive events between the Storybook Manager and the Storybook Renderer.

class Channel {
  addListener(type, listener) {}
  addPeerListener(type, listener) {} // ignore events from itself
  emit(type, ...args) {}
  eventNames() {}
  listenerCount(type) {}
  listeners(type) {}
  on(type, listener) {}
  once(type, listener) {}
  prependListener(type, listener) {}
  prependOnceListener(type, listener) {}
  removeAllListeners(type) {}
  removeListener(type, listener) {}
}

The channel takes a Transport object as a parameter which will be used to send/receive messages. The transport object should implement this interface.

class Transport {
  send(event) {}
  setHandler(handler) {}
}

Currently, channels are baked into storybook implementations and therefore this module is not designed to be used directly by addon developers. When developing addons, use the getChannel method exported by @nlabs/storybook-addons module. For this to work, Storybook implementations should use the setChannel method before loading addons.

import addons from '@nlabs/storybook-addons';

const channel = addons.getChannel();

For more information visit: storybook.nitrogenlabs.com

Readme

Keywords

none

Package Sidebar

Install

npm i @nlabs/storybook-channels

Weekly Downloads

1

Version

3.4.3

License

MIT

Last publish

Collaborators

  • nitrog7