message: Improve fixer
  swc_ecma_transforms:
  - fixer does not breaks cast to boolean
  - fixer does not break conditional expression with comma expressions
diff: @@ -347,9 +347,23 @@ impl Fold<Expr> for Fixer {
  }
  }
  + Expr::Cond(expr) => {
  + let cons = match *expr.cons {
  + cons @ Expr::Seq(..) | cons @ Expr::Assign(..) => box cons.wrap_with_paren(),
  + _ => expr.cons,
  + };
  +
  + let alt = match *expr.alt {
  + alt @ Expr::Seq(..) | alt @ Expr::Assign(..) => box alt.wrap_with_paren(),
  + _ => expr.alt,
  + };
  +
  + Expr::Cond(CondExpr { cons, alt, ..expr })
  + }
  +
  Expr::Unary(expr) => {
  let arg = match *expr.arg {
  - Expr::Assign(..) => box expr.arg.wrap_with_paren(),
  + Expr::Assign(..) | Expr::Bin(..) => box expr.arg.wrap_with_paren(),
  _ => expr.arg,
  };
  @@ -613,4 +627,8 @@ function a() {
  test_fixer!(fixer_13, "delete (((1), a), (2));", "delete 2");
  identical!(issue_231, "'' + (truthy && '?') + truthy;");
  +
  + identical!(issue_252, "!!(a && b);");
  +
  + identical!(issue_266, "b < 0 ? (t = b, b = 1) : (t = -b, b = 0);");
  }
  