fscommon

package
v0.0.0-...-b33c24c Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2022 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const FilemodeDefault fs.FileMode = 0644

Variables

View Source
var Bucket2filenameBuilderSimple func(dirname string) Bucket2filename = Bucket2filenameBuilderNew(FsBucketCheckerSimple)

Functions

func Bucket2filenameBuilderNew

func Bucket2filenameBuilderNew(fbc FsBucketChecker) func(dirname string) Bucket2filename

func BulkUpsertNew

func BulkUpsertNew(fbu FsBulkUpsert) func(Bucket2filename) kv.BulkUpsert

func FsBucketBuilderNew

func FsBucketBuilderNew(bc FsBucketChecker) func(kv.Bucket) kv.Either[FsBucket, error]

func Name2bytesNew

func Name2bytesNew(r2b Rc2Bytes) func(Name2Rc) Name2Bytes

func Name2bytesNewFs

func Name2bytesNewFs(f2b File2Bytes) func(Name2File) Name2Bytes

func ReaderAtSizeNew

func ReaderAtSizeNew(ra io.ReaderAt, Size int64) kv.Either[ReaderAtSize, error]

Types

type Archive2Bytes

type Archive2Bytes func(fs.File) kv.Either[Name2Bytes, error]

type Bucket2filename

type Bucket2filename func(b kv.Bucket) kv.Either[string, error]

type File2Bytes

type File2Bytes func(f fs.File) kv.Either[[]byte, error]
var UnlimitedFile2Bytes File2Bytes = func(f fs.File) kv.Either[[]byte, error] {
	return UnlimitedRc2Bytes(f)
}

type File2ReaderAtSize

type File2ReaderAtSize func(f fs.File) kv.Either[ReaderAtSize, error]

func File2ReaderAtSizeBuilderNew

func File2ReaderAtSizeBuilderNew(f2b File2Bytes) File2ReaderAtSize

type FilemodeProvider

type FilemodeProvider func() fs.FileMode
var FilemodeProviderDefault FilemodeProvider = func() fs.FileMode { return FilemodeDefault }

type FsBucket

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

func (FsBucket) ToFullpath

func (f FsBucket) ToFullpath(dirname string) string

type FsBucketChecker

type FsBucketChecker func(kv.Bucket) bool
var FsBucketCheckerSimple FsBucketChecker = func(b kv.Bucket) bool {
	return ks.ValidUtf8Str(b())
}

func (FsBucketChecker) BuildConverter

func (f FsBucketChecker) BuildConverter(dirname string) Bucket2filename

type FsBulkUpsert

type FsBulkUpsert func(ctx context.Context, fullpath string, items kv.Iter[kv.BucketItem]) error

type FsBulkUpsertFactory

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

func FsBulkUpsertFactoryDefault

func FsBulkUpsertFactoryDefault() FsBulkUpsertFactory

FsBulkUpsertFactoryDefault creates a partially-populated FsBulkUpsertFactory.

func (FsBulkUpsertFactory) Build

func (FsBulkUpsertFactory) BuildWithConverter

func (f FsBulkUpsertFactory) BuildWithConverter(i2w Items2writer) kv.Either[FsBulkUpsert, error]

func (FsBulkUpsertFactory) WithConverter

type FsKey

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

func (FsKey) ToFullpath

func (f FsKey) ToFullpath() string

func (FsKey) ToItemname

func (f FsKey) ToItemname() string

type FsSelect

type FsSelect func(ctx context.Context, key FsKey) kv.Either[kv.Option[kv.Val], error]

type GetBasename

type GetBasename func(fullpath string) (basename string)
var GetBasenameFs GetBasename = filepath.Base

type GetCheckedFilepath

type GetCheckedFilepath func(prefix string, unchecked string) string
var GetCheckedFilepathDefault GetCheckedFilepath = GetCheckedFilepathBuilderNew("")

GetCheckedFilepathDefault creates GetCheckedFilepath using empty path(which should be invalid).

func GetCheckedFilepathBuilderNew

func GetCheckedFilepathBuilderNew(alt string) GetCheckedFilepath

type Ids

type Ids func() kv.Either[kv.Iter[string], error]

type Items2writer

type Items2writer func(context.Context, io.Writer, kv.Iter[kv.BucketItem]) error

type MemFile

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

func MemFileNew

func MemFileNew(basename string, data []byte, mode fs.FileMode, modified time.Time) MemFile

func (MemFile) IsDir

func (m MemFile) IsDir() bool

func (MemFile) ModTime

func (m MemFile) ModTime() time.Time

func (MemFile) Mode

func (m MemFile) Mode() fs.FileMode

func (MemFile) Name

func (m MemFile) Name() string

func (MemFile) Size

func (m MemFile) Size() int64

func (MemFile) Sys

func (m MemFile) Sys() any

type MemFs

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

func (MemFs) Open

func (m MemFs) Open(name string) (fs.File, error)

func (MemFs) Upsert

func (m MemFs) Upsert(name string, f fs.File) error

type Name2Bytes

type Name2Bytes func(name string) kv.Either[[]byte, error]

type Name2File

type Name2File func(name string) kv.Either[fs.File, error]

type Name2Rc

type Name2Rc func(name string) kv.Either[io.ReadCloser, error]

type Rc2Bytes

type Rc2Bytes func(r io.ReadCloser) kv.Either[[]byte, error]
var UnlimitedRc2Bytes Rc2Bytes = func(r io.ReadCloser) kv.Either[[]byte, error] {
	return kv.EitherNew(io.ReadAll(r))
}

type ReaderAtSize

type ReaderAtSize struct {
	io.ReaderAt
	Size int64
}

type RealFs

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

func RealFsNew

func RealFsNew() RealFs

func (RealFs) Open

func (r RealFs) Open(name string) (fs.File, error)

Open tries to open named file. Its users responsibility to check the name.

type TempfilenameGenerator

type TempfilenameGenerator func(fullpath string) string
var TempfilenameGeneratorSimpleDefault TempfilenameGenerator = TempfilenameGeneratorBuilderSimpleNew(".tmp")

func TempfilenameGeneratorBuilderSimpleNew

func TempfilenameGeneratorBuilderSimpleNew(suffix string) TempfilenameGenerator

type TimestampProvider

type TimestampProvider func() time.Time

Directories

Path Synopsis
zip
std

Jump to

Keyboard shortcuts

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