Documentation
¶
Index ¶
- type FSStorage
- func (s *FSStorage) Get(ctx context.Context, key iosystem.Key) (io.Reader, error)
- func (s *FSStorage) Has(ctx context.Context, key iosystem.Key) (bool, error)
- func (s *FSStorage) Put(ctx context.Context, key iosystem.Key, value io.Reader) error
- func (s *FSStorage) Walk(ctx context.Context, prefix iosystem.Key, ...) error
- type Storage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FSStorage ¶
type FSStorage struct {
// contains filtered or unexported fields
}
FSStorage wraps github.com/fogfish/stream for filesystem and S3 operations.
func NewFS ¶
NewFS creates filesystem storage. Supports local paths and s3:// URLs via stream library.
type Storage ¶
type Storage interface {
// Put writes value to key (overwrites if exists).
// Key should be a relative path like "sub/file.txt".
Put(ctx context.Context, key iosystem.Key, value io.Reader) error
// Get reads value from key (returns auto-closing reader).
// Returns error if key does not exist.
Get(ctx context.Context, key iosystem.Key) (io.Reader, error)
// Has checks if key exists (cheap operation for skip-if-exists logic).
Has(ctx context.Context, key iosystem.Key) (bool, error)
// Walk traverses all keys matching prefix pattern.
// Visitor function is called for each matching document.
Walk(ctx context.Context, prefix iosystem.Key, visitor func(*iosystem.Document) error) error
}
Storage provides pure key/value operations for document persistence. Implementations use github.com/fogfish/stream for filesystem and S3.
Click to show internal directories.
Click to hide internal directories.