From 74e56f55d6addf04382efdc30ad459a31b51a549 Mon Sep 17 00:00:00 2001 From: Ankit Patial Date: Thu, 18 Sep 2025 23:38:19 +0530 Subject: [PATCH] dotenv Assign func validation check --- dotenv/assign.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) 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)