@eggjs/eventbus-decorator 3.62.0 → 4.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/dist/{src/Event.d.ts → Event.d.ts} +3 -2
- package/dist/Event.js +14 -0
- package/dist/{src/EventBus.d.ts → EventBus.d.ts} +7 -8
- package/dist/EventBus.js +2 -0
- package/dist/{src/EventContext.d.ts → EventContext.d.ts} +1 -1
- package/dist/EventContext.js +11 -0
- package/dist/{src/EventInfoUtil.d.ts → EventInfoUtil.d.ts} +1 -1
- package/dist/EventInfoUtil.js +36 -0
- package/dist/index.d.ts +4 -6
- package/dist/index.js +5 -21
- package/dist/typed-emitter.d.ts +36 -0
- package/dist/typed-emitter.js +4 -0
- package/package.json +28 -29
- package/dist/src/Event.js +0 -17
- package/dist/src/EventBus.js +0 -5
- package/dist/src/EventContext.js +0 -17
- package/dist/src/EventInfoUtil.js +0 -41
package/README.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# `@eggjs/eventbus-decorator`
|
|
2
2
|
|
|
3
|
+
[![NPM version][npm-image]][npm-url]
|
|
4
|
+
[![Known Vulnerabilities][snyk-image]][snyk-url]
|
|
5
|
+
[![npm download][download-image]][download-url]
|
|
6
|
+
[](https://nodejs.org/en/download/)
|
|
7
|
+
|
|
8
|
+
[npm-image]: https://img.shields.io/npm/v/@eggjs/eventbus-decorator.svg?style=flat-square
|
|
9
|
+
[npm-url]: https://npmjs.org/package/@eggjs/eventbus-decorator
|
|
10
|
+
[snyk-image]: https://snyk.io/test/npm/@eggjs/eventbus-decorator/badge.svg?style=flat-square
|
|
11
|
+
[snyk-url]: https://snyk.io/test/npm/@eggjs/eventbus-decorator
|
|
12
|
+
[download-image]: https://img.shields.io/npm/dm/@eggjs/eventbus-decorator.svg?style=flat-square
|
|
13
|
+
[download-url]: https://npmjs.org/package/@eggjs/eventbus-decorator
|
|
14
|
+
|
|
3
15
|
## Usage
|
|
4
16
|
|
|
5
17
|
### emit event
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { EventHandler } from '
|
|
2
|
-
|
|
1
|
+
import type { EventHandler } from './EventBus.ts';
|
|
2
|
+
export interface Events {
|
|
3
|
+
}
|
|
3
4
|
export declare function Event<E extends keyof Events>(eventName: E): (clazz: new () => EventHandler<E>) => void;
|
package/dist/Event.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AccessLevel, PrototypeUtil, SingletonProto } from '@eggjs/core-decorator';
|
|
2
|
+
import { StackUtil } from '@eggjs/tegg-common-util';
|
|
3
|
+
import { EventInfoUtil } from "./EventInfoUtil.js";
|
|
4
|
+
export function Event(eventName) {
|
|
5
|
+
return function (clazz) {
|
|
6
|
+
EventInfoUtil.addEventName(eventName, clazz);
|
|
7
|
+
const func = SingletonProto({
|
|
8
|
+
accessLevel: AccessLevel.PUBLIC,
|
|
9
|
+
});
|
|
10
|
+
func(clazz);
|
|
11
|
+
PrototypeUtil.setFilePath(clazz, StackUtil.getCalleeFromStack(false, 5));
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUluRCxNQUFNLFVBQVUsS0FBSyxDQUF5QixTQUFZO0lBQ3hELE9BQU8sVUFBUyxLQUFnQztRQUM5QyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QyxNQUFNLElBQUksR0FBRyxjQUFjLENBQUM7WUFDMUIsV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNO1NBQ2hDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNaLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import { IEventContext } from './EventContext';
|
|
1
|
+
import type { Events } from './Event.ts';
|
|
2
|
+
import type { IEventContext } from './EventContext.ts';
|
|
3
|
+
import type { Arguments, TypedEventEmitter } from './typed-emitter.ts';
|
|
5
4
|
export type EventName = string | symbol;
|
|
6
|
-
export type { Arguments }
|
|
5
|
+
export type { Arguments };
|
|
7
6
|
/**
|
|
8
7
|
* use `emit` to emit a event
|
|
9
8
|
*/
|
|
10
9
|
export interface EventBus extends Pick<TypedEventEmitter<Events>, 'emit'> {
|
|
11
|
-
cork(corkId: string):
|
|
10
|
+
cork(corkId: string): void;
|
|
12
11
|
/**
|
|
13
12
|
* @return true if uncorked
|
|
14
13
|
*/
|
|
@@ -16,8 +15,8 @@ export interface EventBus extends Pick<TypedEventEmitter<Events>, 'emit'> {
|
|
|
16
15
|
}
|
|
17
16
|
export declare const CORK_ID: unique symbol;
|
|
18
17
|
export interface ContextEventBus extends EventBus {
|
|
19
|
-
cork():
|
|
20
|
-
uncork():
|
|
18
|
+
cork(): void;
|
|
19
|
+
uncork(): boolean;
|
|
21
20
|
}
|
|
22
21
|
export type EventKeys = keyof Events;
|
|
23
22
|
/**
|
package/dist/EventBus.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const CORK_ID = Symbol.for('eventBus#corkId');
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRCdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRXZlbnRCdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import { EventInfoUtil } from "./EventInfoUtil.js";
|
|
3
|
+
export function EventContext() {
|
|
4
|
+
return function (target, propertyKey, parameterIndex) {
|
|
5
|
+
assert(propertyKey === 'handle', `[eventHandler ${target.name}] expect method name be handle, but now is ${String(propertyKey)}`);
|
|
6
|
+
assert(parameterIndex === 0, `[eventHandler ${target.name}] expect param EventContext be the first param`);
|
|
7
|
+
const clazz = target.constructor;
|
|
8
|
+
EventInfoUtil.setEventHandlerContextInject(true, clazz);
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0V2ZW50Q29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFJakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBT25ELE1BQU0sVUFBVSxZQUFZO0lBQzFCLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0IsRUFBRSxjQUFzQjtRQUMzRSxNQUFNLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFDN0IsaUJBQWlCLE1BQU0sQ0FBQyxJQUFJLDhDQUE4QyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25HLE1BQU0sQ0FBQyxjQUFjLEtBQUssQ0FBQyxFQUN6QixpQkFBaUIsTUFBTSxDQUFDLElBQUksZ0RBQWdELENBQUMsQ0FBQztRQUNoRixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztRQUN0RCxhQUFhLENBQUMsNEJBQTRCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
-
import { EventName } from './EventBus';
|
|
2
|
+
import type { EventName } from './EventBus.ts';
|
|
3
3
|
export declare const EVENT_NAME: unique symbol;
|
|
4
4
|
export declare const EVENT_CONTEXT_INJECT: unique symbol;
|
|
5
5
|
export declare class EventInfoUtil {
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { MetadataUtil } from '@eggjs/core-decorator';
|
|
2
|
+
export const EVENT_NAME = Symbol.for('EggPrototype#eventName');
|
|
3
|
+
export const EVENT_CONTEXT_INJECT = Symbol.for('EggPrototype#event#handler#context#inject');
|
|
4
|
+
export class EventInfoUtil {
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated
|
|
7
|
+
*/
|
|
8
|
+
static setEventName(eventName, clazz) {
|
|
9
|
+
EventInfoUtil.addEventName(eventName, clazz);
|
|
10
|
+
}
|
|
11
|
+
static addEventName(eventName, clazz) {
|
|
12
|
+
const eventNameList = MetadataUtil.initOwnArrayMetaData(EVENT_NAME, clazz, []);
|
|
13
|
+
eventNameList.push(eventName);
|
|
14
|
+
}
|
|
15
|
+
static getEventNameList(clazz) {
|
|
16
|
+
return MetadataUtil.getArrayMetaData(EVENT_NAME, clazz);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated
|
|
20
|
+
* return the last eventName which is subscribed firstly by Event decorator
|
|
21
|
+
*/
|
|
22
|
+
static getEventName(clazz) {
|
|
23
|
+
const eventNameList = MetadataUtil.initOwnArrayMetaData(EVENT_NAME, clazz, []);
|
|
24
|
+
if (eventNameList.length !== 0) {
|
|
25
|
+
return eventNameList[eventNameList.length - 1];
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
static setEventHandlerContextInject(enable, clazz) {
|
|
30
|
+
MetadataUtil.defineMetaData(EVENT_CONTEXT_INJECT, enable, clazz);
|
|
31
|
+
}
|
|
32
|
+
static getEventHandlerContextInject(clazz) {
|
|
33
|
+
return MetadataUtil.getMetaData(EVENT_CONTEXT_INJECT, clazz) ?? false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRJbmZvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9FdmVudEluZm9VdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUtyRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsMkNBQTJDLENBQUMsQ0FBQztBQUU1RixNQUFNLE9BQU8sYUFBYTtJQUN4Qjs7T0FFRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBb0IsRUFBRSxLQUF3QjtRQUNoRSxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFvQixFQUFFLEtBQXdCO1FBQ2hFLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxvQkFBb0IsQ0FBWSxVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFGLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUF3QjtRQUM5QyxPQUFPLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBd0I7UUFDMUMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFZLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9CLE9BQU8sYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLENBQUMsNEJBQTRCLENBQUMsTUFBZSxFQUFFLEtBQXdCO1FBQzNFLFlBQVksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxNQUFNLENBQUMsNEJBQTRCLENBQUMsS0FBd0I7UUFDMUQsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUN4RSxDQUFDO0NBQ0YifQ==
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './
|
|
5
|
-
export interface Events {
|
|
6
|
-
}
|
|
1
|
+
export * from './EventBus.ts';
|
|
2
|
+
export * from './Event.ts';
|
|
3
|
+
export * from './EventInfoUtil.ts';
|
|
4
|
+
export * from './EventContext.ts';
|
package/dist/index.js
CHANGED
|
@@ -1,21 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./src/EventBus"), exports);
|
|
18
|
-
__exportStar(require("./src/Event"), exports);
|
|
19
|
-
__exportStar(require("./src/EventInfoUtil"), exports);
|
|
20
|
-
__exportStar(require("./src/EventContext"), exports);
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQStCO0FBQy9CLDhDQUE0QjtBQUM1QixzREFBb0M7QUFDcEMscURBQW1DIn0=
|
|
1
|
+
export * from "./EventBus.js";
|
|
2
|
+
export * from "./Event.js";
|
|
3
|
+
export * from "./EventInfoUtil.js";
|
|
4
|
+
export * from "./EventContext.js";
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG1CQUFtQixDQUFDIn0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type Arguments<T> = [T] extends [(...args: infer U) => any] ? U : [T] extends [void] ? [] : [T];
|
|
2
|
+
/**
|
|
3
|
+
* Type-safe event emitter.
|
|
4
|
+
*
|
|
5
|
+
* Use it like this:
|
|
6
|
+
*
|
|
7
|
+
* interface MyEvents {
|
|
8
|
+
* error: (error: Error) => void
|
|
9
|
+
* message: (from: string, content: string) => void
|
|
10
|
+
* }
|
|
11
|
+
*
|
|
12
|
+
* const myEmitter = new EventEmitter() as TypedEmitter<MyEvents>
|
|
13
|
+
*
|
|
14
|
+
* myEmitter.on("message", (from, content) => {
|
|
15
|
+
* // ...
|
|
16
|
+
* })
|
|
17
|
+
*
|
|
18
|
+
* myEmitter.emit("error", "x") // <- Will catch this type error
|
|
19
|
+
*/
|
|
20
|
+
export interface TypedEventEmitter<Events> {
|
|
21
|
+
addListener<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
22
|
+
on<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
23
|
+
once<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
24
|
+
prependListener<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
25
|
+
prependOnceListener<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
26
|
+
off<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
27
|
+
removeAllListeners<E extends keyof Events>(event?: E): this;
|
|
28
|
+
removeListener<E extends keyof Events>(event: E, listener: Events[E]): this;
|
|
29
|
+
emit<E extends keyof Events>(event: E, ...args: Arguments<Events[E]>): boolean;
|
|
30
|
+
eventNames(): (keyof Events | string | symbol)[];
|
|
31
|
+
rawListeners<E extends keyof Events>(event: E): Function[];
|
|
32
|
+
listeners<E extends keyof Events>(event: E): Function[];
|
|
33
|
+
listenerCount<E extends keyof Events>(event: E): number;
|
|
34
|
+
getMaxListeners(): number;
|
|
35
|
+
setMaxListeners(maxListeners: number): this;
|
|
36
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// forked from https://github.com/andywer/typed-emitter
|
|
2
|
+
// export TypedEventEmitter from 'typed-emitter'
|
|
3
|
+
export {};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWQtZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlZC1lbWl0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxnREFBZ0QifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/eventbus-decorator",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-beta.10",
|
|
4
4
|
"description": "tegg eventbus decorator",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
@@ -9,22 +9,17 @@
|
|
|
9
9
|
"eventemitter",
|
|
10
10
|
"tegg"
|
|
11
11
|
],
|
|
12
|
-
"
|
|
12
|
+
"type": "module",
|
|
13
|
+
"exports": {
|
|
14
|
+
".": "./dist/index.js",
|
|
15
|
+
"./package.json": "./package.json"
|
|
16
|
+
},
|
|
13
17
|
"files": [
|
|
14
|
-
"dist
|
|
15
|
-
"dist/**/*.d.ts"
|
|
18
|
+
"dist"
|
|
16
19
|
],
|
|
17
|
-
"typings": "dist/index.d.ts",
|
|
18
|
-
"scripts": {
|
|
19
|
-
"test": "cross-env NODE_ENV=test NODE_OPTIONS='--no-deprecation' mocha",
|
|
20
|
-
"clean": "tsc -b --clean",
|
|
21
|
-
"tsc": "npm run clean && tsc -p ./tsconfig.json",
|
|
22
|
-
"tsc:pub": "npm run clean && tsc -p ./tsconfig.pub.json",
|
|
23
|
-
"prepublishOnly": "npm run tsc:pub"
|
|
24
|
-
},
|
|
25
20
|
"author": "killagu <killa123@126.com>",
|
|
26
21
|
"license": "MIT",
|
|
27
|
-
"homepage": "https://github.com/eggjs/tegg",
|
|
22
|
+
"homepage": "https://github.com/eggjs/tegg/tree/next/core/eventbus-decorator",
|
|
28
23
|
"bugs": {
|
|
29
24
|
"url": "https://github.com/eggjs/tegg/issues"
|
|
30
25
|
},
|
|
@@ -34,25 +29,29 @@
|
|
|
34
29
|
"directory": "core/eventbus-decorator"
|
|
35
30
|
},
|
|
36
31
|
"dependencies": {
|
|
37
|
-
"@eggjs/core-decorator": "
|
|
38
|
-
"@eggjs/tegg-
|
|
39
|
-
"@eggjs/tegg-
|
|
40
|
-
"typed-emitter": "^1.3.1"
|
|
41
|
-
},
|
|
42
|
-
"engines": {
|
|
43
|
-
"node": ">=14.0.0"
|
|
32
|
+
"@eggjs/core-decorator": "4.0.0-beta.10",
|
|
33
|
+
"@eggjs/tegg-types": "4.0.0-beta.10",
|
|
34
|
+
"@eggjs/tegg-common-util": "4.0.0-beta.10"
|
|
44
35
|
},
|
|
45
36
|
"devDependencies": {
|
|
46
|
-
"@types/
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
37
|
+
"@types/node": "^22.10.5",
|
|
38
|
+
"coffee": "^5.1.0",
|
|
39
|
+
"typescript": "^5.9.3",
|
|
40
|
+
"tsdown": "^0.15.6",
|
|
41
|
+
"unplugin-unused": "^0.5.3"
|
|
42
|
+
},
|
|
43
|
+
"engines": {
|
|
44
|
+
"node": ">=22.18.0"
|
|
53
45
|
},
|
|
54
46
|
"publishConfig": {
|
|
55
47
|
"access": "public"
|
|
56
48
|
},
|
|
57
|
-
"
|
|
58
|
-
|
|
49
|
+
"main": "./dist/index.js",
|
|
50
|
+
"module": "./dist/index.js",
|
|
51
|
+
"types": "./dist/index.d.ts",
|
|
52
|
+
"scripts": {
|
|
53
|
+
"clean": "rimraf dist",
|
|
54
|
+
"build": "tsdown && rimraf dist && tsc -b --clean && tsc",
|
|
55
|
+
"typecheck": "tsc --noEmit"
|
|
56
|
+
}
|
|
57
|
+
}
|
package/dist/src/Event.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Event = Event;
|
|
4
|
-
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
5
|
-
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
|
|
6
|
-
const EventInfoUtil_1 = require("./EventInfoUtil");
|
|
7
|
-
function Event(eventName) {
|
|
8
|
-
return function (clazz) {
|
|
9
|
-
EventInfoUtil_1.EventInfoUtil.addEventName(eventName, clazz);
|
|
10
|
-
const func = (0, core_decorator_1.SingletonProto)({
|
|
11
|
-
accessLevel: core_decorator_1.AccessLevel.PUBLIC,
|
|
12
|
-
});
|
|
13
|
-
func(clazz);
|
|
14
|
-
core_decorator_1.PrototypeUtil.setFilePath(clazz, tegg_common_util_1.StackUtil.getCalleeFromStack(false, 5));
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvRXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxzQkFTQztBQWpCRCwwREFBbUY7QUFDbkYsOERBQW9EO0FBRXBELG1EQUFnRDtBQUtoRCxTQUFnQixLQUFLLENBQXlCLFNBQVk7SUFDeEQsT0FBTyxVQUFTLEtBQWdDO1FBQzlDLDZCQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QyxNQUFNLElBQUksR0FBRyxJQUFBLCtCQUFjLEVBQUM7WUFDMUIsV0FBVyxFQUFFLDRCQUFXLENBQUMsTUFBTTtTQUNoQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDWiw4QkFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsNEJBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
package/dist/src/EventBus.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CORK_ID = void 0;
|
|
4
|
-
exports.CORK_ID = Symbol.for('eventBus#corkId');
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRCdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvRXZlbnRCdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBc0JhLFFBQUEsT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyJ9
|
package/dist/src/EventContext.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.EventContext = EventContext;
|
|
7
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
-
const EventInfoUtil_1 = require("./EventInfoUtil");
|
|
9
|
-
function EventContext() {
|
|
10
|
-
return function (target, propertyKey, parameterIndex) {
|
|
11
|
-
(0, node_assert_1.default)(propertyKey === 'handle', `[eventHandler ${target.name}] expect method name be handle, but now is ${String(propertyKey)}`);
|
|
12
|
-
(0, node_assert_1.default)(parameterIndex === 0, `[eventHandler ${target.name}] expect param EventContext be the first param`);
|
|
13
|
-
const clazz = target.constructor;
|
|
14
|
-
EventInfoUtil_1.EventInfoUtil.setEventHandlerContextInject(true, clazz);
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0V2ZW50Q29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVdBLG9DQVNDO0FBakJELDhEQUFpQztBQUVqQyxtREFBZ0Q7QUFNaEQsU0FBZ0IsWUFBWTtJQUMxQixPQUFPLFVBQVMsTUFBVyxFQUFFLFdBQXdCLEVBQUUsY0FBc0I7UUFDM0UsSUFBQSxxQkFBTSxFQUFDLFdBQVcsS0FBSyxRQUFRLEVBQzdCLGlCQUFpQixNQUFNLENBQUMsSUFBSSw4Q0FBOEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRyxJQUFBLHFCQUFNLEVBQUMsY0FBYyxLQUFLLENBQUMsRUFDekIsaUJBQWlCLE1BQU0sQ0FBQyxJQUFJLGdEQUFnRCxDQUFDLENBQUM7UUFDaEYsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7UUFDdEQsNkJBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EventInfoUtil = exports.EVENT_CONTEXT_INJECT = exports.EVENT_NAME = void 0;
|
|
4
|
-
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
5
|
-
exports.EVENT_NAME = Symbol.for('EggPrototype#eventName');
|
|
6
|
-
exports.EVENT_CONTEXT_INJECT = Symbol.for('EggPrototype#event#handler#context#inject');
|
|
7
|
-
class EventInfoUtil {
|
|
8
|
-
/**
|
|
9
|
-
* @deprecated
|
|
10
|
-
*/
|
|
11
|
-
static setEventName(eventName, clazz) {
|
|
12
|
-
EventInfoUtil.addEventName(eventName, clazz);
|
|
13
|
-
}
|
|
14
|
-
static addEventName(eventName, clazz) {
|
|
15
|
-
const eventNameList = core_decorator_1.MetadataUtil.initOwnArrayMetaData(exports.EVENT_NAME, clazz, []);
|
|
16
|
-
eventNameList.push(eventName);
|
|
17
|
-
}
|
|
18
|
-
static getEventNameList(clazz) {
|
|
19
|
-
return core_decorator_1.MetadataUtil.getArrayMetaData(exports.EVENT_NAME, clazz);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @deprecated
|
|
23
|
-
* return the last eventName which is subscribed firstly by Event decorator
|
|
24
|
-
*/
|
|
25
|
-
static getEventName(clazz) {
|
|
26
|
-
const eventNameList = core_decorator_1.MetadataUtil.initOwnArrayMetaData(exports.EVENT_NAME, clazz, []);
|
|
27
|
-
if (eventNameList.length !== 0) {
|
|
28
|
-
return eventNameList[eventNameList.length - 1];
|
|
29
|
-
}
|
|
30
|
-
return undefined;
|
|
31
|
-
}
|
|
32
|
-
static setEventHandlerContextInject(enable, clazz) {
|
|
33
|
-
core_decorator_1.MetadataUtil.defineMetaData(exports.EVENT_CONTEXT_INJECT, enable, clazz);
|
|
34
|
-
}
|
|
35
|
-
static getEventHandlerContextInject(clazz) {
|
|
36
|
-
var _a;
|
|
37
|
-
return (_a = core_decorator_1.MetadataUtil.getMetaData(exports.EVENT_CONTEXT_INJECT, clazz)) !== null && _a !== void 0 ? _a : false;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.EventInfoUtil = EventInfoUtil;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRJbmZvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9FdmVudEluZm9VdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBEQUFxRDtBQUl4QyxRQUFBLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDbEQsUUFBQSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7QUFFNUYsTUFBYSxhQUFhO0lBQ3hCOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFvQixFQUFFLEtBQXdCO1FBQ2hFLGFBQWEsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQW9CLEVBQUUsS0FBd0I7UUFDaEUsTUFBTSxhQUFhLEdBQUcsNkJBQVksQ0FBQyxvQkFBb0IsQ0FBWSxrQkFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxRixhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBd0I7UUFDOUMsT0FBTyw2QkFBWSxDQUFDLGdCQUFnQixDQUFDLGtCQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBd0I7UUFDMUMsTUFBTSxhQUFhLEdBQUcsNkJBQVksQ0FBQyxvQkFBb0IsQ0FBWSxrQkFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxRixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDL0IsT0FBTyxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxNQUFlLEVBQUUsS0FBd0I7UUFDM0UsNkJBQVksQ0FBQyxjQUFjLENBQUMsNEJBQW9CLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxNQUFNLENBQUMsNEJBQTRCLENBQUMsS0FBd0I7O1FBQzFELE9BQU8sTUFBQSw2QkFBWSxDQUFDLFdBQVcsQ0FBQyw0QkFBb0IsRUFBRSxLQUFLLENBQUMsbUNBQUksS0FBSyxDQUFDO0lBQ3hFLENBQUM7Q0FDRjtBQXBDRCxzQ0FvQ0MifQ==
|