func (f FileDel) atoms() []Atom {
if f.Contents == nil {
return []Atom{f.Del}
}
return []Atom{f.Del, f.Contents}
}
func fileDel(data []byte) ([]byte, FileDel, error) {
var f FileDel
data, _, err := tuple(
assign(&f.Del, atom),
assign(&f.Contents, mapValue(option(atom), func(p *Atom) Atom {
if p == nil {
return nil
}
return *p
})),
assign(&f.Path, toString(lengthData(uint64LE))),
assign(&f.Encoding, mapValue(option(toString(lengthData(uint64LE))), func(p *string) string {
if p == nil {
return ""
}
return *p
})),
)(data)
return data, f, err
}