@eggjs/eventbus-decorator 4.0.0-beta.3 → 4.0.0-beta.30
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 +19 -5
- package/{src → dist}/Event.d.ts +3 -2
- package/dist/Event.js +14 -0
- package/{src → dist}/EventBus.d.ts +4 -4
- package/{src → dist}/EventBus.js +1 -1
- package/{src → dist}/EventContext.d.ts +1 -1
- package/dist/EventContext.js +11 -0
- package/{src → dist}/EventInfoUtil.d.ts +3 -3
- package/dist/EventInfoUtil.js +36 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +5 -0
- package/{src → dist}/typed-emitter.js +1 -1
- package/package.json +27 -28
- package/src/Event.js +0 -14
- package/src/EventContext.js +0 -11
- package/src/EventInfoUtil.js +0 -36
- package/src/index.d.ts +0 -6
- package/src/index.js +0 -5
- package/src/type.d.ts +0 -6
- /package/{src → dist}/typed-emitter.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
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
|
|
6
18
|
|
|
7
19
|
```ts
|
|
8
|
-
import { EventBus } from '@eggjs/eventbus-decorator'
|
|
20
|
+
import { EventBus } from '@eggjs/eventbus-decorator';
|
|
9
21
|
|
|
10
22
|
// Define event first.
|
|
11
23
|
// Ts can check event and args type for you.
|
|
@@ -39,7 +51,7 @@ class Foo {
|
|
|
39
51
|
// ...do something
|
|
40
52
|
this.eventBus.emit('hello', '01');
|
|
41
53
|
// ...do other things
|
|
42
|
-
|
|
54
|
+
|
|
43
55
|
// emit all cached events
|
|
44
56
|
this.eventBus.uncork();
|
|
45
57
|
}
|
|
@@ -58,6 +70,7 @@ export class Foo {
|
|
|
58
70
|
```
|
|
59
71
|
|
|
60
72
|
### handle multiple event
|
|
73
|
+
|
|
61
74
|
```ts
|
|
62
75
|
@Event('hello')
|
|
63
76
|
@Event('hi')
|
|
@@ -68,15 +81,16 @@ export class Foo {
|
|
|
68
81
|
}
|
|
69
82
|
```
|
|
70
83
|
|
|
71
|
-
### inject event context
|
|
72
|
-
|
|
84
|
+
### inject event context
|
|
85
|
+
|
|
86
|
+
inject event context if you want to know which event is being handled.
|
|
73
87
|
The context param must be the first param
|
|
74
88
|
|
|
75
89
|
```ts
|
|
76
90
|
@Event('hello')
|
|
77
91
|
@Event('hi')
|
|
78
92
|
export class Foo {
|
|
79
|
-
async handle(@EventContext() ctx: IEventContext, msg: string):Promise<void> {
|
|
93
|
+
async handle(@EventContext() ctx: IEventContext, msg: string): Promise<void> {
|
|
80
94
|
console.log('eventName: ', ctx.eventName);
|
|
81
95
|
console.log('msg: ', msg);
|
|
82
96
|
}
|
package/{src → dist}/Event.d.ts
RENAMED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { EventHandler } from './EventBus.
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUluRCxNQUFNLFVBQVUsS0FBSyxDQUF5QixTQUFZO0lBQ3hELE9BQU8sVUFBVSxLQUFnQztRQUMvQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QyxNQUFNLElBQUksR0FBRyxjQUFjLENBQUM7WUFDMUIsV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNO1NBQ2hDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNaLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Events } from '
|
|
2
|
-
import type { IEventContext } from './EventContext.
|
|
3
|
-
import type { Arguments, TypedEventEmitter } from './typed-emitter.
|
|
1
|
+
import type { Events } from './Event.ts';
|
|
2
|
+
import type { IEventContext } from './EventContext.ts';
|
|
3
|
+
import type { Arguments, TypedEventEmitter } from './typed-emitter.ts';
|
|
4
4
|
export type EventName = string | symbol;
|
|
5
5
|
export type { Arguments };
|
|
6
6
|
/**
|
|
@@ -13,7 +13,7 @@ export interface EventBus extends Pick<TypedEventEmitter<Events>, 'emit'> {
|
|
|
13
13
|
*/
|
|
14
14
|
uncork(corkId: string): boolean;
|
|
15
15
|
}
|
|
16
|
-
export declare const CORK_ID:
|
|
16
|
+
export declare const CORK_ID: symbol;
|
|
17
17
|
export interface ContextEventBus extends EventBus {
|
|
18
18
|
cork(): void;
|
|
19
19
|
uncork(): boolean;
|
package/{src → dist}/EventBus.js
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const CORK_ID = Symbol.for('eventBus#corkId');
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRCdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRXZlbnRCdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBVyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMifQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0V2ZW50Q29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFJakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBT25ELE1BQU0sVUFBVSxZQUFZO0lBQzFCLE9BQU8sVUFBVSxNQUFXLEVBQUUsV0FBd0IsRUFBRSxjQUFzQjtRQUM1RSxNQUFNLENBQ0osV0FBVyxLQUFLLFFBQVEsRUFDeEIsaUJBQWlCLE1BQU0sQ0FBQyxJQUFJLDhDQUE4QyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FDaEcsQ0FBQztRQUNGLE1BQU0sQ0FBQyxjQUFjLEtBQUssQ0FBQyxFQUFFLGlCQUFpQixNQUFNLENBQUMsSUFBSSxnREFBZ0QsQ0FBQyxDQUFDO1FBQzNHLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxXQUFnQyxDQUFDO1FBQ3RELGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
-
import { EventName } from './EventBus.
|
|
3
|
-
export declare const EVENT_NAME:
|
|
4
|
-
export declare const EVENT_CONTEXT_INJECT:
|
|
2
|
+
import type { EventName } from './EventBus.ts';
|
|
3
|
+
export declare const EVENT_NAME: symbol;
|
|
4
|
+
export declare const EVENT_CONTEXT_INJECT: symbol;
|
|
5
5
|
export declare class EventInfoUtil {
|
|
6
6
|
/**
|
|
7
7
|
* @deprecated
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRJbmZvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9FdmVudEluZm9VdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUtyRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQVcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFXLE1BQU0sQ0FBQyxHQUFHLENBQUMsMkNBQTJDLENBQUMsQ0FBQztBQUVwRyxNQUFNLE9BQU8sYUFBYTtJQUN4Qjs7T0FFRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBb0IsRUFBRSxLQUF3QjtRQUNoRSxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFvQixFQUFFLEtBQXdCO1FBQ2hFLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxvQkFBb0IsQ0FBWSxVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFGLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUF3QjtRQUM5QyxPQUFPLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBd0I7UUFDMUMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFZLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9CLE9BQU8sYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLENBQUMsNEJBQTRCLENBQUMsTUFBZSxFQUFFLEtBQXdCO1FBQzNFLFlBQVksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxNQUFNLENBQUMsNEJBQTRCLENBQUMsS0FBd0I7UUFDMUQsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUN4RSxDQUFDO0NBQ0YifQ==
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
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=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// forked from https://github.com/andywer/typed-emitter
|
|
2
2
|
// export TypedEventEmitter from 'typed-emitter'
|
|
3
3
|
export {};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.30",
|
|
4
4
|
"description": "tegg eventbus decorator",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
@@ -11,48 +11,47 @@
|
|
|
11
11
|
],
|
|
12
12
|
"type": "module",
|
|
13
13
|
"exports": {
|
|
14
|
-
".":
|
|
15
|
-
|
|
16
|
-
"default": "./src/index.js"
|
|
17
|
-
}
|
|
14
|
+
".": "./dist/index.js",
|
|
15
|
+
"./package.json": "./package.json"
|
|
18
16
|
},
|
|
19
17
|
"files": [
|
|
20
|
-
"
|
|
21
|
-
"src/**/*.d.ts"
|
|
18
|
+
"dist"
|
|
22
19
|
],
|
|
23
|
-
"scripts": {
|
|
24
|
-
"clean": "tsc -b --clean",
|
|
25
|
-
"tsc": "npm run clean && tsc -p ./tsconfig.json",
|
|
26
|
-
"tsc:pub": "npm run tsc",
|
|
27
|
-
"prepublishOnly": "npm run tsc"
|
|
28
|
-
},
|
|
29
20
|
"author": "killagu <killa123@126.com>",
|
|
30
21
|
"license": "MIT",
|
|
31
|
-
"homepage": "https://github.com/eggjs/tegg",
|
|
22
|
+
"homepage": "https://github.com/eggjs/egg/tree/next/tegg/core/eventbus-decorator",
|
|
32
23
|
"bugs": {
|
|
33
|
-
"url": "https://github.com/eggjs/
|
|
24
|
+
"url": "https://github.com/eggjs/egg/issues"
|
|
34
25
|
},
|
|
35
26
|
"repository": {
|
|
36
27
|
"type": "git",
|
|
37
|
-
"url": "git@github.com:eggjs/
|
|
38
|
-
"directory": "core/eventbus-decorator"
|
|
28
|
+
"url": "git@github.com:eggjs/egg.git",
|
|
29
|
+
"directory": "tegg/core/eventbus-decorator"
|
|
39
30
|
},
|
|
40
31
|
"dependencies": {
|
|
41
|
-
"@eggjs/core-decorator": "
|
|
42
|
-
"@eggjs/tegg-
|
|
43
|
-
"@eggjs/tegg-
|
|
44
|
-
},
|
|
45
|
-
"engines": {
|
|
46
|
-
"node": ">=20.0.0"
|
|
32
|
+
"@eggjs/core-decorator": "4.0.0-beta.30",
|
|
33
|
+
"@eggjs/tegg-types": "4.0.0-beta.30",
|
|
34
|
+
"@eggjs/tegg-common-util": "4.0.0-beta.30"
|
|
47
35
|
},
|
|
48
36
|
"devDependencies": {
|
|
49
|
-
"@types/node": "
|
|
37
|
+
"@types/node": "^24.9.1",
|
|
50
38
|
"coffee": "5",
|
|
51
|
-
"
|
|
52
|
-
"
|
|
39
|
+
"typescript": "^5.9.3",
|
|
40
|
+
"tsdown": "0.15.9",
|
|
41
|
+
"unplugin-unused": "^0.5.4"
|
|
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 *.tsbuildinfo",
|
|
54
|
+
"build": "tsdown && npm run clean && tsc -p tsconfig.build.json",
|
|
55
|
+
"typecheck": "tsc --noEmit"
|
|
56
|
+
}
|
|
57
|
+
}
|
package/src/Event.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJFdmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS25ELE1BQU0sVUFBVSxLQUFLLENBQXlCLFNBQVk7SUFDeEQsT0FBTyxVQUFTLEtBQWdDO1FBQzlDLGFBQWEsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdDLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQztZQUMxQixXQUFXLEVBQUUsV0FBVyxDQUFDLE1BQU07U0FDaEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ1osYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
package/src/EventContext.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRXZlbnRDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUVqQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFNbkQsTUFBTSxVQUFVLFlBQVk7SUFDMUIsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QixFQUFFLGNBQXNCO1FBQzNFLE1BQU0sQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUM3QixpQkFBaUIsTUFBTSxDQUFDLElBQUksOENBQThDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkcsTUFBTSxDQUFDLGNBQWMsS0FBSyxDQUFDLEVBQ3pCLGlCQUFpQixNQUFNLENBQUMsSUFBSSxnREFBZ0QsQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxXQUFnQyxDQUFDO1FBQ3RELGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
package/src/EventInfoUtil.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRJbmZvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkV2ZW50SW5mb1V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXJELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0FBRTVGLE1BQU0sT0FBTyxhQUFhO0lBQ3hCOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFvQixFQUFFLEtBQXdCO1FBQ2hFLGFBQWEsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQW9CLEVBQUUsS0FBd0I7UUFDaEUsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFZLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUYsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQXdCO1FBQzlDLE9BQU8sWUFBWSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUF3QjtRQUMxQyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsb0JBQW9CLENBQVksVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxRixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDL0IsT0FBTyxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxNQUFlLEVBQUUsS0FBd0I7UUFDM0UsWUFBWSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxLQUF3QjtRQUMxRCxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ3hFLENBQUM7Q0FDRiJ9
|
package/src/index.d.ts
DELETED
package/src/index.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUMifQ==
|
package/src/type.d.ts
DELETED
|
File without changes
|