shithub: furgit

ref: ab174c473618dd3743881cf44e02c2db4d1ecd5f
dir: /object/store/dual/new.go/

View raw version
package dual

import (
	objectstore "codeberg.org/lindenii/furgit/object/store"
	objectmix "codeberg.org/lindenii/furgit/object/store/mix"
)

// New creates one dual object store from borrowed object-wise and pack-wise
// stores.
//
// Labels: Deps-Borrowed, Life-Parent.
func New(
	object interface {
		objectstore.Reader
		objectstore.ObjectWriter
		objectstore.ObjectQuarantiner
	},
	pack interface {
		objectstore.Reader
		objectstore.PackWriter
		objectstore.PackQuarantiner
	},
) *Dual {
	return &Dual{
		object: object,
		pack:   pack,
		reader: objectmix.New(object, pack),
	}
}