| 
									
										
										
										
											2018-01-27 18:11:11 +01:00
										 |  |  | import * as plugins from "./lik.plugins"; | 
					
						
							| 
									
										
										
										
											2017-07-05 14:29:08 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-27 18:11:11 +01:00
										 |  |  | import { Objectmap } from "./lik.objectmap"; | 
					
						
							| 
									
										
										
										
											2017-07-05 14:29:08 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | export class LoopTracker<T> { | 
					
						
							| 
									
										
										
										
											2018-01-27 18:11:11 +01:00
										 |  |  |   referenceObjectMap = new Objectmap<any>(); | 
					
						
							|  |  |  |   constructor() { | 
					
						
							| 
									
										
										
										
											2017-07-05 14:29:08 +02:00
										 |  |  |     // nothing here
 | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /** | 
					
						
							|  |  |  |    * checks and tracks an object | 
					
						
							|  |  |  |    * @param objectArg | 
					
						
							|  |  |  |    */ | 
					
						
							| 
									
										
										
										
											2018-01-27 18:11:11 +01:00
										 |  |  |   checkAndTrack(objectArg: T) { | 
					
						
							|  |  |  |     return this.referenceObjectMap.add(objectArg); | 
					
						
							| 
									
										
										
										
											2017-07-05 14:29:08 +02:00
										 |  |  |   } | 
					
						
							|  |  |  | } |