0.0.3 • Published 11 months ago

emitflow v0.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

emitflow

emitflow adalah alat event emitter sederhana berbasis Node.js. Alat ini memudahkan pengelolaan event secara efisien dan ringan.

Instalasi

npm install emitflow

Penggunaan

// esm
import { emitflow } from 'emitflow'
// commonjs
const { emitflow } = require('emitflow')

// Menambahkan listener
emitflow.on('greet', (name) => console.log(`Hello, ${name}!`))
emitflow.emit('greet', 'Alice') // Output: Hello, Alice!

// Listener sekali panggil
emitflow.once('welcome', (name) => console.log(`Welcome, ${name}!`))
emitflow.emit('welcome', 'Bob') // Output: Welcome, Bob!
emitflow.emit('welcome', 'Charlie') // Tidak ada output

// Menghapus listener
const farewell = (name) => console.log(`Goodbye, ${name}!`)
emitflow.on('farewell', farewell)
emitflow.emit('farewell', 'Alice') // Output: Goodbye, Alice!
emitflow.off('farewell', farewell)
emitflow.emit('farewell', 'Alice') // Tidak ada output

API

on(event, listener)

Mendaftarkan sebuah listener untuk event tertentu. Listener akan dipanggil setiap kali event terjadi.

Parameter:

  • event (string): Nama event.
  • listener (function): Fungsi yang akan dipanggil saat event terjadi.

Return Value:

  • Instance dari emitflow (mendukung chaining).

Contoh:

emitflow.on('data', (message) => {
  console.log(`Received: ${message}`)
})

emit(event, ...args)

Memanggil semua listener yang terdaftar untuk sebuah event.

Parameter:

  • event (string): Nama event.
  • ...args: Argumen yang akan diteruskan ke listener.

Return Value:

  • Instance dari emitflow (mendukung chaining).

Contoh:

emitflow.emit('data', 'Hello, World!') // Output: Received: Hello, World!

once(event, listener)

Mendaftarkan sebuah listener yang hanya akan dipanggil sekali.

Parameter:

  • event (string): Nama event.
  • listener (function): Fungsi yang akan dipanggil saat event terjadi.

Return Value:

  • Instance dari emitflow (mendukung chaining).

Contoh:

emitflow.once('connect', () => {
  console.log('Connected!')
})

emitflow.emit('connect') // Output: Connected!
emitflow.emit('connect') // Tidak ada output

off(event, listener)

Menghapus listener spesifik untuk sebuah event.

Parameter:

  • event (string): Nama event.
  • listener (function): Listener yang akan dihapus.

Return Value:

  • Instance dari emitflow (mendukung chaining).

Contoh:

const handler = (msg) => console.log(`Message: ${msg}`)
emitflow.on('message', handler)

emitflow.emit('message', 'Test') // Output: Message: Test
emitflow.off('message', handler)
emitflow.emit('message', 'Test') // Tidak ada output

offAll(event)

Menghapus semua listener yang terdaftar untuk sebuah event.

Parameter:

  • event (string): Nama event.

Return Value:

  • Instance dari emitflow (mendukung chaining).

Contoh:

emitflow.on('data', () => console.log('Listener 1'))
emitflow.on('data', () => console.log('Listener 2'))

emitflow.emit('data') // Output: Listener 1, Listener 2
emitflow.offAll('data')
emitflow.emit('data') // Tidak ada output

Donasi

Ko-fi

Lisensi

MIT

0.0.3

11 months ago

0.0.2

11 months ago

0.0.1

11 months ago