Skip to content

Commit

Permalink
withWhatever method names for fluent readonly API
Browse files Browse the repository at this point in the history
  • Loading branch information
Slamdunk committed Dec 5, 2024
1 parent 2d9c7a7 commit c799757
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 25 deletions.
8 changes: 4 additions & 4 deletions docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ $configuration = Configuration::forSymmetricSigner(
InMemory::base64Encoded('mBC5v1sOKVvbdEitdSBenu59nfNfhwkedkJVNabosTw=')
);

$configuration->setBuilderFactory(
$configuration->withBuilderFactory(
static function (ClaimsFormatter $formatter): Builder {
// This assumes `MyCustomBuilder` is an existing class
return new MyCustomBuilder(new JoseEncoder(), $formatter);
Expand Down Expand Up @@ -165,7 +165,7 @@ $configuration = Configuration::forSymmetricSigner(
);

// This assumes `MyParser` is an existing class
$configuration->setParser(new MyParser());
$configuration->withParser(new MyParser());
```

### Validator
Expand All @@ -189,7 +189,7 @@ $configuration = Configuration::forSymmetricSigner(
);

// This assumes `MyValidator` is an existing class
$configuration->setValidator(new MyValidator());
$configuration->withValidator(new MyValidator());
```

### Validation constraints
Expand All @@ -216,7 +216,7 @@ $configuration = Configuration::forSymmetricSigner(
InMemory::base64Encoded('mBC5v1sOKVvbdEitdSBenu59nfNfhwkedkJVNabosTw=')
);

$configuration->setValidationConstraints(
$configuration->withValidationConstraints(
new SignedWith($configuration->signer(), $configuration->signingKey()),
new StrictValidAt(SystemClock::fromUTC()),
new IssuedBy('https://api.my-awesome-company.com')
Expand Down
6 changes: 3 additions & 3 deletions docs/extending-the-library.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ use Lcobucci\JWT\Configuration;
$config = $container->get(Configuration::class);
assert($config instanceof Configuration);

$config->setBuilderFactory(
$config->withBuilderFactory(
static function (ClaimsFormatter $formatter): Builder {
return new MyCustomTokenBuilder($formatter);
}
Expand Down Expand Up @@ -99,7 +99,7 @@ use Lcobucci\JWT\Configuration;
$config = $container->get(Configuration::class);
assert($config instanceof Configuration);

$config->setParser(new MyCustomTokenParser());
$config->withParser(new MyCustomTokenParser());
```

## Signer
Expand Down Expand Up @@ -157,7 +157,7 @@ use Lcobucci\JWT\Configuration;
$config = $container->get(Configuration::class);
assert($config instanceof Configuration);

$config->setValidator(new MyCustomTokenValidator());
$config->withValidator(new MyCustomTokenValidator());
```

## Validation constraints
Expand Down
10 changes: 5 additions & 5 deletions src/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ public static function forSymmetricSigner(
}

/** @param callable(ClaimsFormatter): Builder $builderFactory */
public function setBuilderFactory(callable $builderFactory): self
public function withBuilderFactory(callable $builderFactory): self
{
return new self(
$this->signer,
Expand All @@ -97,7 +97,7 @@ public function setBuilderFactory(callable $builderFactory): self
$this->decoder,
$this->parser,
$this->validator,
Closure::fromCallable($builderFactory),
$builderFactory(...),
...$this->validationConstraints,
);
}
Expand All @@ -112,7 +112,7 @@ public function parser(): Parser
return $this->parser;
}

public function setParser(Parser $parser): self
public function withParser(Parser $parser): self
{
return new self(
$this->signer,
Expand Down Expand Up @@ -147,7 +147,7 @@ public function validator(): Validator
return $this->validator;
}

public function setValidator(Validator $validator): self
public function withValidator(Validator $validator): self
{
return new self(
$this->signer,
Expand All @@ -168,7 +168,7 @@ public function validationConstraints(): array
return $this->validationConstraints;
}

public function setValidationConstraints(Constraint ...$validationConstraints): self
public function withValidationConstraints(Constraint ...$validationConstraints): self
{
return new self(
$this->signer,
Expand Down
18 changes: 9 additions & 9 deletions src/Token/Builder.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public function permittedFor(string ...$audiences): BuilderInterface
$configured = $this->claims[RegisteredClaims::AUDIENCE] ?? [];
$toAppend = array_diff($audiences, $configured);

return $this->setClaim(RegisteredClaims::AUDIENCE, array_merge($configured, $toAppend));
return $this->newWithClaim(RegisteredClaims::AUDIENCE, array_merge($configured, $toAppend));
}

/**
Expand All @@ -54,7 +54,7 @@ public function permittedFor(string ...$audiences): BuilderInterface
*/
public function expiresAt(DateTimeImmutable $expiration): BuilderInterface
{
return $this->setClaim(RegisteredClaims::EXPIRATION_TIME, $expiration);
return $this->newWithClaim(RegisteredClaims::EXPIRATION_TIME, $expiration);
}

/**
Expand All @@ -63,7 +63,7 @@ public function expiresAt(DateTimeImmutable $expiration): BuilderInterface
*/
public function identifiedBy(string $id): BuilderInterface
{
return $this->setClaim(RegisteredClaims::ID, $id);
return $this->newWithClaim(RegisteredClaims::ID, $id);
}

/**
Expand All @@ -72,7 +72,7 @@ public function identifiedBy(string $id): BuilderInterface
*/
public function issuedAt(DateTimeImmutable $issuedAt): BuilderInterface
{
return $this->setClaim(RegisteredClaims::ISSUED_AT, $issuedAt);
return $this->newWithClaim(RegisteredClaims::ISSUED_AT, $issuedAt);
}

/**
Expand All @@ -81,7 +81,7 @@ public function issuedAt(DateTimeImmutable $issuedAt): BuilderInterface
*/
public function issuedBy(string $issuer): BuilderInterface
{
return $this->setClaim(RegisteredClaims::ISSUER, $issuer);
return $this->newWithClaim(RegisteredClaims::ISSUER, $issuer);
}

/**
Expand All @@ -90,7 +90,7 @@ public function issuedBy(string $issuer): BuilderInterface
*/
public function canOnlyBeUsedAfter(DateTimeImmutable $notBefore): BuilderInterface
{
return $this->setClaim(RegisteredClaims::NOT_BEFORE, $notBefore);
return $this->newWithClaim(RegisteredClaims::NOT_BEFORE, $notBefore);
}

/**
Expand All @@ -99,7 +99,7 @@ public function canOnlyBeUsedAfter(DateTimeImmutable $notBefore): BuilderInterfa
*/
public function relatedTo(string $subject): BuilderInterface
{
return $this->setClaim(RegisteredClaims::SUBJECT, $subject);
return $this->newWithClaim(RegisteredClaims::SUBJECT, $subject);
}

/**
Expand Down Expand Up @@ -129,11 +129,11 @@ public function withClaim(string $name, mixed $value): BuilderInterface
throw RegisteredClaimGiven::forClaim($name);
}

return $this->setClaim($name, $value);
return $this->newWithClaim($name, $value);
}

/** @param non-empty-string $name */
private function setClaim(string $name, mixed $value): BuilderInterface
private function newWithClaim(string $name, mixed $value): BuilderInterface
{
$claims = $this->claims;
$claims[$name] = $value;
Expand Down
8 changes: 4 additions & 4 deletions tests/ConfigurationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ public function builderShouldUseBuilderFactoryWhenThatIsConfigured(): void
new KeyDumpSigner(),
InMemory::plainText('private'),
);
$config = $config->setBuilderFactory(
$config = $config->withBuilderFactory(
static function () use ($builder): Builder {
return $builder;
},
Expand Down Expand Up @@ -148,7 +148,7 @@ public function parserShouldNotCreateAnInstanceIfItWasConfigured(): void
new KeyDumpSigner(),
InMemory::plainText('private'),
);
$config = $config->setParser($this->parser);
$config = $config->withParser($this->parser);

self::assertSame($this->parser, $config->parser());
}
Expand All @@ -172,7 +172,7 @@ public function validatorShouldReturnTheConfiguredValidator(): void
new KeyDumpSigner(),
InMemory::plainText('private'),
);
$config = $config->setValidator($this->validator);
$config = $config->withValidator($this->validator);

self::assertSame($this->validator, $config->validator());
}
Expand All @@ -195,7 +195,7 @@ public function validationConstraintsShouldReturnTheConfiguredValidator(): void
new KeyDumpSigner(),
InMemory::plainText('private'),
);
$config = $config->setValidationConstraints($this->validationConstraints);
$config = $config->withValidationConstraints($this->validationConstraints);

self::assertSame([$this->validationConstraints], $config->validationConstraints());
}
Expand Down

0 comments on commit c799757

Please sign in to comment.