@gby/destroyable 1.0.2 → 2.0.0
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/dist/Destroyable.d.ts +96 -275
- package/dist/Destroyable.d.ts.map +1 -1
- package/dist/DestroyableSub.d.ts +8 -4
- package/dist/DestroyableSub.d.ts.map +1 -1
- package/dist/NodeDestroyable.d.ts +80 -0
- package/dist/NodeDestroyable.d.ts.map +1 -0
- package/dist/WebDestroyable.d.ts +78 -0
- package/dist/WebDestroyable.d.ts.map +1 -0
- package/dist/createDestroyableSubClass-Blnpqngp.js +283 -0
- package/dist/createDestroyableSubClass-Ck7j3oA0.cjs +1 -0
- package/dist/createDestroyableSubClass.d.ts +12 -2
- package/dist/createDestroyableSubClass.d.ts.map +1 -1
- package/dist/index-node.cjs +1 -0
- package/dist/index-node.d.ts +12 -0
- package/dist/index-node.d.ts.map +1 -0
- package/dist/index-node.js +143 -0
- package/dist/index-web.cjs +1 -0
- package/dist/index-web.d.ts +12 -0
- package/dist/index-web.d.ts.map +1 -0
- package/dist/index-web.js +143 -0
- package/dist/index.cjs +1 -0
- package/dist/index.js +11 -226
- package/package.json +15 -4
- package/dist/index.umd.cjs +0 -1
- package/dist/tsdoc-metadata.json +0 -11
package/dist/Destroyable.d.ts
CHANGED
|
@@ -1,275 +1,96 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* 是否已经销毁
|
|
99
|
-
*/
|
|
100
|
-
get isDestroyed(): boolean;
|
|
101
|
-
_isDestroyed: boolean;
|
|
102
|
-
/**
|
|
103
|
-
* 销毁者
|
|
104
|
-
*/
|
|
105
|
-
_destroyers: FunDestroyer[];
|
|
106
|
-
/**
|
|
107
|
-
* 添加销毁者
|
|
108
|
-
* @param fun
|
|
109
|
-
* @returns 返回销毁者的顺序
|
|
110
|
-
*/
|
|
111
|
-
disposeFun<T extends FunDestroyer>(fun: T): T;
|
|
112
|
-
/**
|
|
113
|
-
* 取消销毁者函数
|
|
114
|
-
* @param fun
|
|
115
|
-
* @returns
|
|
116
|
-
*/
|
|
117
|
-
cancelDisposeFun<T extends FunDestroyer>(fun: T): T;
|
|
118
|
-
/**
|
|
119
|
-
* 添加销毁对象
|
|
120
|
-
* @param obj
|
|
121
|
-
* @param sync - 表示是否使用 `obj.destroy()` 方法进行销毁;默认使用 `obj.destroyAsync()` 方法进行销毁
|
|
122
|
-
* @returns
|
|
123
|
-
*/
|
|
124
|
-
disposeObj<T extends Destroyable>(obj: T, sync?: boolean): T;
|
|
125
|
-
/**
|
|
126
|
-
* 取消销毁者函数
|
|
127
|
-
* @param fun
|
|
128
|
-
* @returns
|
|
129
|
-
*/
|
|
130
|
-
cancelDisposeObj<T extends Destroyable>(obj: T): T;
|
|
131
|
-
/**
|
|
132
|
-
* 添加销毁函数或销毁对象
|
|
133
|
-
* @param fun
|
|
134
|
-
*/
|
|
135
|
-
dispose<T extends FunDestroyer>(fun: T): T;
|
|
136
|
-
dispose<T extends Destroyable>(obj: T, asyncDestroy?: boolean): T;
|
|
137
|
-
dispose<T extends Destroyable | FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
|
|
138
|
-
cancelDispose<T extends FunDestroyer>(fun: T): T;
|
|
139
|
-
cancelDispose<T extends Destroyable>(obj: T): T;
|
|
140
|
-
cancelDispose<T extends Destroyable | FunDestroyer>(objOrFun: T): T;
|
|
141
|
-
/**
|
|
142
|
-
* 自己的销毁方法
|
|
143
|
-
* @remarks
|
|
144
|
-
* 子类根据需要进行重载
|
|
145
|
-
*/
|
|
146
|
-
destroyThis(): void;
|
|
147
|
-
/**
|
|
148
|
-
* 销毁
|
|
149
|
-
*/
|
|
150
|
-
destroy(): true | undefined;
|
|
151
|
-
/**
|
|
152
|
-
* 异步销毁
|
|
153
|
-
* @remarks
|
|
154
|
-
* 会依次执行销毁,并且只有上一个销毁完成之后才会执行下一个销毁
|
|
155
|
-
*/
|
|
156
|
-
destroyAsync(): Promise<true | undefined>;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* createDestroyableSubClass 创建的类的实例类型
|
|
161
|
-
*/
|
|
162
|
-
export declare type DestroyableSub<ParentClass extends new (...args: any) => Object> = InstanceType<DestroyableSubClass<ParentClass>>;
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* createDestroyableSubClass 创建的类的类型
|
|
166
|
-
*/
|
|
167
|
-
export declare type DestroyableSubClass<ParentClass extends new (...args: any) => Object> = ReturnType<typeof createDestroyableSubClass<ParentClass>>;
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* 销毁 Destroyable 对象
|
|
171
|
-
* @param object
|
|
172
|
-
* @returns
|
|
173
|
-
*/
|
|
174
|
-
export declare function destroyDestroyable(object: Destroyable): boolean;
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* 销毁对象
|
|
178
|
-
* @param object
|
|
179
|
-
* @returns
|
|
180
|
-
*/
|
|
181
|
-
export declare function destroyObject(object: any): boolean;
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* 函数销毁者
|
|
185
|
-
*/
|
|
186
|
-
export declare type FunDestroyer = () => void;
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* NodeDestroyable 类对象
|
|
190
|
-
*/
|
|
191
|
-
export declare const NodeDestroyable: {
|
|
192
|
-
new (...args: any): {
|
|
193
|
-
readonly isDestroyed: boolean;
|
|
194
|
-
_isDestroyed: boolean;
|
|
195
|
-
_destroyers: FunDestroyer_2[];
|
|
196
|
-
disposeFun<T extends FunDestroyer_2>(fun: T): T;
|
|
197
|
-
cancelDisposeFun<T extends FunDestroyer_2>(fun: T): T;
|
|
198
|
-
disposeObj<T extends /*elided*/ any>(obj: T, sync?: boolean): T;
|
|
199
|
-
cancelDisposeObj<T extends /*elided*/ any>(obj: T): T;
|
|
200
|
-
dispose<T extends FunDestroyer_2>(fun: T): T;
|
|
201
|
-
dispose<T extends /*elided*/ any>(obj: T, asyncDestroy?: boolean): T;
|
|
202
|
-
dispose<T extends FunDestroyer_2 | /*elided*/ any>(objOrFun: T, asyncDestroy?: boolean): T;
|
|
203
|
-
cancelDispose<T extends FunDestroyer_2>(fun: T): T;
|
|
204
|
-
cancelDispose<T extends /*elided*/ any>(obj: T): T;
|
|
205
|
-
cancelDispose<T extends FunDestroyer_2 | /*elided*/ any>(objOrFun: T): T;
|
|
206
|
-
destroyThis(): void;
|
|
207
|
-
destroy(): true | undefined;
|
|
208
|
-
destroyAsync(): Promise<true | undefined>;
|
|
209
|
-
constructor: Function;
|
|
210
|
-
toString(): string;
|
|
211
|
-
toLocaleString(): string;
|
|
212
|
-
valueOf(): Object;
|
|
213
|
-
hasOwnProperty(v: PropertyKey): boolean;
|
|
214
|
-
isPrototypeOf(v: Object): boolean;
|
|
215
|
-
propertyIsEnumerable(v: PropertyKey): boolean;
|
|
216
|
-
};
|
|
217
|
-
} & typeof EventEmitter;
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* NodeDestroyable 实例的类型
|
|
221
|
-
*/
|
|
222
|
-
export declare type NodeDestroyable = InstanceType<NodeDestroyableClass>;
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* NodeDestroyable 类的类型
|
|
226
|
-
*/
|
|
227
|
-
export declare type NodeDestroyableClass = typeof NodeDestroyable;
|
|
228
|
-
|
|
229
|
-
/**
|
|
230
|
-
* 调用已销对象的时抛出错误
|
|
231
|
-
*/
|
|
232
|
-
export declare function throwOnDestroyed(): void;
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
* WebDestroyable 类对象
|
|
236
|
-
*/
|
|
237
|
-
export declare const WebDestroyable: {
|
|
238
|
-
new (...args: any): {
|
|
239
|
-
readonly isDestroyed: boolean;
|
|
240
|
-
_isDestroyed: boolean;
|
|
241
|
-
_destroyers: FunDestroyer_2[];
|
|
242
|
-
disposeFun<T extends FunDestroyer_2>(fun: T): T;
|
|
243
|
-
cancelDisposeFun<T extends FunDestroyer_2>(fun: T): T;
|
|
244
|
-
disposeObj<T extends /*elided*/ any>(obj: T, sync?: boolean): T;
|
|
245
|
-
cancelDisposeObj<T extends /*elided*/ any>(obj: T): T;
|
|
246
|
-
dispose<T extends FunDestroyer_2>(fun: T): T;
|
|
247
|
-
dispose<T extends /*elided*/ any>(obj: T, asyncDestroy?: boolean): T;
|
|
248
|
-
dispose<T extends FunDestroyer_2 | /*elided*/ any>(objOrFun: T, asyncDestroy?: boolean): T;
|
|
249
|
-
cancelDispose<T extends FunDestroyer_2>(fun: T): T;
|
|
250
|
-
cancelDispose<T extends /*elided*/ any>(obj: T): T;
|
|
251
|
-
cancelDispose<T extends FunDestroyer_2 | /*elided*/ any>(objOrFun: T): T;
|
|
252
|
-
destroyThis(): void;
|
|
253
|
-
destroy(): true | undefined;
|
|
254
|
-
destroyAsync(): Promise<true | undefined>;
|
|
255
|
-
constructor: Function;
|
|
256
|
-
toString(): string;
|
|
257
|
-
toLocaleString(): string;
|
|
258
|
-
valueOf(): Object;
|
|
259
|
-
hasOwnProperty(v: PropertyKey): boolean;
|
|
260
|
-
isPrototypeOf(v: Object): boolean;
|
|
261
|
-
propertyIsEnumerable(v: PropertyKey): boolean;
|
|
262
|
-
};
|
|
263
|
-
} & typeof EventBus;
|
|
264
|
-
|
|
265
|
-
/**
|
|
266
|
-
* WebDestroyable 实例的类型
|
|
267
|
-
*/
|
|
268
|
-
export declare type WebDestroyable = InstanceType<WebDestroyableClass>;
|
|
269
|
-
|
|
270
|
-
/**
|
|
271
|
-
* WebDestroyable 类的类型
|
|
272
|
-
*/
|
|
273
|
-
export declare type WebDestroyableClass = typeof WebDestroyable;
|
|
274
|
-
|
|
275
|
-
export { }
|
|
1
|
+
/**
|
|
2
|
+
* 函数销毁者
|
|
3
|
+
*/
|
|
4
|
+
export type FunDestroyer = () => void;
|
|
5
|
+
/**
|
|
6
|
+
* 可销毁的对象
|
|
7
|
+
*/
|
|
8
|
+
export declare class Destroyable {
|
|
9
|
+
/**
|
|
10
|
+
* 引用计数
|
|
11
|
+
* @remarks
|
|
12
|
+
* 引用计数为 0 时,对象才会被销毁
|
|
13
|
+
*/
|
|
14
|
+
refCount: number;
|
|
15
|
+
/**
|
|
16
|
+
* 是否已经销毁
|
|
17
|
+
*/
|
|
18
|
+
get isDestroyed(): boolean;
|
|
19
|
+
_isDestroyed: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* 是否可以销毁
|
|
22
|
+
*/
|
|
23
|
+
get canDestroy(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* 销毁者
|
|
26
|
+
*/
|
|
27
|
+
_destroyers: FunDestroyer[];
|
|
28
|
+
/**
|
|
29
|
+
* 添加销毁者
|
|
30
|
+
* @param fun
|
|
31
|
+
* @returns 返回销毁者的顺序
|
|
32
|
+
*/
|
|
33
|
+
disposeFun<T extends FunDestroyer>(fun: T): T;
|
|
34
|
+
/**
|
|
35
|
+
* 取消销毁者函数
|
|
36
|
+
* @param fun
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
cancelDisposeFun<T extends FunDestroyer>(fun: T): T;
|
|
40
|
+
/**
|
|
41
|
+
* 添加销毁对象
|
|
42
|
+
* @param obj
|
|
43
|
+
* @param sync - 表示是否使用 `obj.destroy()` 方法进行销毁;默认使用 `obj.destroyAsync()` 方法进行销毁
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
disposeObj<T extends Destroyable>(obj: T, sync?: boolean): T;
|
|
47
|
+
/**
|
|
48
|
+
* 取消销毁者函数
|
|
49
|
+
* @param fun
|
|
50
|
+
* @returns
|
|
51
|
+
*/
|
|
52
|
+
cancelDisposeObj<T extends Destroyable>(obj: T): T;
|
|
53
|
+
/**
|
|
54
|
+
* 添加销毁函数或销毁对象
|
|
55
|
+
* @param fun
|
|
56
|
+
*/
|
|
57
|
+
dispose<T extends FunDestroyer>(fun: T): T;
|
|
58
|
+
dispose<T extends Destroyable>(obj: T, asyncDestroy?: boolean): T;
|
|
59
|
+
dispose<T extends Destroyable | FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
|
|
60
|
+
cancelDispose<T extends FunDestroyer>(fun: T): T;
|
|
61
|
+
cancelDispose<T extends Destroyable>(obj: T): T;
|
|
62
|
+
cancelDispose<T extends Destroyable | FunDestroyer>(objOrFun: T): T;
|
|
63
|
+
/**
|
|
64
|
+
* 自己的销毁方法
|
|
65
|
+
* @remarks
|
|
66
|
+
* 子类根据需要进行重载
|
|
67
|
+
*/
|
|
68
|
+
destroyThis(): void;
|
|
69
|
+
/**
|
|
70
|
+
* 销毁
|
|
71
|
+
*/
|
|
72
|
+
destroy(): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* 异步销毁
|
|
75
|
+
* @remarks
|
|
76
|
+
* 会依次执行销毁,并且只有上一个销毁完成之后才会执行下一个销毁
|
|
77
|
+
*/
|
|
78
|
+
destroyAsync(): Promise<boolean>;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* 调用已销对象的时抛出错误
|
|
82
|
+
*/
|
|
83
|
+
export declare function throwOnDestroyed(): void;
|
|
84
|
+
/**
|
|
85
|
+
* 销毁对象
|
|
86
|
+
* @param object
|
|
87
|
+
* @returns
|
|
88
|
+
*/
|
|
89
|
+
export declare function destroyObject(object: any): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* 销毁 Destroyable 对象
|
|
92
|
+
* @param object
|
|
93
|
+
* @returns
|
|
94
|
+
*/
|
|
95
|
+
export declare function destroyDestroyable(object: any): boolean;
|
|
96
|
+
//# sourceMappingURL=Destroyable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Destroyable.d.ts","sourceRoot":"","sources":["../src/Destroyable.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC;AAGtC;;GAEG;AACH,qBAAa,WAAW;IAEpB;;OAEG;IACH,IAAI,WAAW,YAEd;IACD,YAAY,UAAS;IAErB;;OAEG;IACH,WAAW,EAAE,YAAY,EAAE,CAAM;IAEjC;;;;OAIG;IACH,UAAU,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAK7C;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAMnD;;;;;OAKG;IACH,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC,IAAI,CAAC,EAAC,OAAO,GAAG,CAAC;IAQ1D;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IASlD;;;OAGG;IACH,OAAO,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAC1C,OAAO,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC,YAAY,CAAC,EAAC,OAAO,GAAG,CAAC;IAC/D,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAC,YAAY,CAAC,EAAC,OAAO,GAAG,CAAC;IASnF,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAChD,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAC/C,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,YAAY,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAcnE;;;;OAIG;IACH,WAAW;IAKX;;OAEG;IACH,OAAO;
|
|
1
|
+
{"version":3,"file":"Destroyable.d.ts","sourceRoot":"","sources":["../src/Destroyable.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC;AAGtC;;GAEG;AACH,qBAAa,WAAW;IAEpB;;;;OAIG;IACH,QAAQ,SAAK;IAEb;;OAEG;IACH,IAAI,WAAW,YAEd;IACD,YAAY,UAAS;IAErB;;OAEG;IACH,IAAI,UAAU,YAEb;IAED;;OAEG;IACH,WAAW,EAAE,YAAY,EAAE,CAAM;IAEjC;;;;OAIG;IACH,UAAU,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAK7C;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAMnD;;;;;OAKG;IACH,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC,IAAI,CAAC,EAAC,OAAO,GAAG,CAAC;IAQ1D;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IASlD;;;OAGG;IACH,OAAO,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAC1C,OAAO,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC,YAAY,CAAC,EAAC,OAAO,GAAG,CAAC;IAC/D,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAC,YAAY,CAAC,EAAC,OAAO,GAAG,CAAC;IASnF,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAChD,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAC/C,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,YAAY,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAcnE;;;;OAIG;IACH,WAAW;IAKX;;OAEG;IACH,OAAO;IA6BP;;;;OAIG;IACG,YAAY;CA6BrB;AAOD;;GAEG;AACH,wBAAgB,gBAAgB,SAE/B;AAKD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,WASxC;AAKD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,WAY7C"}
|
package/dist/DestroyableSub.d.ts
CHANGED
|
@@ -5,8 +5,10 @@ import { EventEmitter } from "node:events";
|
|
|
5
5
|
*/
|
|
6
6
|
export declare const WebDestroyable: {
|
|
7
7
|
new (...args: any): {
|
|
8
|
+
refCount: number;
|
|
8
9
|
readonly isDestroyed: boolean;
|
|
9
10
|
_isDestroyed: boolean;
|
|
11
|
+
readonly canDestroy: boolean;
|
|
10
12
|
_destroyers: import("./Destroyable").FunDestroyer[];
|
|
11
13
|
disposeFun<T extends import("./Destroyable").FunDestroyer>(fun: T): T;
|
|
12
14
|
cancelDisposeFun<T extends import("./Destroyable").FunDestroyer>(fun: T): T;
|
|
@@ -19,8 +21,8 @@ export declare const WebDestroyable: {
|
|
|
19
21
|
cancelDispose<T extends /*elided*/ any>(obj: T): T;
|
|
20
22
|
cancelDispose<T extends import("./Destroyable").FunDestroyer | /*elided*/ any>(objOrFun: T): T;
|
|
21
23
|
destroyThis(): void;
|
|
22
|
-
destroy():
|
|
23
|
-
destroyAsync(): Promise<
|
|
24
|
+
destroy(): boolean;
|
|
25
|
+
destroyAsync(): Promise<boolean>;
|
|
24
26
|
constructor: Function;
|
|
25
27
|
toString(): string;
|
|
26
28
|
toLocaleString(): string;
|
|
@@ -43,8 +45,10 @@ export type WebDestroyable = InstanceType<WebDestroyableClass>;
|
|
|
43
45
|
*/
|
|
44
46
|
export declare const NodeDestroyable: {
|
|
45
47
|
new (...args: any): {
|
|
48
|
+
refCount: number;
|
|
46
49
|
readonly isDestroyed: boolean;
|
|
47
50
|
_isDestroyed: boolean;
|
|
51
|
+
readonly canDestroy: boolean;
|
|
48
52
|
_destroyers: import("./Destroyable").FunDestroyer[];
|
|
49
53
|
disposeFun<T extends import("./Destroyable").FunDestroyer>(fun: T): T;
|
|
50
54
|
cancelDisposeFun<T extends import("./Destroyable").FunDestroyer>(fun: T): T;
|
|
@@ -57,8 +61,8 @@ export declare const NodeDestroyable: {
|
|
|
57
61
|
cancelDispose<T extends /*elided*/ any>(obj: T): T;
|
|
58
62
|
cancelDispose<T extends import("./Destroyable").FunDestroyer | /*elided*/ any>(objOrFun: T): T;
|
|
59
63
|
destroyThis(): void;
|
|
60
|
-
destroy():
|
|
61
|
-
destroyAsync(): Promise<
|
|
64
|
+
destroy(): boolean;
|
|
65
|
+
destroyAsync(): Promise<boolean>;
|
|
62
66
|
constructor: Function;
|
|
63
67
|
toString(): string;
|
|
64
68
|
toLocaleString(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DestroyableSub.d.ts","sourceRoot":"","sources":["../src/DestroyableSub.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"DestroyableSub.d.ts","sourceRoot":"","sources":["../src/DestroyableSub.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAsC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,cAAc,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAA0C,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,eAAe,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { FunDestroyer } from "./Destroyable";
|
|
2
|
+
import { EventEmitter } from "node:events";
|
|
3
|
+
export type EventMap<T> = Record<keyof T, any[]> | DefaultEventMap;
|
|
4
|
+
export type DefaultEventMap = [never];
|
|
5
|
+
/**
|
|
6
|
+
* 可销毁的对象
|
|
7
|
+
*/
|
|
8
|
+
export declare class NodeDestroyable<EM extends EventMap<EM> = DefaultEventMap> extends EventEmitter<EM> {
|
|
9
|
+
/**
|
|
10
|
+
* 引用计数
|
|
11
|
+
* @remarks
|
|
12
|
+
* 引用计数为 0 时,对象才会被销毁
|
|
13
|
+
*/
|
|
14
|
+
refCount: number;
|
|
15
|
+
/**
|
|
16
|
+
* 是否已经销毁
|
|
17
|
+
*/
|
|
18
|
+
get isDestroyed(): boolean;
|
|
19
|
+
_isDestroyed: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* 是否可以销毁
|
|
22
|
+
*/
|
|
23
|
+
get canDestroy(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* 销毁者
|
|
26
|
+
*/
|
|
27
|
+
_destroyers: FunDestroyer[];
|
|
28
|
+
/**
|
|
29
|
+
* 添加销毁者
|
|
30
|
+
* @param fun
|
|
31
|
+
* @returns 返回销毁者的顺序
|
|
32
|
+
*/
|
|
33
|
+
disposeFun<T extends FunDestroyer>(fun: T): T;
|
|
34
|
+
/**
|
|
35
|
+
* 取消销毁者函数
|
|
36
|
+
* @param fun
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
cancelDisposeFun<T extends FunDestroyer>(fun: T): T;
|
|
40
|
+
/**
|
|
41
|
+
* 添加销毁对象
|
|
42
|
+
* @param obj
|
|
43
|
+
* @param sync - 表示是否使用 `obj.destroy()` 方法进行销毁;默认使用 `obj.destroyAsync()` 方法进行销毁
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
disposeObj<T extends NodeDestroyable>(obj: T, sync?: boolean): T;
|
|
47
|
+
/**
|
|
48
|
+
* 取消销毁者函数
|
|
49
|
+
* @param fun
|
|
50
|
+
* @returns
|
|
51
|
+
*/
|
|
52
|
+
cancelDisposeObj<T extends NodeDestroyable>(obj: T): T;
|
|
53
|
+
/**
|
|
54
|
+
* 添加销毁函数或销毁对象
|
|
55
|
+
* @param fun
|
|
56
|
+
*/
|
|
57
|
+
dispose<T extends FunDestroyer>(fun: T): T;
|
|
58
|
+
dispose<T extends NodeDestroyable>(obj: T, asyncDestroy?: boolean): T;
|
|
59
|
+
dispose<T extends NodeDestroyable | FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
|
|
60
|
+
cancelDispose<T extends FunDestroyer>(fun: T): T;
|
|
61
|
+
cancelDispose<T extends NodeDestroyable>(obj: T): T;
|
|
62
|
+
cancelDispose<T extends NodeDestroyable | FunDestroyer>(objOrFun: T): T;
|
|
63
|
+
/**
|
|
64
|
+
* 自己的销毁方法
|
|
65
|
+
* @remarks
|
|
66
|
+
* 子类根据需要进行重载
|
|
67
|
+
*/
|
|
68
|
+
destroyThis(): void;
|
|
69
|
+
/**
|
|
70
|
+
* 销毁
|
|
71
|
+
*/
|
|
72
|
+
destroy(): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* 异步销毁
|
|
75
|
+
* @remarks
|
|
76
|
+
* 会依次执行销毁,并且只有上一个销毁完成之后才会执行下一个销毁
|
|
77
|
+
*/
|
|
78
|
+
destroyAsync(): Promise<boolean>;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=NodeDestroyable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeDestroyable.d.ts","sourceRoot":"","sources":["../src/NodeDestroyable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC;AACnE,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,CAAC;AAEtC;;GAEG;AACH,qBAAa,eAAe,CAAC,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,eAAe,CAAE,SAAQ,YAAY,CAAC,EAAE,CAAC;IAE5F;;;;OAIG;IACH,QAAQ,SAAK;IAEb;;OAEG;IACH,IAAI,WAAW,YAEd;IACD,YAAY,UAAS;IAErB;;OAEG;IACH,IAAI,UAAU,YAEb;IAED;;OAEG;IACH,WAAW,EAAE,YAAY,EAAE,CAAM;IAEjC;;;;OAIG;IACH,UAAU,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAK7C;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAMnD;;;;;OAKG;IACH,UAAU,CAAC,CAAC,SAAS,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC;IAQhE;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAStD;;;OAGG;IACH,OAAO,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAC1C,OAAO,CAAC,CAAC,SAAS,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC;IACrE,OAAO,CAAC,CAAC,SAAS,eAAe,GAAG,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC;IASzF,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAChD,aAAa,CAAC,CAAC,SAAS,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IACnD,aAAa,CAAC,CAAC,SAAS,eAAe,GAAG,YAAY,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAcvE;;;;OAIG;IACH,WAAW;IAKX;;OAEG;IACH,OAAO;IA6BP;;;;OAIG;IACG,YAAY;CA6BrB"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { FunDestroyer } from "./Destroyable";
|
|
2
|
+
import { EventBus } from "@gby/event-bus";
|
|
3
|
+
/**
|
|
4
|
+
* 可销毁的对象
|
|
5
|
+
*/
|
|
6
|
+
export declare class WebDestroyable<EM extends Record<string, any> = Record<string, any>> extends EventBus<EM> {
|
|
7
|
+
/**
|
|
8
|
+
* 引用计数
|
|
9
|
+
* @remarks
|
|
10
|
+
* 引用计数为 0 时,对象才会被销毁
|
|
11
|
+
*/
|
|
12
|
+
refCount: number;
|
|
13
|
+
/**
|
|
14
|
+
* 是否已经销毁
|
|
15
|
+
*/
|
|
16
|
+
get isDestroyed(): boolean;
|
|
17
|
+
_isDestroyed: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* 是否可以销毁
|
|
20
|
+
*/
|
|
21
|
+
get canDestroy(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* 销毁者
|
|
24
|
+
*/
|
|
25
|
+
_destroyers: FunDestroyer[];
|
|
26
|
+
/**
|
|
27
|
+
* 添加销毁者
|
|
28
|
+
* @param fun
|
|
29
|
+
* @returns 返回销毁者的顺序
|
|
30
|
+
*/
|
|
31
|
+
disposeFun<T extends FunDestroyer>(fun: T): T;
|
|
32
|
+
/**
|
|
33
|
+
* 取消销毁者函数
|
|
34
|
+
* @param fun
|
|
35
|
+
* @returns
|
|
36
|
+
*/
|
|
37
|
+
cancelDisposeFun<T extends FunDestroyer>(fun: T): T;
|
|
38
|
+
/**
|
|
39
|
+
* 添加销毁对象
|
|
40
|
+
* @param obj
|
|
41
|
+
* @param sync - 表示是否使用 `obj.destroy()` 方法进行销毁;默认使用 `obj.destroyAsync()` 方法进行销毁
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
disposeObj<T extends WebDestroyable>(obj: T, sync?: boolean): T;
|
|
45
|
+
/**
|
|
46
|
+
* 取消销毁者函数
|
|
47
|
+
* @param fun
|
|
48
|
+
* @returns
|
|
49
|
+
*/
|
|
50
|
+
cancelDisposeObj<T extends WebDestroyable>(obj: T): T;
|
|
51
|
+
/**
|
|
52
|
+
* 添加销毁函数或销毁对象
|
|
53
|
+
* @param fun
|
|
54
|
+
*/
|
|
55
|
+
dispose<T extends FunDestroyer>(fun: T): T;
|
|
56
|
+
dispose<T extends WebDestroyable>(obj: T, asyncDestroy?: boolean): T;
|
|
57
|
+
dispose<T extends WebDestroyable | FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
|
|
58
|
+
cancelDispose<T extends FunDestroyer>(fun: T): T;
|
|
59
|
+
cancelDispose<T extends WebDestroyable>(obj: T): T;
|
|
60
|
+
cancelDispose<T extends WebDestroyable | FunDestroyer>(objOrFun: T): T;
|
|
61
|
+
/**
|
|
62
|
+
* 自己的销毁方法
|
|
63
|
+
* @remarks
|
|
64
|
+
* 子类根据需要进行重载
|
|
65
|
+
*/
|
|
66
|
+
destroyThis(): void;
|
|
67
|
+
/**
|
|
68
|
+
* 销毁
|
|
69
|
+
*/
|
|
70
|
+
destroy(): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* 异步销毁
|
|
73
|
+
* @remarks
|
|
74
|
+
* 会依次执行销毁,并且只有上一个销毁完成之后才会执行下一个销毁
|
|
75
|
+
*/
|
|
76
|
+
destroyAsync(): Promise<boolean>;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=WebDestroyable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebDestroyable.d.ts","sourceRoot":"","sources":["../src/WebDestroyable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAGxC;;GAEG;AACH,qBAAa,cAAc,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,QAAQ,CAAC,EAAE,CAAC;IAElG;;;;OAIG;IACH,QAAQ,SAAK;IAEb;;OAEG;IACH,IAAI,WAAW,YAEd;IACD,YAAY,UAAS;IAErB;;OAEG;IACH,IAAI,UAAU,YAEb;IAED;;OAEG;IACH,WAAW,EAAE,YAAY,EAAE,CAAM;IAEjC;;;;OAIG;IACH,UAAU,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAK7C;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAMnD;;;;;OAKG;IACH,UAAU,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC;IAQ/D;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IASrD;;;OAGG;IACH,OAAO,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAC1C,OAAO,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC;IACpE,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC;IASxF,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAChD,aAAa,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAClD,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,YAAY,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IActE;;;;OAIG;IACH,WAAW;IAKX;;OAEG;IACH,OAAO;IA6BP;;;;OAIG;IACG,YAAY;CA6BrB"}
|