@ccpc/core 0.1.16 → 0.1.17
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/index.js +363 -291
- package/package.json +1 -1
- package/types/index.d.ts +3 -0
- package/types/toolkit/signal.d.ts +16 -0
- package/types/toolkit/signal_hook.d.ts +15 -0
- package/types/types/type_define.d.ts +10 -0
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -37,5 +37,8 @@ export { UndoRequest } from './request/buildin_request/undo_request';
|
|
|
37
37
|
export { RedoRequest } from './request/buildin_request/redo_request';
|
|
38
38
|
export { ClassManager } from './toolkit/class_manager';
|
|
39
39
|
export { DebugUtil } from './toolkit/debug_util';
|
|
40
|
+
export { Signal } from './toolkit/signal';
|
|
41
|
+
export { SignalHook } from './toolkit/signal_hook';
|
|
40
42
|
export { EN_CoreRequestIds, EN_ModelViewChanged, EN_RNODE_TYPE } from './types/type_define';
|
|
43
|
+
export type { I_SignalCallbackItem, I_SignalEvent, T_SignalCallbackFn } from './types/type_define';
|
|
41
44
|
export type { IConstructor } from './types/type_guard';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { I_SignalCallbackItem, T_SignalCallbackFn } from '../types/type_define';
|
|
2
|
+
export declare class Signal<S = unknown, D = unknown> {
|
|
3
|
+
subject?: S | undefined;
|
|
4
|
+
_callbacks: I_SignalCallbackItem<S, D>[];
|
|
5
|
+
constructor(subject?: S | undefined);
|
|
6
|
+
/**
|
|
7
|
+
* 事件触发
|
|
8
|
+
* @param 事件参数
|
|
9
|
+
*/
|
|
10
|
+
dispatch(data?: D): void;
|
|
11
|
+
listen(fn: T_SignalCallbackFn<S, D>, listener?: unknown): void;
|
|
12
|
+
unlisten(fn: T_SignalCallbackFn<S, D>, listener?: unknown): void;
|
|
13
|
+
unlistenAll(): void;
|
|
14
|
+
dispose(): void;
|
|
15
|
+
private getCallbackIndex;
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { T_SignalCallbackFn } from '../types/type_define';
|
|
2
|
+
import { Signal } from './signal';
|
|
3
|
+
/**
|
|
4
|
+
* 信号管理工具,便于dispose
|
|
5
|
+
*/
|
|
6
|
+
export declare class SignalHook {
|
|
7
|
+
private _callbacksMap;
|
|
8
|
+
private _listener;
|
|
9
|
+
get listener(): unknown;
|
|
10
|
+
constructor(_listener?: unknown);
|
|
11
|
+
listen<T, K>(signal: Signal<T, K>, callback: T_SignalCallbackFn<T, K>): this;
|
|
12
|
+
unlisten(signal: Signal, callback?: T_SignalCallbackFn): this;
|
|
13
|
+
unlistenAll(): this;
|
|
14
|
+
dispose(): void;
|
|
15
|
+
}
|
|
@@ -29,3 +29,13 @@ export type IDBEleId = {
|
|
|
29
29
|
export type IJSON = {
|
|
30
30
|
[key: string]: unknown;
|
|
31
31
|
};
|
|
32
|
+
export interface I_SignalEvent<S, D> {
|
|
33
|
+
type?: string;
|
|
34
|
+
subject?: S;
|
|
35
|
+
data?: D;
|
|
36
|
+
}
|
|
37
|
+
export type T_SignalCallbackFn<S = unknown, D = unknown> = (data: I_SignalEvent<S, D>) => void;
|
|
38
|
+
export interface I_SignalCallbackItem<S = unknown, D = unknown> {
|
|
39
|
+
listener?: unknown;
|
|
40
|
+
fn: T_SignalCallbackFn<S, D>;
|
|
41
|
+
}
|