0.5.1 • Published 4 years ago

base-event-object v0.5.1

Weekly downloads
11
License
MIT
Repository
github
Last release
4 years ago

base-event-object

Installation

npm

$ npm install base-event-object --save

yarn

$ yarn add base-event-object

Usage

import BaseEventObject from 'base-event-object';

// Pass in an array of event names for initializing the supported events
const eventObject = new BaseEventObject(['change']);

const handle = (e, ...args) => {};

let listener = eventObject.on('change', handle); // Add 'change' listener

listener.remove(); // Remove 'change' listener
// or
eventObject.off('change', handle); // Remove 'change' listener

eventObject.off('change'); // Remove all 'change' listener
eventObject.off(); // Remove all listener

eventObject.emit('change', ...args); // Emit 'change' event

More usage

const eventObject = new BaseEventObject({
    // Every time the emit will trigger the event
    events: ['change'],
  
    // Emit only once, and the event will be executed immediately after each registration
    onceEvents: ['ready']
});

eventObject.once('change', e => {}); // The handler will only execute once

eventObject.on('ready', e => {}); // Wait for the emit to execute
eventObject.emit('ready');
eventObject.on('ready', e => {}); // It will be implemented immediately

// Register multiple event listeners simultaneously
eventObject.on('ready change', e => {});

Inherit

ES6

class EventObject extends BaseEventObject {
    constructor(events) {
        super(events);
    }
}
const eventObject = new EventObject(['change']);

ES5

function EventObject (events) {
    BaseEventObject.call(this, events);
}
EventObject.prototype = Object.create(BaseEventObject.prototype);
const eventObject = new EventObject(['change']);

Extend

const customObject = new CustomObject();
const eventObject = new BaseEventObject(['change']);
Object.assign(customObject, eventObject);

Params

BaseEventObject( events )

events {String|Array|Object} Single event name, or event name array, or event option.

If it is an event option, it contains two optional attributes.

Each property is an array containing supported event names.

  • events : Every time the emit will trigger the event.
  • onceEvents : Emit only once, and the event will be executed immediately after each registration.
new BaseEventObject('ready change');
// or
new BaseEventObject(['ready', 'change']);
// Is equivalent to
new BaseEventObject({ events: ['ready', 'change'] });

License

MIT

0.5.1

4 years ago

0.5.0

5 years ago

0.4.0

5 years ago

0.3.11

6 years ago

0.3.10

7 years ago

0.3.9

7 years ago

0.3.8

7 years ago

0.3.7

7 years ago

0.3.6

7 years ago

0.3.5

7 years ago

0.3.4

7 years ago

0.3.3

7 years ago

0.3.2

7 years ago

0.3.1

7 years ago

0.3.0

7 years ago

0.2.0

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago