Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@
],
"require": {
"php": "^7.2.5|^8.0",

"illuminate/support": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
"illuminate/database": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
"illuminate/events": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0"
"illuminate/events": "^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
"laravel/serializable-closure": "^2.0"
},
"autoload": {
"psr-4": {
Expand Down
17 changes: 5 additions & 12 deletions src/NodeTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -671,7 +671,7 @@ public function newEloquentBuilder($query)
*
* @return QueryBuilder
*/
public function newNestedSetQuery($table = null)
public function newNestedSetQuery(?string $table = null)
{
$builder = $this->usesSoftDelete()
? $this->withTrashed()
Expand All @@ -681,22 +681,19 @@ public function newNestedSetQuery($table = null)
}

/**
* @param string $table
*
* @return QueryBuilder
*/
public function newScopedQuery($table = null)
public function newScopedQuery(?string $table = null)
{
return $this->applyNestedSetScope($this->newQuery(), $table);
}

/**
* @param mixed $query
* @param string $table
*
* @return mixed
*/
public function applyNestedSetScope($query, $table = null)
public function applyNestedSetScope($query, ?string $table = null)
{
if ( ! $scoped = $this->getScopeAttributes()) {
return $query;
Expand Down Expand Up @@ -748,10 +745,8 @@ public function newCollection(array $models = array())
* {@inheritdoc}
*
* Use `children` key on `$attributes` to create child nodes.
*
* @param self $parent
*/
public static function create(array $attributes = [], self $parent = null)
public static function create(array $attributes = [], self|null $parent = null)
{
$children = Arr::pull($attributes, 'children');

Expand Down Expand Up @@ -1221,11 +1216,9 @@ protected function isSameScope(self $node): bool
}

/**
* @param array|null $except
*
* @return \Illuminate\Database\Eloquent\Model
*/
public function replicate(array $except = null)
public function replicate(?array $except = null)
{
$defaults = [
$this->getParentIdName(),
Expand Down
14 changes: 7 additions & 7 deletions src/QueryBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ public function ancestorsAndSelf($id, array $columns = [ '*' ])
*
* @return $this
*/
public function whereNodeBetween($values, $boolean = 'and', $not = false, $query = null)
public function whereNodeBetween($values, $boolean = 'and', $not = false, ?Query $query = null)
{
($query ?? $this->query)->whereBetween($this->model->getTable() . '.' . $this->model->getLftName(), $values, $boolean, $not);

Expand Down Expand Up @@ -861,7 +861,7 @@ public function isBroken()
*
* @return int The number of changed nodes
*/
public function fixTree($root = null)
public function fixTree(?Model $root = null)
{
$columns = [
$this->model->getKeyName(),
Expand Down Expand Up @@ -899,7 +899,7 @@ public function fixSubtree($root)
*
* @return int
*/
protected function fixNodes(array &$dictionary, $parent = null)
protected function fixNodes(array &$dictionary, ?Model $parent = null)
{
$parentId = $parent ? $parent->getKey() : null;
$cut = $parent ? $parent->getLft() + 1 : 1;
Expand Down Expand Up @@ -941,7 +941,7 @@ protected function fixNodes(array &$dictionary, $parent = null)
* @internal param int $fixed
*/
protected static function reorderNodes(
array &$dictionary, array &$updated, $parentId = null, $cut = 1
array &$dictionary, array &$updated, null|int|string $parentId = null, $cut = 1
) {
if ( ! isset($dictionary[$parentId])) {
return $cut;
Expand Down Expand Up @@ -973,11 +973,11 @@ protected static function reorderNodes(
* @param array $data
* @param bool $delete Whether to delete nodes that exists but not in the data
* array
* @param null $root
* @param ?Model|NodeTrait $root
*
* @return int
*/
public function rebuildTree(array $data, $delete = false, $root = null)
public function rebuildTree(array $data, $delete = false, ?Model $root = null)
{
if ($this->model->usesSoftDelete()) {
$this->withTrashed();
Expand Down Expand Up @@ -1084,7 +1084,7 @@ protected function buildRebuildDictionary(array &$dictionary,
*
* @return $this
*/
public function applyNestedSetScope($table = null)
public function applyNestedSetScope(?string $table = null)
{
return $this->model->applyNestedSetScope($this, $table);
}
Expand Down
4 changes: 2 additions & 2 deletions tests/NodeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ public function assertTreeNotBroken($table = 'categories')
$this->assertEquals(array('errors' => null), $actual, "The tree structure of $table is broken!");
}

public function dumpTree($items = null)
public function dumpTree(?array $items = null)
{
if ( ! $items) $items = Category::withTrashed()->defaultOrder()->get();

Expand Down Expand Up @@ -997,4 +997,4 @@ public function testReplication()
function all($items)
{
return is_array($items) ? $items : $items->all();
}
}
Loading