🔎 Search Terms
aliases lost
🕗 Version & Regression Information
Discussion with @Andarist:
Anyway, I'm sort of leaving breadcrumbs for myself - sorry for oversharing 😉 I'll dig further later
⏯ Playground Link
https://www.typescriptlang.org/play/?#code/C4TwDgpgBAShDOBXANsAPAQQDRQKID4oBeKAbwCgoqoAnCAQwBMB7AO2RCgH1h6BzAFxQARAHkA1sMrU6TNhygA3eskQQhGcgF8oAHzLSqslu049+Q4QDF6AS2RTqtBiYUQaNZjSG5t5cowQAMbI9HRQQWzwwFC28HBIqEIAFIhCiKzirMwA7qwAlMSEiLHwsAgo6PSsIDjVIPj+kazRUABmrMRQmDgEybasYEIJlT14hPrRNAN8hUSEcSOo-YOFAPyxg1CWzJJAA
💻 Code
type Result<A, E> = {
readonly _tag: "Ok"
readonly value: A
} | {
readonly _tag: "Fail"
readonly error: E
}
declare const isResult: (u: unknown) => u is Result<any, any>
const fn = <A, E>(inp: Result<A, E> | string) => isResult(inp) ? inp : "ok"
🙁 Actual behavior
const fn: <A, E>(inp: Result<A, E> | string) => {
readonly _tag: "Ok";
readonly value: A;
} | {
readonly _tag: "Fail";
readonly error: E;
} | "ok"
🙂 Expected behavior
const fn: <A, E>(inp: Result<A, E> | string) => Result<A, E> | "ok"
Additional information about the issue
No response
🔎 Search Terms
aliases lost
🕗 Version & Regression Information
Discussion with @Andarist:
but now I'm pretty sure it isn't
Anyway, I'm sort of leaving breadcrumbs for myself - sorry for oversharing 😉 I'll dig further later
⏯ Playground Link
https://www.typescriptlang.org/play/?#code/C4TwDgpgBAShDOBXANsAPAQQDRQKID4oBeKAbwCgoqoAnCAQwBMB7AO2RCgH1h6BzAFxQARAHkA1sMrU6TNhygA3eskQQhGcgF8oAHzLSqslu049+Q4QDF6AS2RTqtBiYUQaNZjSG5t5cowQAMbI9HRQQWzwwFC28HBIqEIAFIhCiKzirMwA7qwAlMSEiLHwsAgo6PSsIDjVIPj+kazRUABmrMRQmDgEybasYEIJlT14hPrRNAN8hUSEcSOo-YOFAPyxg1CWzJJAA
💻 Code
🙁 Actual behavior
🙂 Expected behavior
Additional information about the issue
No response