| 
									
										
										
										
											2018-07-18 08:33:23 +02:00
										 |  |  | import * as consolecolor from '@pushrocks/consolecolor'; | 
					
						
							| 
									
										
										
										
											2018-07-17 23:12:12 +02:00
										 |  |  | import * as smartpromise from '@pushrocks/smartpromise'; | 
					
						
							| 
									
										
										
										
											2022-03-21 08:30:09 +01:00
										 |  |  | import { HrtMeasurement } from './early.hrtMeasurement.js'; | 
					
						
							| 
									
										
										
										
											2017-04-23 20:57:01 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-17 23:12:12 +02:00
										 |  |  | export { HrtMeasurement }; | 
					
						
							| 
									
										
										
										
											2016-06-10 05:18:03 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-17 23:12:12 +02:00
										 |  |  | let doText: boolean = false; | 
					
						
							|  |  |  | let moduleName: string = 'undefined module name'; | 
					
						
							|  |  |  | let startHrt: HrtMeasurement; | 
					
						
							| 
									
										
										
										
											2016-08-20 07:03:49 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-19 00:34:38 +02:00
										 |  |  | if (process.argv.indexOf('-v') === -1) { | 
					
						
							| 
									
										
										
										
											2018-07-17 23:12:12 +02:00
										 |  |  |   doText = true; | 
					
						
							| 
									
										
										
										
											2016-06-10 05:18:03 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-19 00:34:38 +02:00
										 |  |  | /** | 
					
						
							|  |  |  |  * start the loading | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2020-08-10 21:18:50 +00:00
										 |  |  | export let start = function (moduleNameArg: string = '', loaderLengthArg: string = '10') { | 
					
						
							| 
									
										
										
										
											2018-07-17 23:12:12 +02:00
										 |  |  |   moduleName = moduleNameArg; | 
					
						
							|  |  |  |   startHrt = new HrtMeasurement(); | 
					
						
							|  |  |  |   startHrt.start(); | 
					
						
							| 
									
										
										
										
											2020-05-14 12:56:58 +00:00
										 |  |  |   if (doText && process.env.CLI_CALL_MODULENAME === moduleName) { | 
					
						
							| 
									
										
										
										
											2018-07-18 08:33:23 +02:00
										 |  |  |     console.log(`**** starting ${consolecolor.coloredString(moduleNameArg, 'green')} ****`); | 
					
						
							| 
									
										
										
										
											2017-02-17 18:56:58 +01:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2018-07-17 23:12:12 +02:00
										 |  |  | }; | 
					
						
							| 
									
										
										
										
											2016-05-20 19:06:25 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-17 18:56:58 +01:00
										 |  |  | export let stop = (): Promise<number> => { | 
					
						
							| 
									
										
										
										
											2018-07-17 23:12:12 +02:00
										 |  |  |   let done = smartpromise.defer<number>(); | 
					
						
							|  |  |  |   let earlyExecutionTime = startHrt.stop().milliSeconds; | 
					
						
							|  |  |  |   let earlyExecutionTimeString: string = (earlyExecutionTime / 1000).toString(); | 
					
						
							| 
									
										
										
										
											2020-05-14 12:56:58 +00:00
										 |  |  |   if (doText && process.env.CLI_CALL_MODULENAME === moduleName) { | 
					
						
							|  |  |  |     console.log( | 
					
						
							|  |  |  |       `OK! -> finished loading within ${consolecolor.coloredString( | 
					
						
							|  |  |  |         earlyExecutionTimeString, | 
					
						
							|  |  |  |         'blue' | 
					
						
							|  |  |  |       )}`
 | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-17 23:12:12 +02:00
										 |  |  |   done.resolve(earlyExecutionTime); | 
					
						
							|  |  |  |   return done.promise; | 
					
						
							|  |  |  | }; |