Support better formatting for curried arrow functions (#9992)
* Support formatting for curried arrow functions
* Fix test file name
* Fix threshold
* Add changelog
* Fix operator for comparing
* Fix return pos
* Fix eslint
* level 2
* Refactor for level2
* Update tests
* Remove concat
* If it fits on one line, print on one line
* Indent second level arg
* Break before last return value
* Use isCallLikeExpression
* Improve printing
* Add tests
* Remove unnecesary condition
* Fix lint problems
* Update src/language-js/utils.js
Co-authored-by: Chris Brody <chris.brody+brodybits@gmail.com>
* Update changelog
* Add ImportExpression
* Add ImportExpression to isCallLikeExpression
* Resolve conflicts
* Address reviews
* Fix ESLint problem
* Fix changelog
* Add tests
* More tests
* Print simple arrow chains on one line
* Don't forcibly break chain when a segment has a return type but no params
* Prevent excessive wrapping in assignments
* Simplify
* Format object bodies like blocks
* Update changelog
* Fix last arg expansion
* Simplify
* Fix arrow chains in assignment chains
Co-authored-by: Chris Brody <chris.brody+brodybits@gmail.com>
Co-authored-by: Georgii Dolzhykov <thorn.mailbox@gmail.com>