Results 30 issues of Denis Bezrukov

https://github.com/sgrishchenko/reselect-utils Docs: https://sgrishchenko.github.io/reselect-utils/docz/ Such projects as [Reselect](https://github.com/reduxjs/reselect) and [Re-reselect](https://github.com/toomuchdesign/re-reselect) try to solve the task of memoization. But there is no standard solutions for some applied problems. This library was created...

## Summary Fix https://github.com/rome/tools/issues/3598 Try to make the same IR as Prettier has based on: - https://github.com/prettier/prettier/blob/5e0b88329e54df515d84dc33d6fc38c2cb176678/src/language-js/print/jsx.js#L567-L601 - https://github.com/prettier/prettier/blob/5e0b88329e54df515d84dc33d6fc38c2cb176678/src/language-js/print/jsx.js#L643-L665 There is no `line_suffix_boundary` ## Test Plan `cargo test -p rome_js_formatter`

## Summary Close https://github.com/rome/tools/issues/3308 ## Test Plan `cargo test -p rome_js_formatter`

breaking

## Summary Fix https://github.com/rome/tools/issues/3531#issuecomment-1311698292 https://github.com/prettier/prettier/blob/ae3dd17114bfb9831b85816f927eea90dcb0968b/src/language-js/print/jsx.js#L506-L521 [Playground](https://docs.rome.tools/playground/?code=%3COtherComponent%0A%09value%3D%7B%0A%09%09new+Set%28veryLongConditionZzzzzzzzzzzzzzzzzveryLongConditionZzzzzzzzzzzzzzzzzveryLongConditionZzzzzzzzzzzzzzzzz%29%0A%09%7D%0A%2F%3E#PABPAHQAaABlAHIAQwBvAG0AcABvAG4AZQBuAHQACgAJAHYAYQBsAHUAZQA9AHsACgAJAAkAbgBlAHcAIABTAGUAdAAoAHYAZQByAHkATABvAG4AZwBDAG8AbgBkAGkAdABpAG8AbgBaAHoAegB6AHoAegB6AHoAegB6AHoAegB6AHoAegB6AHoAdgBlAHIAeQBMAG8AbgBnAEMAbwBuAGQAaQB0AGkAbwBuAFoAegB6AHoAegB6AHoAegB6AHoAegB6AHoAegB6AHoAegB2AGUAcgB5AEwAbwBuAGcAQwBvAG4AZABpAHQAaQBvAG4AWgB6AHoAegB6AHoAegB6AHoAegB6AHoAegB6AHoAegB6ACkACgAJAH0ACgAvAD4A) ## Test Plan `cargo test -p rome_js_formatter`

A-Formatter

