mirror of
https://github.com/zsviczian/obsidian-excalidraw-plugin.git
synced 2025-08-06 05:46:28 +00:00
pre-2.2.8
This commit is contained in:
18
src/utils/WeakArray.ts
Normal file
18
src/utils/WeakArray.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
export class WeakArray<T extends object> {
|
||||
private weakArray: WeakRef<T>[] = [];
|
||||
|
||||
constructor() {}
|
||||
|
||||
push(obj: T) {
|
||||
this.weakArray.push(new WeakRef(obj));
|
||||
}
|
||||
|
||||
forEach(callback: (obj: T, index: number) => void) {
|
||||
this.weakArray.forEach((ref, index) => {
|
||||
const obj = ref.deref();
|
||||
if (obj) {
|
||||
callback(obj, index);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user