Blame vendor/github.com/deepmap/oapi-codegen/pkg/types/email.go
|
Packit Service |
509fd4 |
package types
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
import (
|
|
Packit Service |
509fd4 |
"encoding/json"
|
|
Packit Service |
509fd4 |
"errors"
|
|
Packit Service |
509fd4 |
)
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
type Email string
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
func (e Email) MarshalJSON() ([]byte, error) {
|
|
Packit Service |
509fd4 |
if !emailRegex.MatchString(string(e)) {
|
|
Packit Service |
509fd4 |
return nil, errors.New("email: failed to pass regex validation")
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
return json.Marshal(string(e))
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
func (e *Email) UnmarshalJSON(data []byte) error {
|
|
Packit Service |
509fd4 |
var s string
|
|
Packit Service |
509fd4 |
if err := json.Unmarshal(data, &s); err != nil {
|
|
Packit Service |
509fd4 |
return err
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
if !emailRegex.MatchString(s) {
|
|
Packit Service |
509fd4 |
return errors.New("email: failed to pass regex validation")
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
*e = Email(s)
|
|
Packit Service |
509fd4 |
return nil
|
|
Packit Service |
509fd4 |
}
|