github.com/metux/go-metabuild@v0.0.0-20240118143255-d9ed5ab697f9/spec/cache/main.go (about)

     1  package cache
     2  
     3  import (
     4  	"github.com/metux/go-metabuild/util/specobj"
     5  )
     6  
     7  type Cache struct {
     8  	specobj.SpecObj
     9  }
    10  
    11  // FIXME: should we take a subspec ?
    12  func (c Cache) CheckGet(h string) (bool, bool) {
    13  	k := KeyChecks.AppendStr(h)
    14  	if c.EntryBoolDef(k.Append(KeyCached), false) {
    15  		return true, c.EntryBoolDef(k.Append(KeyResult), false)
    16  	}
    17  	return false, false
    18  }
    19  
    20  func NewCache(so specobj.SpecObj) Cache {
    21  	return Cache{so}
    22  }