resourcepacks: use typed properties in JSON models

This commit is contained in:
Dylan K. Taylor 2021-08-19 16:12:04 +01:00
parent 5478b7cb63
commit 17c7e25346
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D
4 changed files with 25 additions and 47 deletions

View File

@ -27,24 +27,17 @@ namespace pocketmine\resourcepacks\json;
* Model for JsonMapper to represent resource pack manifest.json contents. * Model for JsonMapper to represent resource pack manifest.json contents.
*/ */
final class Manifest{ final class Manifest{
/** /** @required */
* @var int public int $format_version;
* @required
*/
public $format_version;
/** /** @required */
* @var ManifestHeader public ManifestHeader $header;
* @required
*/
public $header;
/** /**
* @var ManifestModuleEntry[] * @var ManifestModuleEntry[]
* @required * @required
*/ */
public $modules; public array $modules;
/** @var ManifestMetadata|null */ public ?ManifestMetadata $metadata = null;
public $metadata = null;
} }

View File

@ -24,31 +24,25 @@ declare(strict_types=1);
namespace pocketmine\resourcepacks\json; namespace pocketmine\resourcepacks\json;
final class ManifestHeader{ final class ManifestHeader{
/** @var string */
public $description;
/** public string $description;
* @var string
* @required
*/
public $name;
/** /** @required */
* @var string public string $name;
* @required
*/ /** @required */
public $uuid; public string $uuid;
/** /**
* @var int[] * @var int[]
* @phpstan-var array{int, int, int} * @phpstan-var array{int, int, int}
* @required * @required
*/ */
public $version; public array $version;
/** /**
* @var int[] * @var int[]
* @phpstan-var array{int, int, int} * @phpstan-var array{int, int, int}
*/ */
public $min_engine_version; public array $min_engine_version;
} }

View File

@ -25,9 +25,9 @@ namespace pocketmine\resourcepacks\json;
final class ManifestMetadata{ final class ManifestMetadata{
/** @var string[]|null */ /** @var string[]|null */
public $authors = null; public ?array $authors = null;
/** @var string|null */
public $license = null; public ?string $license = null;
/** @var string|null */
public $url = null; public ?string $url = null;
} }

View File

@ -25,27 +25,18 @@ namespace pocketmine\resourcepacks\json;
final class ManifestModuleEntry{ final class ManifestModuleEntry{
/** public string $description;
* @var string
*/
public $description;
/** /** @required */
* @var string public string $type;
* @required
*/
public $type;
/** /** @required */
* @var string public string $uuid;
* @required
*/
public $uuid;
/** /**
* @var int[] * @var int[]
* @phpstan-var array{int, int, int} * @phpstan-var array{int, int, int}
* @required * @required
*/ */
public $version; public array $version;
} }