package config import ( "os" "go.yaml.in/yaml/v3" ) type File struct { filePath string config *Configuration } func NewFile(filePath string) (*File, error) { c := &File{filePath: filePath, config: &Configuration{}} if err := c.loadConfig(); err != nil { return nil, err } return c, nil } func (c *File) loadConfig() error { data, err := os.ReadFile(c.filePath) if err != nil { return err } return yaml.Unmarshal(data, c.config) } func (c *File) GetConfiguration() *Configuration { return c.config }