This is a refactor of samhofi.us/x/keybase/v2 that takes advantage of the libkeybase performance improvements.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

127 lines
3.6 KiB

// Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler)
// Input file: ../../../../../../client/protocol/avdl/keybase1/contacts.avdl
package keybase1
type ContactComponent struct {
Label string `codec:"label" json:"label"`
PhoneNumber *RawPhoneNumber `codec:"phoneNumber,omitempty" json:"phoneNumber,omitempty"`
Email *EmailAddress `codec:"email,omitempty" json:"email,omitempty"`
}
func (o ContactComponent) DeepCopy() ContactComponent {
return ContactComponent{
Label: o.Label,
PhoneNumber: (func(x *RawPhoneNumber) *RawPhoneNumber {
if x == nil {
return nil
}
tmp := (*x).DeepCopy()
return &tmp
})(o.PhoneNumber),
Email: (func(x *EmailAddress) *EmailAddress {
if x == nil {
return nil
}
tmp := (*x).DeepCopy()
return &tmp
})(o.Email),
}
}
type Contact struct {
Name string `codec:"name" json:"name"`
Components []ContactComponent `codec:"components" json:"components"`
}
func (o Contact) DeepCopy() Contact {
return Contact{
Name: o.Name,
Components: (func(x []ContactComponent) []ContactComponent {
if x == nil {
return nil
}
ret := make([]ContactComponent, len(x))
for i, v := range x {
vCopy := v.DeepCopy()
ret[i] = vCopy
}
return ret
})(o.Components),
}
}
type ProcessedContact struct {
ContactIndex int `codec:"contactIndex" json:"contactIndex"`
ContactName string `codec:"contactName" json:"contactName"`
Component ContactComponent `codec:"component" json:"component"`
Resolved bool `codec:"resolved" json:"resolved"`
Uid UID `codec:"uid" json:"uid"`
Username string `codec:"username" json:"username"`
FullName string `codec:"fullName" json:"fullName"`
Following bool `codec:"following" json:"following"`
ServiceMap map[string]string `codec:"serviceMap" json:"serviceMap"`
Assertion string `codec:"assertion" json:"assertion"`
DisplayName string `codec:"displayName" json:"displayName"`
DisplayLabel string `codec:"displayLabel" json:"displayLabel"`
}
func (o ProcessedContact) DeepCopy() ProcessedContact {
return ProcessedContact{
ContactIndex: o.ContactIndex,
ContactName: o.ContactName,
Component: o.Component.DeepCopy(),
Resolved: o.Resolved,
Uid: o.Uid.DeepCopy(),
Username: o.Username,
FullName: o.FullName,
Following: o.Following,
ServiceMap: (func(x map[string]string) map[string]string {
if x == nil {
return nil
}
ret := make(map[string]string, len(x))
for k, v := range x {
kCopy := k
vCopy := v
ret[kCopy] = vCopy
}
return ret
})(o.ServiceMap),
Assertion: o.Assertion,
DisplayName: o.DisplayName,
DisplayLabel: o.DisplayLabel,
}
}
type ContactListResolutionResult struct {
NewlyResolved []ProcessedContact `codec:"newlyResolved" json:"newlyResolved"`
Resolved []ProcessedContact `codec:"resolved" json:"resolved"`
}
func (o ContactListResolutionResult) DeepCopy() ContactListResolutionResult {
return ContactListResolutionResult{
NewlyResolved: (func(x []ProcessedContact) []ProcessedContact {
if x == nil {
return nil
}
ret := make([]ProcessedContact, len(x))
for i, v := range x {
vCopy := v.DeepCopy()
ret[i] = vCopy
}
return ret
})(o.NewlyResolved),
Resolved: (func(x []ProcessedContact) []ProcessedContact {
if x == nil {
return nil
}
ret := make([]ProcessedContact, len(x))
for i, v := range x {
vCopy := v.DeepCopy()
ret[i] = vCopy
}
return ret
})(o.Resolved),
}
}