Slide 74
Slide 74 text
74
const effects = pipe(
...
Effect.match({
onSuccess: (result) => ({
status: 200,
body: { isLoggedIn: result.isLoggedIn, user: result.user },
}),
onFailure: (error) => {
switch (error._tag) {
case 'ParseError':
return { status: 200, body: { isLoggedIn: false } };
case 'NotFoundUserError':
return { status: 400, body: { isLoggedIn: false } };
case 'DataBaseUnknownError':
return { status: 500, body: { code: 'InternalServerError' } };
}
},
})
);
エラーハンドリング漏れを防ぐことができる。日曜大工も安心。
ハンドリングをすれば、
第⼆引数はnever型に
Effectを試す