15
15
use function is_array ;
16
16
17
17
/**
18
- * @implements MemberList<int, Item|InnerList <int, Item>>
18
+ * @implements MemberList<int, Item|MemberList <int, Item>>
19
19
*/
20
20
final class OrderedList implements MemberList
21
21
{
@@ -27,13 +27,18 @@ private function __construct(Item|InnerList ...$members)
27
27
$ this ->members = array_values ($ members );
28
28
}
29
29
30
- public static function from (InnerList |Item |ByteSequence |Token |bool |int |float |string ...$ members ): self
30
+ /**
31
+ * @param MemberList<int, Item>|Item|ByteSequence|Token|bool|int|float|string ...$members
32
+ *
33
+ * @return static
34
+ */
35
+ public static function from (MemberList |Item |ByteSequence |Token |bool |int |float |string ...$ members ): self
31
36
{
32
37
return self ::fromList ($ members );
33
38
}
34
39
35
40
/**
36
- * @param iterable<InnerList |Item|ByteSequence|Token|bool|int|float|string> $members
41
+ * @param iterable<MemberList<int, Item> |Item|ByteSequence|Token|bool|int|float|string> $members
37
42
*/
38
43
public static function fromList (iterable $ members = []): self
39
44
{
@@ -102,7 +107,7 @@ public function hasMembers(): bool
102
107
}
103
108
104
109
/**
105
- * @return Iterator<int, Item|InnerList <int, Item>>
110
+ * @return Iterator<int, Item|MemberList <int, Item>>
106
111
*/
107
112
public function getIterator (): Iterator
108
113
{
@@ -181,7 +186,7 @@ public function get(string|int $offset): Item|InnerList
181
186
/**
182
187
* Inserts members at the beginning of the list.
183
188
*/
184
- public function unshift (StructuredField |ByteSequence |Token |bool |int |float |string ...$ members ): self
189
+ public function unshift (MemberList | StructuredField |ByteSequence |Token |bool |int |float |string ...$ members ): self
185
190
{
186
191
$ this ->members = [...array_map (self ::filterMember (...), array_values ($ members )), ...$ this ->members ];
187
192
@@ -191,7 +196,7 @@ public function unshift(StructuredField|ByteSequence|Token|bool|int|float|string
191
196
/**
192
197
* Inserts members at the end of the list.
193
198
*/
194
- public function push (StructuredField |ByteSequence |Token |bool |int |float |string ...$ members ): self
199
+ public function push (MemberList | StructuredField |ByteSequence |Token |bool |int |float |string ...$ members ): self
195
200
{
196
201
$ this ->members = [...$ this ->members , ...array_map (self ::filterMember (...), array_values ($ members ))];
197
202
@@ -203,7 +208,7 @@ public function push(StructuredField|ByteSequence|Token|bool|int|float|string ..
203
208
*
204
209
* @throws InvalidOffset If the index does not exist
205
210
*/
206
- public function insert (int $ index , StructuredField |ByteSequence |Token |bool |int |float |string ...$ members ): self
211
+ public function insert (int $ index , MemberList | StructuredField |ByteSequence |Token |bool |int |float |string ...$ members ): self
207
212
{
208
213
$ offset = $ this ->filterIndex ($ index );
209
214
match (true ) {
@@ -281,12 +286,12 @@ public function offsetUnset($offset): void
281
286
282
287
/**
283
288
* @param int|null $offset
284
- * @param InnerList <int, Item>|Item|ByteSequence|Token|bool|int|float|string $value the member to add
289
+ * @param MemberList <int, Item>|Item|ByteSequence|Token|bool|int|float|string $value the member to add
285
290
*
286
291
* @see ::push
287
292
* @see ::replace
288
293
*/
289
- public function offsetSet (mixed $ offset , $ value ): void
294
+ public function offsetSet (mixed $ offset , mixed $ value ): void
290
295
{
291
296
if (null !== $ offset ) {
292
297
$ this ->replace ($ offset , $ value );
0 commit comments