featurebase/mock/mock.go
2022-09-02 13:23:39 -07:00

23 lines
431 B
Go

// Copyright 2022 Molecula Corp. (DBA FeatureBase).
// SPDX-License-Identifier: Apache-2.0
package mock
import "sync"
type ReadCloser struct {
ReadFunc func(p []byte) (int, error)
CloseFunc func() error
once sync.Once
}
func (rc *ReadCloser) Read(p []byte) (int, error) {
return rc.ReadFunc(p)
}
func (rc *ReadCloser) Close() error {
var err error = nil
rc.once.Do(func() {
err = rc.CloseFunc()
})
return err
}