sindresorhus/serialize-error

Add option to decide behavior

Open

#25 创建于 2019年9月23日

在 GitHub 查看
 (5 评论) (2 反应) (0 负责人)JavaScript (599 star) (69 fork)user submission
enhancementhelp wanted

描述

You can throw anything in JS, but it's a bad practice. I'd like to have it fail rather than silently accept anything. Though, it's not a good default, so should be opt-in.

Actually, there's 3 possible behaviors:

  1. Always return an object. (wanted default)
  2. Passthrough non-object values. (current default)
  3. Throw on non-object input.

I'd like 1 to be the default behavior, for consistency, but add an option to be able to opt into 2 (which is the current behavior) or 3 (which would be the strict behavior). This should be a single option.

Another benefit of 1 is that the TypeScript types can be better. We can guarantee it's an object and we can also guarantee that the name, message, and stack properties exist.

贡献者指南

Add option to decide behavior · sindresorhus/serialize-error#25 | Good First Issue