plainfp - v0.1.0
    Preparing search index...

    Function timeout

    • Race a ResultAsync against a timer. If ms elapses first, resolves with err(onTimeout()); otherwise resolves with the original result. The underlying promise keeps running — timeout does not cancel it.

      Dual API — works data-first or curried for use in pipe.

      Type Parameters

      • T
      • E
      • F

      Parameters

      Returns ResultAsyncType<T, E | F>

      pipe(
      fetchUser(id),
      ResultAsync.timeout(5_000, () => ({ code: "SLOW_USER_API" })),
      )
    • Race a ResultAsync against a timer. If ms elapses first, resolves with err(onTimeout()); otherwise resolves with the original result. The underlying promise keeps running — timeout does not cancel it.

      Dual API — works data-first or curried for use in pipe.

      Type Parameters

      • F

      Parameters

      • ms: number
      • onTimeout: () => F

      Returns <T, E>(ra: ResultAsyncType<T, E>) => ResultAsyncType<T, F | E>

      pipe(
      fetchUser(id),
      ResultAsync.timeout(5_000, () => ({ code: "SLOW_USER_API" })),
      )