MCPcopy Create free account
hub / github.com/cli/cli / ExportData

Method ExportData

api/export_repo.go:7–42  ·  view source on GitHub ↗
(fields []string)

Source from the content-addressed store, hash-verified

5)
6
7func (repo *Repository) ExportData(fields []string) map[string]interface{} {
8 v := reflect.ValueOf(repo).Elem()
9 data := map[string]interface{}{}
10
11 for _, f := range fields {
12 switch f {
13 case "parent":
14 data[f] = miniRepoExport(repo.Parent)
15 case "templateRepository":
16 data[f] = miniRepoExport(repo.TemplateRepository)
17 case "languages":
18 data[f] = repo.Languages.Edges
19 case "labels":
20 data[f] = repo.Labels.Nodes
21 case "assignableUsers":
22 data[f] = repo.AssignableUsers.Nodes
23 case "mentionableUsers":
24 data[f] = repo.MentionableUsers.Nodes
25 case "milestones":
26 data[f] = repo.Milestones.Nodes
27 case "projects":
28 data[f] = repo.Projects.Nodes
29 case "repositoryTopics":
30 var topics []RepositoryTopic
31 for _, n := range repo.RepositoryTopics.Nodes {
32 topics = append(topics, n.Topic)
33 }
34 data[f] = topics
35 default:
36 sf := fieldByName(v, f)
37 data[f] = sf.Interface()
38 }
39 }
40
41 return data
42}
43
44func miniRepoExport(r *Repository) map[string]interface{} {
45 if r == nil {

Callers

nothing calls this directly

Calls 2

miniRepoExportFunction · 0.85
fieldByNameFunction · 0.70

Tested by

no test coverage detected