Files
obsidian-excalidraw-plugin/src/utils/WeakArray.ts
zsviczian 4a430f5fe7 pre-2.2.8
2024-07-04 20:15:33 +02:00

18 lines
368 B
TypeScript

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);
}
});
}
}