Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
* develop:
  specify next release
  remove the need for Constraint::map() callables to be pure
  • Loading branch information
Baptouuuu committed Nov 11, 2024
2 parents b2be414 + dbbf544 commit cd7407b
Show file tree
Hide file tree
Showing 13 changed files with 22 additions and 15 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## 1.7.0 - 2024-11-11

### Changed

- `Constraint::map()` callable no longer needs to be pure

## 1.6.1 - 2024-11-11

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion src/AndConstraint.php
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public function or(Constraint $constraint): Constraint
/**
* @template T
*
* @param pure-callable(C): T $map
* @param callable(C): T $map
*
* @return Constraint<A, T>
*/
Expand Down
2 changes: 1 addition & 1 deletion src/AssociativeArray.php
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public function or(Constraint $constraint): Constraint
/**
* @template T
*
* @param pure-callable(Map<K, V>): T $map
* @param callable(Map<K, V>): T $map
*
* @return Constraint<mixed, T>
*/
Expand Down
2 changes: 1 addition & 1 deletion src/Constraint.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public function or(self $constraint): self;
/**
* @template T
*
* @param pure-callable(O): T $map
* @param callable(O): T $map
*
* @return self<I, T>
*/
Expand Down
2 changes: 1 addition & 1 deletion src/Each.php
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public function or(Constraint $constraint): Constraint
/**
* @template V
*
* @param pure-callable(list<T>): V $map
* @param callable(list<T>): V $map
*
* @return Constraint<list, V>
*/
Expand Down
2 changes: 1 addition & 1 deletion src/Has.php
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ public function or(Constraint $constraint): Constraint
/**
* @template T
*
* @param pure-callable(mixed): T $map
* @param callable(mixed): T $map
*
* @return Constraint<array, T>
*/
Expand Down
2 changes: 1 addition & 1 deletion src/Instance.php
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ public function or(Constraint $constraint): Constraint
/**
* @template V
*
* @param pure-callable(T): V $map
* @param callable(T): V $map
*
* @return Constraint<mixed, V>
*/
Expand Down
2 changes: 1 addition & 1 deletion src/Is.php
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ public function or(Constraint $constraint): Constraint
/**
* @template V
*
* @param pure-callable(U): V $map
* @param callable(U): V $map
*
* @return Constraint<T, V>
*/
Expand Down
9 changes: 5 additions & 4 deletions src/Map.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ final class Map implements Constraint
{
/** @var Constraint<I, O> */
private Constraint $constraint;
/** @var pure-callable(O): T */
/** @var callable(O): T */
private $map;

/**
* @param Constraint<I, O> $constraint
* @param pure-callable(O): T $map
* @param callable(O): T $map
*/
private function __construct(Constraint $constraint, callable $map)
{
Expand All @@ -34,6 +34,7 @@ private function __construct(Constraint $constraint, callable $map)

public function __invoke(mixed $value): Validation
{
/** @psalm-suppress ImpureFunctionCall */
return ($this->constraint)($value)->map($this->map);
}

Expand All @@ -44,7 +45,7 @@ public function __invoke(mixed $value): Validation
* @psalm-pure
*
* @param Constraint<A, B> $constraint
* @param pure-callable(B): C $map
* @param callable(B): C $map
*
* @return self<A, B, C>
*/
Expand Down Expand Up @@ -80,7 +81,7 @@ public function or(Constraint $constraint): Constraint
/**
* @template V
*
* @param pure-callable(T): V $map
* @param callable(T): V $map
*
* @return self<I, T, V>
*/
Expand Down
2 changes: 1 addition & 1 deletion src/Of.php
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public function or(Constraint $constraint): Constraint
/**
* @template T
*
* @param pure-callable(B): T $map
* @param callable(B): T $map
*
* @return Constraint<A, T>
*/
Expand Down
2 changes: 1 addition & 1 deletion src/OrConstraint.php
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public function or(Constraint $constraint): self
/**
* @template T
*
* @param pure-callable(B|C): T $map
* @param callable(B|C): T $map
*
* @return Constraint<A, T>
*/
Expand Down
2 changes: 1 addition & 1 deletion src/PointInTime.php
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ public function or(Constraint $constraint): Constraint
/**
* @template T
*
* @param pure-callable(PointInTimeInterface): T $map
* @param callable(PointInTimeInterface): T $map
*
* @return Constraint<string, T>
*/
Expand Down
2 changes: 1 addition & 1 deletion src/Shape.php
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ public function or(Constraint $constraint): Constraint
/**
* @template T
*
* @param pure-callable(non-empty-array<non-empty-string, mixed>): T $map
* @param callable(non-empty-array<non-empty-string, mixed>): T $map
*
* @return Constraint<mixed, T>
*/
Expand Down

0 comments on commit cd7407b

Please sign in to comment.