ose

package module
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2020 License: Apache-2.0 Imports: 13 Imported by: 2

README

ose

A pound of sugar to use os, io and ioutil.

License

Apache License 2.0

Documentation

Index

Constants

View Source
const (
	XdgConfigHomeKey string = "XDG_CONFIG_HOME"
	XdgCacheHomeKey         = "XDG_CACHE_HOME"
	XdgDataHomeKey          = "XDG_DATA_HOME"
	XdgRuntimeDirKey        = "XDG_RUNTIME_DIR"
	XdgDataDirsKey          = "XDG_DATA_DIRS"
	XdgConfigDirsKey        = "XDG_CONFIG_DIRS"
)

Variables

This section is empty.

Functions

func Copy

func Copy(fs afero.Fs, oldname string, newname string) error

func CopyFile

func CopyFile(fs afero.Fs, oldname string, newname string, opts *CopyOptions) error

func CopyTree added in v0.2.1

func CopyTree(fs afero.Fs, oldname, newname string, opts *CopyTreeOptions) error

func Exists added in v0.2.1

func Exists(fs afero.Fs, filePath string) bool

func GetFs added in v0.2.0

func GetFs() afero.Fs

func Move

func Move(fs afero.Fs, oldname string, newname string) error

func MoveFile

func MoveFile(fs afero.Fs, oldname string, newname string, opts *MoveOptions) error

func MoveTree added in v0.2.1

func MoveTree(fs afero.Fs, oldname, newname string, opts *MoveTreeOptions) error

func SetWorld added in v0.2.0

func SetWorld(w World)

func Touch

func Touch(fs afero.Fs, path string) error

Types

type BufIOContainer added in v0.2.0

type BufIOContainer struct {
	InBuf  *bytes.Buffer
	OutBuf *bytes.Buffer
	ErrBuf *bytes.Buffer
}

func NewBufIOContainer added in v0.2.0

func NewBufIOContainer() *BufIOContainer

func (*BufIOContainer) Err added in v0.2.0

func (i *BufIOContainer) Err() io.Writer

func (*BufIOContainer) In added in v0.2.0

func (i *BufIOContainer) In() io.Reader

func (*BufIOContainer) Out added in v0.2.0

func (i *BufIOContainer) Out() io.Writer

type Clock added in v0.2.0

type Clock interface {
	Now() time.Time
	After(d time.Duration) <-chan time.Time
}

see https://stackoverflow.com/questions/18970265

func GetClock added in v0.2.0

func GetClock() Clock

type ComposedReadCloser

type ComposedReadCloser struct {
	Reader    io.Reader
	CloseFunc func(r io.Reader) error
}

ComposedReadCloser implements io.ReadCloser. It has an underlying Reader and a function that is called when Close method is called.

func NewReadCloser

func NewReadCloser(r io.Reader, closeFunc func(r io.Reader) error) *ComposedReadCloser

NewReadCloser composes a ReadCloser with an underlying Reader and a function that is called when Close method is called.

func NopReadCloser

func NopReadCloser(r io.Reader) *ComposedReadCloser

NopReadCloser composes a ReadCloser with an underlying Reader. It does nothing when Close method is called.

func (*ComposedReadCloser) Close

func (crc *ComposedReadCloser) Close() error

func (*ComposedReadCloser) Read

func (crc *ComposedReadCloser) Read(p []byte) (int, error)

type ComposedWriteCloser

type ComposedWriteCloser struct {
	Writer    io.Writer
	CloseFunc func(w io.Writer) error
}

ComposedWriteCloser implements io.WriteCloser. It has an underlying Writer and a function that is called when Close method is called.

func NewWriteCloser

func NewWriteCloser(w io.Writer, closeFunc func(w io.Writer) error) *ComposedWriteCloser

NewWriteCloser composes a WriteCloser with an underlying Writer and a function that is called when Close method is called.

func NopWriteCloser

func NopWriteCloser(w io.Writer) *ComposedWriteCloser

NopWriteCloser composes a WriteCloser with an underlying Writer. It does nothing when Close method is called.

