24 lines
501 B
TypeScript
24 lines
501 B
TypeScript
import * as plugins from './classes.plugins.js';
|
|
|
|
import { ObjectMap } from './classes.objectmap.js';
|
|
|
|
export class LoopTracker<T> {
|
|
referenceObjectMap = new ObjectMap<any>();
|
|
constructor() {
|
|
// nothing here
|
|
}
|
|
|
|
/**
|
|
* checks and tracks an object
|
|
* @param objectArg
|
|
*/
|
|
checkAndTrack(objectArg: T): boolean {
|
|
if (!this.referenceObjectMap.checkForObject(objectArg)) {
|
|
this.referenceObjectMap.add(objectArg);
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|