diff --git a/meta.go b/meta.go index d063fd7..a2ef3cf 100644 --- a/meta.go +++ b/meta.go @@ -1,5 +1,6 @@ package step +import "io" import "strconv" import "strings" @@ -70,3 +71,10 @@ func ParseMeta (input string) (Meta, error) { } return meta, nil } + +// DecodeMeta decodes metadata from an io.Reader. The entire reader is consumed. +func DecodeMeta (input io.Reader) (Meta, error) { + buffer, err := io.ReadAll(input) + if err != nil { return nil, err } + return ParseMeta(string(buffer)) +}