fsscheme

package
v0.24.18 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 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 (u DirFS) Get(abs path.Absolute) (fs.FS, path.Relative, error)

func (DirFS) Schemes

func (u 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 (u EmbedRO) Get(abs path.Absolute) (fs.ReadOnly, path.Relative, error)

func (EmbedRO) Schemes added in v0.20.11

func (u EmbedRO) Schemes() []string

type GitFS

type GitFS struct {
	Options []dirfs.Option
}

func (GitFS) Get added in v0.20.10

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

func (GitFS) Schemes

func (u 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 (u HttpFS) Get(abs path.Absolute) (fs.FS, path.Relative, error)

func (HttpFS) Schemes

func (u 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 (u LogFS) Get(abs path.Absolute) (fs.FS, path.Relative, error)

func (LogFS) Schemes

func (u LogFS) Schemes() []string

type MapFS

type MapFS struct{}

func (MapFS) Get added in v0.20.10

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

func (MapFS) Schemes

func (u MapFS) Schemes() []string

type MemRW added in v0.20.11

type MemRW struct {
}

func (MemRW) Get added in v0.20.11

func (MemRW) Schemes added in v0.20.11

func (u MemRW) Schemes() []string

type MockFS

type MockFS struct{}

func (MockFS) Get added in v0.20.10

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

func (MockFS) Schemes

func (u MockFS) Schemes() []string

type RootFS

type RootFS struct{}

func (RootFS) Get added in v0.20.10

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

func (RootFS) Schemes

func (u RootFS) Schemes() []string

type TempFS

type TempFS struct{}

func (TempFS) Get added in v0.20.10

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

func (TempFS) Schemes

func (u TempFS) Schemes() []string

type TreeFS

type TreeFS struct{}

func (TreeFS) GetFS

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

func (TreeFS) Schemes

func (u 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 (u WrapRO) Get(abs path.Absolute) (fs.ReadOnly, path.Relative, error)

func (WrapRO) Schemes added in v0.20.11

func (u WrapRO) Schemes() []string

Jump to

Keyboard shortcuts

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