packed

package
v0.10.2 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HeaderPrefix     = "goxr.box"
	HeaderBufferSize = 1024 * 10
)

Variables

View Source
var (
	ErrInvalidHeaderVersion = errors.New("invalid header version")
	ErrActiveEntryWriter    = errors.New("there is another entry writer active and not closed")
)
View Source
var (
	OpenModeOpenOrCreate = OpenMode{/* contains filtered or unexported fields */}
	OpenModeOpenOnly     = OpenMode{/* contains filtered or unexported fields */}
	OpenModeCreateOnly   = OpenMode{/* contains filtered or unexported fields */}
)
View Source
var (
	WriteModeNewOrReplace = WriteMode{/* contains filtered or unexported fields */}
	WriteModeNewOnly      = WriteMode{/* contains filtered or unexported fields */}
	WriteModeReplaceOnly  = WriteMode{/* contains filtered or unexported fields */}
)

Functions

func Truncate

func Truncate(filename string) (rErr error)

func WriteHeader

func WriteHeader(version Version, tocOffset common.FileOffset, to io.Writer) error

Types

type Box

type Box struct {
	Name        string        `msgpack:"name"`
	Description string        `msgpack:"description"`
	Version     string        `msgpack:"version"`
	Revision    string        `msgpack:"revision"`
	Built       time.Time     `msgpack:"built"`
	BuiltBy     string        `msgpack:"builtBy"`
	Entries     entry.Entries `msgpack:"entries"`
	Meta        Meta          `msgpack:"meta"`

	EntryToFileTransformer ToFileTransformer `msgpack:"-"`
	OnClose                common.OnClose    `msgpack:"-"`
	Prefix                 string            `msgpack:"-"`
}

func OpenBox

func OpenBox(filename string) (box *Box, rErr error)

func (*Box) Close

func (instance *Box) Close() error

func (*Box) ForEach added in v0.6.0

func (instance *Box) ForEach(predicate common.FilePredicate, callback func(common.FileInfo) error) error

func (*Box) Info

func (instance *Box) Info(pathname string) (common.FileInfo, error)

func (Box) LongVersion

func (instance Box) LongVersion() string

func (*Box) Open

func (instance *Box) Open(pathname string) (common.File, error)

func (Box) ShortString

func (instance Box) ShortString() string

func (Box) String

func (instance Box) String() string
type Header struct {
	Version   Version
	Offset    common.FileOffset
	TocOffset common.FileOffset
}

func FindHeader

func FindHeader(r io.Reader) (header *Header, err error)

type Meta

type Meta map[string]interface{}

type OpenMode

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

func OpenModes

func OpenModes() []OpenMode

func (OpenMode) IsCreate

func (instance OpenMode) IsCreate() bool

func (OpenMode) IsOpen

func (instance OpenMode) IsOpen() bool

func (*OpenMode) Set

func (instance *OpenMode) Set(in string) error

func (OpenMode) String

func (instance OpenMode) String() string

type TargetEntry

type TargetEntry struct {
	Filename string
	FileMode *os.FileMode
	Time     *time.Time
	Meta     entry.Meta
}

type ToFileTransformer

type ToFileTransformer func(operation string, fullPath string, entry *entry.Entry) (common.File, error)

func ToFileTransformerFor

func ToFileTransformerFor(rf entry.ReaderFactory) ToFileTransformer

type Version

type Version uint8

type WriteCandidate

type WriteCandidate struct {
	Accept bool

	SourceFilename string
	SourceFileInfo os.FileInfo

	Target *TargetEntry
}

type WriteFilesInterceptor

type WriteFilesInterceptor func(*WriteCandidate) error

type WriteMode

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

func WriteModes

func WriteModes() []WriteMode

func (WriteMode) IsNew

func (instance WriteMode) IsNew() bool

func (WriteMode) IsReplace

func (instance WriteMode) IsReplace() bool

func (*WriteMode) Set

func (instance *WriteMode) Set(in string) error

func (WriteMode) String

func (instance WriteMode) String() string

type Writer

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

func NewWriter

func NewWriter(filename string, om OpenMode, wm WriteMode) (writer *Writer, rErr error)

func (*Writer) Box

func (instance *Writer) Box() *Box

func (*Writer) Close

func (instance *Writer) Close() (rErr error)

func (*Writer) NewWriter

func (instance *Writer) NewWriter(te TargetEntry) (io.WriteCloser, error)

func (*Writer) Write

func (instance *Writer) Write(te TargetEntry, source io.Reader) (rErr error)

func (*Writer) WriteFile

func (instance *Writer) WriteFile(sourceFilename string, target TargetEntry) (rErr error)

func (*Writer) WriteFilesRecursive

func (instance *Writer) WriteFilesRecursive(root string, interceptor WriteFilesInterceptor) error

Jump to

Keyboard shortcuts

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