From ee9b3f88831d91397f426fd65d16577e13b7bdd3 Mon Sep 17 00:00:00 2001 From: Steve Boyd Date: Wed, 23 Oct 2024 12:06:27 +1300 Subject: [PATCH] API Use SS_List as type --- src/Modules/AssetAdmin/FileFilter.php | 8 ++++---- .../AssetAdmin/Resolvers/AssetAdminResolver.php | 1 - .../AssetAdmin/Resolvers/FolderTypeResolver.php | 1 - .../Versioned/Plugins/VersionedDataObject.php | 4 ++-- .../DataObject/Plugin/CanViewPermission.php | 15 +++++++-------- src/Schema/DataObject/Plugin/Paginator.php | 6 +++--- .../Plugin/QueryFilter/FieldFilterInterface.php | 4 ++-- .../Plugin/QueryFilter/Filters/ContainsFilter.php | 4 ++-- .../Plugin/QueryFilter/Filters/EndsWithFilter.php | 4 ++-- .../Plugin/QueryFilter/Filters/EqualToFilter.php | 4 ++-- .../QueryFilter/Filters/GreaterThanFilter.php | 4 ++-- .../Filters/GreaterThanOrEqualFilter.php | 4 ++-- .../Plugin/QueryFilter/Filters/InFilter.php | 4 ++-- .../Plugin/QueryFilter/Filters/LessThanFilter.php | 4 ++-- .../QueryFilter/Filters/LessThanOrEqualFilter.php | 4 ++-- .../Plugin/QueryFilter/Filters/NotEqualFilter.php | 4 ++-- .../QueryFilter/Filters/StartsWithFilter.php | 4 ++-- .../DataObject/Plugin/QueryFilter/QueryFilter.php | 4 ++-- src/Schema/DataObject/Plugin/QuerySort.php | 4 ++-- src/Schema/Plugin/SortPlugin.php | 4 ++-- tests/Fake/FilterDataList.php | 6 ++---- 21 files changed, 46 insertions(+), 51 deletions(-) diff --git a/src/Modules/AssetAdmin/FileFilter.php b/src/Modules/AssetAdmin/FileFilter.php index d752cbefe..7285767e9 100644 --- a/src/Modules/AssetAdmin/FileFilter.php +++ b/src/Modules/AssetAdmin/FileFilter.php @@ -9,19 +9,19 @@ use SilverStripe\Control\HTTPResponse_Exception; use SilverStripe\Forms\DateField; use SilverStripe\Model\List\ArrayList; -use SilverStripe\Model\List\Filterable; +use SilverStripe\Model\List\SS_List; class FileFilter { /** * Caution: Does NOT enforce canView permissions * - * @param Filterable $list + * @param SS_List $list * @param array $filter - * @return Filterable + * @return SS_List * @throws HTTPResponse_Exception */ - public static function filterList(Filterable $list, $filter) + public static function filterList(SS_List $list, $filter) { // ID filtering if (isset($filter['id']) && (int)$filter['id'] > 0) { diff --git a/src/Modules/AssetAdmin/Resolvers/AssetAdminResolver.php b/src/Modules/AssetAdmin/Resolvers/AssetAdminResolver.php index d09de0717..eaaf629a0 100644 --- a/src/Modules/AssetAdmin/Resolvers/AssetAdminResolver.php +++ b/src/Modules/AssetAdmin/Resolvers/AssetAdminResolver.php @@ -13,7 +13,6 @@ use SilverStripe\GraphQL\QueryHandler\UserContextProvider; use SilverStripe\GraphQL\Schema\DataObject\FieldAccessor; use SilverStripe\ORM\DataList; -use SilverStripe\Model\List\Filterable; use SilverStripe\Versioned\Versioned; use InvalidArgumentException; diff --git a/src/Modules/AssetAdmin/Resolvers/FolderTypeResolver.php b/src/Modules/AssetAdmin/Resolvers/FolderTypeResolver.php index 71a1658cb..7e3c1c185 100644 --- a/src/Modules/AssetAdmin/Resolvers/FolderTypeResolver.php +++ b/src/Modules/AssetAdmin/Resolvers/FolderTypeResolver.php @@ -13,7 +13,6 @@ use SilverStripe\GraphQL\Schema\Schema; use SilverStripe\ORM\DataList; use SilverStripe\ORM\DB; -use SilverStripe\Model\List\Sortable; use SilverStripe\Versioned\Versioned; use InvalidArgumentException; use Exception; diff --git a/src/Modules/Versioned/Plugins/VersionedDataObject.php b/src/Modules/Versioned/Plugins/VersionedDataObject.php index 6f1864fbd..053c040b5 100644 --- a/src/Modules/Versioned/Plugins/VersionedDataObject.php +++ b/src/Modules/Versioned/Plugins/VersionedDataObject.php @@ -17,11 +17,11 @@ use SilverStripe\GraphQL\Schema\Type\ModelType; use SilverStripe\GraphQL\Schema\Type\Type; use SilverStripe\ORM\DataObject; -use SilverStripe\Model\List\Sortable; use SilverStripe\Security\Member; use SilverStripe\GraphQL\Modules\Versioned\Resolvers\VersionedResolver; use SilverStripe\Versioned\Versioned; use Closure; +use SilverStripe\Model\List\SS_List; use SilverStripe\Model\ModelData; // GraphQL dependency is optional in versioned, @@ -131,7 +131,7 @@ public function apply(ModelType $type, Schema $schema, array $config = []): void public static function sortVersions(array $config): Closure { $fieldName = $config['fieldName']; - return function (Sortable $list, array $args) use ($fieldName) { + return function (SS_List $list, array $args) use ($fieldName) { $versionSort = $args[$fieldName]['version'] ?? null; if ($versionSort) { $list = $list->sort('Version', $versionSort); diff --git a/src/Schema/DataObject/Plugin/CanViewPermission.php b/src/Schema/DataObject/Plugin/CanViewPermission.php index df74b7bf4..d10cce205 100644 --- a/src/Schema/DataObject/Plugin/CanViewPermission.php +++ b/src/Schema/DataObject/Plugin/CanViewPermission.php @@ -9,7 +9,6 @@ use SilverStripe\GraphQL\QueryHandler\UserContextProvider; use SilverStripe\Core\ArrayLib; use SilverStripe\Model\List\ArrayList; -use SilverStripe\Model\List\Filterable; use InvalidArgumentException; use SilverStripe\Model\List\SS_List; use SilverStripe\Model\ArrayData; @@ -37,7 +36,7 @@ protected function getPermissionResolver(): callable /** * @param mixed $obj - * @return Filterable|object|array|null + * @return SS_List|object|array|null * @throws InvalidArgumentException */ public static function permissionCheck($obj, array $args, array $context, ResolveInfo $info) @@ -57,7 +56,7 @@ public static function permissionCheck($obj, array $args, array $context, Resolv if (is_object($obj)) { - return $obj instanceof Filterable + return $obj instanceof SS_List ? static::listPermissionCheck($obj, $args, $context, $info) : static::itemPermissionCheck($obj, $args, $context, $info); } @@ -68,10 +67,10 @@ public static function permissionCheck($obj, array $args, array $context, Resolv Otherwise, try returning an instance of %s or another implementation of %s.', CanViewPermission::IDENTIFIER, $info->fieldName, - Filterable::class, + SS_List::class, AbstractCanViewPermission::class, SS_List::class, - Filterable::class + SS_List::class )); } @@ -106,13 +105,13 @@ public static function itemPermissionCheck($obj, array $args, array $context, Re } /** - * @param Filterable $obj + * @param SS_List $obj * @param array $args * @param array $context * @param ResolveInfo $info - * @return Filterable + * @return SS_List */ - public static function listPermissionCheck(Filterable $obj, array $args, array $context, ResolveInfo $info): Filterable + public static function listPermissionCheck(SS_List $obj, array $args, array $context, ResolveInfo $info): SS_List { // Use an ArrayList rather than a DataList to ensure items returns all have had a canView() check run on them. // Converting to an ArrayList will run a query and mean we start with a fixed number of items before diff --git a/src/Schema/DataObject/Plugin/Paginator.php b/src/Schema/DataObject/Plugin/Paginator.php index d605e386d..2509ac6e3 100644 --- a/src/Schema/DataObject/Plugin/Paginator.php +++ b/src/Schema/DataObject/Plugin/Paginator.php @@ -4,9 +4,9 @@ use GraphQL\Type\Definition\ResolveInfo; use SilverStripe\GraphQL\Schema\Schema; -use SilverStripe\Model\List\Limitable; use SilverStripe\GraphQL\Schema\Plugin\PaginationPlugin; use Closure; +use SilverStripe\Model\List\SS_List; /** * Adds pagination to a DataList query @@ -35,7 +35,7 @@ public static function paginate(array $context): Closure return null; } - if (!$list instanceof Limitable) { + if (!$list instanceof SS_List) { Schema::invariant( !isset($list['nodes']), 'List on field %s has already been paginated. Was the plugin executed twice?', @@ -51,7 +51,7 @@ public static function paginate(array $context): Closure $limit = min($limit, $maxLimit); // Apply limit - /* @var Limitable $list */ + /* @var SS_List $list */ $limitedList = $list->limit($limit, $offset); return static::createPaginationResult($total, $limitedList, $limit, $offset); }; diff --git a/src/Schema/DataObject/Plugin/QueryFilter/FieldFilterInterface.php b/src/Schema/DataObject/Plugin/QueryFilter/FieldFilterInterface.php index cd4d02137..b0d670606 100644 --- a/src/Schema/DataObject/Plugin/QueryFilter/FieldFilterInterface.php +++ b/src/Schema/DataObject/Plugin/QueryFilter/FieldFilterInterface.php @@ -4,14 +4,14 @@ namespace SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter; use SilverStripe\ORM\DataList; -use SilverStripe\Model\List\Filterable; +use SilverStripe\Model\List\SS_List; /** * Defines the interface used by all read filters for operations */ interface FieldFilterInterface { - public function apply(Filterable $list, string $fieldName, $value): iterable; + public function apply(SS_List $list, string $fieldName, $value): iterable; /** * @return string diff --git a/src/Schema/DataObject/Plugin/QueryFilter/Filters/ContainsFilter.php b/src/Schema/DataObject/Plugin/QueryFilter/Filters/ContainsFilter.php index 35cf401d8..3f24b6a6a 100644 --- a/src/Schema/DataObject/Plugin/QueryFilter/Filters/ContainsFilter.php +++ b/src/Schema/DataObject/Plugin/QueryFilter/Filters/ContainsFilter.php @@ -4,7 +4,7 @@ namespace SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\Filters; use SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\FieldFilterInterface; -use SilverStripe\Model\List\Filterable; +use SilverStripe\Model\List\SS_List; /** * A filter that selects records that partially match a keyword @@ -14,7 +14,7 @@ class ContainsFilter implements FieldFilterInterface /** * @inheritDoc */ - public function apply(Filterable $list, string $fieldName, $value): iterable + public function apply(SS_List $list, string $fieldName, $value): iterable { return $list->filter($fieldName . ':PartialMatch', $value); } diff --git a/src/Schema/DataObject/Plugin/QueryFilter/Filters/EndsWithFilter.php b/src/Schema/DataObject/Plugin/QueryFilter/Filters/EndsWithFilter.php index b659a01c1..56f42ca5b 100644 --- a/src/Schema/DataObject/Plugin/QueryFilter/Filters/EndsWithFilter.php +++ b/src/Schema/DataObject/Plugin/QueryFilter/Filters/EndsWithFilter.php @@ -4,7 +4,7 @@ namespace SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\Filters; use SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\FieldFilterInterface; -use SilverStripe\Model\List\Filterable; +use SilverStripe\Model\List\SS_List; /** * A query filter that filters records by the end of a field's contents @@ -14,7 +14,7 @@ class EndsWithFilter implements FieldFilterInterface /** * @inheritDoc */ - public function apply(Filterable $list, string $fieldName, $value): iterable + public function apply(SS_List $list, string $fieldName, $value): iterable { return $list->filter($fieldName . ':EndsWith', $value); } diff --git a/src/Schema/DataObject/Plugin/QueryFilter/Filters/EqualToFilter.php b/src/Schema/DataObject/Plugin/QueryFilter/Filters/EqualToFilter.php index 0bf68d096..3d2916ad2 100644 --- a/src/Schema/DataObject/Plugin/QueryFilter/Filters/EqualToFilter.php +++ b/src/Schema/DataObject/Plugin/QueryFilter/Filters/EqualToFilter.php @@ -4,7 +4,7 @@ namespace SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\Filters; use SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\FieldFilterInterface; -use SilverStripe\Model\List\Filterable; +use SilverStripe\Model\List\SS_List; /** * A query filter that filters records by exact match of a keyword @@ -14,7 +14,7 @@ class EqualToFilter implements FieldFilterInterface /** * @inheritDoc */ - public function apply(Filterable $list, string $fieldName, $value): iterable + public function apply(SS_List $list, string $fieldName, $value): iterable { return $list->filter($fieldName . ':ExactMatch', $value); } diff --git a/src/Schema/DataObject/Plugin/QueryFilter/Filters/GreaterThanFilter.php b/src/Schema/DataObject/Plugin/QueryFilter/Filters/GreaterThanFilter.php index 6be39d013..24c045615 100644 --- a/src/Schema/DataObject/Plugin/QueryFilter/Filters/GreaterThanFilter.php +++ b/src/Schema/DataObject/Plugin/QueryFilter/Filters/GreaterThanFilter.php @@ -4,7 +4,7 @@ namespace SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\Filters; use SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\FieldFilterInterface; -use SilverStripe\Model\List\Filterable; +use SilverStripe\Model\List\SS_List; /** * A query filter that filters records by greater than comparison @@ -14,7 +14,7 @@ class GreaterThanFilter implements FieldFilterInterface /** * @inheritDoc */ - public function apply(Filterable $list, string $fieldName, $value): iterable + public function apply(SS_List $list, string $fieldName, $value): iterable { return $list->filter($fieldName . ':GreaterThan', $value); } diff --git a/src/Schema/DataObject/Plugin/QueryFilter/Filters/GreaterThanOrEqualFilter.php b/src/Schema/DataObject/Plugin/QueryFilter/Filters/GreaterThanOrEqualFilter.php index 63ff36507..bca9b49c7 100644 --- a/src/Schema/DataObject/Plugin/QueryFilter/Filters/GreaterThanOrEqualFilter.php +++ b/src/Schema/DataObject/Plugin/QueryFilter/Filters/GreaterThanOrEqualFilter.php @@ -4,7 +4,7 @@ namespace SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\Filters; use SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\FieldFilterInterface; -use SilverStripe\Model\List\Filterable; +use SilverStripe\Model\List\SS_List; /** * A query filter that filters records by greater than or equal comparison @@ -14,7 +14,7 @@ class GreaterThanOrEqualFilter implements FieldFilterInterface /** * @inheritdoc */ - public function apply(Filterable $list, string $fieldName, $value): iterable + public function apply(SS_List $list, string $fieldName, $value): iterable { return $list->filter($fieldName . ':GreaterThanOrEqual', $value); } diff --git a/src/Schema/DataObject/Plugin/QueryFilter/Filters/InFilter.php b/src/Schema/DataObject/Plugin/QueryFilter/Filters/InFilter.php index eccb45f16..0199c7da2 100644 --- a/src/Schema/DataObject/Plugin/QueryFilter/Filters/InFilter.php +++ b/src/Schema/DataObject/Plugin/QueryFilter/Filters/InFilter.php @@ -4,7 +4,7 @@ namespace SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\Filters; use SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\ListFieldFilterInterface; -use SilverStripe\Model\List\Filterable; +use SilverStripe\Model\List\SS_List; /** * A query filter that filters records by the presence of a value in an array @@ -14,7 +14,7 @@ class InFilter implements ListFieldFilterInterface /** * @inheritDoc */ - public function apply(Filterable $list, string $fieldName, $value): iterable + public function apply(SS_List $list, string $fieldName, $value): iterable { return $list->filter($fieldName, (array) $value); } diff --git a/src/Schema/DataObject/Plugin/QueryFilter/Filters/LessThanFilter.php b/src/Schema/DataObject/Plugin/QueryFilter/Filters/LessThanFilter.php index 311d61f92..f2e3225c7 100644 --- a/src/Schema/DataObject/Plugin/QueryFilter/Filters/LessThanFilter.php +++ b/src/Schema/DataObject/Plugin/QueryFilter/Filters/LessThanFilter.php @@ -4,7 +4,7 @@ namespace SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\Filters; use SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\FieldFilterInterface; -use SilverStripe\Model\List\Filterable; +use SilverStripe\Model\List\SS_List; /** * A query filter that filters records by a less than comparison @@ -14,7 +14,7 @@ class LessThanFilter implements FieldFilterInterface /** * @inheritDoc */ - public function apply(Filterable $list, string $fieldName, $value): iterable + public function apply(SS_List $list, string $fieldName, $value): iterable { return $list->filter($fieldName . ':LessThan', $value); } diff --git a/src/Schema/DataObject/Plugin/QueryFilter/Filters/LessThanOrEqualFilter.php b/src/Schema/DataObject/Plugin/QueryFilter/Filters/LessThanOrEqualFilter.php index 9909cf666..bf3e7d8ea 100644 --- a/src/Schema/DataObject/Plugin/QueryFilter/Filters/LessThanOrEqualFilter.php +++ b/src/Schema/DataObject/Plugin/QueryFilter/Filters/LessThanOrEqualFilter.php @@ -4,7 +4,7 @@ namespace SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\Filters; use SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\FieldFilterInterface; -use SilverStripe\Model\List\Filterable; +use SilverStripe\Model\List\SS_List; /** * A query filter that filters records by a less than or equal comparison @@ -14,7 +14,7 @@ class LessThanOrEqualFilter implements FieldFilterInterface /** * @inheritDoc */ - public function apply(Filterable $list, string $fieldName, $value): iterable + public function apply(SS_List $list, string $fieldName, $value): iterable { return $list->filter($fieldName . ':LessThanOrEqual', $value); } diff --git a/src/Schema/DataObject/Plugin/QueryFilter/Filters/NotEqualFilter.php b/src/Schema/DataObject/Plugin/QueryFilter/Filters/NotEqualFilter.php index 80b4b91ef..71fd2b1db 100644 --- a/src/Schema/DataObject/Plugin/QueryFilter/Filters/NotEqualFilter.php +++ b/src/Schema/DataObject/Plugin/QueryFilter/Filters/NotEqualFilter.php @@ -4,7 +4,7 @@ namespace SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\Filters; use SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\FieldFilterInterface; -use SilverStripe\Model\List\Filterable; +use SilverStripe\Model\List\SS_List; /** * A query filter that filters records by negating an exact match @@ -14,7 +14,7 @@ class NotEqualFilter implements FieldFilterInterface /** * @inheritDoc */ - public function apply(Filterable $list, string $fieldName, $value): iterable + public function apply(SS_List $list, string $fieldName, $value): iterable { return $list->exclude($fieldName, $value); } diff --git a/src/Schema/DataObject/Plugin/QueryFilter/Filters/StartsWithFilter.php b/src/Schema/DataObject/Plugin/QueryFilter/Filters/StartsWithFilter.php index 61cc68a3f..4b52757b3 100644 --- a/src/Schema/DataObject/Plugin/QueryFilter/Filters/StartsWithFilter.php +++ b/src/Schema/DataObject/Plugin/QueryFilter/Filters/StartsWithFilter.php @@ -4,7 +4,7 @@ namespace SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\Filters; use SilverStripe\GraphQL\Schema\DataObject\Plugin\QueryFilter\FieldFilterInterface; -use SilverStripe\Model\List\Filterable; +use SilverStripe\Model\List\SS_List; /** * A query filter that filters records by the start of a field's content @@ -14,7 +14,7 @@ class StartsWithFilter implements FieldFilterInterface /** * @inheritDoc */ - public function apply(Filterable $list, string $fieldName, $value): iterable + public function apply(SS_List $list, string $fieldName, $value): iterable { return $list->filter($fieldName . ':StartsWith', $value); } diff --git a/src/Schema/DataObject/Plugin/QueryFilter/QueryFilter.php b/src/Schema/DataObject/Plugin/QueryFilter/QueryFilter.php index 1a322a8ec..7ae79a5b8 100644 --- a/src/Schema/DataObject/Plugin/QueryFilter/QueryFilter.php +++ b/src/Schema/DataObject/Plugin/QueryFilter/QueryFilter.php @@ -18,8 +18,8 @@ use SilverStripe\GraphQL\Schema\Type\ModelType; use SilverStripe\ORM\DataObject; use Closure; -use SilverStripe\Model\List\Filterable; use Exception; +use SilverStripe\Model\List\SS_List; /** * Adds a filter parameter to a DataObject query @@ -80,7 +80,7 @@ public static function filter(array $context): Closure $rootType = $context['rootType']; $resolvers = $context['resolvers'] ?? []; - return function (?Filterable $list, array $args, array $context, ResolveInfo $info) use ($fieldName, $rootType, $resolvers) { + return function (?SS_List $list, array $args, array $context, ResolveInfo $info) use ($fieldName, $rootType, $resolvers) { if ($list === null) { return null; } diff --git a/src/Schema/DataObject/Plugin/QuerySort.php b/src/Schema/DataObject/Plugin/QuerySort.php index 300a03d67..fac94b1e2 100644 --- a/src/Schema/DataObject/Plugin/QuerySort.php +++ b/src/Schema/DataObject/Plugin/QuerySort.php @@ -16,10 +16,10 @@ use SilverStripe\GraphQL\Schema\Type\ModelType; use SilverStripe\ORM\DataObject; use Closure; -use SilverStripe\Model\List\Sortable; use Exception; use GraphQL\Type\Definition\ResolveInfo; use SilverStripe\GraphQL\Schema\Traits\SortTrait; +use SilverStripe\Model\List\SS_List; /** * Adds a sort parameter to a DataObject query @@ -99,7 +99,7 @@ public static function sort(array $context): closure { $fieldName = $context['fieldName']; $rootType = $context['rootType']; - return function (?Sortable $list, array $args, array $context, ResolveInfo $info) use ($fieldName, $rootType) { + return function (?SS_List $list, array $args, array $context, ResolveInfo $info) use ($fieldName, $rootType) { if ($list === null) { return null; } diff --git a/src/Schema/Plugin/SortPlugin.php b/src/Schema/Plugin/SortPlugin.php index 9fbfe46a5..d953d21fe 100644 --- a/src/Schema/Plugin/SortPlugin.php +++ b/src/Schema/Plugin/SortPlugin.php @@ -16,9 +16,9 @@ use SilverStripe\GraphQL\Schema\Services\NestedInputBuilder; use SilverStripe\GraphQL\Schema\Traits\SortTrait; use SilverStripe\GraphQL\Schema\Type\InputType; -use SilverStripe\Model\List\Sortable; use Closure; use GraphQL\Type\Definition\ResolveInfo; +use SilverStripe\Model\List\SS_List; class SortPlugin implements FieldPlugin, SchemaUpdater { @@ -89,7 +89,7 @@ public function apply(Field $field, Schema $schema, array $config = []): void public static function sort(array $context): Closure { $fieldName = $context['fieldName']; - return function (?Sortable $list, array $args, array $context, ResolveInfo $info) use ($fieldName) { + return function (?SS_List $list, array $args, array $context, ResolveInfo $info) use ($fieldName) { if ($list === null) { return null; } diff --git a/tests/Fake/FilterDataList.php b/tests/Fake/FilterDataList.php index 4b5dfdf1b..15c00d816 100644 --- a/tests/Fake/FilterDataList.php +++ b/tests/Fake/FilterDataList.php @@ -15,9 +15,8 @@ class FilterDataList extends DataList implements TestOnly public $excludeValue; - public function filter() + public function filter(...$args): static { - $args = func_get_args(); $field = $args[0]; $value = $args[1]; @@ -28,9 +27,8 @@ public function filter() return $clone; } - public function exclude() + public function exclude(...$args): static { - $args = func_get_args(); $field = $args[0]; $value = $args[1];