MCPcopy Index your code
hub / github.com/mathaou/termdbms / CopyMap

Method CopyMap

viewer/modelutil.go:25–54  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

23}
24
25func (m *TuiModel) CopyMap() (to map[string]interface{}) {
26 from := m.Table().Data
27 to = map[string]interface{}{}
28
29 for k, v := range from {
30 if copyValues, ok := v.(map[string][]interface{}); ok {
31 columnNames := m.Data().TableHeaders[k]
32 columnValues := make(map[string][]interface{})
33 // golang wizardry
34 columns := make([]interface{}, len(columnNames))
35
36 for i := range columns {
37 columns[i] = copyValues[columnNames[i]]
38 }
39
40 for i, colName := range columnNames {
41 val := columns[i].([]interface{})
42 buffer := make([]interface{}, len(val))
43 for k := range val {
44 buffer[k] = val[k]
45 }
46 columnValues[colName] = append(columnValues[colName], buffer)
47 }
48
49 to[k] = columnValues // data for schema, organized by column
50 }
51 }
52
53 return to
54}
55
56// GetNewModel returns a TuiModel struct with some fields set
57func GetNewModel(baseFileName string, db *sql.DB) TuiModel {

Callers 2

initFunction · 0.80
populateUndoFunction · 0.80

Calls 2

TableMethod · 0.95
DataMethod · 0.95

Tested by

no test coverage detected