Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
An event pub/sub aggregate utility for javascript apps.
When designing javascript apps it's best to keep modules/features loosely coupled. A great method for accomplishing this is events via publish/subscribe handlers. "Event Sky" was designed to help your apps work without knowing about eachother by utilizing the events with Event Sky.
An event pub-sub aggregate utility for javascript environments.
EventSky
is bundled as a UMD (universal module design) and can be used in the following ways:
<script src="https://unpkg.com/event-sky@x.x.x/build.js" />
<script>
EventSky.on('testEvent', console.info)
EventSke.trigger('testEvent', 'It works!')
console.log(EventSky.events)
</script>
npm i -S event-sky
or yarn add event-sky
const EventSky = require('event-sky')
Note:
EventSky
exports a singleton pattern module. This means it's the same object across require/import's in your commonjs environment, ie:
/* file1.js */
const eventSky = require('event-sky')
eventSky.on('testSingleton', (msg) => console.log(msg))
/* file2.js */
const eventSky = require('event-sky')
eventSky.trigger('testSingleton', 'The singleton pattern works!')
You can add event handlers in different lifecycle hooks, beforeAll
, on
, once
, afterAll
const eventSky = require('event-sky')
eventSky.on('newMessage', (data) => { console.log(data) })
eventSky.beforeAll('newMessage'...)
eventSky.afterAll('newMessage'...)
eventSky.once('newMessage'...)
const data = 'some string...'
eventSky.trigger('newMessage', data)
// by event id
const eventId = eventSky.on('newMessage', (data) => { console.log(data) })
eventSky.off(eventId)
// or by event name and handler
const handler = (data) => { console.log(data) }
eventSky.on('newMessage', handler)
eventSky.off('newMessage', handler)
A convenience method is available to turn all handlers off associated with an event name, ie:
eventSky.beforeAll('eventName', () => { /* ... */ })
eventSky.on('eventName`, () => { /* ... */ })
// remove all lifecycle hooks for event name "eventName"
eventSky.off.all('eventName')
For development purposes you can initialize eventSky to see all event activity in the console:
eventSky.config.firehose = true
You can debug EventSky
by checking the registered events and lifecycles via:
console.dir(eventSky.events)
FAQs
javascript event pub/sub utility
We found that event-sky demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.