UNPKG

@push.rocks/lik

Version:

Provides a collection of lightweight helpers and utilities for Node.js projects.

38 lines (32 loc) 769 B
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; } } /** * resets the loop tracker, clearing all tracked objects */ public reset() { this.referenceObjectMap.wipe(); } /** * destroys the loop tracker and its underlying ObjectMap */ public destroy() { this.referenceObjectMap.destroy(); } }