func (*ComposedWriteCloser) Close

func (cwc *ComposedWriteCloser) Close() error

func (*ComposedWriteCloser) Write

func (cwc *ComposedWriteCloser) Write(p []byte) (int, error)

type ConditionalCloser

type ConditionalCloser struct {
	Closer  io.Closer
	Enabled bool
	Closed  bool
	Called  bool
}

ConditionalCloser implements io.Closer. When Close method is called, it close the underlying closer only if Enabled is true.

func NewConditionalCloser

func NewConditionalCloser(c io.Closer, enabled bool) *ConditionalCloser

NewConditionalCloser creates new ConditionalCloser.

func (*ConditionalCloser) Close

func (cc *ConditionalCloser) Close() error

type ConditionalReadCloser

type ConditionalReadCloser struct {
	ConditionalCloser
	ReadCloser io.ReadCloser
}

func NewConditionalReadCloser

func NewConditionalReadCloser(c io.ReadCloser, enabled bool) *ConditionalReadCloser

NewConditionalReadCloser creates new ConditionalReadCloser.

func (*ConditionalReadCloser) Close

func (cc *ConditionalReadCloser) Close() error

func (*ConditionalReadCloser) Read

func (cc *ConditionalReadCloser) Read(p []byte) (int, error)

func (*ConditionalReadCloser) SetReadCloser

func (cc *ConditionalReadCloser) SetReadCloser(rc io.ReadCloser)

type ConditionalWriteCloser

type ConditionalWriteCloser struct {
	ConditionalCloser
	WriteCloser io.WriteCloser
}

func NewConditionalWriteCloser

func NewConditionalWriteCloser(c io.WriteCloser, enabled bool) *ConditionalWriteCloser

NewConditionalWriteCloser creates new ConditionalWriteCloser.

func (*ConditionalWriteCloser) Close

func (cc *ConditionalWriteCloser) Close() error

func (*ConditionalWriteCloser) SetWriteCloser

func (cc *ConditionalWriteCloser) SetWriteCloser(wc io.WriteCloser)

func (*ConditionalWriteCloser) Write

func (cc *ConditionalWriteCloser) Write(p []byte) (int, error)

type CopyOptions

type CopyOptions struct {
	NoOverwrite bool
}

type CopyTreeOptions added in v0.2.1

type CopyTreeOptions struct {
	NoOverwrite bool
}

type Env added in v0.2.0

type Env interface {
	Get(key string) string
	Lookup(key string) (string, bool)
	Set(key string, value string) error
	Clear()
}

func GetEnv added in v0.2.0

func GetEnv() Env

type EnvPath added in v0.2.0

type EnvPath struct {
	// contains filtered or unexported fields
}

func NewEnvPath added in v0.2.0

func NewEnvPath(fs afero.Fs, env Env) *EnvPath

func (*EnvPath) GetGoPath added in v0.2.0

func (p *EnvPath) GetGoPath() (string, error)

func (*EnvPath) GetGoPathMulti added in v0.2.0

func (p *EnvPath) GetGoPathMulti() []string

func (*EnvPath) GetPath added in v0.2.0

func (p *EnvPath) GetPath() []string

func (*EnvPath) GetXdgCacheHome added in v0.2.0

func (p *EnvPath) GetXdgCacheHome() (string, error)

func (*EnvPath) GetXdgConfigDirs added in v0.2.0

func (p *EnvPath) GetXdgConfigDirs() []string

func (*EnvPath) GetXdgConfigHome added in v0.2.0

func (p *EnvPath) GetXdgConfigHome() (string, error)

func (*EnvPath) GetXdgDataDirs added in v0.2.0

func (p *EnvPath) GetXdgDataDirs() []string

func (*EnvPath) GetXdgDataHome added in v0.2.0

func (p *EnvPath) GetXdgDataHome() (string, error)

func (*EnvPath) GetXdgRuntimeDir added in v0.2.0

func (p *EnvPath) GetXdgRuntimeDir() (string, error)

func (*EnvPath) LookPath added in v0.2.0

func (p *EnvPath) LookPath(dirs []string, names ...string) (string, error)