## Summary Add missed tests directories from Prettier spec. - `specs/prettier/js/arrows` - `specs/prettier/jsx/jsx` I skipped `tests/format/jsx/comments/in-end-tag.js` because it has parse errors. [Playground](https://docs.rome.tools/playground/?code=%2F*+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D+before+slash+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D+*%2F%0A%3Ca%3E%3C%2F%2F+line%0A%2Fa%3E%3B%0A%3Ca%3E%3C%2F*+block+*%2F%0A%2Fa%3E%3B%0A%0A%3C%3E%3C%2F%2F+line%0A%2F%3E%3B%0A%3C%3E%3C%2F*+block+*%2F%0A%2F%3E%3B%0A%0A%2F*+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D+after+slash+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D+*%2F%0A%3Ca%3E%3C%2F+%2F%2F+line%0Aa%3E%3B%0A%3Ca%3E%3C%2F+%2F*+block+*%2F%0Aa%3E%3B%0A%0A%3C%3E%3C%2F+%2F%2F+line%0A%3E%3B%0A%3C%3E%3C%2F+%2F*+block+*%2F%0A%3E%3B%0A%0A%2F*+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D+after+name+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D+*%2F%0A%3Ca%3E%3C%2Fa+%2F%2F+line%0A%3E%3B%0A%3Ca%3E%3C%2Fa+%2F*+block+*%2F%0A%3E%3B%0A%0A%0A%2F*+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D+block+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D+*%2F%0A%3Ca%3E%3C%2Fa+%2F*+block+*%2F%3E%3B%0A%3C%3E%3C%2F+%2F*+block+*%2F%3E%3B%0A%0A%2F*+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D+multiple+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D++*%2F%0A%3Ca%3E%3C%2F%2F+line+1%0A%2F%2F+line+2%0A%2Fa%3E%3B%0A%3Ca%3E%3C%2F*+block1+*%2F+%2F*+block2+*%2F%0A%2Fa%3E%3B%0A%3Ca%3E%3C%2F*+block+*%2F+%2F%2F+line%0A%2Fa%3E%3B%0A%0A%3C%3E%3C%2F%2F+line+1%0A%2F%2F+line+2%0A%2F%3E%3B%0A%3C%3E%3C%2F*+block1+*%2F+%2F*+block2+*%2F%0A%2F%3E%3B%0A%3C%3E%3C%2F*+block+*%2F+%2F%2F+line%0A%2F%3E%3B#LwAqACAAPQA9AD0APQA9AD0APQA9AD0APQA9ACAAYgBlAGYAbwByAGUAIABzAGwAYQBzAGgAIAA9AD0APQA9AD0APQA9AD0APQA9AD0AIAAqAC8ACgA8AGEAPgA8AC8ALwAgAGwAaQBuAGUACgAvAGEAPgA7AAoAPABhAD4APAAvACoAIABiAGwAbwBjAGsAIAAqAC8ACgAvAGEAPgA7AAoACgA8AD4APAAvAC8AIABsAGkAbgBlAAoALwA+ADsACgA8AD4APAAvACoAIABiAGwAbwBjAGsAIAAqAC8ACgAvAD4AOwAKAAoALwAqACAAPQA9AD0APQA9AD0APQA9AD0APQA9ACAAYQBmAHQAZQByACAAcwBsAGEAcwBoACAAPQA9AD0APQA9AD0APQA9AD0APQA9ACAAKgAvAAoAPABhAD4APAAvACAALwAvACAAbABpAG4AZQAKAGEAPgA7AAoAPABhAD4APAAvACAALwAqACAAYgBsAG8AYwBrACAAKgAvAAoAYQA+ADsACgAKADwAPgA8AC8AIAAvAC8AIABsAGkAbgBlAAoAPgA7AAoAPAA+ADwALwAgAC8AKgAgAGIAbABvAGMAawAgACoALwAKAD4AOwAKAAoALwAqACAAPQA9AD0APQA9AD0APQA9AD0APQA9ACAAYQBmAHQAZQByACAAbgBhAG0AZQAgAD0APQA9AD0APQA9AD0APQA9AD0APQAgACoALwAKADwAYQA+ADwALwBhACAALwAvACAAbABpAG4AZQAKAD4AOwAKADwAYQA+ADwALwBhACAALwAqACAAYgBsAG8AYwBrACAAKgAvAAoAPgA7AAoACgAKAC8AKgAgAD0APQA9AD0APQA9AD0APQA9AD0APQAgAGIAbABvAGMAawAgAD0APQA9AD0APQA9AD0APQA9AD0APQAgACoALwAKADwAYQA+ADwALwBhACAALwAqACAAYgBsAG8AYwBrACAAKgAvAD4AOwAKADwAPgA8AC8AIAAvACoAIABiAGwAbwBjAGsAIAAqAC8APgA7AAoACgAvACoAIAA9AD0APQA9AD0APQA9AD0APQA9AD0AIABtAHUAbAB0AGkAcABsAGUAIAA9AD0APQA9AD0APQA9AD0APQA9AD0AIAAgACoALwAKADwAYQA+ADwALwAvACAAbABpAG4AZQAgADEACgAvAC8AIABsAGkAbgBlACAAMgAKAC8AYQA+ADsACgA8AGEAPgA8AC8AKgAgAGIAbABvAGMAawAxACAAKgAvACAALwAqACAAYgBsAG8AYwBrADIAIAAqAC8ACgAvAGEAPgA7AAoAPABhAD4APAAvACoAIABiAGwAbwBjAGsAIAAqAC8AIAAvAC8AIABsAGkAbgBlAAoALwBhAD4AOwAKAAoAPAA+ADwALwAvACAAbABpAG4AZQAgADEACgAvAC8AIABsAGkAbgBlACAAMgAKAC8APgA7AAoAPAA+ADwALwAqACAAYgBsAG8AYwBrADEAIAAqAC8AIAAvACoAIABiAGwAbwBjAGsAMgAgACoALwAKAC8APgA7AAoAPAA+ADwALwAqACAAYgBsAG8AYwBrACAAKgAvACAALwAvACAAbABpAG4AZQAKAC8APgA7AA==) ## Test Plan `cargo test -p rome_js_formatter` Current...

