/** * @since 0.1.0 */ import { Task } from 'fp-ts/es6/Task' /** * Returns the task result if it completes within a timeout, or a fallback value instead. * * @example * import { withTimeout } from 'fp-ts-contrib/Task/withTimeout' * import { delay, of } from 'fp-ts/Task' * * const completeAfter2s = delay(2000)(of('result')) * * async function f() { * const a1 = await withTimeout('timeout', 3000)(completeAfter2s)() * assert.strictEqual(a1, 'result') * const a2 = await withTimeout('timeout', 1000)(completeAfter2s)() * assert.strictEqual(a2, 'timeout') * } * * f() * * @since 0.1.0 */ export declare const withTimeout: (onTimeout: A, millis: number) => (ma: Task) => Task