package params import ( "os" "strings" ) // LoadFromFile loads parameters from a JSON or YAML file. // File format is determined by extension (.json or .yaml/.yml). func LoadFromFile(filepath string) (*Params, error) { data, err := os.ReadFile(filepath) if err != nil { return nil, err } // Determine format by extension ext := strings.ToLower(filepath[strings.LastIndex(filepath, "."):]) switch ext { case ".yaml", ".yml": return LoadFromYAML(data) case ".json": return LoadFromJSON(data) default: // Default to JSON if unknown extension return LoadFromJSON(data) } }