Skip to content

Commit c2b66e4

Browse files
fix(config): Custom types unmarshal
1 parent f5e0daa commit c2b66e4

3 files changed

Lines changed: 9 additions & 9 deletions

File tree

config/config_loader.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ func LoadConfigStructFromEnv[T any](instance *T, log yalogger.Logger) {
110110
func LoadConfigStructFromEnvHandlingError[T any](instance *T, log yalogger.Logger) yaerrors.Error {
111111
safetyCheck(&log)
112112

113-
err := loadDotEnv()
113+
err := LoadDotEnv()
114114
if err != nil {
115115
log.Warnf("Error loading .env file: %v", err)
116116
}
@@ -1232,7 +1232,7 @@ func loadConfigStructFromEnv(
12321232

12331233
var val int64
12341234

1235-
val, err = GetEnv(envKey, fieldVal.Int(), required, log)
1235+
val, err = GetEnvWithCustomType(envKey, fieldVal.Int(), required, field.Type, log)
12361236
if err != nil {
12371237
return err.WrapWithLog(
12381238
"load config struct from env",
@@ -1268,7 +1268,7 @@ func loadConfigStructFromEnv(
12681268

12691269
var val uint64
12701270

1271-
val, err = GetEnv(envKey, fieldVal.Uint(), required, log)
1271+
val, err = GetEnvWithCustomType(envKey, fieldVal.Uint(), required, field.Type, log)
12721272
if err != nil {
12731273
return err.WrapWithLog(
12741274
"load config struct from env",
@@ -1299,7 +1299,7 @@ func loadConfigStructFromEnv(
12991299

13001300
var val float64
13011301

1302-
val, err = GetEnv(envKey, fieldVal.Float(), required, log)
1302+
val, err = GetEnvWithCustomType(envKey, fieldVal.Float(), required, field.Type, log)
13031303
if err != nil {
13041304
return err.WrapWithLog(
13051305
"load config struct from env",
@@ -1330,7 +1330,7 @@ func loadConfigStructFromEnv(
13301330

13311331
var val bool
13321332

1333-
val, err = GetEnv(envKey, fieldVal.Bool(), required, log)
1333+
val, err = GetEnvWithCustomType(envKey, fieldVal.Bool(), required, field.Type, log)
13341334
if err != nil {
13351335
return err.WrapWithLog(
13361336
"load config struct from env",
@@ -1354,7 +1354,7 @@ func loadConfigStructFromEnv(
13541354

13551355
var val string
13561356

1357-
val, err = GetEnv(envKey, fieldVal.String(), required, log)
1357+
val, err = GetEnvWithCustomType(envKey, fieldVal.String(), required, field.Type, log)
13581358
if err != nil {
13591359
return err.WrapWithLog(
13601360
"load config struct from env",

config/getenv.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func GetEnv[T valueparser.ParsableType](
3131
key,
3232
fallback,
3333
required,
34-
reflect.TypeOf(new(T)).Elem(),
34+
reflect.TypeFor[T](),
3535
log,
3636
)
3737
}
@@ -125,7 +125,7 @@ func GetEnvArray[T valueparser.ParsableType](
125125
fallback,
126126
separator,
127127
required,
128-
reflect.TypeOf(new(T)).Elem(),
128+
reflect.TypeFor[T](),
129129
log,
130130
)
131131
}

config/utils.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ func getMapType(v reflect.Value) mapType {
344344
}
345345
}
346346

347-
func loadDotEnv() yaerrors.Error {
347+
func LoadDotEnv() yaerrors.Error {
348348
file, err := os.Open(DotEnvFile)
349349
if err != nil {
350350
return yaerrors.FromError(

0 commit comments

Comments
 (0)