MCPcopy Index your code
hub / github.com/redspread/spread / getFromArrayField

Function getFromArrayField

pkg/data/fields.go:99–112  ·  view source on GitHub ↗
(field *pb.Field, index int)

Source from the content-addressed store, hash-verified

97}
98
99func getFromArrayField(field *pb.Field, index int) (*pb.Field, error) {
100 fieldArr := field.GetArray()
101 if fieldArr == nil {
102 return nil, fmt.Errorf("field '%s' isn't an array, cannot access %s[%d]", field.Key, field.Key, index)
103 }
104
105 items := fieldArr.GetItems()
106 if items == nil {
107 return nil, fmt.Errorf("the array wrapper struct for the value of field '%s' had nil for items, cannot access %s[%d]", field.Key, field.Key, index)
108 } else if len(items)-1 < index {
109 return nil, fmt.Errorf("could not access %s[%d], the size of '%s' is %d", field.Key, index, field.Key, len(items))
110 }
111 return items[index], nil
112}
113
114func getFromMapField(field *pb.Field, key string) (*pb.Field, error) {
115 fieldMap := field.GetObject()

Callers 1

ResolveRelativeFieldFunction · 0.85

Calls 2

GetArrayMethod · 0.80
GetItemsMethod · 0.45

Tested by

no test coverage detected