Files
notarius/internal/modules/input/seriatim/model.go

30 lines
613 B
Go

package seriatim
import (
"bytes"
"encoding/json"
)
type transcript struct {
Metadata map[string]any `json:"metadata"`
Segments []segment `json:"segments"`
}
type segment struct {
ID string `json:"id"`
Start json.Number `json:"start"`
End json.Number `json:"end"`
Speaker string `json:"speaker"`
Text string `json:"text"`
}
func decodeTranscript(raw []byte) (transcript, error) {
var out transcript
decoder := json.NewDecoder(bytes.NewReader(raw))
decoder.UseNumber()
if err := decoder.Decode(&out); err != nil {
return transcript{}, err
}
return out, nil
}