55namespace HeimrichHannot \FlareBundle \Collection ;
66
77use Contao \StringUtil ;
8- use HeimrichHannot \FlareBundle \Specification \FilterDefinition ;
8+ use HeimrichHannot \FlareBundle \Specification \ConfiguredFilter ;
99
1010/**
11- * @method array<int, FilterDefinition > all() Get the items of the collection.
12- * @method array<int, FilterDefinition > values() Get the values of the collection.
13- * @method \Traversable<string, FilterDefinition > getIterator() Iterator for the collection items.
11+ * @method array<int|string, ConfiguredFilter > all() Get the items of the collection.
12+ * @method array<int|string, ConfiguredFilter > values() Get the values of the collection.
13+ * @method \Traversable<string, ConfiguredFilter > getIterator() Iterator for the collection items.
1414 */
15- class FilterDefinitionCollection extends AbstractCollection
15+ class ConfiguredFilterCollection extends AbstractCollection
1616{
1717 public function __construct (
1818 ?array $ items = null ,
@@ -36,7 +36,7 @@ private function initItems(array $items): void
3636 }
3737 }
3838
39- public function get (string $ key ): ?FilterDefinition
39+ public function get (string $ key ): ?ConfiguredFilter
4040 {
4141 return $ this ->items [$ key ] ?? null ;
4242 }
@@ -50,12 +50,12 @@ public function hasType(string $type): bool
5050 {
5151 return \array_reduce (
5252 $ this ->items ,
53- static fn (bool $ carry , FilterDefinition $ filter ): bool => $ carry || $ filter ->getType () === $ type ,
53+ static fn (bool $ carry , ConfiguredFilter $ filter ): bool => $ carry || $ filter ->getElementType () === $ type ,
5454 false
5555 );
5656 }
5757
58- public function add (FilterDefinition ...$ item ): static
58+ public function add (ConfiguredFilter ...$ item ): static
5959 {
6060 foreach ($ item as $ filter ) {
6161 do {
@@ -68,15 +68,15 @@ public function add(FilterDefinition ...$item): static
6868 return $ this ;
6969 }
7070
71- public function set (string $ key , FilterDefinition $ filter ): void
71+ public function set (string $ key , ConfiguredFilter $ filter ): void
7272 {
7373 $ this ->items [$ key ] = $ filter ;
7474 }
7575
7676 /**
77- * @param FilterDefinition |string $item The item to remove or its key.
77+ * @param ConfiguredFilter |string $item The item to remove or its key.
7878 */
79- public function remove (FilterDefinition |string $ item ): bool
79+ public function remove (ConfiguredFilter |string $ item ): bool
8080 {
8181 if (\is_string ($ item )) {
8282 if (!\array_key_exists ($ item , $ this ->items )) {
@@ -90,58 +90,36 @@ public function remove(FilterDefinition|string $item): bool
9090
9191 $ filtered = \array_filter (
9292 $ this ->items ,
93- static fn (FilterDefinition $ filter ): bool => $ filter !== $ item
93+ static fn (ConfiguredFilter $ filter ): bool => $ filter !== $ item
9494 );
9595
9696 $ this ->items = $ filtered ;
9797
9898 return \count ($ this ->items ) < $ beforeCount ;
9999 }
100100
101- /**
102- * Serialize the collection.
103- *
104- * @return string Serialized representation of the collection.
105- */
106101 public function serialize (): string
107102 {
108103 return \serialize ($ this ->items );
109104 }
110105
111- /**
112- * Unserialize data into the collection.
113- *
114- * @param string $data The serialized data.
115- * @throws \UnexpectedValueException if the data is not an array of the expected type.
116- */
117106 public function unserialize (string $ data ): void
118107 {
119108 $ unserialized = StringUtil::deserialize ($ data );
120109
121- if (!is_array ($ unserialized )) {
122- throw new \UnexpectedValueException (" Invalid data: expected an array. " );
110+ if (!\ is_array ($ unserialized )) {
111+ throw new \UnexpectedValueException (' Invalid data: expected an array. ' );
123112 }
124113
125114 $ this ->items = [];
126115 $ this ->initItems ($ unserialized );
127116 }
128117
129- /**
130- * Magic method for serialization.
131- *
132- * @return array<int, FilterDefinition> Data to serialize.
133- */
134118 public function __serialize (): array
135119 {
136120 return $ this ->items ;
137121 }
138122
139- /**
140- * Magic method for unserialization.
141- *
142- * @param array<int, FilterDefinition> $data Data array to restore into the object.
143- * @throws \UnexpectedValueException if any item is of an incorrect type.
144- */
145123 public function __unserialize (array $ data ): void
146124 {
147125 $ this ->items = [];
@@ -150,14 +128,14 @@ public function __unserialize(array $data): void
150128
151129 public function __clone (): void
152130 {
153- $ this ->items = \array_map (static fn (FilterDefinition $ item ): FilterDefinition => clone $ item , $ this ->items );
131+ $ this ->items = \array_map (static fn (ConfiguredFilter $ item ): ConfiguredFilter => clone $ item , $ this ->items );
154132 }
155133
156134 public function hash (): string
157135 {
158136 return \sha1 (\serialize (\array_map (
159- static fn (FilterDefinition $ filter ): string => $ filter ->hash (),
137+ static fn (ConfiguredFilter $ filter ): string => $ filter ->hash (),
160138 $ this ->items
161139 )));
162140 }
163- }
141+ }
0 commit comments