Prettier has made me change the code I write. It is now practical to write JS code as ternary expressions instead of if statements.
Here's an example:
const x = !(result instanceof Skip)
? result
: typeof obj === "object"
? traverseObject(Object.keys(obj))
: Array.isArray(obj)
? traverseArray(obj)
: new Skip("Not found.");
This was very hard to do prior to prettier; ternaries become very hard to read unless you carefully format them. If you're programming in this style, you'll find yourself reaching for IIFEs (immediately invoked fns) quite often, since JS doesn't yet have do expressions[1]. Here again, harder without prettier. const x = items.length
? (() => {
const result = parse(deep(schema, params))
return !(result instanceof Skip) ? result : traverseArray(items.slice(1));
})()
: new Skip("Not found.");
[1] https://babeljs.io/docs/plugins/transform-do-expressions/+ Minor edits for clarity