Interfaces of different types of collections. May be used to build specific collections.

This commit is contained in:
Meritoo
2022-09-10 18:06:25 +02:00
parent d4cb732096
commit 08a2d0878f
10 changed files with 344 additions and 87 deletions

View File

@@ -0,0 +1,29 @@
<?php
/**
* (c) Meritoo.pl, http://www.meritoo.pl
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Meritoo\Common\Contract\Collection;
/**
* Contract for collection that may reduce its elements
*
* @author Meritoo <github@meritoo.pl>
* @copyright Meritoo <http://www.meritoo.pl>
*/
interface ReducibleCollectionInterface
{
/**
* Returns new instance of this collection with limited elements
*
* @param int $max Maximum elements to return
* @param int $offset (optional) Position of element from which limitation should start
* @return $this
*/
public function limit(int $max, int $offset = 0): self;
}