@jrc03c/pause 0.0.9 → 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.
- package/.prettierrc.json +10 -0
- package/build.mjs +8 -10
- package/dist/pause.js +18 -0
- package/dist/pause.min.js +1 -0
- package/package.json +4 -8
- package/readme.md +25 -0
- package/src/iife.mjs +5 -0
- package/src/index.mjs +4 -21
- package/src/index.test.mjs +4 -39
- package/dist/pause.import.mjs +0 -29
- package/dist/pause.require.cjs +0 -55
- package/dist/pause.standalone.cjs +0 -26
- package/dist/pause.standalone.js +0 -26
package/.prettierrc.json
ADDED
package/build.mjs
CHANGED
|
@@ -5,17 +5,15 @@ function rebuild() {
|
|
|
5
5
|
console.log(`\nRebuilding... (${new Date().toLocaleString()})`)
|
|
6
6
|
|
|
7
7
|
try {
|
|
8
|
-
|
|
8
|
+
execSync(
|
|
9
|
+
`npx esbuild src/iife.mjs --bundle --outfile=dist/pause.js`,
|
|
10
|
+
{ encoding: "utf8" }
|
|
11
|
+
)
|
|
9
12
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
]
|
|
15
|
-
|
|
16
|
-
commands.forEach(command => {
|
|
17
|
-
execSync(command, { encoding: "utf8" })
|
|
18
|
-
})
|
|
13
|
+
execSync(
|
|
14
|
+
`npx esbuild src/iife.mjs --bundle --minify --outfile=dist/pause.min.js`,
|
|
15
|
+
{ encoding: "utf8" }
|
|
16
|
+
)
|
|
19
17
|
|
|
20
18
|
console.log("\nDone! 🎉\n")
|
|
21
19
|
} catch (e) {
|
package/dist/pause.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
(() => {
|
|
2
|
+
// src/index.mjs
|
|
3
|
+
function pause(ms) {
|
|
4
|
+
return new Promise((resolve, reject) => {
|
|
5
|
+
try {
|
|
6
|
+
const start = performance.now();
|
|
7
|
+
return setTimeout(() => resolve(performance.now() - start), ms);
|
|
8
|
+
} catch (e) {
|
|
9
|
+
return reject(e);
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// src/iife.mjs
|
|
15
|
+
if (typeof globalThis !== "undefined") {
|
|
16
|
+
globalThis.pause = pause;
|
|
17
|
+
}
|
|
18
|
+
})();
|
|
@@ -0,0 +1 @@
|
|
|
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,24 +3,20 @@
|
|
|
3
3
|
"description": "a simple async pause function",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"@eslint/js": "^9.12.0",
|
|
6
|
-
"esbuild": "^0.
|
|
6
|
+
"esbuild": "^0.25.4",
|
|
7
7
|
"eslint": "^9.12.0",
|
|
8
8
|
"globals": "^15.11.0",
|
|
9
9
|
"prettier": "^3.3.3"
|
|
10
10
|
},
|
|
11
|
-
"exports": {
|
|
12
|
-
"import": "./dist/pause.import.mjs",
|
|
13
|
-
"require": "./dist/pause.require.cjs"
|
|
14
|
-
},
|
|
15
11
|
"keywords": [
|
|
16
12
|
"js",
|
|
17
13
|
"pause",
|
|
18
14
|
"settimeout"
|
|
19
15
|
],
|
|
20
16
|
"license": "ISC",
|
|
21
|
-
"main": "./
|
|
22
|
-
"module": "./
|
|
17
|
+
"main": "./src/index.mjs",
|
|
18
|
+
"module": "./src/index.mjs",
|
|
23
19
|
"name": "@jrc03c/pause",
|
|
24
20
|
"type": "module",
|
|
25
|
-
"version": "0.0.
|
|
21
|
+
"version": "0.0.11"
|
|
26
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
ADDED
package/src/index.mjs
CHANGED
|
@@ -1,29 +1,12 @@
|
|
|
1
|
-
function
|
|
1
|
+
function pause(ms) {
|
|
2
2
|
return new Promise((resolve, reject) => {
|
|
3
3
|
try {
|
|
4
|
-
const start =
|
|
5
|
-
return setTimeout(() => resolve(
|
|
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
|
-
|
|
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
|
-
if (typeof window !== "undefined") {
|
|
24
|
-
window.pause = pauseAsync
|
|
25
|
-
window.pauseAsync = pauseAsync
|
|
26
|
-
window.pauseSync = pauseSync
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export { pauseAsync as pause, pauseAsync, pauseSync }
|
|
12
|
+
export { pause }
|
package/src/index.test.mjs
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
let syncTestsAreRunning = true
|
|
1
|
+
import { pause } from "./index.mjs"
|
|
4
2
|
|
|
5
3
|
!(async () => {
|
|
6
|
-
|
|
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
|
|
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 = (
|
|
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
|
-
})()
|
package/dist/pause.import.mjs
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
// src/index.mjs
|
|
2
|
-
function pauseAsync(ms) {
|
|
3
|
-
return new Promise((resolve, reject) => {
|
|
4
|
-
try {
|
|
5
|
-
const start = /* @__PURE__ */ new Date();
|
|
6
|
-
return setTimeout(() => resolve(/* @__PURE__ */ new Date() - start), ms);
|
|
7
|
-
} catch (e) {
|
|
8
|
-
return reject(e);
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
function pauseSync(ms) {
|
|
13
|
-
const start = /* @__PURE__ */ new Date();
|
|
14
|
-
let now = /* @__PURE__ */ new Date();
|
|
15
|
-
while (now - start < ms) {
|
|
16
|
-
now = /* @__PURE__ */ new Date();
|
|
17
|
-
}
|
|
18
|
-
return /* @__PURE__ */ new Date() - start;
|
|
19
|
-
}
|
|
20
|
-
if (typeof window !== "undefined") {
|
|
21
|
-
window.pause = pauseAsync;
|
|
22
|
-
window.pauseAsync = pauseAsync;
|
|
23
|
-
window.pauseSync = pauseSync;
|
|
24
|
-
}
|
|
25
|
-
export {
|
|
26
|
-
pauseAsync as pause,
|
|
27
|
-
pauseAsync,
|
|
28
|
-
pauseSync
|
|
29
|
-
};
|
package/dist/pause.require.cjs
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
|
|
19
|
-
// src/index.mjs
|
|
20
|
-
var src_exports = {};
|
|
21
|
-
__export(src_exports, {
|
|
22
|
-
pause: () => pauseAsync,
|
|
23
|
-
pauseAsync: () => pauseAsync,
|
|
24
|
-
pauseSync: () => pauseSync
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(src_exports);
|
|
27
|
-
function pauseAsync(ms) {
|
|
28
|
-
return new Promise((resolve, reject) => {
|
|
29
|
-
try {
|
|
30
|
-
const start = /* @__PURE__ */ new Date();
|
|
31
|
-
return setTimeout(() => resolve(/* @__PURE__ */ new Date() - start), ms);
|
|
32
|
-
} catch (e) {
|
|
33
|
-
return reject(e);
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
function pauseSync(ms) {
|
|
38
|
-
const start = /* @__PURE__ */ new Date();
|
|
39
|
-
let now = /* @__PURE__ */ new Date();
|
|
40
|
-
while (now - start < ms) {
|
|
41
|
-
now = /* @__PURE__ */ new Date();
|
|
42
|
-
}
|
|
43
|
-
return /* @__PURE__ */ new Date() - start;
|
|
44
|
-
}
|
|
45
|
-
if (typeof window !== "undefined") {
|
|
46
|
-
window.pause = pauseAsync;
|
|
47
|
-
window.pauseAsync = pauseAsync;
|
|
48
|
-
window.pauseSync = pauseSync;
|
|
49
|
-
}
|
|
50
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
51
|
-
0 && (module.exports = {
|
|
52
|
-
pause,
|
|
53
|
-
pauseAsync,
|
|
54
|
-
pauseSync
|
|
55
|
-
});
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
(() => {
|
|
2
|
-
// src/index.mjs
|
|
3
|
-
function pauseAsync(ms) {
|
|
4
|
-
return new Promise((resolve, reject) => {
|
|
5
|
-
try {
|
|
6
|
-
const start = /* @__PURE__ */ new Date();
|
|
7
|
-
return setTimeout(() => resolve(/* @__PURE__ */ new Date() - start), ms);
|
|
8
|
-
} catch (e) {
|
|
9
|
-
return reject(e);
|
|
10
|
-
}
|
|
11
|
-
});
|
|
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
|
-
if (typeof window !== "undefined") {
|
|
22
|
-
window.pause = pauseAsync;
|
|
23
|
-
window.pauseAsync = pauseAsync;
|
|
24
|
-
window.pauseSync = pauseSync;
|
|
25
|
-
}
|
|
26
|
-
})();
|
package/dist/pause.standalone.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
(() => {
|
|
2
|
-
// src/index.mjs
|
|
3
|
-
function pauseAsync(ms) {
|
|
4
|
-
return new Promise((resolve, reject) => {
|
|
5
|
-
try {
|
|
6
|
-
const start = /* @__PURE__ */ new Date();
|
|
7
|
-
return setTimeout(() => resolve(/* @__PURE__ */ new Date() - start), ms);
|
|
8
|
-
} catch (e) {
|
|
9
|
-
return reject(e);
|
|
10
|
-
}
|
|
11
|
-
});
|
|
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
|
-
if (typeof window !== "undefined") {
|
|
22
|
-
window.pause = pauseAsync;
|
|
23
|
-
window.pauseAsync = pauseAsync;
|
|
24
|
-
window.pauseSync = pauseSync;
|
|
25
|
-
}
|
|
26
|
-
})();
|