2.0.30 • Published 2 years ago

@pqstudio/pq_events v2.0.30

Weekly downloads
213
License
MIT
Repository
-
Last release
2 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

2 years ago

2.0.30

2 years ago

2.0.26

2 years ago

2.0.24

2 years ago

2.0.22

3 years ago

2.0.20

3 years ago

2.0.21

3 years ago

2.0.11

3 years ago

2.0.10

3 years ago

2.0.5

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.9

3 years ago

2.0.8

3 years ago

2.0.3

3 years ago

2.0.4

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.1.25

3 years ago

1.1.23

3 years ago

1.1.24

3 years ago

1.1.19

3 years ago

1.1.18

3 years ago

1.1.22

3 years ago

1.1.21

3 years ago

1.1.20

3 years ago

1.1.17

3 years ago

1.1.16

3 years ago

1.1.15

3 years ago

1.1.14

3 years ago

1.1.13

3 years ago

1.1.12

3 years ago

1.1.11

3 years ago

1.1.10

3 years ago

1.1.8

3 years ago

1.1.7

3 years ago

1.1.6

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.1.2

3 years ago

1.0.31

3 years ago

1.0.30

3 years ago

1.0.29

3 years ago

1.0.28

3 years ago

1.0.27

3 years ago

1.0.26

3 years ago

1.0.24

3 years ago

1.0.23

3 years ago

1.0.22

3 years ago

1.0.21

3 years ago

1.0.19

3 years ago

1.0.20

3 years ago

1.0.18

3 years ago

1.0.17

3 years ago