@@ -41,7 +41,7 @@ public static function fromMembers(iterable $members = [], iterable $parameters
4141 {
4242 $ newMembers = [];
4343 foreach ($ members as $ member ) {
44- $ newMembers [] = self ::convertItem ($ member );
44+ $ newMembers [] = self ::filterMember ($ member );
4545 }
4646
4747 return new self (Parameters::fromAssociative ($ parameters ), ...$ newMembers );
@@ -110,10 +110,10 @@ public function get(int $index): Item
110110 */
111111 public function unshift (Item |ByteSequence |Token |bool |int |float |string ...$ members ): void
112112 {
113- $ this ->members = [...array_map (self ::convertItem (...), $ members ), ...$ this ->members ];
113+ $ this ->members = [...array_map (self ::filterMember (...), $ members ), ...$ this ->members ];
114114 }
115115
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
117117 {
118118 return match (true ) {
119119 $ member instanceof Item => $ member ,
@@ -126,9 +126,7 @@ private static function convertItem(Item|ByteSequence|Token|bool|int|float|strin
126126 */
127127 public function push (Item |ByteSequence |Token |bool |int |float |string ...$ members ): void
128128 {
129- foreach (array_map (self ::convertItem (...), $ members ) as $ member ) {
130- $ this ->members [] = $ member ;
131- }
129+ $ this ->members = [...$ this ->members , ...array_map (self ::filterMember (...), $ members )];
132130 }
133131
134132 /**
@@ -143,7 +141,7 @@ public function insert(int $index, Item|ByteSequence|Token|bool|int|float|string
143141 null === $ offset => throw InvalidOffset::dueToIndexNotFound ($ index ),
144142 0 === $ offset => $ this ->unshift (...$ members ),
145143 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 )),
147145 };
148146 }
149147
@@ -153,7 +151,7 @@ public function replace(int $index, Item|ByteSequence|Token|bool|int|float|strin
153151 throw InvalidOffset::dueToIndexNotFound ($ index );
154152 }
155153
156- $ this ->members [$ this ->filterIndex ($ index )] = self ::convertItem ($ member );
154+ $ this ->members [$ this ->filterIndex ($ index )] = self ::filterMember ($ member );
157155 }
158156
159157 /**
0 commit comments