(cctx *Context, typ *super.TypeRecord)
| 17 | var _ Encoder = (*RecordEncoder)(nil) |
| 18 | |
| 19 | func NewRecordEncoder(cctx *Context, typ *super.TypeRecord) *RecordEncoder { |
| 20 | fields := make([]*FieldEncoder, 0, len(typ.Fields)) |
| 21 | var nopt int |
| 22 | for _, f := range typ.Fields { |
| 23 | fields = append(fields, &FieldEncoder{ |
| 24 | name: f.Name, |
| 25 | values: NewEncoder(cctx, f.Type), |
| 26 | opt: f.Opt, |
| 27 | }) |
| 28 | if f.Opt { |
| 29 | nopt++ |
| 30 | } |
| 31 | } |
| 32 | return &RecordEncoder{fields: fields, nopt: nopt} |
| 33 | } |
| 34 | |
| 35 | func (r *RecordEncoder) Write(vec vector.Any) { |
| 36 | if vec.Len() == 0 { |
no test coverage detected