@oscarpalmer/timer 0.41.1 → 0.41.2
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/dist/delay.js +2 -0
- package/dist/index.js +1 -1
- package/dist/timer.full.js +22 -22
- package/package.json +1 -1
- package/src/delay.ts +1 -0
- package/src/index.ts +1 -2
- package/types/delay.d.ts +1 -0
- package/types/index.d.ts +1 -2
package/dist/delay.js
ADDED
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { delay } from "./delay.js";
|
|
1
2
|
import "./global.js";
|
|
2
3
|
import { isRepeated, isTimer, isWaited, isWhen } from "./is.js";
|
|
3
4
|
import { repeat } from "./repeat.js";
|
|
4
5
|
import { wait } from "./wait.js";
|
|
5
6
|
import { when } from "./when.js";
|
|
6
|
-
import { delay } from "../node_modules/@oscarpalmer/atoms/src/promise/delay";
|
|
7
7
|
export { delay, isRepeated, isTimer, isWaited, isWhen, repeat, wait, when };
|
package/dist/timer.full.js
CHANGED
|
@@ -41,6 +41,27 @@ document.addEventListener("visibilitychange", () => {
|
|
|
41
41
|
}
|
|
42
42
|
from.clear();
|
|
43
43
|
});
|
|
44
|
+
const PROMISE_ABORT_OPTIONS = { once: true };
|
|
45
|
+
const PROMISE_EVENT_NAME = "abort";
|
|
46
|
+
function getNumberOrDefault(value) {
|
|
47
|
+
return typeof value === "number" && value > 0 ? value : 0;
|
|
48
|
+
}
|
|
49
|
+
function getPromiseOptions(input) {
|
|
50
|
+
if (typeof input === "number") return { time: getNumberOrDefault(input) };
|
|
51
|
+
if (input instanceof AbortSignal) return {
|
|
52
|
+
signal: input,
|
|
53
|
+
time: 0
|
|
54
|
+
};
|
|
55
|
+
const options = typeof input === "object" && input !== null ? input : {};
|
|
56
|
+
return {
|
|
57
|
+
signal: options.signal instanceof AbortSignal ? options.signal : void 0,
|
|
58
|
+
time: getNumberOrDefault(options.time)
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function settlePromise(aborter, settler, value, signal) {
|
|
62
|
+
signal?.removeEventListener(PROMISE_EVENT_NAME, aborter);
|
|
63
|
+
settler(value);
|
|
64
|
+
}
|
|
44
65
|
function getInterval(value) {
|
|
45
66
|
return typeof value === "number" && value > 0 ? value : 0;
|
|
46
67
|
}
|
|
@@ -67,30 +88,9 @@ function getTimer(type, callback, time) {
|
|
|
67
88
|
};
|
|
68
89
|
return timer;
|
|
69
90
|
}
|
|
70
|
-
|
|
91
|
+
var OFFSET = 5;
|
|
71
92
|
const TIMER_THROTTLE = "throttle";
|
|
72
93
|
const TIMER_WAIT = "wait";
|
|
73
|
-
const PROMISE_ABORT_OPTIONS = { once: true };
|
|
74
|
-
const PROMISE_EVENT_NAME = "abort";
|
|
75
|
-
function getNumberOrDefault(value) {
|
|
76
|
-
return typeof value === "number" && value > 0 ? value : 0;
|
|
77
|
-
}
|
|
78
|
-
function getPromiseOptions(input) {
|
|
79
|
-
if (typeof input === "number") return { time: getNumberOrDefault(input) };
|
|
80
|
-
if (input instanceof AbortSignal) return {
|
|
81
|
-
signal: input,
|
|
82
|
-
time: 0
|
|
83
|
-
};
|
|
84
|
-
const options = typeof input === "object" && input !== null ? input : {};
|
|
85
|
-
return {
|
|
86
|
-
signal: options.signal instanceof AbortSignal ? options.signal : void 0,
|
|
87
|
-
time: getNumberOrDefault(options.time)
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
function settlePromise(aborter, settler, value, signal) {
|
|
91
|
-
signal?.removeEventListener(PROMISE_EVENT_NAME, aborter);
|
|
92
|
-
settler(value);
|
|
93
|
-
}
|
|
94
94
|
function delay(options) {
|
|
95
95
|
const { signal, time } = getPromiseOptions(options);
|
|
96
96
|
if (signal?.aborted ?? false) return Promise.reject(signal.reason);
|
package/package.json
CHANGED
package/src/delay.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {delay, type PromiseOptions} from '@oscarpalmer/atoms/promise';
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import './global';
|
|
2
2
|
|
|
3
|
-
export
|
|
4
|
-
export type {PromiseOptions} from '../node_modules/@oscarpalmer/atoms/src/promise/models';
|
|
3
|
+
export * from './delay';
|
|
5
4
|
export {isRepeated, isTimer, isWaited, isWhen} from './is';
|
|
6
5
|
export * from './repeat';
|
|
7
6
|
export type {Timer} from './timer';
|
package/types/delay.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { delay, type PromiseOptions } from '@oscarpalmer/atoms/promise';
|
package/types/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import './global';
|
|
2
|
-
export
|
|
3
|
-
export type { PromiseOptions } from '../node_modules/@oscarpalmer/atoms/src/promise/models';
|
|
2
|
+
export * from './delay';
|
|
4
3
|
export { isRepeated, isTimer, isWaited, isWhen } from './is';
|
|
5
4
|
export * from './repeat';
|
|
6
5
|
export type { Timer } from './timer';
|