diff options
| author | Bobby <[email protected]> | 2026-01-15 15:53:17 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2026-01-15 15:53:17 +0530 |
| commit | c8d0bbb5b54f5cec3ebb245f9a21d8a94b3bd944 (patch) | |
| tree | 6a5c2500da90253ad07a0d5192071bb77f093d36 /utils/env/parser.go | |
| download | cafe-c8d0bbb5b54f5cec3ebb245f9a21d8a94b3bd944.tar.xz cafe-c8d0bbb5b54f5cec3ebb245f9a21d8a94b3bd944.zip | |
Add initial project structure with Go Fiber framework and environment configuration
Diffstat (limited to 'utils/env/parser.go')
| -rw-r--r-- | utils/env/parser.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/utils/env/parser.go b/utils/env/parser.go new file mode 100644 index 0000000..c1fdb53 --- /dev/null +++ b/utils/env/parser.go @@ -0,0 +1,28 @@ +package env + +func Parse(config any) error { + elem, t, err := validateConfigInput(config) + if err != nil { + return err + } + + for i := range elem.NumField() { + field := elem.Field(i) + fieldType := t.Field(i) + + if !field.CanSet() { + continue + } + + envKey := fieldType.Tag.Get("env") + defaultVal := fieldType.Tag.Get("default") + + if envKey == "" { + continue + } + + setFieldFromEnv(field, envKey, defaultVal) + } + + return nil +} |
