// ets_tracing: off import type { HasClock } from "../Clock/index.js" import { chain_ } from "./core.js" import type { Effect } from "./effect.js" import { sleep } from "./sleep.js" /** * Delay the effect of n milliseconds * * @ets_data_first delay_ */ export function delay(ms: number, __trace?: string) { return (effect: Effect): Effect => delay_(effect, ms, __trace) } /** * Delay the effect of ms milliseconds */ export function delay_( effect: Effect, ms: number, __trace?: string ): Effect { return chain_(sleep(ms, __trace), () => effect) }