🐕
【TypeScript】 instanceof と case switch を使えば Error をいい感じに処理できる
みたいです。(備忘録として)
引用元
try {
// ...
} catch (e) {
switch (true) {
case e instanceof Shopify.Errors.InvalidOAuthError:
res.status(400);
res.send(e.message);
break;
case e instanceof Shopify.Errors.CookieNotFound:
case e instanceof Shopify.Errors.SessionNotFound:
// This is likely because the OAuth session cookie expired before the merchant approved the request
res.redirect(`/auth?shop=${req.query.shop}`);
break;
default:
res.status(500);
res.send(e.message);
break;
}
}
switch (true)
のところ、 ハック感強くてゾクゾクしますね。
Discussion