38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import 'typings-global'
|
|
import * as beautycolor from 'beautycolor'
|
|
import * as smartq from 'smartq'
|
|
import { HrtMeasurement } from './early.hrtMeasurement'
|
|
|
|
export {
|
|
HrtMeasurement
|
|
}
|
|
|
|
let doText: boolean = false
|
|
let moduleName: string = 'undefined module name'
|
|
let startHrt: HrtMeasurement
|
|
|
|
if (process.argv.indexOf('-v') === -1) {
|
|
doText = true
|
|
}
|
|
|
|
/**
|
|
* start the loading
|
|
*/
|
|
export let start = function (moduleNameArg: string = '', loaderLengthArg: string = '10') {
|
|
moduleName = moduleNameArg
|
|
startHrt = new HrtMeasurement()
|
|
startHrt.start()
|
|
if (doText) {
|
|
console.log(`**** starting ${beautycolor.coloredString(moduleNameArg, 'green')} ****`)
|
|
}
|
|
}
|
|
|
|
export let stop = (): Promise<number> => {
|
|
let done = smartq.defer<number>()
|
|
let earlyExecutionTime = startHrt.stop().milliSeconds
|
|
let earlyExecutionTimeString: string = (earlyExecutionTime / 1000).toString()
|
|
console.log(`OK! -> finished loading within ${beautycolor.coloredString(earlyExecutionTimeString, 'blue')}`)
|
|
done.resolve(earlyExecutionTime)
|
|
return done.promise
|
|
}
|