): | { isOk: true; value: ValidatedEmail } | { isOk: false; error: InvalidEmailFormatError } => { // 有効なメールアドレスであればtrueではなく // { isOk: true, value: ValidatedEmail } を返す // 無効なメールアドレスであれば // { isOk: false, error: InvalidEmailFormatError } を返す }; const sendEmail = async (unvalidatedEmail: string) => { const parseResult = parseEmail(unvalidatedEmail); if (!parseResult.isOk) { return parseResult.error; } // EmailService.sendは引数の値を信用できるため再度検証する必要はない await EmailService.send(parseResult.value); }; 21