| 89 | } |
| 90 | |
| 91 | func NewDefine(d *PluginDefine) *Define { |
| 92 | columns := make([]string, 0, len(d.Fields)) |
| 93 | for _, field := range d.Fields { |
| 94 | columns = append(columns, field.Name) |
| 95 | } |
| 96 | render := make(map[string]interface{}) |
| 97 | for k, v := range d.Render { |
| 98 | r := make(map[string]interface{}) |
| 99 | err := json.Unmarshal([]byte(v), &r) |
| 100 | if err != nil { |
| 101 | continue |
| 102 | } |
| 103 | render[k] = r |
| 104 | } |
| 105 | return &Define{ |
| 106 | profession: d.Profession, |
| 107 | skill: d.Skill, |
| 108 | drivers: d.Drivers, |
| 109 | fields: d.Fields, |
| 110 | render: render, |
| 111 | columns: columns, |
| 112 | } |
| 113 | } |
| 114 | |
| 115 | func (d *Define) Profession() string { |
| 116 | return d.profession |