Comparing version 0.0.17 to 0.0.18
@@ -22,12 +22,12 @@ /// <reference types="node" /> | ||
diff: string | number; | ||
log: (...args: any[]) => Debugger; | ||
fatal: (...args: any[]) => Debugger; | ||
error: (...args: any[]) => Debugger; | ||
info: (...args: any[]) => Debugger; | ||
warn: (...args: any[]) => Debugger; | ||
debug: (...args: any[]) => Debugger; | ||
trace: (...args: any[]) => Debugger; | ||
time: (...args: any[]) => Debugger; | ||
end: (...args: any[]) => Debugger; | ||
timeEnd: (...args: any[]) => Debugger; | ||
log: (...args: any[]) => void; | ||
fatal: (...args: any[]) => void; | ||
error: (...args: any[]) => void; | ||
info: (...args: any[]) => void; | ||
warn: (...args: any[]) => void; | ||
debug: (...args: any[]) => void; | ||
trace: (...args: any[]) => void; | ||
time: (...args: any[]) => [number, number]; | ||
end: (...args: any[]) => [number, number]; | ||
timeEnd: (...args: any[]) => [number, number]; | ||
namespace: string; | ||
@@ -100,9 +100,8 @@ extend: (namespace: string, delimiter?: string) => Debugger; | ||
var trace: (...args: any[]) => void; | ||
var time: (...args: any[]) => void; | ||
var time: (...args: any[]) => [number, number]; | ||
var end: (...args: any[]) => void; | ||
var timeEnd: (...args: any[]) => void; | ||
var now: () => [number, number]; | ||
var millis: (start: [number, number], offset?: number) => string; | ||
var millis: (span: [number, number], offset?: number) => string; | ||
} | ||
export { Debug as debug }; | ||
export default Debug; |
@@ -32,8 +32,9 @@ "use strict"; | ||
const self = debug; | ||
const curr = Debug.now(); | ||
const ms = Debug.millis(debug.prev || curr); | ||
self.diff = ms; | ||
let hrt = process.hrtime(); | ||
const curr = hrt; | ||
self.diff = Debug.millis(process.hrtime(debug.prev || curr)); | ||
self.prev = debug.prev; | ||
self.curr = curr; | ||
debug.prev = curr; | ||
// TODO: Move to functions | ||
let timer = ''; | ||
@@ -45,15 +46,24 @@ let stack = ''; | ||
else if (this === Debug.time) { | ||
const label = args.shift() || 'default'; | ||
if (Debug.times[label]) | ||
Debug.log(`Warning: Label '${label}' already exists for Debug.time()`); | ||
const label = args.shift(); | ||
if (!label) { | ||
Debug.times[hrt.join(':')] = hrt; | ||
return hrt; | ||
} | ||
else { | ||
if (Debug.times[label]) | ||
Debug.log(`Warning: Label '${label}' already exists for Debug.time()`); | ||
Debug.times[label] = hrt; | ||
} | ||
timer = `(${label}: start)`; | ||
Debug.times[label] = Debug.now(); | ||
} | ||
else if (this === Debug.timeEnd || this === Debug.end) { | ||
const label = args.shift() || 'default'; | ||
if (!Debug.times[label]) | ||
const first = args.shift(); | ||
const label = Array.isArray(first) ? first.join(':') : first || 'default'; | ||
const start = Debug.times[label]; | ||
if (!start) | ||
Debug.log(`Warning: No such label '${label}' for Debug.timeEnd()`); | ||
const dif = Debug.millis(Debug.times[label]); | ||
hrt = process.hrtime(start); | ||
const dif = Debug.humanize(Debug.millis(hrt)); | ||
delete Debug.times[label]; | ||
timer = `(${label}: ${dif} ms)`; | ||
timer = Array.isArray(first) ? `(${dif})` : `(${label}: ${dif})`; | ||
} | ||
@@ -92,2 +102,3 @@ if (timer && args.length === 0) { | ||
logFn.apply(self, args); | ||
return hrt; | ||
} | ||
@@ -418,2 +429,3 @@ debug.prev = process.hrtime(); | ||
Debug.useConsole() ? console.info(...args) : process.stdout.write(util.format.call(util, ...args) + '\n'); | ||
return void null; | ||
}; | ||
@@ -426,9 +438,5 @@ Debug.end = function end(...args) { | ||
}; | ||
Debug.now = function now() { | ||
return process.hrtime(); | ||
}; | ||
Debug.millis = function millis(start, offset) { | ||
const lapse = process.hrtime(start); | ||
const ms = (lapse[0] * 1000) + Math.floor(lapse[1] / 1000000) - (offset || 0); | ||
const ns = Math.floor((lapse[1] % 1000000) / 1000) / 1000; | ||
Debug.millis = function millis(span, offset) { | ||
const ms = (span[0] * 1000) + Math.floor(span[1] / 1000000) - (offset || 0); | ||
const ns = Math.floor((span[1] % 1000000) / 1000) / 1000; | ||
return `${ms}${ns.toFixed(3).substring(1)}`; | ||
@@ -435,0 +443,0 @@ }; |
{ | ||
"name": "exer", | ||
"version": "0.0.17", | ||
"version": "0.0.18", | ||
"description": "Utils in TypeScript, Debug, NanoTimer ...", | ||
@@ -5,0 +5,0 @@ "author": "kbajalc@gmail.com", |
Sorry, the diff of this file is not supported yet
111675
1710