...

Source file src/github.com/lestrrat-go/jwx/jwt/openid/builder_gen.go

Documentation: github.com/lestrrat-go/jwx/jwt/openid

     1  // This file is auto-generated by jwt/internal/cmd/gentoken/main.go. DO NOT EDIT
     2  
     3  package openid
     4  
     5  import (
     6  	"time"
     7  
     8  	"github.com/pkg/errors"
     9  )
    10  
    11  // Builder is a convenience wrapper around the New() constructor
    12  // and the Set() methods to assign values to Token claims.
    13  // Users can successively call Claim() on the Builder, and have it
    14  // construct the Token when Build() is called. This alleviates the
    15  // need for the user to check for the return value of every single
    16  // Set() method call.
    17  // Note that each call to Claim() overwrites the value set from the
    18  // previous call.
    19  type Builder struct {
    20  	claims []*ClaimPair
    21  }
    22  
    23  func NewBuilder() *Builder {
    24  	return &Builder{}
    25  }
    26  
    27  func (b *Builder) Claim(name string, value interface{}) *Builder {
    28  	b.claims = append(b.claims, &ClaimPair{Key: name, Value: value})
    29  	return b
    30  }
    31  
    32  func (b *Builder) Address(v *AddressClaim) *Builder {
    33  	return b.Claim(AddressKey, v)
    34  }
    35  
    36  func (b *Builder) Audience(v []string) *Builder {
    37  	return b.Claim(AudienceKey, v)
    38  }
    39  
    40  func (b *Builder) Birthdate(v *BirthdateClaim) *Builder {
    41  	return b.Claim(BirthdateKey, v)
    42  }
    43  
    44  func (b *Builder) Email(v string) *Builder {
    45  	return b.Claim(EmailKey, v)
    46  }
    47  
    48  func (b *Builder) EmailVerified(v bool) *Builder {
    49  	return b.Claim(EmailVerifiedKey, v)
    50  }
    51  
    52  func (b *Builder) Expiration(v time.Time) *Builder {
    53  	return b.Claim(ExpirationKey, v)
    54  }
    55  
    56  func (b *Builder) FamilyName(v string) *Builder {
    57  	return b.Claim(FamilyNameKey, v)
    58  }
    59  
    60  func (b *Builder) Gender(v string) *Builder {
    61  	return b.Claim(GenderKey, v)
    62  }
    63  
    64  func (b *Builder) GivenName(v string) *Builder {
    65  	return b.Claim(GivenNameKey, v)
    66  }
    67  
    68  func (b *Builder) IssuedAt(v time.Time) *Builder {
    69  	return b.Claim(IssuedAtKey, v)
    70  }
    71  
    72  func (b *Builder) Issuer(v string) *Builder {
    73  	return b.Claim(IssuerKey, v)
    74  }
    75  
    76  func (b *Builder) JwtID(v string) *Builder {
    77  	return b.Claim(JwtIDKey, v)
    78  }
    79  
    80  func (b *Builder) Locale(v string) *Builder {
    81  	return b.Claim(LocaleKey, v)
    82  }
    83  
    84  func (b *Builder) MiddleName(v string) *Builder {
    85  	return b.Claim(MiddleNameKey, v)
    86  }
    87  
    88  func (b *Builder) Name(v string) *Builder {
    89  	return b.Claim(NameKey, v)
    90  }
    91  
    92  func (b *Builder) Nickname(v string) *Builder {
    93  	return b.Claim(NicknameKey, v)
    94  }
    95  
    96  func (b *Builder) NotBefore(v time.Time) *Builder {
    97  	return b.Claim(NotBeforeKey, v)
    98  }
    99  
   100  func (b *Builder) PhoneNumber(v string) *Builder {
   101  	return b.Claim(PhoneNumberKey, v)
   102  }
   103  
   104  func (b *Builder) PhoneNumberVerified(v bool) *Builder {
   105  	return b.Claim(PhoneNumberVerifiedKey, v)
   106  }
   107  
   108  func (b *Builder) Picture(v string) *Builder {
   109  	return b.Claim(PictureKey, v)
   110  }
   111  
   112  func (b *Builder) PreferredUsername(v string) *Builder {
   113  	return b.Claim(PreferredUsernameKey, v)
   114  }
   115  
   116  func (b *Builder) Profile(v string) *Builder {
   117  	return b.Claim(ProfileKey, v)
   118  }
   119  
   120  func (b *Builder) Subject(v string) *Builder {
   121  	return b.Claim(SubjectKey, v)
   122  }
   123  
   124  func (b *Builder) UpdatedAt(v time.Time) *Builder {
   125  	return b.Claim(UpdatedAtKey, v)
   126  }
   127  
   128  func (b *Builder) Website(v string) *Builder {
   129  	return b.Claim(WebsiteKey, v)
   130  }
   131  
   132  func (b *Builder) Zoneinfo(v string) *Builder {
   133  	return b.Claim(ZoneinfoKey, v)
   134  }
   135  
   136  // Build creates a new token based on the claims that the builder has received
   137  // so far. If a claim cannot be set, then the method returns a nil Token with
   138  // a en error as a second return value
   139  func (b *Builder) Build() (Token, error) {
   140  	tok := New()
   141  	for _, claim := range b.claims {
   142  		if err := tok.Set(claim.Key.(string), claim.Value); err != nil {
   143  			return nil, errors.Wrapf(err, `failed to set claim %q`, claim.Key.(string))
   144  		}
   145  	}
   146  	return tok, nil
   147  }
   148  

View as plain text