summaryrefslogtreecommitdiff
path: root/vendor/github.com/dsoprea/go-utility/v2/filesystem/readwriteseekcloser.go
blob: c583a80241bed101b2cf4701edd2ecc6eafa27e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package rifs

import (
	"io"
)

// ReadWriteSeekCloser satisfies `io.ReadWriteSeeker` and `io.Closer`
// interfaces.
type ReadWriteSeekCloser interface {
	io.ReadWriteSeeker
	io.Closer
}

type readWriteSeekNoopCloser struct {
	io.ReadWriteSeeker
}

// ReadWriteSeekNoopCloser wraps a `io.ReadWriteSeeker` with a no-op Close()
// call.
func ReadWriteSeekNoopCloser(rws io.ReadWriteSeeker) ReadWriteSeekCloser {
	return readWriteSeekNoopCloser{
		ReadWriteSeeker: rws,
	}
}

// Close does nothing but allows the RWS to satisfy `io.Closer`.:wq
func (readWriteSeekNoopCloser) Close() (err error) {
	return nil
}