github.com/aavshr/aws-sdk-go@v1.41.3/service/dynamodb/dynamodbattribute/fields_go1.9.go (about)

     1  //go:build go1.9
     2  // +build go1.9
     3  
     4  package dynamodbattribute
     5  
     6  import "sync"
     7  
     8  var fieldCache fieldCacher
     9  
    10  type fieldCacher struct {
    11  	cache sync.Map
    12  }
    13  
    14  func (c *fieldCacher) Load(t interface{}) (*cachedFields, bool) {
    15  	if v, ok := c.cache.Load(t); ok {
    16  		return v.(*cachedFields), true
    17  	}
    18  	return nil, false
    19  }
    20  
    21  func (c *fieldCacher) LoadOrStore(t interface{}, fs *cachedFields) (*cachedFields, bool) {
    22  	v, ok := c.cache.LoadOrStore(t, fs)
    23  	return v.(*cachedFields), ok
    24  }