MCPcopy
hub / github.com/alibaba/lowcode-engine / Event

Class Event

packages/shell/src/api/event.ts:13–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11const eventBusSymbol = Symbol('eventBus');
12
13export class Event implements IPublicApiEvent {
14 private readonly [eventBusSymbol]: IEventBus;
15 private readonly options: EventOptions;
16
17 constructor(eventBus: IEventBus, options: EventOptions, public workspaceMode = false) {
18 this[eventBusSymbol] = eventBus;
19 this.options = options;
20 if (!this.options.prefix) {
21 logger.warn('prefix is required while initializing Event');
22 }
23 }
24
25 /**
26 * 监听事件
27 * @param event 事件名称
28 * @param listener 事件回调
29 */
30 on(event: string, listener: (...args: any[]) => void): IPublicTypeDisposable {
31 if (isPluginEventName(event)) {
32 return this[eventBusSymbol].on(event, listener);
33 } else {
34 logger.warn(`fail to monitor on event ${event}, event should have a prefix like 'somePrefix:eventName'`);
35 return () => {};
36 }
37 }
38
39 /**
40 * 监听事件,会在其他回调函数之前执行
41 * @param event 事件名称
42 * @param listener 事件回调
43 */
44 prependListener(event: string, listener: (...args: any[]) => void): IPublicTypeDisposable {
45 if (isPluginEventName(event)) {
46 return this[eventBusSymbol].prependListener(event, listener);
47 } else {
48 logger.warn(`fail to prependListener event ${event}, event should have a prefix like 'somePrefix:eventName'`);
49 return () => {};
50 }
51 }
52
53 /**
54 * 取消监听事件
55 * @param event 事件名称
56 * @param listener 事件回调
57 */
58 off(event: string, listener: (...args: any[]) => void) {
59 this[eventBusSymbol].off(event, listener);
60 }
61
62 /**
63 * 触发事件
64 * @param event 事件名称
65 * @param args 事件参数
66 * @returns
67 */
68 emit(event: string, ...args: any[]) {
69 if (!this.options.prefix) {
70 logger.warn('Event#emit has been forbidden while prefix is not specified');

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…