github.com/stffabi/git-lfs@v2.3.5-0.20180214015214-8eeaa8d88902+incompatible/git/odb/pack/object.go (about) 1 package pack 2 3 // Object is an encapsulation of an object found in a packfile, or a packed 4 // object. 5 type Object struct { 6 // data is the front-most element of the delta-base chain, and when 7 // resolved, yields the uncompressed data of this object. 8 data Chain 9 // typ is the underlying object's type. It is not the type of the 10 // front-most chain element, rather, the type of the actual object. 11 typ PackedObjectType 12 } 13 14 // Unpack resolves the delta-base chain and returns an uncompressed, unpacked, 15 // and full representation of the data encoded by this object. 16 // 17 // If there was any error in unpacking this object, it is returned immediately, 18 // and the object's data can be assumed to be corrupt. 19 func (o *Object) Unpack() ([]byte, error) { 20 return o.data.Unpack() 21 } 22 23 // Type returns the underlying object's type. Rather than the type of the 24 // front-most delta-base component, it is the type of the object itself. 25 func (o *Object) Type() PackedObjectType { 26 return o.typ 27 }