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

simple-custom-event

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

simple-custom-event

Simple custom event implementation, with polyfill

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-60%
Maintainers
1
Weekly downloads
 
Created
Source

Simple Custom Event

devDependencies license

Simple and easy to use custom event implementation with optional EventTarget element.

Features

  • Easy installation and usage
  • EventTarget is not required
  • Internet Explorer 9+ is supported (polyfill included)

Installation

via Yarn
yarn add simple-custom-event
via NPM
npm install simple-custom-event
via CDN
<script src="//unpkg.com/simple-custom-event@1.0.1"></script>

Usage

Sample of usage where we are creating MY_CUSTOM_EVENT event and triggering it with some optional data.

javascript (ES6+)

after Yarn/NPM installation

import SimpleCustomEvent from 'simple-custom-event'

const myEvents = new SimpleCustomEvent()

myEvents.on('MY_CUSTOM_EVENT', (data) => {
    console.log(data.detail)
})

myEvents.trigger('MY_CUSTOM_EVENT', {myOptionalData: 'eg some string'})
typescript

after Yarn/NPM installation

import SimpleCustomEvent from 'simple-custom-event'

const myEvents = new SimpleCustomEvent()

myEvents.on('MY_CUSTOM_EVENT', (data: CustomEvent) => {
    console.log(data.detail)
})

myEvents.trigger('MY_CUSTOM_EVENT', {myOptionalData: 'eg some string'})
javascript (ES5+)

with CDN

<!doctype html>
<html lang="en">
<head>
    <title>Simple Custom Event</title>
</head>
<body>
<script src="//unpkg.com/simple-custom-event@1.0.1"></script>
<script>
    var myEvents = new SimpleCustomEvent()
    
    myEvents.on('MY_CUSTOM_EVENT', function(data) {
        console.log(data.detail)
    })
    
    myEvents.trigger('MY_CUSTOM_EVENT', {myOptionalData: 'eg some string'})
</script>
</body>
</html>
Multi instances

Events simplifies the communication between components of application. Decouples event senders and receivers. Below simple example with multi instances of SimpleCustomEvent class:

file-1.js (ES6):

import SimpleCustomEvent from 'simple-custom-event'

const myEvtListener = new SimpleCustomEvent()
myEvtListener.on('MY_CUSTOM_EVENT', () => {
    // do something...
})

file-2.js (ES6):

import SimpleCustomEvent from 'simple-custom-event'

const myEvtEmiter = new SimpleCustomEvent()
myEvtEmiter.trigger('MY_CUSTOM_EVENT')

Methods

All available, public methods of SimpleCustomEvent class:

  • constructor([target])
    Initializes an object.

    • target
      Type: EventTarget
      DOM interface implemented by objects that can receive events and may have listeners for them.
      Default: document
  • .trigger(eventName[, detail])
    Initializes and dispatches an custom Event, invoking the affected Listeners.

    • eventName
      Type: string
      Custom event name.
    • detail
      Type: any
      Any data passed when triggering the event.
  • .on(eventName, callback)
    Sets up a function that will be called whenever the specified event is triggered.

  • .off(eventName)
    Removes an event listener previously registered with .on().

    • eventName
      Type: string
      Custom event name for which to remove an event listener.

Contributing

Can you improve this simple project? Feel free to join it! Source code is TypeScript.

# project setup
yarn install

# compiles for development
yarn dev
# or
yarn dev:watch

# run unit tests
yarn test

License

Code released under the MIT license.

Keywords

FAQs

Package last updated on 08 Jul 2019

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