sindresorhus/serialize-error

Add option to decide behavior

Open

#25 opened on 2019年9月23日

GitHub で見る
 (5 comments) (2 reactions) (0 assignees)JavaScript (599 stars) (69 forks)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