2020-02-25 14:20:57 -06:00
|
|
|
package document
|
2019-11-06 09:44:10 -06:00
|
|
|
|
|
|
|
import (
|
|
|
|
"io/ioutil"
|
|
|
|
|
|
|
|
"sigs.k8s.io/kustomize/v3/pkg/fs"
|
|
|
|
)
|
|
|
|
|
|
|
|
// File extends kustomize File and provide abstraction to creating temporary files
|
|
|
|
type File interface {
|
|
|
|
fs.File
|
|
|
|
Name() string
|
|
|
|
}
|
|
|
|
|
|
|
|
// FileSystem extends kustomize FileSystem and provide abstraction to creating temporary files
|
|
|
|
type FileSystem interface {
|
|
|
|
fs.FileSystem
|
|
|
|
TempFile(string, string) (File, error)
|
|
|
|
}
|
|
|
|
|
2020-02-25 14:20:57 -06:00
|
|
|
// DocumentFs is adaptor to TempFile
|
|
|
|
type DocumentFs struct {
|
2019-11-06 09:44:10 -06:00
|
|
|
fs.FileSystem
|
|
|
|
}
|
|
|
|
|
2020-02-25 14:20:57 -06:00
|
|
|
// NewDocumentFs returns an instalce of DocumentFs
|
|
|
|
func NewDocumentFs() FileSystem {
|
|
|
|
return &DocumentFs{FileSystem: fs.MakeRealFS()}
|
|
|
|
}
|
|
|
|
|
2019-11-06 09:44:10 -06:00
|
|
|
// TempFile creates file in temporary filesystem, at default os.TempDir
|
2020-02-25 14:20:57 -06:00
|
|
|
func (dfs DocumentFs) TempFile(tmpDir string, prefix string) (File, error) {
|
2019-11-06 09:44:10 -06:00
|
|
|
return ioutil.TempFile(tmpDir, prefix)
|
|
|
|
}
|