## Summary Fix https://github.com/rome/tools/issues/3613 ## Test Plan `cargo test`

## Summary Add `Generators are not allowed in an ambient context.` error for generator functions in an ambient context. [Typescript playground](https://www.typescriptlang.org/play?#code/CYUwxgNghgTiAEBbA9sArhBByAHl+A3gFDzwg4AOyMALvKAGZQZ0NoB2YNAlsuwFTwaIAM40AFMgo8+ALnhR2ATwCU8gG7JuwIgF8i5KrXrhoceG04yBQ0RLXxN2gNxA) For function overloading Rome has an error: https://github.com/rome/tools/blob/4084d3e18e5d38b006e0dc99b3ce5975f9e01bf2/crates/rome_js_parser/src/syntax/function.rs#L280-L285 ##...

## Summary Fix object destructing in arguments ([playground](https://docs.rome.tools/playground/?indentStyle=space&quoteStyle=single&trailingComma=none&code=ZQB4AHAAbwByAHQAIABmAHUAbgBjAHQAaQBvAG4AIABmAG8AcgBtAGEAdABOAHUAbQBiAGUAcgAxACgACgAgACAAdgBhAGwAdQBlADoAIABzAHQAcgBpAG4AZwAsAAoAIAAgAHsACgAgACAAIAAgAGEALAAKACAAIAAgACAAYgAsAAoAIAAgACAAIABjACwACgAgACAAIAAgAGYAbwByAG0AYQB0AE4AdQBtAGIAZQByACwACgAgACAAIAAgAC4ALgAuAHAAcgBvAHAAcwAKACAAIAB9ADoAIABPAG0AaQB0ADwATgB1AG0AYgBlAHIARgBvAHIAbQBhAHQAdABlAHIAUAByAG8AcABzACwAIAAnAHYAYQBsAHUAZQAnACAAfAAgACcAZABlAGYAYQB1AGwAdABGAHIAYQBjAHQAaQBvAG4ARABpAGcAaQB0AHMAJwA%2BACAAJgAgAHsACgAgACAAIAAgAHUAcwBlAEcAcgBvAHUAcABpAG4AZwA%2FADoAIABiAG8AbwBsAGUAYQBuADsACgAgACAAfQAKACkAOgAgAHMAdAByAGkAbgBnACAAewB9AAoACgBlAHgAcABvAHIAdAAgAGYAdQBuAGMAdABpAG8AbgAgAGYAbwByAG0AYQB0AE4AdQBtAGIAZQByADIAKAAKACAAIAB2AGEAbAB1AGUAOgAgAHMAdAByAGkAbgBnACwACgAgACAAewAgAGEAIAB9ADoAIABPAG0AaQB0ADwATgB1AG0AYgBlAHIARgBvAHIAbQBhAHQAdABlAHIAUAByAG8AcABzACwAIAAnAHYAYQBsAHUAZQAnACAAfAAgACcAZABlAGYAYQB1AGwAdABGAHIAYQBjAHQAaQBvAG4ARABpAGcAaQB0AHMAJwA%2BACAAJgAgAHsACgAgACAAIAAgAHUAcwBlAEcAcgBvAHUAcABpAG4AZwA%2FADoAIABiAG8AbwBsAGUAYQBuADsACgAgACAAfQAKACkAOgAgAHMAdAByAGkAbgBnACAAewB9AA%3D%3D)) from https://github.com/rome/tools/issues/3531#issuecomment-1307718336 ## Test Plan `cargo test -p rome_js_formatter`

## Summary Fix https://github.com/rome/tools/issues/3531#issuecomment-1325080671 ## Test Plan `cargo test -p rome_js_formatter`

### Environment information ```block CLI: Version: 0.0.0 Color support: true Platform: CPU Architecture: aarch64 OS: macos Environment: ROME_LOG_DIR: unset NO_COLOR: unset TERM: "xterm-256color" JS_RUNTIME_VERSION: unset JS_RUNTIME_NAME: unset NODE_PACKAGE_MANAGER: unset Rome...

S-Bug: confirmed
A-Formatter