-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathSchemaExtension.php
More file actions
34 lines (30 loc) · 1.15 KB
/
SchemaExtension.php
File metadata and controls
34 lines (30 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
namespace Dystore\Api\Base\Contracts;
use Closure;
use Dystore\Api\Base\Data\ExtensionValueCollection;
use LaravelJsonApi\Eloquent\Fields\Relations\Relation;
/**
* @property class-string<Extendable> $class
*
* @method ExtensionValueCollection with()
* @method self setWith(iterable|callable $value)
* @method ExtensionValueCollection includePaths()
* @method self setIncludePaths(iterable|callable $value)
* @method ExtensionValueCollection fields()
* @method self setFields(iterable|callable $value)
* @method ExtensionValueCollection filters()
* @method self setFilters(iterable|callable $value)
* @method ExtensionValueCollection sortables()
* @method self setSortables(iterable|callable $value)
* @method ExtensionValueCollection showRelated()
* @method self setShowRelated(iterable|callable $value)
* @method ExtensionValueCollection showRelationship()
* @method self setShowRelationship(iterable|callable $value)
*/
interface SchemaExtension extends Extension
{
/** {@inheritdoc} */
public function set(string $property, iterable|Relation|Closure $extension): self;
/** {@inheritdoc} */
public function get(string $key): iterable;
}