func (v VerificationStatus) Ptr() *VerificationStatus {
	return &v
}
Ptr returns reference to VerificationStatus value
package plaid
import (
	"encoding/json"
	"fmt"
)
type VerificationStatus string
const (
	VERIFICATIONSTATUS_VERIFIED VerificationStatus = "VERIFIED"
	VERIFICATIONSTATUS_UNVERIFIED VerificationStatus = "UNVERIFIED"
	VERIFICATIONSTATUS_NEEDS_INFO VerificationStatus = "NEEDS_INFO"
	VERIFICATIONSTATUS_UNABLE_TO_VERIFY VerificationStatus = "UNABLE_TO_VERIFY"
	VERIFICATIONSTATUS_UNKNOWN VerificationStatus = "UNKNOWN"
)
var allowedVerificationStatusEnumValues = []VerificationStatus{
	"VERIFIED",
	"UNVERIFIED",
	"NEEDS_INFO",
	"UNABLE_TO_VERIFY",
	"UNKNOWN",
}
func (v *VerificationStatus) UnmarshalJSON(src []byte) error {
	var value string
	err := json.Unmarshal(src, &value)
	if err != nil {
		return err
	}
	enumTypeValue := VerificationStatus(value)
	for _, existing := range allowedVerificationStatusEnumValues {
		if existing == enumTypeValue {
			*v = enumTypeValue
			return nil
		}
	}
	return fmt.Errorf("%+v is not a valid VerificationStatus", value)
}
func NewVerificationStatusFromValue(v string) (*VerificationStatus, error) {
	ev := VerificationStatus(v)
	if ev.IsValid() {
		return &ev, nil
	} else {
		return nil, fmt.Errorf("invalid value '%v' for VerificationStatus: valid values are %v", v, allowedVerificationStatusEnumValues)
	}
}
func (v VerificationStatus) IsValid() bool {
	for _, existing := range allowedVerificationStatusEnumValues {
		if existing == v {
			return true
		}
	}
	return false
}