Files
goodBaby/internal/ruleConfigChecker/reg.go
T

34 lines
849 B
Go
Raw Normal View History

2026-06-19 18:47:36 +08:00
package ruleConfigChecker
import (
2026-07-26 22:19:41 +08:00
"sync"
2026-06-19 18:47:36 +08:00
"github.com/ssdomei232/goodBaby/drivers/bilibili"
"github.com/ssdomei232/goodBaby/drivers/dingtalk"
"github.com/ssdomei232/goodBaby/drivers/email"
"github.com/ssdomei232/goodBaby/drivers/github"
"github.com/ssdomei232/goodBaby/drivers/onebot"
)
2026-07-26 22:19:41 +08:00
var (
once sync.Once
registry *ValidatorRegistry
)
// InitValidatorRegistry 返回全局唯一的规则验证器注册表
2026-06-19 18:47:36 +08:00
func InitValidatorRegistry() *ValidatorRegistry {
2026-07-26 22:19:41 +08:00
once.Do(func() {
r := NewValidatorRegistry()
2026-06-19 18:47:36 +08:00
2026-07-26 22:19:41 +08:00
// 注册所有规则验证器
r.Register(&bilibili.BilibiliDynamicRuleValidator{})
r.Register(&email.EmailRuleValidator{})
r.Register(&onebot.OneBotRuleValidator{})
r.Register(&dingtalk.DingTalkRuleValidator{})
r.Register(&github.GithubMakeRepositoryPublicRuleValidator{})
2026-06-19 18:47:36 +08:00
2026-07-26 22:19:41 +08:00
registry = r
})
2026-06-19 18:47:36 +08:00
return registry
}