Files
unleash/src/lib/timer.ts
T
Christopher Kolstad 240c6a77a1 Feat/options need types (#794)
feat: options are now typed

- This makes it easier to know what to send to unleash.start / unleash.create
- Using a Partial to instantiate the config, then melding it with defaults to get a config object with all fields set either to their defaults or to whatever is passed in.


Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-04-22 10:07:10 +02:00

24 lines
461 B
TypeScript

const NS_TO_S = 1e9;
// seconds takes a tuple of [seconds, nanoseconds]
// and returns the time in seconds
const seconds: (diff: [number, number]) => number = diff =>
diff[0] + diff[1] / NS_TO_S;
const newTimer: () => () => number = () => {
const now = process.hrtime();
return () => seconds(process.hrtime(now));
};
const timer = {
seconds,
new: newTimer,
};
export default timer;
module.exports = {
seconds,
new: newTimer,
};