valueobject

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Feb 4, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LstatIfPossible

func LstatIfPossible(fs afero.Fs, path string) (os.FileInfo, bool, error)

LstatIfPossible if the filesystem supports it, use Lstat, else use fs.Stat

Types

type ContentClass

type ContentClass string
const (
	ContentClassLeaf    ContentClass = "leaf"
	ContentClassBranch  ContentClass = "branch"
	ContentClassFile    ContentClass = "zfile" // Sort below
	ContentClassContent ContentClass = "zcontent"
)

type DirNameOnlyFileInfo

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

func NewDirNameOnlyFI

func NewDirNameOnlyFI(name string, modTime time.Time) *DirNameOnlyFileInfo

func (*DirNameOnlyFileInfo) IsDir

func (fi *DirNameOnlyFileInfo) IsDir() bool

func (*DirNameOnlyFileInfo) ModTime

func (fi *DirNameOnlyFileInfo) ModTime() time.Time

func (*DirNameOnlyFileInfo) Mode

func (fi *DirNameOnlyFileInfo) Mode() os.FileMode

func (*DirNameOnlyFileInfo) Name

func (fi *DirNameOnlyFileInfo) Name() string

func (*DirNameOnlyFileInfo) Size

func (fi *DirNameOnlyFileInfo) Size() int64

func (*DirNameOnlyFileInfo) Sys

func (fi *DirNameOnlyFileInfo) Sys() any

type FileMeta

type FileMeta struct {
	Name             string
	Filename         string
	Path             string
	PathWalk         string
	OriginalFilename string
	BaseDir          string

	SourceRoot string
	MountRoot  string
	Module     string

	Weight     int
	IsOrdered  bool
	IsSymlink  bool
	IsRootFile bool
	IsProject  bool
	Watch      bool

	Classifier ContentClass

	SkipDir bool

	Lang                       string
	TranslationBaseName        string
	TranslationBaseNameWithExt string
	Translations               []string

	Fs           afero.Fs
	OpenFunc     func() (afero.File, error)
	JoinStatFunc func(name string) (FileMetaInfo, error)
}

func NewFileMeta

func NewFileMeta() *FileMeta

func (*FileMeta) Copy

func (f *FileMeta) Copy() *FileMeta

func (*FileMeta) JoinStat

func (f *FileMeta) JoinStat(name string) (FileMetaInfo, error)

func (*FileMeta) Merge

func (f *FileMeta) Merge(from *FileMeta)

func (*FileMeta) Open

func (f *FileMeta) Open() (afero.File, error)

type FileMetaInfo

type FileMetaInfo interface {
	os.FileInfo
	Meta() *FileMeta
}

func DecorateFileInfo

func DecorateFileInfo(fi os.FileInfo, metaFs afero.Fs, opener func() (afero.File, error),
	filename, filepath string, inMeta *FileMeta) FileMetaInfo

func NewFileMetaInfo

func NewFileMetaInfo(fi os.FileInfo, m *FileMeta) FileMetaInfo

type RootMapping

type RootMapping struct {
	// The virtual mount.
	From string
	// The source directory or file.
	To string
	// The base of To. May be empty if an
	// absolute path was provided.
	ToBasedir string
	// Whether this is a mount in the main project.
	IsProject bool

	Meta *FileMeta // File metadata (lang etc.)
	Fi   FileMetaInfo
	// contains filtered or unexported fields
}

RootMapping describes a virtual file or directory mount.

func GetRms

func GetRms(t *radixtree.Tree, key string) []RootMapping

func (RootMapping) Filename

func (r RootMapping) Filename(name string) string

type WalkFunc

type WalkFunc func(path string, info FileMetaInfo, err error) error

type Walkway

type Walkway struct {
	Fs   afero.Fs
	Root string

	WalkFn WalkFunc

	// We may traverse symbolic links and bite ourself.
	Seen map[string]bool
	// contains filtered or unexported fields
}

func (*Walkway) Walk

func (w *Walkway) Walk() error

Jump to

Keyboard shortcuts

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