mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-05-22 00:19:57 +02:00
simplifications in number of lines of code for serialization
This commit is contained in:
parent
771a2b6218
commit
c6b4867dd4
29
event.go
29
event.go
@ -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, ']')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user