1package storage
 2
 3import (
 4	"io"
 5	"io/fs"
 6)
 7
 8// Object is an interface for objects that can be stored.
 9type Object interface {
10	io.Seeker
11	fs.File
12	Name() string
13}
14
15// Storage is an interface for storing and retrieving objects.
16type Storage interface {
17	Open(name string) (Object, error)
18	Stat(name string) (fs.FileInfo, error)
19	Put(name string, r io.Reader) error
20	Delete(name string) error
21	Exists(name string) (bool, error)
22	Rename(oldName, newName string) error
23}