Type alias ConditionalResult<TSuccess, TFail>

ConditionalResult<TSuccess, TFail>: {
    success: true;
} & TSuccess | {
    success: false;
} & TFail

TypeScript 類型,代表有可能成功或不成功的結果。

successtrue 時,物件會 Narrow 為包含 TSuccess 屬性的物件。

successfalse 時,物件會 Narrow 為包含 TFail 屬性的物件。

Type Parameters

  • TSuccess

    successtrue 時,物件會包含的屬性

  • TFail = {}

    successfalse 時,物件會包含的屬性

Example

function random(): ConditionalResult<{ prize: number }, { message: string }> {
return (Math.random() > 0.5) ? { success: true, prize: 100 } : { success: false, message: "You lose." };
}

let result = random();
if (result.success) {
console.log(result.prize); // 100
console.log(result.message); // Error
} else {
console.log(result.prize); // Error
console.log(result.message); // "You lose."
}

Generated using TypeDoc