(t *Type)
| 63 | } |
| 64 | |
| 65 | func link(t *Type) string { |
| 66 | if t == nil { |
| 67 | return "nil" |
| 68 | } |
| 69 | if t.Name != "" { |
| 70 | return fmt.Sprintf("[%v](#%v)", t.Name, t.Name) |
| 71 | } |
| 72 | if t.Kind == "array" { |
| 73 | return fmt.Sprintf("array(%v)", link(t.Type)) |
| 74 | } |
| 75 | if t.Kind == "map" { |
| 76 | return fmt.Sprintf("map(%v => %v)", link(t.Key), link(t.Type)) |
| 77 | } |
| 78 | return fmt.Sprintf("`%v`", t.Kind) |
| 79 | } |
| 80 | |
| 81 | func fields(t *Type) string { |
| 82 | var fields []string |