github.com/viant/toolbox@v0.34.5/storage/registry.go (about)

     1  package storage
     2  
     3  type registry struct {
     4  	Registry map[string]Provider
     5  }
     6  
     7  func (p *registry) Get(namespace string) func(credentialFile string) (Service, error) {
     8  	return p.Registry[namespace]
     9  }
    10  
    11  var registrySingleton *registry
    12  
    13  //Registry returns new provider
    14  func Registry() *registry {
    15  	if registrySingleton != nil {
    16  		return registrySingleton
    17  	}
    18  	registrySingleton = &registry{
    19  		Registry: make(map[string]Provider),
    20  	}
    21  	return registrySingleton
    22  }