| package framework | |
| import ( | |
| "os" | |
| "gopkg.in/yaml.v3" | |
| "project/internal/domain" | |
| ) | |
| type Loader interface { | |
| LoadFromFile(path string) (*domain.InterviewFramework, error) | |
| } | |
| type YAMLLoader struct{} | |
| func NewYAMLLoader() *YAMLLoader { | |
| return &YAMLLoader{} | |
| } | |
| func (l *YAMLLoader) LoadFromFile(path string) (*domain.InterviewFramework, error) { | |
| b, err := os.ReadFile(path) | |
| if err != nil { | |
| return nil, err | |
| } | |
| var fw domain.InterviewFramework | |
| if err := yaml.Unmarshal(b, &fw); err != nil { | |
| return nil, err | |
| } | |
| return &fw, nil | |
| } | |