1.0.3 • Published 5 months ago

xl_events v1.0.3

Weekly downloads
-
License
ISC
Repository
-
Last release
5 months ago

xl_events

基础的事件模型

方法

  • on(eventName: string, listener: Listener): void
  • once(eventName: string, listener: Listener): void
  • emit(eventName: string, ...args: unknown[]) : void
  • off(eventName: string): void

属性

  • listeners: Listeners
demo
// 全局 events
import { events } from 'xl_events';

events.on('click', ()=>console.log('click'));
events.on('click.top', (params)=>console.log('click.top'+params));

events.emit('click','test'); // console.log: click and click.toptest
events.emit('click.top','test'); // console.log: click.toptest
import Events from 'xl_events';

// 创建一个实例
const events =  new Events()

events.on('click', ()=>console.log('click'));
// 替换前面的事件
events.on('click', ()=>console.log('click2'));

events.emit('click','test'); // console.log: click2 and click.toptest

类型

export interface Listener<D = unknown> {
  (...params: D[]): unknown;
}

export interface Handle {
  handle: Listener;
  once: boolean;
  eventName: string;
}

export type Listeners = Record<string, Record<string, Handle>>;
1.0.3

5 months ago

1.0.2

5 months ago

1.0.1

5 months ago