platforms: Add MustParse
This function is analogous to `regexp.MustCompile` and can simplify production of a `Platform` from a hard-coded strings, e.g. for global variable initialisation. Signed-off-by: Ian Campbell <ian.campbell@docker.com>
This commit is contained in:
parent
1ba4aa04b4
commit
c83f9773bc
@ -109,6 +109,7 @@ package platforms
|
||||
import (
|
||||
"regexp"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
@ -230,6 +231,16 @@ func Parse(specifier string) (specs.Platform, error) {
|
||||
return specs.Platform{}, errors.Wrapf(errdefs.ErrInvalidArgument, "%q: cannot parse platform specifier", specifier)
|
||||
}
|
||||
|
||||
// MustParse is like Parses but panics if the specifier cannot be parsed.
|
||||
// Simplifies initialization of global variables.
|
||||
func MustParse(specifier string) specs.Platform {
|
||||
p, err := Parse(specifier)
|
||||
if err != nil {
|
||||
panic("platform: Parse(" + strconv.Quote(specifier) + "): " + err.Error())
|
||||
}
|
||||
return p
|
||||
}
|
||||
|
||||
// Format returns a string specifier from the provided platform specification.
|
||||
func Format(platform specs.Platform) string {
|
||||
if platform.OS == "" {
|
||||
|
Loading…
Reference in New Issue
Block a user