Compare commits
1 Commits
main
...
5f267229c4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5f267229c4 |
10
CHANGELOG.md
10
CHANGELOG.md
@@ -6,22 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.0.3] - 2025-07-23
|
||||
|
||||
### Added
|
||||
- handle errors via. required (tests)
|
||||
- only error on non required values
|
||||
|
||||
## [0.0.2] - 2025-07-22
|
||||
|
||||
### Added
|
||||
- add a global handler for getting items
|
||||
- rename tag
|
||||
|
||||
### Other
|
||||
- Configure Renovate (#2)
|
||||
Add renovate.json
|
||||
|
||||
## [0.0.1] - 2025-07-21
|
||||
|
||||
### Added
|
||||
|
||||
@@ -94,7 +94,7 @@ OUTER:
|
||||
}
|
||||
|
||||
valueStr, err := defaultLogger.Load().Get(ctx, tag.Env)
|
||||
if err != nil && tag.Required {
|
||||
if err != nil {
|
||||
errs = append(errs, fmt.Errorf("field: %s failed to load: %w", field.Name, err))
|
||||
continue OUTER
|
||||
}
|
||||
|
||||
@@ -165,36 +165,4 @@ func TestLoad(t *testing.T) {
|
||||
assert.Equal(t, "some-item", val.SomeItem)
|
||||
assert.Equal(t, "some-other-item", val.SomeOtherItem)
|
||||
})
|
||||
|
||||
t.Run("required true, error returned", func(t *testing.T) {
|
||||
type Config struct {
|
||||
SomeItem string
|
||||
SomeOtherItem string `cfg:"required:true"`
|
||||
someBool bool
|
||||
}
|
||||
|
||||
t.Setenv("SOME_OTHER_ITEM", "")
|
||||
|
||||
val, err := yourconfig.Load[Config]()
|
||||
require.Error(t, err)
|
||||
require.Zero(t, val)
|
||||
|
||||
assert.Equal(t, "config failed: field: SomeOtherItem (env=SOME_OTHER_ITEM) is not set and is required", err.Error())
|
||||
})
|
||||
|
||||
t.Run("required false, no error returned", func(t *testing.T) {
|
||||
type Config struct {
|
||||
SomeItem string
|
||||
SomeOtherItem string `cfg:"required:false"`
|
||||
someBool bool
|
||||
}
|
||||
|
||||
t.Setenv("SOME_OTHER_ITEM", "")
|
||||
|
||||
val, err := yourconfig.Load[Config]()
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.Zero(t, val)
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
2
go.mod
2
go.mod
@@ -4,7 +4,7 @@ go 1.24.5
|
||||
|
||||
require (
|
||||
github.com/ettle/strcase v0.2.0
|
||||
github.com/stretchr/testify v1.11.1
|
||||
github.com/stretchr/testify v1.10.0
|
||||
)
|
||||
|
||||
require (
|
||||
|
||||
2
go.sum
2
go.sum
@@ -6,8 +6,6 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
|
||||
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
|
||||
}
|
||||
Reference in New Issue
Block a user