New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

xy-events

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xy-events

An events system for JavaScript

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
5
decreased by-58.33%
Maintainers
1
Weekly downloads
 
Created
Source

Events

NOTE: The version >= 1.0.0 had remove the file, dist.

An events system for JavaScript. It can do with async or sync event dispatching.

Installing

Using npm:

npm install xy-events

Example

Use the instance of Events.

const { Events } = require('xy-events');

const instance = new Events();

function logger(event) {
    consol.log(event.message)
}

instance.addEventListener('message', logger);

instance.dispatchEvent({ type: 'message', message: 'This is an example' });

instance.removeEventListener('message', logger);

// Or you can use like this

function logger2(message, message2) {
    console.log(message + message2);
}

instance.addEventListener('message', logger2);

instance.dispatchEvent('message', 'Hello!', 'This is an other example!');

instance.removeEventListener('message', logger2);

Or you can extends Events.

const { Events } = require('xy-events');

function Cat() {
    Events.call(this);
}

const prototype = Object.create(Events.prototype);
Cat.prototype = prototype;
Cat.prototype.constructor = Cat;

Cat.prototype.hunger = function() {
    console.log('I am hunger!');
    this.dispatchEvent({ type: 'hunger' });
}

function feed() {
    console.log('Give the cat a fish');
}

const cat = new Cat();
cat.addEventListener('hunger', feed);
cat.hunger();

Or you can dispatch async or sync event


const { Events } = require('xy-events');

const events = new Events();

function test1() {
    return new Promise((resolve) => {
        setTimeout(() => {
            console.log('test1');
            resolve()
        }, 200);
    })
}
function test2() {
    return new Promise((resolve) => {
        setTimeout(() => {
            console.log('test2');
            resolve()
        }, 100);
    })
}

function test3() {
    return new Promise((resolve) => {
        setTimeout(() => {
            console.log('test3');
            resolve()
        }, 10);
    })
}

function test4() {
    console.log('test4');
}

events.addEventListener('test', test1);
events.addEventListener('test', test2, { mode: 'async' });
events.addEventListener('test', test3, { mode: 'async' });
events.addEventListener('test', test4);
events.dispatchEvent('test');

// -> test2, test3, test4, test1

Or you can dispatch sync event


const { Events } = require('xy-events');

const events = new Events();

function test1() {
    return new Promise((resolve) => {
        setTimeout(() => {
            console.log('test1');
            resolve()
        }, 200);
    })
}
function test2() {
    return new Promise((resolve) => {
        setTimeout(() => {
            console.log('test2');
            resolve()
        }, 100);
    })
}

function test3() {
    return new Promise((resolve) => {
        setTimeout(() => {
            console.log('test3');
            resolve()
        }, 10);
    })
}

function test4() {
    console.log('test4');
}

events.addEventListener('test', test1);
events.addEventListener('test', test2);
events.addEventListener('test', test3);
events.addEventListener('test', test4);
events.syncDispatchEvent('test');

// -> test4, test3, test2, test1

Or you can dispatch async event


const { Events } = require('xy-events');

const events = new Events();

function test1() {
    return new Promise((resolve) => {
        setTimeout(() => {
            console.log('test1');
            resolve()
        }, 200);
    })
}
function test2() {
    return new Promise((resolve) => {
        setTimeout(() => {
            console.log('test2');
            resolve()
        }, 100);
    })
}

function test3() {
    return new Promise((resolve) => {
        setTimeout(() => {
            console.log('test3');
            resolve()
        }, 10);
    })
}

function test4() {
    console.log('test4');
}

events.addEventListener('test', test1);
events.addEventListener('test', test2);
events.addEventListener('test', test3);
events.addEventListener('test', test4);
events.asyncDispatchEvent('test');

// -> test1, test2, test3, test4

Keywords

FAQs

Package last updated on 03 Dec 2020

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