simplifications in number of lines of code for serialization

This commit is contained in:
Dylan Cant 2023-01-16 23:31:22 -05:00
parent 771a2b6218
commit c6b4867dd4

View File

@ -88,23 +88,16 @@ func (evt *Event) Serialize() []byte {
// so the order is kept. See NIP-01 // so the order is kept. See NIP-01
ser := make([]byte, 0) ser := make([]byte, 0)
// version: 0 // the header portion is easy to serialize
ser = append(ser, []byte{'[', '0', ','}...) // [0,"pubkey",created_at,kind,[
ser = append(ser, []byte(
// pubkey fmt.Sprintf(
ser = append(ser, '"') "[0,\"%s\",%d,%d,[",
ser = append(ser, []byte(evt.PubKey)...) evt.PubKey,
ser = append(ser, []byte{'"', ','}...) evt.CreatedAt.Unix(),
evt.Kind,
// created_at ))...)
ser = append(ser, []byte(fmt.Sprintf("%d", evt.CreatedAt.Unix()))...) // tags need to be escaped in general.
ser = append(ser, ',')
// kind
ser = append(ser, []byte(fmt.Sprintf("%d,", evt.Kind))...)
// tags
ser = append(ser, '[')
for i, tag := range evt.Tags { for i, tag := range evt.Tags {
if i > 0 { if i > 0 {
ser = append(ser, ',') ser = append(ser, ',')
@ -120,7 +113,7 @@ func (evt *Event) Serialize() []byte {
} }
ser = append(ser, []byte{']', ','}...) ser = append(ser, []byte{']', ','}...)
// content // content needs to be escaped in general as it is user generated.
ser = quoteEscapeString(ser, evt.Content) ser = quoteEscapeString(ser, evt.Content)
ser = append(ser, ']') ser = append(ser, ']')