Skip to content

Commit 3870b28

Browse files
committed
Fix error message
1 parent 40b7b01 commit 3870b28

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

container.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ func (i *Container) serviceNotFound(name string) error {
256256
return fmt.Sprintf("`%s`", name)
257257
})
258258

259-
return fmt.Errorf("DI: could not find service `%s`, available services: %s", name, strings.Join(servicesNames, ", "))
259+
return fmt.Errorf("DI: could not find service `%s`, available services: %s", name, strings.Join(servicesNames, "\n"))
260260
}
261261

262262
func (i *Container) onServiceInvoke(name string) {

di.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,10 @@ func invokeImplem[T any](i *Container, name string, fallbackName string) (T, err
108108
fallbackNames := []string{
109109
// if name is not found, try to find by pointer name
110110
fmt.Sprintf("*%s", name),
111-
fallbackName,
111+
}
112+
113+
if fallbackName != "" {
114+
fallbackNames = append(fallbackNames, fallbackName)
112115
}
113116

114117
for _, fallbackName := range fallbackNames {

injector_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import (
66
"github.com/stretchr/testify/assert"
77
)
88

9-
type Repository interface {
10-
GetID() string
9+
type Repository[T any] interface {
10+
GetID() T
1111
}
1212

1313
type repository struct {
@@ -54,15 +54,15 @@ func TestInject(t *testing.T) {
5454

5555
repository := newRepository()
5656
redisClient := newRedisClient()
57-
ProvideValue[Repository](container, repository)
57+
ProvideValue[Repository[string]](container, repository)
5858
ProvideValue[RedisClient](container, redisClient)
5959
ProvideNamedValue[float64](container, "float64Container", 69.69)
6060

6161
type service struct {
62-
Repository Repository `di:"repository"`
63-
RedisClient RedisClient `di:"redisClient"`
64-
Test *test `di:"test"`
65-
Float64 float64 `di:"float64Container"`
62+
Repository Repository[string] `di:""`
63+
RedisClient RedisClient `di:""`
64+
Test *test `di:""`
65+
Float64 float64 `di:"float64Container"`
6666
}
6767

6868
s := service{}

0 commit comments

Comments
 (0)