─── expression renderers ─────────────────────────────────────────────────────
(c *ast.CaseExpression, opts ast.FormatOptions)
| 1049 | // ─── expression renderers ───────────────────────────────────────────────────── |
| 1050 | |
| 1051 | func renderCase(c *ast.CaseExpression, opts ast.FormatOptions) string { |
| 1052 | if c == nil { |
| 1053 | return "" |
| 1054 | } |
| 1055 | f := newNodeFormatter(opts) |
| 1056 | sb := f.sb |
| 1057 | |
| 1058 | sb.WriteString(f.kw("CASE")) |
| 1059 | if c.Value != nil { |
| 1060 | sb.WriteString(" ") |
| 1061 | sb.WriteString(FormatExpression(c.Value, opts)) |
| 1062 | } |
| 1063 | for _, when := range c.WhenClauses { |
| 1064 | sb.WriteString(" ") |
| 1065 | sb.WriteString(f.kw("WHEN")) |
| 1066 | sb.WriteString(" ") |
| 1067 | sb.WriteString(FormatExpression(when.Condition, opts)) |
| 1068 | sb.WriteString(" ") |
| 1069 | sb.WriteString(f.kw("THEN")) |
| 1070 | sb.WriteString(" ") |
| 1071 | sb.WriteString(FormatExpression(when.Result, opts)) |
| 1072 | } |
| 1073 | if c.ElseClause != nil { |
| 1074 | sb.WriteString(" ") |
| 1075 | sb.WriteString(f.kw("ELSE")) |
| 1076 | sb.WriteString(" ") |
| 1077 | sb.WriteString(FormatExpression(c.ElseClause, opts)) |
| 1078 | } |
| 1079 | sb.WriteString(" ") |
| 1080 | sb.WriteString(f.kw("END")) |
| 1081 | |
| 1082 | return f.result() |
| 1083 | } |
| 1084 | |
| 1085 | func renderBetween(b *ast.BetweenExpression, opts ast.FormatOptions) string { |
| 1086 | if b == nil { |
no test coverage detected