setOptions($options); } } /** * Determine whether the in_array() call should be "strict" or not. See in_array docs. * * @param bool $strict */ public function setStrict($strict = true): void { $this->strict = (bool) $strict; } /** * Returns whether the in_array() call should be "strict" or not. See in_array docs. * * @return bool */ public function getStrict() { return $this->strict; } /** * Set the list of items to black-list. * * @param array|Traversable $list */ public function setList($list = []): void { if (! is_array($list)) { $list = ArrayUtils::iteratorToArray($list); } $this->list = $list; } /** * Get the list of items to black-list * * @return array */ public function getList() { return $this->list; } /** * {@inheritDoc} * * Will return null if $value is present in the black-list. If $value is NOT present then it will return $value. */ public function filter($value) { return in_array($value, $this->getList(), $this->getStrict()) ? null : $value; } }