fsscheme

package
v0.24.21 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DirFS

type DirFS struct {
	Options []dirfs.Option
}

func (DirFS) Get added in v0.20.10

func (me DirFS) Get(abs path.Absolute) (fs.FS, path.Relative, error)

func (DirFS) Schemes

func (me DirFS) Schemes() []string

type EmbedRO added in v0.20.11

type EmbedRO struct {
	FS embed.FS
}

func (EmbedRO) Get added in v0.20.11

func (me EmbedRO) Get(abs path.Absolute) (fs.ReadOnly, path.Relative, error)

func (EmbedRO) Schemes added in v0.20.11

func (me EmbedRO) Schemes() []string

type GitFS

type GitFS struct {
	Options []dirfs.Option
}

func (GitFS) Get added in v0.20.10

func (me GitFS) Get(abs path.Absolute) (fs.FS, path.Relative, error)

func (GitFS) Schemes

func (me GitFS) Schemes() []string

type Group added in v0.24.1

type Group[T fs.ReadOnly] interface {
	Add(ph ...Handler[T])
	Members() []string
	Parse(s string) (T, path.Relative, error)
}

func New

func New[T fs.ReadOnly]() Group[T]

func NewFSGroup added in v0.24.1

func NewFSGroup() Group[fs.FS]

func NewReadOnlyGroup added in v0.24.1

func NewReadOnlyGroup() Group[fs.ReadOnly]

type Handler

type Handler[T fs.ReadOnly] interface {

	// the Schemes
	Schemes() []string

	// Get receives an absolute path and returns a filesystem FS and an relative path
	// or an error
	// for valid absolute paths with a head that starts with Schema()
	// Get should always return a working FS
	Get(abs path.Absolute) (T, path.Relative, error)
}

func ReadOnly added in v0.20.11

func ReadOnly(h Handler[fs.FS]) Handler[fs.ReadOnly]

type HttpFS

type HttpFS struct{}

func (HttpFS) Get added in v0.20.10

func (me HttpFS) Get(abs path.Absolute) (fs.FS, path.Relative, error)

func (HttpFS) Schemes

func (me HttpFS) Schemes() []string

type LogFS

type LogFS struct {
	//	FS      fs.FS
	Logger  logfs.Logger
	Options []dirfs.Option
}

func (LogFS) Get added in v0.20.10

func (me LogFS) Get(abs path.Absolute) (fs.FS, path.Relative, error)

func (LogFS) Schemes

func (me LogFS) Schemes() []string

type MapFS

type MapFS struct{}

func (MapFS) Get added in v0.20.10

func (me MapFS) Get(abs path.Absolute) (fs.FS, path.Relative, error)

func (MapFS) Schemes

func (me MapFS) Schemes() []string

type MemRW added in v0.20.11

type MemRW struct {
}

func (MemRW) Get added in v0.20.11

func (me MemRW) Get(abs path.Absolute) (fs.ExtWriteable, path.Relative, error)

func (MemRW) Schemes added in v0.20.11

func (me MemRW) Schemes() []string

type MockFS

type MockFS struct{}

func (MockFS) Get added in v0.20.10

func (me MockFS) Get(abs path.Absolute) (fs.FS, path.Relative, error)

func (MockFS) Schemes

func (me MockFS) Schemes() []string

type RootFS

type RootFS struct{}

func (RootFS) Get added in v0.20.10

func (me RootFS) Get(abs path.Absolute) (fs.FS, path.Relative, error)

func (RootFS) Schemes

func (me RootFS) Schemes() []string

type TempFS

type TempFS struct{}

func (TempFS) Get added in v0.20.10

func (me TempFS) Get(abs path.Absolute) (fs.FS, path.Relative, error)

func (TempFS) Schemes

func (me TempFS) Schemes() []string

type TreeFS

type TreeFS struct{}

func (TreeFS) GetFS

func (me TreeFS) GetFS(abs path.Absolute) (fs.FS, error)

func (TreeFS) Schemes

func (me TreeFS) Schemes() []string

type WrapRO added in v0.20.11

type WrapRO struct {
	FS iofs.FS
}

func (WrapRO) Get added in v0.20.11

func (me WrapRO) Get(abs path.Absolute) (fs.ReadOnly, path.Relative, error)

func (WrapRO) Schemes added in v0.20.11

func (me WrapRO) Schemes() []string

Jump to

Keyboard shortcuts

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