in sobject/tree/builder.go [26:51]
func NewRecordBuilder(builder Builder) (*RecordBuilder, error) {
if builder == nil {
return nil, errors.New("sobject tree: the builder can not be nil")
}
sobject := builder.SObject()
matching, err := regexp.MatchString(`\w`, sobject)
if err != nil {
return nil, err
}
if matching == false {
return nil, fmt.Errorf("tree builder: %s is not a valid sobject", sobject)
}
if builder.ReferenceID() == "" {
return nil, errors.New("tree builder: reference id must be present")
}
return &RecordBuilder{
record: Record{
Attributes: Attributes{
Type: sobject,
ReferenceID: builder.ReferenceID(),
},
Fields: builder.Fields(),
Records: make(map[string][]*Record),
},
}, nil
}