early/ts/index.ts

43 lines
1.2 KiB
TypeScript
Raw Normal View History

2018-07-18 08:33:23 +02:00
import * as consolecolor from '@pushrocks/consolecolor';
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
export { HrtMeasurement };
2016-06-10 05:18:03 +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) {
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') {
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
}
};
2016-05-20 19:06:25 +02:00
2017-02-17 18:56:58 +01:00
export let stop = (): Promise<number> => {
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'
)}`
);
}
done.resolve(earlyExecutionTime);
return done.promise;
};