newStructFLS returns a FieldLoadSaver for the struct pointer p.
(p interface{})
| 211 | |
| 212 | // newStructFLS returns a FieldLoadSaver for the struct pointer p. |
| 213 | func newStructFLS(p interface{}) (FieldLoadSaver, error) { |
| 214 | v := reflect.ValueOf(p) |
| 215 | if v.Kind() != reflect.Ptr || v.IsNil() || v.Elem().Kind() != reflect.Struct { |
| 216 | return nil, ErrInvalidDocumentType |
| 217 | } |
| 218 | codec, err := loadCodec(v.Elem().Type()) |
| 219 | if err != nil { |
| 220 | return nil, err |
| 221 | } |
| 222 | return structFLS{v.Elem(), codec}, nil |
| 223 | } |
| 224 | |
| 225 | func loadStructWithMeta(dst interface{}, f []Field, meta *DocumentMetadata) error { |
| 226 | x, err := newStructFLS(dst) |
no test coverage detected
searching dependent graphs…