func (*EnvPath) LookPathAll added in v0.2.0

func (p *EnvPath) LookPathAll(dirs []string, names ...string) []string

func (*EnvPath) LookPathWithPredicate added in v0.2.0

func (p *EnvPath) LookPathWithPredicate(dirs []string, names []string, pred func(fpath string, fi os.FileInfo) (ok bool)) (string, error)

type ExtendedReadCloser

type ExtendedReadCloser struct {
	ReadCloser io.ReadCloser
	CloseFunc  func(rc io.ReadCloser) error
}

ExtendedReadCloser implements io.ReadCloser. It has an underlying Reader and a function that is called when Close method is called.

func ExtendReadCloser

func ExtendReadCloser(rc io.ReadCloser, closeFunc func(rc io.ReadCloser) error) *ExtendedReadCloser

ExtendReadCloser composes a ReadCloser with an underlying Reader and a function that is called when Close method is called.

func (*ExtendedReadCloser) Close

func (erc *ExtendedReadCloser) Close() error

func (*ExtendedReadCloser) Read

func (erc *ExtendedReadCloser) Read(p []byte) (int, error)

type ExtendedWriteCloser

type ExtendedWriteCloser struct {
	WriteCloser io.WriteCloser
	CloseFunc   func(w io.WriteCloser) error
}

ExtendedWriteCloser implements io.WriteCloser. It has an underlying Writer and a function that is called when Close method is called.

func ExtendWriteCloser

func ExtendWriteCloser(wc io.WriteCloser, closeFunc func(wc io.WriteCloser) error) *ExtendedWriteCloser

ExtendWriteCloser composes a WriteCloser with an underlying Writer and a function that is called when Close method is called.

func (*ExtendedWriteCloser) Close

func (ewc *ExtendedWriteCloser) Close() error

func (*ExtendedWriteCloser) Write

func (ewc *ExtendedWriteCloser) Write(p []byte) (int, error)

type FakeClock added in v0.2.0

type FakeClock struct {
	Time     time.Time
	Duration time.Duration
	Count    int64
}

func NewFakeClock added in v0.2.0

func NewFakeClock(t time.Time, d time.Duration) *FakeClock

func (*FakeClock) After added in v0.2.0

func (c *FakeClock) After(d time.Duration) <-chan time.Time

func (*FakeClock) Now added in v0.2.0

func (c *FakeClock) Now() time.Time

type FakeWorld added in v0.2.0

type FakeWorld struct {
	FakeFs    afero.Fs
	FakeIO    *BufIOContainer
	FakeEnv   *MapEnv
	FakeClock *FakeClock
}

func NewFakeWorld added in v0.2.0

func NewFakeWorld() *FakeWorld

func (*FakeWorld) Clock added in v0.2.0

func (w *FakeWorld) Clock() Clock

func (*FakeWorld) Env added in v0.2.0

func (w *FakeWorld) Env() Env

func (*FakeWorld) Fs added in v0.2.0

func (w *FakeWorld) Fs() afero.Fs

func (*FakeWorld) IO added in v0.2.0

func (w *FakeWorld) IO() IO

type IO added in v0.2.0

type IO interface {
	In() io.Reader
	Out() io.Writer
	Err() io.Writer
}

func GetIO added in v0.2.0

func GetIO() IO

func NewStdio added in v0.2.0

func NewStdio() IO

type IOContainer added in v0.2.0

type IOContainer struct {
	InR  io.Reader
	OutW io.Writer
	ErrW io.Writer
}

func NewIOContainer added in v0.2.0

func NewIOContainer(in io.Reader, out, err io.Writer) *IOContainer

func (*IOContainer) Err added in v0.2.0

func (c *IOContainer) Err() io.Writer

func (*IOContainer) In added in v0.2.0

func (c *IOContainer) In() io.Reader

func (*IOContainer) Out added in v0.2.0

func (c *IOContainer) Out() io.Writer

type MapEnv added in v0.2.0

type MapEnv struct {
	// contains filtered or unexported fields
}

func NewMapEnv added in v0.2.0

