diff --git a/dotenv/assign.go b/dotenv/assign.go index 3b65541..d8bc974 100644 --- a/dotenv/assign.go +++ b/dotenv/assign.go @@ -1,7 +1,6 @@ package dotenv import ( - "errors" "log/slog" "reflect" "strconv" @@ -9,14 +8,18 @@ import ( ) // Assign env tag matching values from envMap -func Assign[T any](c *T, envMap map[string]string) error { - if c == nil { - return errors.New("nil arg") +func Assign[T any](to *T, envMap map[string]string) error { + if to == nil { + slog.Warn(" arg 'to' is nil") + return nil } - slog.Info("env map", "v", envMap) + if len(envMap) == 0 { + slog.Warn(" envMap is nil") + return nil + } - val := reflect.Indirect(reflect.ValueOf(c)) + val := reflect.Indirect(reflect.ValueOf(to)) name := val.Type().Name() for i := range val.NumField() { f := val.Type().Field(i)