From e8946b34cc4516f5aa31d2c2e82b715edbee6814 Mon Sep 17 00:00:00 2001 From: Awilum Date: Sat, 12 Dec 2020 22:30:20 +0300 Subject: [PATCH] feat(helpers): Remove `slice_offset`, `slice_limit`, `count`, `exists` functionality from Filter Helper #493 --- src/flextype/Support/Helpers/FilterHelper.php | 17 ++--------------- tests/Support/Helpers/FilterHelperTest.php | 13 ++----------- 2 files changed, 4 insertions(+), 26 deletions(-) diff --git a/src/flextype/Support/Helpers/FilterHelper.php b/src/flextype/Support/Helpers/FilterHelper.php index 61b59521..5f318719 100644 --- a/src/flextype/Support/Helpers/FilterHelper.php +++ b/src/flextype/Support/Helpers/FilterHelper.php @@ -14,9 +14,9 @@ if (! function_exists('filter')) { * @param mixed $items Items. * @param array $options Options array. * - * @return array|bool|int + * @return array */ - function filter($items = [], array $options = []) + function filter($items = [], array $options = []): array { $collection = arrays($items); @@ -42,13 +42,6 @@ if (! function_exists('filter')) { $collection->groupBy($options['group_by']); } - if (isset($options['slice_offset']) && isset($options['slice_offset'])) { - $collection->slice( - isset($options['slice_offset']) ? (int) $options['slice_offset'] : 0, - isset($options['slice_limit']) ? (int) $options['slice_limit'] : 0 - ); - } - if (isset($options['sort_by'])) { if (isset($options['sort_by']['key']) && isset($options['sort_by']['direction'])) { $collection->sortBy($options['sort_by']['key'], $options['sort_by']['direction']); @@ -76,12 +69,6 @@ if (! function_exists('filter')) { case 'random': $result = $collection->random(isset($options['random']) ? (int) $options['random'] : null); break; - case 'exists': - $result = $collection->count() > 0; - break; - case 'count': - $result = $collection->count(); - break; case 'shuffle': $result = $collection->shuffle()->toArray(); break; diff --git a/tests/Support/Helpers/FilterHelperTest.php b/tests/Support/Helpers/FilterHelperTest.php index 8573e0e1..91302390 100644 --- a/tests/Support/Helpers/FilterHelperTest.php +++ b/tests/Support/Helpers/FilterHelperTest.php @@ -42,27 +42,18 @@ test('test filter() method', function () { $this->assertContains(filter($random, ['return' => 'first']), $data); $this->assertContains(filter($random, ['return' => 'last']), $data); - // return: exists - $this->assertTrue(filter($data, ['return' => 'exists'])); - // return: shuffle $this->assertTrue( is_array(filter($data, ['return' => 'shuffle'])) && is_array(filter($data, ['return' => 'shuffle'])) ); - // return: count - $this->assertEquals(3, filter($data, ['return' => 'count'])); - - // param: limit and return: all - $this->assertEquals(['home' => ['title' => 'Home']], filter($data, ['return' => 'all', 'limit' => 1])); - // param: offset and return: all $this->assertEquals(['about' => ['title' => 'About'], 'blog' => ['title' => 'Blog']], filter($data, ['return' => 'all', 'offset' => 1])); - // param: slice_offset slice_limit and return: all - $this->assertEquals(['about' => ['title' => 'About']], filter($data, ['return' => 'all', 'slice_offset' => 1, 'slice_limit' => 1])); + // param: limit and return: all + $this->assertEquals(['home' => ['title' => 'Home']], filter($data, ['return' => 'all', 'limit' => 1])); // param: sort_by and return: all $this->assertEquals(['about' => ['title' => 'About'],