Uniq deprecated notes

This commit is contained in:
世界
2024-11-07 19:58:46 +08:00
parent 9b43f6d957
commit 6f783e4be4
4 changed files with 22 additions and 13 deletions

View File

@@ -7,15 +7,23 @@ import (
"github.com/sagernet/sing/common/logger"
)
type envManager struct {
logger logger.Logger
type stderrManager struct {
logger logger.Logger
reported map[string]bool
}
func NewEnvManager(logger logger.Logger) Manager {
return &envManager{logger: logger}
func NewStderrManager(logger logger.Logger) Manager {
return &stderrManager{
logger: logger,
reported: make(map[string]bool),
}
}
func (f *envManager) ReportDeprecated(feature Note) {
func (f *stderrManager) ReportDeprecated(feature Note) {
if f.reported[feature.Name] {
return
}
f.reported[feature.Name] = true
if !feature.Impending() {
f.logger.Warn(feature.MessageWithLink())
return