From dc45287432c41eb4955f7f912f4e382d2798b044 Mon Sep 17 00:00:00 2001 From: Richie Bendall Date: Mon, 27 Jun 2022 02:02:01 +1200 Subject: [PATCH] Add browser support (#9) Co-authored-by: Sindre Sorhus --- browser.js | 10 ++++++++++ package.json | 7 ++++++- readme.md | 2 ++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 browser.js diff --git a/browser.js b/browser.js new file mode 100644 index 0000000..65ba1a7 --- /dev/null +++ b/browser.js @@ -0,0 +1,10 @@ +export default function timeSpan() { + const start = performance.now(); + + const end = () => performance.now() - start; + end.rounded = () => Math.round(end()); + end.seconds = () => end() / 1000; + end.nanoseconds = () => end() * 1000000; + + return end; +} diff --git a/package.json b/package.json index c9ffd6d..a3c8482 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,11 @@ "url": "https://sindresorhus.com" }, "type": "module", - "exports": "./index.js", + "exports": { + "types": "./index.d.ts", + "node": "./index.js", + "default": "./browser.js" + }, "engines": { "node": ">=12" }, @@ -20,6 +24,7 @@ }, "files": [ "index.js", + "browser.js", "index.d.ts" ], "keywords": [ diff --git a/readme.md b/readme.md index 60faa49..c0075da 100644 --- a/readme.md +++ b/readme.md @@ -2,6 +2,8 @@ > Simplified high resolution timing +Uses [`process.hrtime`](https://nodejs.org/api/process.html#processhrtimebigint) in Node.js and [`performance.now`](https://developer.mozilla.org/en-US/docs/Web/API/Performance/now) in browsers ([accurate to 5 microseconds](https://developer.mozilla.org/en-US/docs/Web/API/DOMHighResTimeStamp)). + ## Install ```