diff options
author | Aylur <[email protected]> | 2024-05-19 02:39:53 +0200 |
---|---|---|
committer | Aylur <[email protected]> | 2024-05-19 02:39:53 +0200 |
commit | 1425b396b08f0e91d45bbd0f92b1309115c7c870 (patch) | |
tree | 8af1a899a14d8a01a9ef50e248c077b48aed25bc /js/src/time.ts |
init 0.1.0
Diffstat (limited to 'js/src/time.ts')
-rw-r--r-- | js/src/time.ts | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/js/src/time.ts b/js/src/time.ts new file mode 100644 index 0000000..ce98c9a --- /dev/null +++ b/js/src/time.ts @@ -0,0 +1,27 @@ +interface Time { + connect(sig: "now", fn: () => void): number + cancel(): void +} + +export default function Time<T extends Time>(Time: { + interval(interval: number, closure: any): T + timeout(timeout: number, closure: any): T + idle(closure: any): T +}) { + function interval(interval: number, callback: () => void) { + const t = Time.interval(interval, null) + t.connect("now", callback) + return t + } + function timeout(timeout: number, callback: () => void) { + const t = Time.timeout(timeout, null) + t.connect("now", callback) + return t + } + function idle(callback: () => void) { + const t = Time.idle(null) + t.connect("now", callback) + return t + } + return { interval, timeout, idle } +} |