@anjianshi/utils 2.4.0 → 2.4.2
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.
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* 支持自定义 Controller 类,例如把 context 中的内容定义成属性。
|
|
6
6
|
*/
|
|
7
|
-
type AnyObject = Record<string, unknown>;
|
|
8
|
-
type AnyController<Context> = Controller<Context, any>;
|
|
7
|
+
export type AnyObject = Record<string, unknown>;
|
|
8
|
+
export type AnyController<Context> = Controller<Context, any>;
|
|
9
9
|
type AnyControllerClass<Context> = typeof Controller<Context, any>;
|
|
10
10
|
export type ControllersFrom<Context, T extends AnyObject> = {
|
|
11
11
|
[K in keyof T]: T[K] extends AnyControllerClass<Context> ? InstanceType<T[K]> : never;
|
|
@@ -17,9 +17,10 @@ export declare class Controller<Context, AllControllers extends Record<string, A
|
|
|
17
17
|
/** 调用其他 controllers */
|
|
18
18
|
protected readonly controllers: AllControllers;
|
|
19
19
|
protected readonly context: Context;
|
|
20
|
+
protected readonly name: string;
|
|
20
21
|
constructor(
|
|
21
22
|
/** 调用其他 controllers */
|
|
22
|
-
controllers: AllControllers, context: Context);
|
|
23
|
+
controllers: AllControllers, context: Context, name?: string);
|
|
23
24
|
}
|
|
24
25
|
/**
|
|
25
26
|
* 传入 Controller 类列表,返回 controller 实例集合。
|
|
@@ -10,11 +10,13 @@
|
|
|
10
10
|
export class Controller {
|
|
11
11
|
controllers;
|
|
12
12
|
context;
|
|
13
|
+
name;
|
|
13
14
|
constructor(
|
|
14
15
|
/** 调用其他 controllers */
|
|
15
|
-
controllers, context) {
|
|
16
|
+
controllers, context, name = this.constructor.name) {
|
|
16
17
|
this.controllers = controllers;
|
|
17
18
|
this.context = context;
|
|
19
|
+
this.name = name;
|
|
18
20
|
}
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
@@ -30,7 +32,7 @@ export function initializeControllers(controllerClasses, context) {
|
|
|
30
32
|
return controllers[prop];
|
|
31
33
|
if (prop in controllerClasses) {
|
|
32
34
|
const Class = controllerClasses[prop];
|
|
33
|
-
controllers[prop] = new Class(proxy, context);
|
|
35
|
+
controllers[prop] = new Class(proxy, context, prop);
|
|
34
36
|
return controllers[prop];
|
|
35
37
|
}
|
|
36
38
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anjianshi/utils",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.2",
|
|
4
4
|
"description": "Common JavaScript Utils",
|
|
5
5
|
"homepage": "https://github.com/anjianshi/js-packages/utils",
|
|
6
6
|
"bugs": {
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
"redis": "^4.7.0",
|
|
28
28
|
"typescript": "^5.6.3",
|
|
29
29
|
"vconsole": "^3.15.1",
|
|
30
|
+
"@anjianshi/presets-eslint-node": "4.0.8",
|
|
31
|
+
"@anjianshi/presets-eslint-typescript": "5.0.5",
|
|
30
32
|
"@anjianshi/presets-eslint-react": "4.0.7",
|
|
31
|
-
"@anjianshi/presets-typescript": "3.2.2",
|
|
32
33
|
"@anjianshi/presets-prettier": "3.0.1",
|
|
33
|
-
"@anjianshi/presets-
|
|
34
|
-
"@anjianshi/presets-eslint-node": "4.0.8"
|
|
34
|
+
"@anjianshi/presets-typescript": "3.2.2"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"@emotion/react": "^11.13.3",
|