From 381da691a4267cfc4e16af618780e21e24750866 Mon Sep 17 00:00:00 2001 From: "Alexander \"Arav\" Andreev" Date: Sun, 1 Oct 2023 22:03:26 +0400 Subject: [PATCH] For ListenerCounter implemented MarshalJSON() method. --- internal/radio/listeners.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/internal/radio/listeners.go b/internal/radio/listeners.go index 9b0ee5a..41f251c 100644 --- a/internal/radio/listeners.go +++ b/internal/radio/listeners.go @@ -1,6 +1,7 @@ package radio import ( + "encoding/json" "errors" "fmt" "math" @@ -58,3 +59,14 @@ func (l *ListenerCounter) Dec() (int, error) { l.current-- return l.current, nil } + +func (l *ListenerCounter) MarshalJSON() ([]byte, error) { + l.mut.Lock() + defer l.mut.Unlock() + return json.Marshal(&struct { + Current int `json:"current"` + Peak int `json:"peak"` + }{ + Current: l.current, + Peak: l.peak}) +}