func NewRecordBuilder()

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
}