code: func (alg *Algorithm) UnmarshalText(buf []byte) error {
  	switch string(buf) {
  	// hmac
  	case "HS256":
  		*alg = HS256
  	case "HS384":
  		*alg = HS384
  	case "HS512":
  		*alg = HS512
  
  	// rsa-pkcs1v15
  	case "RS256":
  		*alg = RS256
  	case "RS384":
  		*alg = RS384
  	case "RS512":
  		*alg = RS512
  
  	// ecc
  	case "ES256":
  		*alg = ES256
  	case "ES384":
  		*alg = ES384
  	case "ES512":
  		*alg = ES512
  
  	// rsa-pss
  	case "PS256":
  		*alg = PS256
  	case "PS384":
  		*alg = PS384
  	case "PS512":
  		*alg = PS512
  
  	// error
  	default:
  		return ErrInvalidAlgorithm
  	}
  
  	return nil
  }
docs: // UnmarshalText attempts to unmarshal buf into an Algorithm.