From b36ca9b5ad143d9454061d9411d94e373fb2ee5d Mon Sep 17 00:00:00 2001 From: paul Date: Sun, 17 Jan 2021 16:45:26 -0500 Subject: [PATCH 1/2] allow users to create Levels directly from integers with first-party validation --- levels.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/levels.go b/levels.go index 7d43a43..dc7b41f 100644 --- a/levels.go +++ b/levels.go @@ -79,3 +79,12 @@ func MustParseLevel(s string) Level { return l } + +// FromInt validates level integers. +func FromInt(i int) (Level, error) { + if i < 0 || i >= len(levelNames) { + return InvalidLevel, ErrInvalidLevel + } + + return levelStrings[levelNames[i]] +} From 50e11ea6ea80ef8fadbd562734cd73ca3a366669 Mon Sep 17 00:00:00 2001 From: paul Date: Sun, 17 Jan 2021 17:19:42 -0500 Subject: [PATCH 2/2] address go vet --- levels.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/levels.go b/levels.go index dc7b41f..d280a62 100644 --- a/levels.go +++ b/levels.go @@ -86,5 +86,5 @@ func FromInt(i int) (Level, error) { return InvalidLevel, ErrInvalidLevel } - return levelStrings[levelNames[i]] + return levelStrings[levelNames[i]], nil }