mirror of
https://github.com/yusing/godoxy.git
synced 2026-03-30 06:12:15 +02:00
29 lines
372 B
Go
29 lines
372 B
Go
package icons
|
|
|
|
import (
|
|
"sync/atomic"
|
|
|
|
"github.com/yusing/godoxy/internal/common"
|
|
)
|
|
|
|
type Provider interface {
|
|
HasIcon(u *URL) bool
|
|
}
|
|
|
|
var provider atomic.Value
|
|
|
|
func SetProvider(p Provider) {
|
|
provider.Store(p)
|
|
}
|
|
|
|
func hasIcon(u *URL) bool {
|
|
if common.IsTest {
|
|
return true
|
|
}
|
|
v := provider.Load()
|
|
if v == nil {
|
|
return false
|
|
}
|
|
return v.(Provider).HasIcon(u)
|
|
}
|