File tree Expand file tree Collapse file tree 7 files changed +39
-6
lines changed Expand file tree Collapse file tree 7 files changed +39
-6
lines changed Original file line number Diff line number Diff line change 6
6
7
7
use Swis \JsonApi \Client \Interfaces \ItemInterface ;
8
8
9
+ /**
10
+ * @template TItem of \Swis\JsonApi\Client\Interfaces\ItemInterface
11
+ */
9
12
trait Create
10
13
{
11
14
/**
12
- * @return \Swis\JsonApi\Client\Interfaces\DocumentInterface
15
+ * @return \Swis\JsonApi\Client\Interfaces\ItemDocumentInterface<TItem>
13
16
*/
14
17
public function create (ItemInterface $ item , array $ parameters = [], array $ headers = [])
15
18
{
Original file line number Diff line number Diff line change 4
4
5
5
namespace Swis \JsonApi \Client \Actions ;
6
6
7
+ /**
8
+ * @template TItem of \Swis\JsonApi\Client\Interfaces\ItemInterface
9
+ */
7
10
trait FetchMany
8
11
{
9
12
/**
10
- * @return \Swis\JsonApi\Client\Interfaces\DocumentInterface
13
+ * @return \Swis\JsonApi\Client\Interfaces\CollectionDocumentInterface<TItem>
11
14
*/
12
15
public function all (array $ parameters = [], array $ headers = [])
13
16
{
Original file line number Diff line number Diff line change 4
4
5
5
namespace Swis \JsonApi \Client \Actions ;
6
6
7
+ /**
8
+ * @template TItem of \Swis\JsonApi\Client\Interfaces\ItemInterface
9
+ */
7
10
trait FetchOne
8
11
{
9
12
/**
10
- * @return \Swis\JsonApi\Client\Interfaces\DocumentInterface
13
+ * @return \Swis\JsonApi\Client\Interfaces\ItemDocumentInterface<TItem>
11
14
*/
12
15
public function find (string $ id , array $ parameters = [], array $ headers = [])
13
16
{
Original file line number Diff line number Diff line change 6
6
7
7
use Swis \JsonApi \Client \Interfaces \ItemInterface ;
8
8
9
+ /**
10
+ * @template TItem of \Swis\JsonApi\Client\Interfaces\ItemInterface
11
+ */
9
12
trait Save
10
13
{
14
+ /** @use Create<TItem> */
11
15
use Create { create as protected saveNew; }
16
+
17
+ /** @use Update<TItem> */
12
18
use Update { update as protected saveExisting; }
13
19
14
20
/**
15
- * @return \Swis\JsonApi\Client\Interfaces\DocumentInterface
21
+ * @return \Swis\JsonApi\Client\Interfaces\ItemDocumentInterface<TItem>
16
22
*/
17
23
public function save (ItemInterface $ item , array $ parameters = [], array $ headers = [])
18
24
{
Original file line number Diff line number Diff line change 4
4
5
5
namespace Swis \JsonApi \Client \Actions ;
6
6
7
+ /**
8
+ * @template TItem of \Swis\JsonApi\Client\Interfaces\ItemInterface
9
+ */
7
10
trait TakeOne
8
11
{
9
12
/**
10
- * @return \Swis\JsonApi\Client\Interfaces\DocumentInterface
13
+ * @return \Swis\JsonApi\Client\Interfaces\ItemDocumentInterface<TItem>
11
14
*/
12
15
public function take (array $ parameters = [], array $ headers = [])
13
16
{
Original file line number Diff line number Diff line change 6
6
7
7
use Swis \JsonApi \Client \Interfaces \ItemInterface ;
8
8
9
+ /**
10
+ * @template TItem of \Swis\JsonApi\Client\Interfaces\ItemInterface
11
+ */
9
12
trait Update
10
13
{
11
14
/**
12
- * @return \Swis\JsonApi\Client\Interfaces\DocumentInterface
15
+ * @return \Swis\JsonApi\Client\Interfaces\ItemDocumentInterface<TItem>
13
16
*/
14
17
public function update (ItemInterface $ item , array $ parameters = [], array $ headers = [])
15
18
{
Original file line number Diff line number Diff line change 11
11
use Swis \JsonApi \Client \Actions \TakeOne ;
12
12
use Swis \JsonApi \Client \Interfaces \RepositoryInterface ;
13
13
14
+ /**
15
+ * @template TItem of \Swis\JsonApi\Client\Interfaces\ItemInterface
16
+ * @implements RepositoryInterface<TItem>
17
+ */
14
18
class Repository extends BaseRepository implements RepositoryInterface
15
19
{
16
20
use Delete;
21
+
22
+ /** @use FetchMany<TItem> */
17
23
use FetchMany;
24
+
25
+ /** @use FetchOne<TItem> */
18
26
use FetchOne;
27
+
28
+ /** @use Save<TItem> */
19
29
use Save;
30
+
31
+ /** @use TakeOne<TItem> */
20
32
use TakeOne;
21
33
}
You can’t perform that action at this time.
0 commit comments