Skip to content

Commit cd7407b

Browse files
committed
Merge branch 'develop'
* develop: specify next release remove the need for Constraint::map() callables to be pure
2 parents b2be414 + dbbf544 commit cd7407b

13 files changed

+22
-15
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## 1.7.0 - 2024-11-11
4+
5+
### Changed
6+
7+
- `Constraint::map()` callable no longer needs to be pure
8+
39
## 1.6.1 - 2024-11-11
410

511
### Fixed

src/AndConstraint.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public function or(Constraint $constraint): Constraint
8383
/**
8484
* @template T
8585
*
86-
* @param pure-callable(C): T $map
86+
* @param callable(C): T $map
8787
*
8888
* @return Constraint<A, T>
8989
*/

src/AssociativeArray.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public function or(Constraint $constraint): Constraint
7373
/**
7474
* @template T
7575
*
76-
* @param pure-callable(Map<K, V>): T $map
76+
* @param callable(Map<K, V>): T $map
7777
*
7878
* @return Constraint<mixed, T>
7979
*/

src/Constraint.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public function or(self $constraint): self;
4242
/**
4343
* @template T
4444
*
45-
* @param pure-callable(O): T $map
45+
* @param callable(O): T $map
4646
*
4747
* @return self<I, T>
4848
*/

src/Each.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public function or(Constraint $constraint): Constraint
8383
/**
8484
* @template V
8585
*
86-
* @param pure-callable(list<T>): V $map
86+
* @param callable(list<T>): V $map
8787
*
8888
* @return Constraint<list, V>
8989
*/

src/Has.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public function or(Constraint $constraint): Constraint
9090
/**
9191
* @template T
9292
*
93-
* @param pure-callable(mixed): T $map
93+
* @param callable(mixed): T $map
9494
*
9595
* @return Constraint<array, T>
9696
*/

src/Instance.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public function or(Constraint $constraint): Constraint
7979
/**
8080
* @template V
8181
*
82-
* @param pure-callable(T): V $map
82+
* @param callable(T): V $map
8383
*
8484
* @return Constraint<mixed, V>
8585
*/

src/Is.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ public function or(Constraint $constraint): Constraint
219219
/**
220220
* @template V
221221
*
222-
* @param pure-callable(U): V $map
222+
* @param callable(U): V $map
223223
*
224224
* @return Constraint<T, V>
225225
*/

src/Map.php

+5-4
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ final class Map implements Constraint
1919
{
2020
/** @var Constraint<I, O> */
2121
private Constraint $constraint;
22-
/** @var pure-callable(O): T */
22+
/** @var callable(O): T */
2323
private $map;
2424

2525
/**
2626
* @param Constraint<I, O> $constraint
27-
* @param pure-callable(O): T $map
27+
* @param callable(O): T $map
2828
*/
2929
private function __construct(Constraint $constraint, callable $map)
3030
{
@@ -34,6 +34,7 @@ private function __construct(Constraint $constraint, callable $map)
3434

3535
public function __invoke(mixed $value): Validation
3636
{
37+
/** @psalm-suppress ImpureFunctionCall */
3738
return ($this->constraint)($value)->map($this->map);
3839
}
3940

@@ -44,7 +45,7 @@ public function __invoke(mixed $value): Validation
4445
* @psalm-pure
4546
*
4647
* @param Constraint<A, B> $constraint
47-
* @param pure-callable(B): C $map
48+
* @param callable(B): C $map
4849
*
4950
* @return self<A, B, C>
5051
*/
@@ -80,7 +81,7 @@ public function or(Constraint $constraint): Constraint
8081
/**
8182
* @template V
8283
*
83-
* @param pure-callable(T): V $map
84+
* @param callable(T): V $map
8485
*
8586
* @return self<I, T, V>
8687
*/

src/Of.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public function or(Constraint $constraint): Constraint
7373
/**
7474
* @template T
7575
*
76-
* @param pure-callable(B): T $map
76+
* @param callable(B): T $map
7777
*
7878
* @return Constraint<A, T>
7979
*/

src/OrConstraint.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public function or(Constraint $constraint): self
8383
/**
8484
* @template T
8585
*
86-
* @param pure-callable(B|C): T $map
86+
* @param callable(B|C): T $map
8787
*
8888
* @return Constraint<A, T>
8989
*/

src/PointInTime.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public function or(Constraint $constraint): Constraint
9090
/**
9191
* @template T
9292
*
93-
* @param pure-callable(PointInTimeInterface): T $map
93+
* @param callable(PointInTimeInterface): T $map
9494
*
9595
* @return Constraint<string, T>
9696
*/

src/Shape.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ public function or(Constraint $constraint): Constraint
187187
/**
188188
* @template T
189189
*
190-
* @param pure-callable(non-empty-array<non-empty-string, mixed>): T $map
190+
* @param callable(non-empty-array<non-empty-string, mixed>): T $map
191191
*
192192
* @return Constraint<mixed, T>
193193
*/

0 commit comments

Comments
 (0)