menu

prefer-lazy-fallback

Prefer lazy fallbacks when eager arguments perform avoidable work

An eager Result fallback is evaluated even when the result already contains a value. Instead, you SHOULD pass a callback to unwrapOrElse when evaluating the fallback can trap or perform work.

Reported

1declare function recover(): int32;2 3function value(result: Result<int32, string>): int32 {4    return result.unwrapOr(recover());5}

Accepted

1declare function recover(): int32;2 3function value(result: Result<int32, string>): int32 {4    return result.unwrapOrElse(() => recover());5}