@@ -15,23 +15,30 @@ class NaryNode extends Node implements NaryNodeInterface
15
15
/**
16
16
* NaryNode constructor.
17
17
*
18
- * @param int $capacity
19
- * The maximum children a node can have
20
- * @param null|\drupol\phptree\Node\NodeInterface $parent
21
- * The parent
18
+ * @param null|int $capacity
19
+ * The maximum children a node can have. Null for no children,
20
+ * if 0 then any number of children is allowed.
22
21
* @param null|\drupol\phptree\Traverser\TraverserInterface $traverser
23
- * The traverser
22
+ * The traverser.
23
+ * @param null|\drupol\phptree\Node\NodeInterface $parent
24
+ * The parent.
24
25
*/
25
- public function __construct (int $ capacity = 0 , NodeInterface $ parent = null , TraverserInterface $ traverser = null )
26
- {
26
+ public function __construct (
27
+ ?int $ capacity = 0 ,
28
+ ?TraverserInterface $ traverser = null ,
29
+ ?NodeInterface $ parent = null
30
+ ) {
27
31
parent ::__construct ($ parent );
28
32
29
33
$ this ->storage ()->set (
30
34
'capacity ' ,
31
35
$ capacity
32
36
);
33
37
34
- $ this ->storage ()->set ('traverser ' , $ traverser ?? new BreadthFirst ());
38
+ $ this ->storage ()->set (
39
+ 'traverser ' ,
40
+ $ traverser ?? new BreadthFirst ()
41
+ );
35
42
}
36
43
37
44
/**
@@ -65,7 +72,7 @@ public function add(NodeInterface ...$nodes): NodeInterface
65
72
/**
66
73
* {@inheritdoc}
67
74
*/
68
- public function capacity (): int
75
+ public function capacity (): ? int
69
76
{
70
77
return $ this ->storage ()->get ('capacity ' );
71
78
}
@@ -115,7 +122,7 @@ protected function findFirstAvailableNode(NodeInterface $tree): ?NodeInterface
115
122
116
123
$ capacity = $ candidate ->capacity ();
117
124
118
- if (0 > $ capacity ) {
125
+ if (null === $ capacity ) {
119
126
continue ;
120
127
}
121
128
0 commit comments