### Input ```tsx class X { #selectClause: unknown; test(columns: unknown) { (this as any).#selectClause = columns; } } ``` ### Config ```jsonc {} ``` ### Oxfmt output Oxfmt version: `0.40.0` ```tsx class X { #selectClause: unknown; test(columns: unknown) { this as any.#selectClause = columns; } } ``` ### Oxfmt playground link https://playground.oxc.rs/?t=formatter&options=%7B%22run%22%3A%7B%22lint%22%3Atrue%2C%22formatter%22%3Atrue%2C%22transform%22%3Afalse%2C%22isolatedDeclarations%22%3Afalse%2C%22whitespace%22%3Afalse%2C%22mangle%22%3Afalse%2C%22compress%22%3Afalse%2C%22scope%22%3Atrue%2C%22symbol%22%3Atrue%2C%22cfg%22%3Afalse%7D%2C%22parser%22%3A%7B%22extension%22%3A%22ts%22%2C%22allowReturnOutsideFunction%22%3Atrue%2C%22preserveParens%22%3Atrue%2C%22allowV8Intrinsics%22%3Atrue%2C%22semanticErrors%22%3Atrue%7D%2C%22linter%22%3A%7B%7D%2C%22formatter%22%3A%7B%22useTabs%22%3Afalse%2C%22tabWidth%22%3A2%2C%22endOfLine%22%3A%22lf%22%2C%22printWidth%22%3A80%2C%22singleQuote%22%3Afalse%2C%22jsxSingleQuote%22%3Afalse%2C%22quoteProps%22%3A%22as-needed%22%2C%22trailingComma%22%3A%22all%22%2C%22semi%22%3Atrue%2C%22arrowParens%22%3A%22always%22%2C%22bracketSpacing%22%3Atrue%2C%22bracketSameLine%22%3Afalse%2C%22objectWrap%22%3A%22preserve%22%2C%22singleAttributePerLine%22%3Afalse%7D%2C%22transformer%22%3A%7B%22target%22%3A%22es2015%22%2C%22useDefineForClassFields%22%3Atrue%2C%22experimentalDecorators%22%3Atrue%2C%22emitDecoratorMetadata%22%3Atrue%7D%2C%22isolatedDeclarations%22%3A%7B%22stripInternal%22%3Afalse%7D%2C%22codegen%22%3A%7B%22normal%22%3Atrue%2C%22jsdoc%22%3Atrue%2C%22annotation%22%3Atrue%2C%22legal%22%3Atrue%7D%2C%22compress%22%3A%7B%7D%2C%22mangle%22%3A%7B%22topLevel%22%3Atrue%2C%22keepNames%22%3Afalse%7D%2C%22controlFlow%22%3A%7B%22verbose%22%3Afalse%7D%2C%22inject%22%3A%7B%22inject%22%3A%7B%7D%7D%2C%22define%22%3A%7B%22define%22%3A%7B%7D%7D%7D&code=class+X+%7B%0A++%23selectClause%3A+unknown%3B%0A%0A++test%28columns%3A+unknown%29+%7B%0A++++%28this+as+any%29.%23selectClause+%3D+columns%3B%0A++%7D%0A%7D ### Prettier output Prettier version: `3.6.2` ```tsx class X { #selectClause: unknown; test(columns: unknown) { (this as any).#selectClause = columns; } } ``` ### Prettier playground link https://prettier.io/playground/#N4Igxg9gdgLgprEAucAbAhgZ0wAgBo7AA6UOOAxJnKnGDAMIYCuVSOTUA1lBAO5QBuEiTLxMMABSRUTALZRMbDtz5QAlIRFkcEmAAsAlriw50UAJ5qAdJWq0GzKjgC8OaXIVDSOAL4kfIAA0IBAADjAG0JjIoOgATnF8AArxCNEo6Ki86ObRwQBGcehgnHAwAMrosnAAMgZQcMgAZplUwRD5AFb2AOpFocggoXFwVHEAbo0FRSVl5aHF9QDmyDBxTHDBVLIGq+ubIHAAHqFwcQbVsJkA8qdFMBBxSRCYBhHQgwgAJkGHJ2cXBAwTIAFTOUHiBlGzVaB1eUCWNAAikwIPAYag2iBOpgjuVlsjUeikC1MQcAI5EuBJRKhdIgLAAWgacC+rN+a3QBlQy3oEFksnQg0yqF+8MRcAAgjA1gZ8kx4EkznUGhisXoYLJUD1DGIFmA4OU0m8DOM3uZBmBsL9xhsAJJQNmwcpgc7hSWO8owcw0NUHYYvOB9dADFDDUZnSa-b7XJoqxooVBNX71MYwGnoJaCv3BBZxMaDfLofLURkwPJDc6wHoGL76ZAADgADMERpSDCMM1mhSTYcFgfka3W9MgAEzBFhwEHF9KkrFwWQlr5sr41MxLJiZuAAMUegply2FCogIB8PiAA ### Additional notes `oxfmt` removes the parentheses around the TypeScript `as` expression and produces invalid syntax: - expected valid form: `(this as any).#selectClause = columns;` - actual invalid form: `this as any.#selectClause = columns;`
Input
Config
{}Oxfmt output
Oxfmt version:
0.40.0Oxfmt playground link
https://playground.oxc.rs/?t=formatter&options=%7B%22run%22%3A%7B%22lint%22%3Atrue%2C%22formatter%22%3Atrue%2C%22transform%22%3Afalse%2C%22isolatedDeclarations%22%3Afalse%2C%22whitespace%22%3Afalse%2C%22mangle%22%3Afalse%2C%22compress%22%3Afalse%2C%22scope%22%3Atrue%2C%22symbol%22%3Atrue%2C%22cfg%22%3Afalse%7D%2C%22parser%22%3A%7B%22extension%22%3A%22ts%22%2C%22allowReturnOutsideFunction%22%3Atrue%2C%22preserveParens%22%3Atrue%2C%22allowV8Intrinsics%22%3Atrue%2C%22semanticErrors%22%3Atrue%7D%2C%22linter%22%3A%7B%7D%2C%22formatter%22%3A%7B%22useTabs%22%3Afalse%2C%22tabWidth%22%3A2%2C%22endOfLine%22%3A%22lf%22%2C%22printWidth%22%3A80%2C%22singleQuote%22%3Afalse%2C%22jsxSingleQuote%22%3Afalse%2C%22quoteProps%22%3A%22as-needed%22%2C%22trailingComma%22%3A%22all%22%2C%22semi%22%3Atrue%2C%22arrowParens%22%3A%22always%22%2C%22bracketSpacing%22%3Atrue%2C%22bracketSameLine%22%3Afalse%2C%22objectWrap%22%3A%22preserve%22%2C%22singleAttributePerLine%22%3Afalse%7D%2C%22transformer%22%3A%7B%22target%22%3A%22es2015%22%2C%22useDefineForClassFields%22%3Atrue%2C%22experimentalDecorators%22%3Atrue%2C%22emitDecoratorMetadata%22%3Atrue%7D%2C%22isolatedDeclarations%22%3A%7B%22stripInternal%22%3Afalse%7D%2C%22codegen%22%3A%7B%22normal%22%3Atrue%2C%22jsdoc%22%3Atrue%2C%22annotation%22%3Atrue%2C%22legal%22%3Atrue%7D%2C%22compress%22%3A%7B%7D%2C%22mangle%22%3A%7B%22topLevel%22%3Atrue%2C%22keepNames%22%3Afalse%7D%2C%22controlFlow%22%3A%7B%22verbose%22%3Afalse%7D%2C%22inject%22%3A%7B%22inject%22%3A%7B%7D%7D%2C%22define%22%3A%7B%22define%22%3A%7B%7D%7D%7D&code=class+X+%7B%0A++%23selectClause%3A+unknown%3B%0A%0A++test%28columns%3A+unknown%29+%7B%0A++++%28this+as+any%29.%23selectClause+%3D+columns%3B%0A++%7D%0A%7D
Prettier output
Prettier version:
3.6.2Prettier playground link
https://prettier.io/playground/#N4Igxg9gdgLgprEAucAbAhgZ0wAgBo7AA6UOOAxJnKnGDAMIYCuVSOTUA1lBAO5QBuEiTLxMMABSRUTALZRMbDtz5QAlIRFkcEmAAsAlriw50UAJ5qAdJWq0GzKjgC8OaXIVDSOAL4kfIAA0IBAADjAG0JjIoOgATnF8AArxCNEo6Ki86ObRwQBGcehgnHAwAMrosnAAMgZQcMgAZplUwRD5AFb2AOpFocggoXFwVHEAbo0FRSVl5aHF9QDmyDBxTHDBVLIGq+ubIHAAHqFwcQbVsJkA8qdFMBBxSRCYBhHQgwgAJkGHJ2cXBAwTIAFTOUHiBlGzVaB1eUCWNAAikwIPAYag2iBOpgjuVlsjUeikC1MQcAI5EuBJRKhdIgLAAWgacC+rN+a3QBlQy3oEFksnQg0yqF+8MRcAAgjA1gZ8kx4EkznUGhisXoYLJUD1DGIFmA4OU0m8DOM3uZBmBsL9xhsAJJQNmwcpgc7hSWO8owcw0NUHYYvOB9dADFDDUZnSa-b7XJoqxooVBNX71MYwGnoJaCv3BBZxMaDfLofLURkwPJDc6wHoGL76ZAADgADMERpSDCMM1mhSTYcFgfka3W9MgAEzBFhwEHF9KkrFwWQlr5sr41MxLJiZuAAMUegply2FCogIB8PiAA
Additional notes
oxfmtremoves the parentheses around the TypeScriptasexpression and produces invalid syntax:(this as any).#selectClause = columns;this as any.#selectClause = columns;