github.com/go-email-validator/go-email-validator@v0.0.0-20230409163946-b8b9e6a0552e/pkg/presentation/check-if-email-exist/disposable.go (about)

     1  package checkifemailexist
     2  
     3  import (
     4  	"github.com/go-email-validator/go-email-validator/pkg/ev"
     5  	"github.com/go-email-validator/go-email-validator/pkg/ev/evmail"
     6  	"github.com/go-email-validator/go-email-validator/pkg/presentation/converter"
     7  )
     8  
     9  type disposablePresentation struct {
    10  	IsDisposable bool `json:"is_disposable"`
    11  }
    12  
    13  type disposableConverter struct{}
    14  
    15  func (disposableConverter) Can(_ evmail.Address, result ev.ValidationResult, _ converter.Options) bool {
    16  	return result.ValidatorName() == ev.DisposableValidatorName
    17  }
    18  
    19  func (disposableConverter) Convert(_ evmail.Address, result ev.ValidationResult, _ converter.Options) interface{} {
    20  	return disposablePresentation{!result.IsValid()}
    21  }