func New()

in pkg/output/file/file.go [50:77]


func New(cfg *ucfg.Config) (output.Output, error) {
	var pOsFile *os.File
	var err error

	c := defaultConfig()
	if err = cfg.Unpack(&c); err != nil {
		return nil, err
	}
	if c.Directory != "" && c.Pattern != "" {
		pOsFile, err = os.CreateTemp(c.Directory, c.Pattern)
		if err != nil {
			return nil, err
		}
	}
	if c.Filename != "" {
		pOsFile, err = os.Create(c.Filename)
		if err != nil {
			return nil, err
		}
	}
	out := Output{
		pWriteCloser: pOsFile,
		delimiter:    c.Delimiter,
		directory:    c.Directory,
		pattern:      c.Pattern,
	}
	return &out, nil
}