MCPcopy Create free account
hub / github.com/brimdata/super / NewRecordEncoder

Function NewRecordEncoder

csup/record.go:19–33  ·  view source on GitHub ↗
(cctx *Context, typ *super.TypeRecord)

Source from the content-addressed store, hash-verified

17var _ Encoder = (*RecordEncoder)(nil)
18
19func 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
35func (r *RecordEncoder) Write(vec vector.Any) {
36 if vec.Len() == 0 {

Callers 1

NewEncoderFunction · 0.85

Calls 1

NewEncoderFunction · 0.70

Tested by

no test coverage detected