git-lfs/git/odb/pack/object.go

28 lines
980 B
Go

package pack
// Object is an encapsulation of an object found in a packfile, or a packed
// object.
type Object struct {
// data is the front-most element of the delta-base chain, and when
// resolved, yields the uncompressed data of this object.
data Chain
// typ is the underlying object's type. It is not the type of the
// front-most chain element, rather, the type of the actual object.
typ PackedObjectType
}
// Unpack resolves the delta-base chain and returns an uncompressed, unpacked,
// and full representation of the data encoded by this object.
//
// If there was any error in unpacking this object, it is returned immediately,
// and the object's data can be assumed to be corrupt.
func (o *Object) Unpack() ([]byte, error) {
return o.data.Unpack()
}
// Type returns the underlying object's type. Rather than the type of the
// front-most delta-base component, it is the type of the object itself.
func (o *Object) Type() PackedObjectType {
return o.typ
}