func NewMapEnv() *MapEnv

func (*MapEnv) Clear added in v0.2.0

func (e *MapEnv) Clear()

func (*MapEnv) Get added in v0.2.0

func (e *MapEnv) Get(key string) string

func (*MapEnv) GetMap added in v0.2.0

func (e *MapEnv) GetMap() map[string]string

func (*MapEnv) Lookup added in v0.2.0

func (e *MapEnv) Lookup(key string) (string, bool)

func (*MapEnv) Set added in v0.2.0

func (e *MapEnv) Set(key string, value string) error

func (*MapEnv) SetMap added in v0.2.0

func (e *MapEnv) SetMap(m map[string]string)

type MoveOptions

type MoveOptions struct {
	NoOverwrite bool
	NoRename    bool
}

type MoveTreeOptions added in v0.2.1

type MoveTreeOptions struct {
	NoOverwrite bool
	NoRename    bool
}

type Opener

type Opener struct {
	FallbackReader        io.Reader
	FallbackWriter        io.Writer
	TreatHyphenAsFileName bool
	Unbuffered            bool
	// contains filtered or unexported fields
}

func NewOpener

func NewOpener(fs afero.Fs, io IO) *Opener

func NewOpenerInThisWorld added in v0.2.0

func NewOpenerInThisWorld() *Opener

func (*Opener) Create

func (o *Opener) Create(name string) (io.WriteCloser, error)

func (*Opener) CreateFile

func (o *Opener) CreateFile(name string, flag int, perm os.FileMode) (io.WriteCloser, error)

func (*Opener) CreateTempFile

func (o *Opener) CreateTempFile(dir, prefix, newname string, handler func(f io.WriteCloser) (bool, error)) (bool, error)

func (*Opener) Open

func (o *Opener) Open(name string) (io.ReadCloser, error)

func (*Opener) OpenFile

func (o *Opener) OpenFile(name string, flag int, perm os.FileMode) (io.ReadCloser, error)

func (*Opener) TempScope added in v0.2.0

func (o *Opener) TempScope() *TempScope

type TempScope added in v0.2.0

type TempScope struct {
	// contains filtered or unexported fields
}

func NewTempScope added in v0.2.0

func NewTempScope(fs afero.Fs) *TempScope

func (*TempScope) TempDirScope added in v0.2.0

func (s *TempScope) TempDirScope(dir, prefix, newname string, handler func(tempname string) (bool, error)) (bool, error)

func (*TempScope) TempDirScopeLazy added in v0.2.0

func (s *TempScope) TempDirScopeLazy(dir, prefix string, handler func(tempname string) (string, error)) (string, error)

func (*TempScope) TempFileScope added in v0.2.0

func (s *TempScope) TempFileScope(dir, prefix, newname string, handler func(f afero.File) (bool, error)) (bool, error)

func (*TempScope) TempFileScopeLazy added in v0.2.0

func (s *TempScope) TempFileScopeLazy(dir, prefix string, handler func(f afero.File) (string, error)) (string, error)

type World added in v0.2.0

type World interface {
	Fs() afero.Fs
	IO() IO
	Env() Env
	Clock() Clock
}

func GetWorld added in v0.2.0

func GetWorld() World

func NewRealWorld added in v0.2.0

func NewRealWorld() World

type WorldContainer added in v0.2.0

type WorldContainer struct {
	// contains filtered or unexported fields
}

func NewWorldContainer added in v0.2.0

func NewWorldContainer(fs afero.Fs, io IO, env Env, clock Clock) *WorldContainer

func (*WorldContainer) Clock added in v0.2.0

func (w *WorldContainer) Clock() Clock

func (*WorldContainer) Env added in v0.2.0

func (w *WorldContainer) Env() Env

func (*WorldContainer) Fs added in v0.2.0

func (w *WorldContainer) Fs() afero.Fs

func (*WorldContainer) IO added in v0.2.0

func (w *WorldContainer) IO() IO

Directories

Path Synopsis
cmd
colivec/statik
Package statik contains static assets.
Package statik contains static assets.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL