Skip to content

Commit 1fea27b

Browse files
committed
Fix composer etc
1 parent a99aab9 commit 1fea27b

10 files changed

+992
-984
lines changed

composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"php-parallel-lint/php-parallel-lint": "^1.2",
3333
"phpunit/phpunit": "^10.5",
3434
"lychee-org/phpstan-lychee": "^1.0.4",
35-
"nunomaduro/larastan": "^2.0",
35+
"larastan/larastan": "^2.0",
3636
"orchestra/testbench": "^9.0"
3737
},
3838
"autoload": {

composer.lock

+873-851
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

phpstan.neon

+1-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
includes:
2-
- vendor/nunomaduro/larastan/extension.neon
2+
- vendor/larastan/larastan/extension.neon
33
- vendor/lychee-org/phpstan-lychee/phpstan.neon
44

55
parameters:
@@ -15,9 +15,3 @@ parameters:
1515
# - '#Dynamic call to static method Kalnoy\\Nestedset\\QueryBuilder<.*>::whereRaw\(\).#'
1616
- '#Dynamic call to static method Kalnoy\\Nestedset\\QueryBuilder<.*>::whereNested\(\).#'
1717
- '#Dynamic call to static method Kalnoy\\Nestedset\\QueryBuilder<.*>::whereIn\(\).#'
18-
- '#Parameter .* \$models .* of method .*::initRelation\(\) should be contravariant with parameter \$models .* of method .*::initRelation\(\)#'
19-
- '#Parameter .* \$models .* of method .*::addEagerConstraints\(\) should be contravariant with parameter \$models .* of method .*::addEagerConstraints\(\)#'
20-
- '#Parameter .* \$models .* of method .*::match\(\) should be contravariant with parameter \$models .* of method .*::match\(\)#'
21-
- '#Parameter .* \$query .* of method .*::getRelationExistenceQuery\(\) should be contravariant with parameter \$query .* of method .*::getRelationExistenceQuery\(\)#'
22-
- '#Parameter .* \$parentQuery .* of method .*::getRelationExistenceQuery\(\) should be contravariant with parameter \$parentQuery .* of method .*::getRelationExistenceQuery\(\)#'
23-
- '#Parameter .* \$results .* of method .*::match\(\) should be contravariant with parameter \$results .* of method .*::match\(\)#'

src/AncestorsRelation.php

+3-4
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,13 @@
55
use Illuminate\Database\Eloquent\Model;
66

77
/**
8-
* @template Tmodelkey
98
* @template Tmodel of Model
109
*
11-
* @phpstan-type NodeModel Node<Tmodelkey,Tmodel>&Tmodel
10+
* @phpstan-type NodeModel Node<Tmodel>&Tmodel
1211
*
1312
* @disregard P1037
1413
*
15-
* @extends BaseRelation<Tmodelkey,Tmodel>
14+
* @extends BaseRelation<Tmodel>
1615
*/
1716
class AncestorsRelation extends BaseRelation
1817
{
@@ -43,7 +42,7 @@ protected function matches(Model $model, $related): bool
4342
}
4443

4544
/**
46-
* @param QueryBuilder<Tmodelkey,Tmodel> $query
45+
* @param QueryBuilder<Tmodel> $query
4746
* @param NodeModel $model
4847
*
4948
* @return void

src/BaseRelation.php

+15-14
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,11 @@
99
use Illuminate\Database\Query\Builder;
1010

1111
/**
12-
* @template Tmodelkey
1312
* @template Tmodel of Model
1413
*
15-
* @phpstan-type NodeModel Node<Tmodelkey,Tmodel>&Tmodel
14+
* @phpstan-type NodeModel Node<Tmodel>&Tmodel
1615
*
17-
* @extends Relation<NodeModel>
16+
* @extends Relation<NodeModel,NodeModel,EloquentCollection<int,NodeModel>>
1817
*
1918
* @property NodeModel $related
2019
* @property NodeModel $parent
@@ -24,7 +23,7 @@
2423
abstract class BaseRelation extends Relation
2524
{
2625
/**
27-
* @var QueryBuilder<Tmodelkey,Tmodel>
26+
* @var QueryBuilder<Tmodel>
2827
*/
2928
protected $query;
3029

@@ -43,7 +42,7 @@ abstract class BaseRelation extends Relation
4342
/**
4443
* AncestorsRelation constructor.
4544
*
46-
* @param QueryBuilder<Tmodelkey,Tmodel> $builder
45+
* @param QueryBuilder<Tmodel> $builder
4746
* @param NodeModel $model
4847
*/
4948
public function __construct(QueryBuilder $builder, Model $model)
@@ -64,7 +63,7 @@ public function __construct(QueryBuilder $builder, Model $model)
6463
abstract protected function matches(Model&Node $model, Node $related): bool;
6564

6665
/**
67-
* @param QueryBuilder<Tmodelkey,Tmodel> $query
66+
* @param QueryBuilder<Tmodel> $query
6867
* @param NodeModel $model
6968
*
7069
* @return void
@@ -86,10 +85,10 @@ abstract protected function relationExistenceCondition(string $hash, string $tab
8685
* @param EloquentBuilder<NodeModel> $parentQuery
8786
* @param mixed $columns
8887
*
89-
* @return QueryBuilder<Tmodelkey,Tmodel>
88+
* @return QueryBuilder<Tmodel>
9089
*/
9190
public function getRelationExistenceQuery(EloquentBuilder $query, EloquentBuilder $parentQuery,
92-
$columns = ['*']
91+
$columns = ['*'],
9392
) {
9493
$query = $this->getParent()->replicate()->newScopedQuery()->select($columns);
9594

@@ -113,10 +112,10 @@ public function getRelationExistenceQuery(EloquentBuilder $query, EloquentBuilde
113112
/**
114113
* Initialize the relation on a set of models.
115114
*
116-
* @param array<int,Tmodel> $models
115+
* @param array<int,NodeModel> $models
117116
* @param string $relation
118117
*
119-
* @return array<int,Tmodel>
118+
* @return array<int,NodeModel>
120119
*/
121120
public function initRelation(array $models, $relation)
122121
{
@@ -138,11 +137,13 @@ public function getRelationCountHash($incrementJoinCount = true)
138137
/**
139138
* Get the results of the relationship.
140139
*
141-
* @return mixed
140+
* @return Collection<NodeModel>
142141
*/
143142
public function getResults()
144143
{
145-
return $this->query->get();
144+
/** @var Collection<NodeModel> */
145+
$result = $this->query->get();
146+
return $result;
146147
}
147148

148149
/**
@@ -195,11 +196,11 @@ public function match(array $models, EloquentCollection $results, $relation)
195196
* @param NodeModel $model
196197
* @param EloquentCollection<int,NodeModel> $results
197198
*
198-
* @return Collection<int,Tmodelkey,Tmodel>
199+
* @return Collection<Tmodel>
199200
*/
200201
protected function matchForModel(Model $model, EloquentCollection $results)
201202
{
202-
/** @var Collection<int,Tmodelkey,Tmodel> */
203+
/** @var Collection<Tmodel> */
203204
$result = $this->related->newCollection();
204205

205206
foreach ($results as $related) {

src/Collection.php

+10-12
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,11 @@
66
use Illuminate\Database\Eloquent\Model;
77

88
/**
9-
* @template TKey of array-key
10-
* @template Tmodelkey
119
* @template Tmodel of Model
1210
*
13-
* @phpstan-type NodeModel Node<Tmodelkey,Tmodel>&Tmodel
11+
* @phpstan-type NodeModel Node<Tmodel>&Tmodel
1412
*
15-
* @extends EloquentCollection<TKey,NodeModel>
13+
* @extends EloquentCollection<array-key,NodeModel>
1614
*/
1715
final class Collection extends EloquentCollection
1816
{
@@ -61,7 +59,7 @@ public function linkNodes()
6159
*
6260
* @param mixed $root
6361
*
64-
* @return Collection<TKey,Tmodelkey,Tmodel>
62+
* @return Collection<Tmodel>
6563
*/
6664
public function toTree($root = false)
6765
{
@@ -88,7 +86,7 @@ public function toTree($root = false)
8886
/**
8987
* @param mixed $root
9088
*
91-
* @return Tmodelkey
89+
* @return array-key
9290
*/
9391
protected function getRootNodeId($root = false)
9492
{
@@ -125,11 +123,11 @@ protected function getRootNodeId($root = false)
125123
*
126124
* @param bool $root
127125
*
128-
* @return Collection<TKey,Tmodelkey,Tmodel>
126+
* @return Collection<Tmodel>
129127
*/
130128
public function toFlatTree($root = false): Collection
131129
{
132-
/** @Var Collection<TKey,Tmodelkey,Tmodel> */
130+
/** @Var Collection<Tmodel> */
133131
$result = new Collection();
134132

135133
if ($this->isEmpty()) {
@@ -138,7 +136,7 @@ public function toFlatTree($root = false): Collection
138136

139137
/** @var NodeModel */
140138
$first = $this->first();
141-
/** @var Collection<TKey,Tmodelkey,NodeModel> */
139+
/** @var Collection<NodeModel> */
142140
$groupedNodes = $this->groupBy($first->getParentIdName());
143141

144142
return $result->flattenTree($groupedNodes, $this->getRootNodeId($root)); /** @phpstan-ignore-line */
@@ -147,10 +145,10 @@ public function toFlatTree($root = false): Collection
147145
/**
148146
* Flatten a tree into a non recursive array.
149147
*
150-
* @param Collection<TKey,Tmodelkey,Tmodel> $groupedNodes
151-
* @param Tmodelkey $parentId
148+
* @param Collection<Tmodel> $groupedNodes
149+
* @param array-key $parentId
152150
*
153-
* @return Collection<TKey,Tmodelkey,Tmodel>
151+
* @return Collection<Tmodel>
154152
*/
155153
protected function flattenTree(Collection $groupedNodes, $parentId): Collection
156154
{

src/DescendantsRelation.php

+3-4
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,13 @@
55
use Illuminate\Database\Eloquent\Model;
66

77
/**
8-
* @template Tmodelkey
98
* @template Tmodel of Model
109
*
11-
* @phpstan-type NodeModel Node<Tmodelkey,Tmodel>&Tmodel
10+
* @phpstan-type NodeModel Node<Tmodel>&Tmodel
1211
*
1312
* @disregard P1037
1413
*
15-
* @extends BaseRelation<Tmodelkey,Tmodel>
14+
* @extends BaseRelation<Tmodel>
1615
*/
1716
class DescendantsRelation extends BaseRelation
1817
{
@@ -32,7 +31,7 @@ public function addConstraints()
3231
}
3332

3433
/**
35-
* @param QueryBuilder<Tmodelkey,Tmodel> $query
34+
* @param QueryBuilder<Tmodel> $query
3635
* @param NodeModel $model
3736
*/
3837
protected function addEagerConstraint($query, $model)

0 commit comments

Comments
 (0)