- 
                Notifications
    You must be signed in to change notification settings 
- Fork 356
Open
Description
For e.g. Let's consider the following source code as input passed to recast.print();
const code = [
  "async function add(a, b) {",
  "  const z = foo || await getFoo();",
  "  return z;",
  "}"
].join("\n");
const ast = recast.parse(code);
recast.print(ast);Behaviour:
Prints a modified code, with await getFoo() surrounded by parentheses (normal brackets).
// PrintResult {
//   code: 'async function add(a, b) {\n' +
//     '  const z = foo || (await getFoo());\n' +
//     '  return z;\n' +
//     '}'
// }Expected Behaviour:
Should not contain parenthesis if they were not present in the original code.
// PrintResult {
//   code: 'async function add(a, b) {\n' +
//     '  const z = foo || await getFoo();\n' +
//     '  return z;\n' +
//     '}'
// }If there are any restrictions in supporting this, can it be possible to put this "adding auto parentheses" feature behind a recast options toggle?
Also if you need any support, I can work on this issue with some guidance 👍🏽
Thanks for all your efforts and creating this awesome library 🙇🏽 💯
liukaigsx, coderaiser and cameron-yee
Metadata
Metadata
Assignees
Labels
No labels