From 3314b1faadb3dc7e3cc4682321dc810f4f4235e5 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Fri, 26 Apr 2019 14:27:22 +0200 Subject: [PATCH] Refactored API --- external_coachsequence.go | 5 +++-- external_station.go | 9 ++++++--- external_timetable.go | 5 +++-- external_wings.go | 9 ++++++--- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/external_coachsequence.go b/external_coachsequence.go index d890f71..67ae95d 100644 --- a/external_coachsequence.go +++ b/external_coachsequence.go @@ -2,15 +2,16 @@ package bahn import ( "encoding/json" + "io" "strconv" "strings" "time" "unicode" ) -func CoachSequenceFromDecoder(source json.Decoder) (CoachSequence, error) { +func CoachSequenceFromReader(source io.Reader) (CoachSequence, error) { var raw rawCoachSequence - if err := source.Decode(&raw); err != nil { + if err := json.NewDecoder(source).Decode(&raw); err != nil { return CoachSequence{}, err } return parseCoachSequence(raw), nil diff --git a/external_station.go b/external_station.go index e3d11cb..955c895 100644 --- a/external_station.go +++ b/external_station.go @@ -1,10 +1,13 @@ package bahn -import "encoding/xml" +import ( + "encoding/xml" + "io" +) -func StationsFromDecoder(source xml.Decoder) ([]Station, error) { +func StationsFromReader(source io.Reader) ([]Station, error) { var raw rawStations - if err := source.Decode(&raw); err != nil { + if err := xml.NewDecoder(source).Decode(&raw); err != nil { return make([]Station, 0), err } return parseStations(raw), nil diff --git a/external_timetable.go b/external_timetable.go index 6665990..fb354ae 100644 --- a/external_timetable.go +++ b/external_timetable.go @@ -3,11 +3,12 @@ package bahn import ( "encoding/xml" "fmt" + "io" ) -func TimetableFromDecoder(source xml.Decoder) (Timetable, error) { +func TimetableFromReader(source io.Reader) (Timetable, error) { var raw rawTimetable - if err := source.Decode(&raw); err != nil { + if err := xml.NewDecoder(source).Decode(&raw); err != nil { return Timetable{}, err } return parseTimetable(raw), nil diff --git a/external_wings.go b/external_wings.go index 32afccf..9575c0f 100644 --- a/external_wings.go +++ b/external_wings.go @@ -1,10 +1,13 @@ package bahn -import "encoding/xml" +import ( + "encoding/xml" + "io" +) -func WingDefinitionFromDecoder(source xml.Decoder) (WingDefinition, error) { +func WingDefinitionFromReader(source io.Reader) (WingDefinition, error) { var raw rawWingDefinition - if err := source.Decode(&raw); err != nil { + if err := xml.NewDecoder(source).Decode(&raw); err != nil { return WingDefinition{}, err } return parseWingDefinition(raw), nil -- GitLab