(expr *exprpb.Expr)
| 677 | } |
| 678 | |
| 679 | func (con *converter) visitStructMap(expr *exprpb.Expr) error { |
| 680 | m := expr.GetStructExpr() |
| 681 | entries := m.GetEntries() |
| 682 | con.str.WriteString("STRUCT(") |
| 683 | for i, entry := range entries { |
| 684 | v := entry.GetValue() |
| 685 | if err := con.visit(v); err != nil { |
| 686 | return err |
| 687 | } |
| 688 | con.str.WriteString(" AS ") |
| 689 | fieldName, err := extractFieldName(entry.GetMapKey()) |
| 690 | if err != nil { |
| 691 | return err |
| 692 | } |
| 693 | con.str.WriteString(fieldName) |
| 694 | if i < len(entries)-1 { |
| 695 | con.str.WriteString(", ") |
| 696 | } |
| 697 | } |
| 698 | con.str.WriteString(")") |
| 699 | return nil |
| 700 | } |
| 701 | |
| 702 | func (con *converter) visitMaybeNested(expr *exprpb.Expr, nested bool) error { |
| 703 | if nested { |
no test coverage detected