20 lines
468 B
Go
20 lines
468 B
Go
package scriptorium
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"gitea.maximumdirect.net/eric/narratio/internal/fileops"
|
|
"gopkg.in/yaml.v3"
|
|
)
|
|
|
|
func writeGeneratedYAML(path string, payload any) error {
|
|
data, err := yaml.Marshal(payload)
|
|
if err != nil {
|
|
return fmt.Errorf("marshal generated YAML for %q: %w", path, err)
|
|
}
|
|
if err := fileops.WriteFileAtomic(path, data, fileops.WorkspaceFileMode); err != nil {
|
|
return fmt.Errorf("write generated YAML %q: %w", path, err)
|
|
}
|
|
return nil
|
|
}
|