// UnmarshalBinary decodes data into r. func (r *FieldDimensionsResponse) UnmarshalBinary(data []byte) error { var pb internal.FieldDimensionsResponse if err := proto.Unmarshal(data, &pb); err != nil { return err } r.Fields = make(map[string]struct{}, len(pb.GetFields())) for _, s := range pb.GetFields() { r.Fields[s] = struct{}{} } r.Dimensions = make(map[string]struct{}, len(pb.GetDimensions())) for _, s := range pb.GetDimensions() { r.Dimensions[s] = struct{}{} } if pb.Err != nil { r.Err = errors.New(pb.GetErr()) } return nil }