UNPKG

ciorent

Version:

A lightweight, low-overhead concurrency library

1 lines 635 B
export let nextTick=Promise.resolve();export let state=async r=>{let i=2;r.then(()=>{i=1},()=>{i=0;return r});await nextTick;return i};export let timeout=(e,r)=>new Promise((i,a)=>{e.then(i,r=>{a(r);return e});setTimeout(i,r)});export let sleep=globalThis.Bun?.sleep??globalThis.process?.getBuiltinModule?.(`timers/promises`).setTimeout??(e=>new Promise(r=>{setTimeout(r,e)}));let sharedBuf=new Int32Array(new SharedArrayBuffer(4));export let sleepSync=globalThis.Bun?.sleepSync??(e=>{Atomics.wait(sharedBuf,0,0,e)});export*as signal from"./signal.js";export*as rateLimit from"./rate-limit.js";export*as semaphore from"./semaphore.js";