Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

evenity

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

evenity

Unified event attachment and emit utility

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

evenity

js-standard-style travis npm downloads

Unified event attachment utility

Features

  • Attach event to any kind of event-enabled object
  • Same event API for both node-like event emitter instance and html element
  • Return a closable object to detach event

Getting Started

Install the module with: npm install --save evenity

var evenity = require('evenity')
var EventEmitter = require('events').EventEmitter

var el = document.createElement('div')
var obj = new EventEmitter()

function handler(event) {
  // ...
  // event.detail contain the emitted datas
}

// Attach event on any eventemitter-kind object
var eventOnElement = evenity.on(el, 'myevent', handler)
var eventOnObject = evenity.on(obj, 'myevent', handler)

// Attach event once
evenity.once( /* ... */ )

// Detach event
evenity.off(el, 'myevent', handler)
evenity.off(obj, 'myevent', handler)

// Emit event
evenity.emit(el, 'click', {foo:'bar'})
//  {foo:'bar'} is the detail of the CustomEvent for HTMLElement

// Detach event using close method returned by evenity
eventOnElement.close()
eventOnObject.close()

API

evenity.on()

evenity.on({EventEmitter|HTMLElement} obj, {String} eventname, {Function} handler) => {Object} closable

Attach an event handler to an object. If obj is an HTMLElement the handler will receive an event object. Else, handler receive the emitted data.

The returned closable object has a closable.close() method to detach the handler:

var e = evenity.on(obj, 'eventname', function(event) { /* handle event.detail */ } )
e.close() // Detach event handler

evenity.once()

evenity.once({EventEmitter|HTMLElement} obj, {String} eventname, {Function} handler)

Same as evenity.on() but the handler is called only once, then the event is automatically detached

evenity.off()

evenity.off({EventEmitter|HTMLElement} obj, {String} eventname, {Function} handler)

Detach an event handler

evenity.emit()

evenity.emit({EventEmitter|HTMLElement} obj, {String|CustomEvent} eventnameOrCustomEvent, [{mixed|Event} data])

Emit an event. If obj is an HTMLElement, then a CustomEvent is emitted with data as detail. If data is a window.Event instance then

evenity.emit(el, 'myEvent', { foo: 'bar' })
evenity.emit(el, new CustomEvent('myEvent', { detail: {}, bubbles: true, cancelable: true }))
var canceled = !evenity.emit(el, new MouseEvent('click', { view: window, bubbles: true, cancelable: true }))

The MIT License

js-standard-style

Keywords

FAQs

Package last updated on 13 Aug 2015

Did you know?

Socket

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.

Install

Related posts

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