2.0.30 • Published 3 years ago

@pqstudio/pq_events v2.0.30

Weekly downloads
213
License
MIT
Repository
-
Last release
3 years ago

pq_events

事件实现

Usage

使用装饰器方式

@PQEventSubscriber
class EventBus implements PQIEventDispatcher {
    //#region 实现PQIEventDispatcher
    public on!: <T, U>(type: string, handler: CallBackHandler<T>, caller: U, priority?: number, once?: number) => void;
    public off!: <T, U>(type: string, handler: CallBackHandler<T>, caller: U) => void;
    public emit!: <U>(type: string, data: U) => void;
    public dispatch!: <U>(type: string, data: U) => void;
    //#endregion 实现PQIEventDispatcher

    @addPQEventListener("message")
    public onMessage(event: PQEvent<unknown>): void {
        expect(event.data).toBe(1);
    }

    @addPQEventListener(new A())
    public onMesssage1(event: PQEvent<number>): void {
        expect(event.data).toBe(1);
        expect((<A><unknown>expect(event.source)).a).toBe(1);
    }

    @addPQEventListener(ia)
    public onMesssage2(event: PQEvent<number>): void {
        expect(event.data).toBe(1);
        expect((<A><unknown>expect(event.source)).a).toBe(2);
    }
}

使用继承方式

class EventBus1 extends PQEventDispatcher() implements PQIEventDispatcher {
    //#region 实现PQIEventDispatcher
    public on!: <T, U>(type: string, handler: CallBackHandler<T>, caller: U, priority?: number, once?: number) => void;
    public off!: <T, U>(type: string, handler: CallBackHandler<T>, caller: U) => void;
    public emit!: <U>(type: string, data: U) => void;
    public dispatch!: <U>(type: string, data: U) => void;
    //#endregion 实现PQIEventDispatcher

    @addPQEventListener("message")
    public onMessage(event: PQEvent<unknown>): void {
        expect(event.data).toBe(1);
    }
}
2.0.29

3 years ago

2.0.30

3 years ago

2.0.26

3 years ago

2.0.24

3 years ago

2.0.22

4 years ago

2.0.20

4 years ago

2.0.21

4 years ago

2.0.11

4 years ago

2.0.10

4 years ago

2.0.5

4 years ago

2.0.7

4 years ago

2.0.6

4 years ago

2.0.9

4 years ago

2.0.8

4 years ago

2.0.3

4 years ago

2.0.4

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.1.25

4 years ago

1.1.23

4 years ago

1.1.24

4 years ago

1.1.19

4 years ago

1.1.18

4 years ago

1.1.22

4 years ago

1.1.21

4 years ago

1.1.20

4 years ago

1.1.17

4 years ago

1.1.16

4 years ago

1.1.15

4 years ago

1.1.14

4 years ago

1.1.13

4 years ago

1.1.12

4 years ago

1.1.11

4 years ago

1.1.10

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.1.2

4 years ago

1.0.31

4 years ago

1.0.30

4 years ago

1.0.29

4 years ago

1.0.28

4 years ago

1.0.27

4 years ago

1.0.26

4 years ago

1.0.24

4 years ago

1.0.23

4 years ago

1.0.22

4 years ago

1.0.21

4 years ago

1.0.19

4 years ago

1.0.20

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago