import { curry2 } from "../_util" import { EventStream } from "../EventStream" import { sequentially } from "./sequentially" /** * Creates a single-element stream that emits the given * value after given delay. * * @param delay - Initial delay in milliseconds * @param value - Value to emit * * @example * * const message = F.later(10000, "Wait for it!") * * @public */ export const later: CurriedLater = curry2(_later) interface CurriedLater { (delay: number, value: ValueType): EventStream (delay: number): (value: ValueType) => EventStream } function _later(delay: number, value: T): EventStream { return sequentially(delay, [value]) }