envio
Version:
A latency and sync speed optimized, developer friendly blockchain data indexer.
91 lines (71 loc) • 1.46 kB
JavaScript
// Generated by ReScript, PLEASE EDIT WITH CARE
function nanoToMilli(nano) {
return nano / 1000000;
}
function secToMilli(sec) {
return sec * 1000;
}
function nanoToTimeTuple(nano) {
let seconds = Math.floor(nano / 1000000000);
let nanos = nano % 1000000000;
return [
seconds,
nanos
];
}
function timeElapsedToNewRef(elapsed, ref) {
let match = nanoToTimeTuple(elapsed[1] + ref[1]);
return [
elapsed[0] + ref[0] + match[0],
match[1]
];
}
function toMillis(param) {
return param[0] * 1000 + param[1] / 1000000;
}
function toSeconds(param) {
return param[0] + param[1] / 1000000000;
}
let toSecondsFloat = toSeconds;
function toInt(float) {
return float | 0;
}
function floatFromMillis(v) {
return v;
}
function floatFromSeconds(v) {
return v;
}
function millisBetween(from, to) {
return (toMillis(to) | 0) - (toMillis(from) | 0) | 0;
}
function secondsBetween(from, to) {
return toSeconds(to) - toSeconds(from);
}
function makeTimer(prim) {
return process.hrtime();
}
function timeSince(prim) {
return process.hrtime(prim);
}
let intFromMillis = toInt;
let intFromNanos = toInt;
let intFromSeconds = toInt;
export {
makeTimer,
timeSince,
nanoToMilli,
secToMilli,
timeElapsedToNewRef,
toMillis,
toSeconds,
toSecondsFloat,
intFromMillis,
intFromNanos,
intFromSeconds,
floatFromMillis,
floatFromSeconds,
millisBetween,
secondsBetween,
}
/* No side effect */