diff --git a/core/commands/pin.go b/core/commands/pin.go index e6155df9c00959668fd05fb0751a7bd3016277c0..9b595e38158c9fa0756dd721afc40e9dc04b0670 100644 --- a/core/commands/pin.go +++ b/core/commands/pin.go @@ -212,13 +212,18 @@ Example: } keys := make(map[string]RefKeyObject) - if typeStr == "direct" || typeStr == "all" { - for _, k := range n.Pinning.DirectKeys() { + + AddToResultKeys := func(keyList []key.Key, typeStr string) { + for _, k := range keyList { keys[k.B58String()] = RefKeyObject{ - Type: "direct", + Type: typeStr, } } } + + if typeStr == "direct" || typeStr == "all" { + AddToResultKeys(n.Pinning.DirectKeys(), "direct") + } if typeStr == "indirect" || typeStr == "all" { ks := key.NewKeySet() for _, k := range n.Pinning.RecursiveKeys() { @@ -232,20 +237,11 @@ Example: res.SetError(err, cmds.ErrNormal) return } - - } - for _, k := range ks.Keys() { - keys[k.B58String()] = RefKeyObject{ - Type: "indirect", - } } + AddToResultKeys(ks.Keys(), "indirect") } if typeStr == "recursive" || typeStr == "all" { - for _, k := range n.Pinning.RecursiveKeys() { - keys[k.B58String()] = RefKeyObject{ - Type: "recursive", - } - } + AddToResultKeys(n.Pinning.RecursiveKeys(), "recursive") } res.SetOutput(&RefKeyList{Keys: keys})