MCPcopy Index your code
hub / github.com/coder/coder / ParseEvent

Function ParseEvent

coderd/usage/usagetypes/events.go:57–74  ·  view source on GitHub ↗

ParseEvent parses the raw event data into the provided event. It fails if there is any unknown fields or extra data at the end of the JSON. The returned event is validated.

(data json.RawMessage, out Event)

Source from the content-addressed store, hash-verified

55// there is any unknown fields or extra data at the end of the JSON. The
56// returned event is validated.
57func ParseEvent(data json.RawMessage, out Event) error {
58 dec := json.NewDecoder(bytes.NewReader(data))
59 dec.DisallowUnknownFields()
60
61 err := dec.Decode(out)
62 if err != nil {
63 return xerrors.Errorf("unmarshal %T event: %w", out, err)
64 }
65 if dec.More() {
66 return xerrors.Errorf("extra data after %T event", out)
67 }
68 err = out.Valid()
69 if err != nil {
70 return xerrors.Errorf("invalid %T event: %w", out, err)
71 }
72
73 return nil
74}
75
76// UnknownEventTypeError is returned by ParseEventWithType when an unknown event
77// type is encountered.

Callers 2

TestParseEventFunction · 0.92
ParseEventWithTypeFunction · 0.85

Calls 2

ValidMethod · 0.65
ErrorfMethod · 0.45

Tested by 1

TestParseEventFunction · 0.74