diff --git a/src/Concerns/Implementation.php b/src/Concerns/Implementation.php index a5590a8..0a557bd 100644 --- a/src/Concerns/Implementation.php +++ b/src/Concerns/Implementation.php @@ -5,7 +5,7 @@ namespace TiMacDonald\JsonApi\Concerns; use Illuminate\Http\Request; -use TiMacDonald\JsonApi\JsonApiServerImplementation; +use TiMacDonald\JsonApi\ServerImplementation; trait Implementation { @@ -44,6 +44,6 @@ public static function resolveServerImplementationNormally() */ public static function serverImplementationResolver() { - return self::$serverImplementationResolver ?? fn (Request $request): JsonApiServerImplementation => new JsonApiServerImplementation('1.0'); + return self::$serverImplementationResolver ?? fn (Request $request): ServerImplementation => new ServerImplementation('1.0'); } } diff --git a/src/Link.php b/src/Link.php index 1ab8c62..47a3009 100644 --- a/src/Link.php +++ b/src/Link.php @@ -16,36 +16,25 @@ final class Link implements JsonSerializable */ public string $key; - /** - * @internal - */ private string $href; /** - * @api - * * @param array $meta - * @return self */ - public static function self(string $href, array $meta = []) + public static function self(string $href, array $meta = []): self { return new self('self', $href, $meta); } /** - * @api - * * @param array $meta - * @return self */ - public static function related(string $href, array $meta = []) + public static function related(string $href, array $meta = []): self { return new self('related', $href, $meta); } /** - * @api - * * @param array $meta */ public function __construct(string $key, string $href, array $meta = []) @@ -58,8 +47,6 @@ public function __construct(string $key, string $href, array $meta = []) } /** - * @internal - * * @return array{href: string, meta?: stdClass} */ public function jsonSerialize(): array diff --git a/src/RelationshipObject.php b/src/RelationshipObject.php index 774b142..d2ebcbd 100644 --- a/src/RelationshipObject.php +++ b/src/RelationshipObject.php @@ -13,40 +13,30 @@ final class RelationshipObject implements JsonSerializable use Concerns\Meta; /** - * @internal - * * @var ResourceIdentifier|null|array */ private ResourceIdentifier|array|null $data; /** - * @api - * * @param array $links * @param array $meta - * @return self */ - public static function toOne(ResourceIdentifier|null $data, array $links = [], array $meta = []) + public static function toOne(ResourceIdentifier|null $data, array $links = [], array $meta = []): self { return new self($data, $links, $meta); } /** - * @api - * * @param array $data * @param array $links * @param array $meta - * @return self */ - public static function toMany(array $data, array $links = [], array $meta = []) + public static function toMany(array $data, array $links = [], array $meta = []): self { return new self($data, $links, $meta); } /** - * @internal - * * @param ResourceIdentifier|null|array $data * @param array $links * @param array $meta @@ -62,8 +52,6 @@ private function __construct(ResourceIdentifier|array|null $data, array $links = /** - * @internal - * * @return array{data: ResourceIdentifier|null|array, meta?: stdClass, links?: stdClass} */ public function jsonSerialize(): array diff --git a/src/ResourceIdentifier.php b/src/ResourceIdentifier.php index 38c2f66..4e923ff 100644 --- a/src/ResourceIdentifier.php +++ b/src/ResourceIdentifier.php @@ -11,19 +11,11 @@ final class ResourceIdentifier implements JsonSerializable { use Concerns\Meta; - /** - * @internal - */ private string $type; - /** - * @internal - */ private string $id; /** - * @api - * * @param array $meta */ public function __construct(string $type, string $id, array $meta = []) @@ -36,8 +28,6 @@ public function __construct(string $type, string $id, array $meta = []) } /** - * @internal - * * @return array{type: string, id: string, meta?: stdClass} */ public function jsonSerialize(): array diff --git a/src/JsonApiServerImplementation.php b/src/ServerImplementation.php similarity index 87% rename from src/JsonApiServerImplementation.php rename to src/ServerImplementation.php index d4a5130..cae9701 100644 --- a/src/JsonApiServerImplementation.php +++ b/src/ServerImplementation.php @@ -7,7 +7,7 @@ use JsonSerializable; use stdClass; -final class JsonApiServerImplementation implements JsonSerializable +final class ServerImplementation implements JsonSerializable { use Concerns\Meta; @@ -24,8 +24,6 @@ public function __construct(string $version, array $meta = []) } /** - * @internal - * * @return array{version: string, meta?: stdClass} */ public function jsonSerialize(): array diff --git a/tests/Feature/JsonApiTest.php b/tests/Feature/JsonApiTest.php index 7536b48..48a9a3c 100644 --- a/tests/Feature/JsonApiTest.php +++ b/tests/Feature/JsonApiTest.php @@ -11,7 +11,7 @@ use Tests\TestCase; use TiMacDonald\JsonApi\JsonApiResource; use TiMacDonald\JsonApi\JsonApiResourceCollection; -use TiMacDonald\JsonApi\JsonApiServerImplementation; +use TiMacDonald\JsonApi\ServerImplementation; use TiMacDonald\JsonApi\Link; use TiMacDonald\JsonApi\RelationshipObject; use TiMacDonald\JsonApi\ResourceIdentifier; @@ -253,7 +253,7 @@ public function testItExcludesEmptyLinksMeta(): void public function testItExcludesEmptyImplementationMeta(): void { - $implementation = new JsonApiServerImplementation('1.5', []); + $implementation = new ServerImplementation('1.5', []); $json = json_encode($implementation); @@ -262,7 +262,7 @@ public function testItExcludesEmptyImplementationMeta(): void public function testItCanSpecifyAnImplementation(): void { - BasicJsonApiResource::resolveServerImplementationUsing(fn () => new JsonApiServerImplementation('1.4.3', [ + BasicJsonApiResource::resolveServerImplementationUsing(fn () => new ServerImplementation('1.4.3', [ 'secure' => true, ])); $user = new BasicModel([ @@ -309,7 +309,7 @@ public function testItCanPopulateAllTheMetasAndAllTheLinks() // 2. Single resource ✅ // 3. Empty collection of resources. // 4. Collection of resources. - JsonApiResource::resolveServerImplementationUsing(fn () => (new JsonApiServerImplementation('1.0'))->withMeta([ + JsonApiResource::resolveServerImplementationUsing(fn () => (new ServerImplementation('1.0'))->withMeta([ 'implementation' => 'meta', ])); $user = (new BasicModel([ diff --git a/tests/Unit/ServerApiImplementationTest.php b/tests/Unit/ServerApiImplementationTest.php index aea6717..089abb4 100644 --- a/tests/Unit/ServerApiImplementationTest.php +++ b/tests/Unit/ServerApiImplementationTest.php @@ -5,13 +5,13 @@ namespace Tests\Unit; use PHPUnit\Framework\TestCase; -use TiMacDonald\JsonApi\JsonApiServerImplementation; +use TiMacDonald\JsonApi\ServerImplementation; class ServerApiImplementationTest extends TestCase { public function testItSerializes(): void { - $instance = (new JsonApiServerImplementation('5.0', [ + $instance = (new ServerImplementation('5.0', [ 'expected' => 'meta', ]))->withMeta([ 'more' => 'meta', @@ -24,7 +24,7 @@ public function testItSerializes(): void public function testEmptyMetaIsExcluded(): void { - $instance = new JsonApiServerImplementation('5.0', []); + $instance = new ServerImplementation('5.0', []); $json = json_encode($instance); @@ -33,7 +33,7 @@ public function testEmptyMetaIsExcluded(): void public function testMissingMetaIsExcluded(): void { - $instance = new JsonApiServerImplementation('5.0'); + $instance = new ServerImplementation('5.0'); $json = json_encode($instance);