@jrc03c/pause 0.0.10 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ {
2
+ "arrowParens": "avoid",
3
+ "bracketSameLine": true,
4
+ "htmlWhitespaceSensitivity": "ignore",
5
+ "semi": false,
6
+ "singleQuote": false,
7
+ "tabWidth": 2,
8
+ "useTabs": false,
9
+ "vueIndentScriptAndStyle": true
10
+ }
package/dist/pause.js CHANGED
@@ -1,28 +1,18 @@
1
1
  (() => {
2
2
  // src/index.mjs
3
- function pauseAsync(ms) {
3
+ function pause(ms) {
4
4
  return new Promise((resolve, reject) => {
5
5
  try {
6
- const start = /* @__PURE__ */ new Date();
7
- return setTimeout(() => resolve(/* @__PURE__ */ new Date() - start), ms);
6
+ const start = performance.now();
7
+ return setTimeout(() => resolve(performance.now() - start), ms);
8
8
  } catch (e) {
9
9
  return reject(e);
10
10
  }
11
11
  });
12
12
  }
13
- function pauseSync(ms) {
14
- const start = /* @__PURE__ */ new Date();
15
- let now = /* @__PURE__ */ new Date();
16
- while (now - start < ms) {
17
- now = /* @__PURE__ */ new Date();
18
- }
19
- return /* @__PURE__ */ new Date() - start;
20
- }
21
13
 
22
14
  // src/iife.mjs
23
15
  if (typeof globalThis !== "undefined") {
24
- globalThis.pause = pauseAsync;
25
- globalThis.pauseAsync = pauseAsync;
26
- globalThis.pauseSync = pauseSync;
16
+ globalThis.pause = pause;
27
17
  }
28
18
  })();
package/dist/pause.min.js CHANGED
@@ -1 +1 @@
1
- (()=>{function s(t){return new Promise((e,n)=>{try{let a=new Date;return setTimeout(()=>e(new Date-a),t)}catch(a){return n(a)}})}function u(t){let e=new Date,n=new Date;for(;n-e<t;)n=new Date;return new Date-e}typeof globalThis<"u"&&(globalThis.pause=s,globalThis.pauseAsync=s,globalThis.pauseSync=u);})();
1
+ (()=>{function r(o){return new Promise((t,n)=>{try{let e=performance.now();return setTimeout(()=>t(performance.now()-e),o)}catch(e){return n(e)}})}typeof globalThis<"u"&&(globalThis.pause=r);})();
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "a simple async pause function",
4
4
  "devDependencies": {
5
5
  "@eslint/js": "^9.12.0",
6
- "esbuild": "^0.24.0",
6
+ "esbuild": "^0.25.4",
7
7
  "eslint": "^9.12.0",
8
8
  "globals": "^15.11.0",
9
9
  "prettier": "^3.3.3"
@@ -18,5 +18,5 @@
18
18
  "module": "./src/index.mjs",
19
19
  "name": "@jrc03c/pause",
20
20
  "type": "module",
21
- "version": "0.0.10"
21
+ "version": "0.0.11"
22
22
  }
package/readme.md ADDED
@@ -0,0 +1,25 @@
1
+ # Intro
2
+
3
+ An asynchronous `pause` function
4
+
5
+ # Installation
6
+
7
+ ```bash
8
+ npm install --save @jrc03c/pause
9
+ ```
10
+
11
+ # Usage
12
+
13
+ ```js
14
+ import { pause } from "@jrc03c/pause"
15
+
16
+ pause(1000).then(elapsed => {
17
+ console.log(`${elapsed} milliseconds have elapsed!`)
18
+ })
19
+ ```
20
+
21
+ # API
22
+
23
+ ## `pause(ms)`
24
+
25
+ Given a number of milliseconds, `ms`, for which to pause, returns a `Promise` that resolves to a number indicating how many milliseconds have actually elapsed since the function was called.
package/src/iife.mjs CHANGED
@@ -1,7 +1,5 @@
1
- import { pause, pauseAsync, pauseSync } from "./index.mjs"
1
+ import { pause } from "./index.mjs"
2
2
 
3
3
  if (typeof globalThis !== "undefined") {
4
- globalThis.pause = pauseAsync
5
- globalThis.pauseAsync = pauseAsync
6
- globalThis.pauseSync = pauseSync
4
+ globalThis.pause = pause
7
5
  }
package/src/index.mjs CHANGED
@@ -1,23 +1,12 @@
1
- function pauseAsync(ms) {
1
+ function pause(ms) {
2
2
  return new Promise((resolve, reject) => {
3
3
  try {
4
- const start = new Date()
5
- return setTimeout(() => resolve(new Date() - start), ms)
4
+ const start = performance.now()
5
+ return setTimeout(() => resolve(performance.now() - start), ms)
6
6
  } catch (e) {
7
7
  return reject(e)
8
8
  }
9
9
  })
10
10
  }
11
11
 
12
- function pauseSync(ms) {
13
- const start = new Date()
14
- let now = new Date()
15
-
16
- while (now - start < ms) {
17
- now = new Date()
18
- }
19
-
20
- return new Date() - start
21
- }
22
-
23
- export { pauseAsync as pause, pauseAsync, pauseSync }
12
+ export { pause }
@@ -1,17 +1,11 @@
1
- import { pauseAsync, pauseSync } from "./index.mjs"
2
-
3
- let syncTestsAreRunning = true
1
+ import { pause } from "./index.mjs"
4
2
 
5
3
  !(async () => {
6
- while (syncTestsAreRunning) {
7
- await pauseAsync(100)
8
- }
9
-
10
- const start = new Date()
4
+ const start = performance.now()
11
5
 
12
6
  for (let i = 0; i < 100; i++) {
13
7
  const t = Math.floor(Math.random() * 100)
14
- const elapsed = await pauseAsync(t)
8
+ const elapsed = await pause(t)
15
9
 
16
10
  if (typeof elapsed !== "number" || isNaN(elapsed)) {
17
11
  throw new Error(
@@ -28,38 +22,9 @@ let syncTestsAreRunning = true
28
22
  }
29
23
  }
30
24
 
31
- const seconds = (new Date() - start) / 1000
25
+ const seconds = (performance.now() - start) / 1000
32
26
 
33
27
  console.log(
34
28
  `🎉 All asynchronous tests passed! (${seconds.toFixed(2)} seconds)`,
35
29
  )
36
30
  })()
37
-
38
- !(() => {
39
- const start = new Date()
40
-
41
- for (let i = 0; i < 100; i++) {
42
- const t = Math.floor(Math.random() * 100)
43
- const elapsed = pauseSync(t)
44
-
45
- if (typeof elapsed !== "number" || isNaN(elapsed)) {
46
- throw new Error(
47
- `The function was supposed to return a number representing the number of milliseconds that elapsed since the function was called, but instead it returned a ${typeof elapsed} value! (${elapsed})`,
48
- )
49
- }
50
-
51
- if (elapsed < t) {
52
- throw new Error(
53
- `The function was supposed to wait for ${t}ms, but instead it only waited for ${elapsed}ms!`,
54
- )
55
- }
56
- }
57
-
58
- const seconds = (new Date() - start) / 1000
59
-
60
- console.log(
61
- `🎉 All synchronous tests passed! (${seconds.toFixed(2)} seconds)`,
62
- )
63
-
64
- syncTestsAreRunning = false
65
- })()