1.1.0 • Published 6 years ago

events-imitator v1.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

Emitator

JavaScript events imitator.

Install

npm install events-imitator

Usage

tl;dr

import Emitator from 'events-imitator'

Emitator.init()

// set
Emitator.set('GREETING', () => {
    console.log('Hello, World!')
}, 'HELLO_WORLD_1')
Emitator.set('GREETING', () => {
    console.log('Welcome my app!')
}, 'HELLO_WORLD_2')
Emitator.set('GREETING', () => {
    console.log('Well, let`s start!')
})

// emit 1
Emitator.emit('GREETING')
// Result:
// ->> Hello, World!
// ->> Welcome my app!
// ->> Well, let`s start!

// emit 2
Emitator.get('GREETING').emit('HELLO_WORLD_1')
// Result:
// ->> Hello, World!

// unset
Emitator.get('GREETING').unset('HELLO_WORLD_2')

// emit
Emitator.get('GREETING').emit()
// Result:
// ->> Hello, World!
// ->> Well, let`s start!

Import and Init

Emitator.init(options:object)

import Emitator from 'events-imitator'

// init
Emitator.init()

Creating "event"

Emitator.set(eventName:string, consequence:function, consequenceName:string)

// create and set consequence
// NOTE: in case 'TEST_EVENT' already exists command will add new consequence
Emitator.set('GREETING', () => {
    // consequence callback
    console.log('Hello, World!')
})

// create and set consequence with consequenceName
// NOTE: in case 'HELLO_WORLD' already exists command will rewrite consequence
Emitator.set('GREETING', () => {
    // consequence callback
    console.log('Hello, World!')
}, 'HELLO_WORLD')

Emitting "event"

Emitator.emit(eventName:string, consequenceName:string)

// Emits all created consequences
Emitator.emit('GREETING')

// Emits exact created consequence
Emitator.emit('GREETING', 'HELLO_WORLD')

Getting "event"

Emitator.get(eventName:string)

// return Event object
// NOTE: it is NOT a native JS Event
let event = Emitator.get('GREETING')

Working with "event" - setting consequence

event.set(consequence:function, consequenceName:string)

event.set('GREETING')

Working with "event" - unsetting all consequences

event.clear()

event.clear()

Working with "event" - unsetting exact consequence

event.unset(consequenceName:string)

event.unset('GREETING')

Working with "event" - emitting all consequences

event.emitAll()

event.emitAll()

Working with "event" - emitting exact consequence

event.emitExact(consequenceName:string)

event.emitExact('GREETING')

Working with "event" - emitting all/exact consequences

event.emit(consequenceName:string)

event.emit()                // the same as event.emitAll()
event.emit('GREETING')      // the same as event.emitExact('GREETING')
1.1.0

6 years ago

1.0.1

7 years ago

1.0.0

7 years ago