@@ -41,7 +41,7 @@ public static function fromMembers(iterable $members = [], iterable $parameters
41
41
{
42
42
$ newMembers = [];
43
43
foreach ($ members as $ member ) {
44
- $ newMembers [] = self ::convertItem ($ member );
44
+ $ newMembers [] = self ::filterMember ($ member );
45
45
}
46
46
47
47
return new self (Parameters::fromAssociative ($ parameters ), ...$ newMembers );
@@ -110,10 +110,10 @@ public function get(int $index): Item
110
110
*/
111
111
public function unshift (Item |ByteSequence |Token |bool |int |float |string ...$ members ): void
112
112
{
113
- $ this ->members = [...array_map (self ::convertItem (...), $ members ), ...$ this ->members ];
113
+ $ this ->members = [...array_map (self ::filterMember (...), $ members ), ...$ this ->members ];
114
114
}
115
115
116
- private static function convertItem (Item |ByteSequence |Token |bool |int |float |string $ member ): Item
116
+ private static function filterMember (Item |ByteSequence |Token |bool |int |float |string $ member ): Item
117
117
{
118
118
return match (true ) {
119
119
$ member instanceof Item => $ member ,
@@ -126,9 +126,7 @@ private static function convertItem(Item|ByteSequence|Token|bool|int|float|strin
126
126
*/
127
127
public function push (Item |ByteSequence |Token |bool |int |float |string ...$ members ): void
128
128
{
129
- foreach (array_map (self ::convertItem (...), $ members ) as $ member ) {
130
- $ this ->members [] = $ member ;
131
- }
129
+ $ this ->members = [...$ this ->members , ...array_map (self ::filterMember (...), $ members )];
132
130
}
133
131
134
132
/**
@@ -143,7 +141,7 @@ public function insert(int $index, Item|ByteSequence|Token|bool|int|float|string
143
141
null === $ offset => throw InvalidOffset::dueToIndexNotFound ($ index ),
144
142
0 === $ offset => $ this ->unshift (...$ members ),
145
143
count ($ this ->members ) === $ offset => $ this ->push (...$ members ),
146
- default => array_splice ($ this ->members , $ offset , 0 , array_map (self ::convertItem (...), $ members )),
144
+ default => array_splice ($ this ->members , $ offset , 0 , array_map (self ::filterMember (...), $ members )),
147
145
};
148
146
}
149
147
@@ -153,7 +151,7 @@ public function replace(int $index, Item|ByteSequence|Token|bool|int|float|strin
153
151
throw InvalidOffset::dueToIndexNotFound ($ index );
154
152
}
155
153
156
- $ this ->members [$ this ->filterIndex ($ index )] = self ::convertItem ($ member );
154
+ $ this ->members [$ this ->filterIndex ($ index )] = self ::filterMember ($ member );
157
155
}
158
156
159
157
/**
0 commit comments