sindresorhus/serialize-error

Add option to decide behavior

Open

#25 ouverte le 23 sept. 2019

Voir sur GitHub
 (5 commentaires) (2 réactions) (0 assignés)JavaScript (599 stars) (69 forks)user submission
enhancementhelp wanted

Description

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.

Guide contributeur