From 3535a47e11b737d1db2009979fc414ca69d65edf Mon Sep 17 00:00:00 2001 From: Takashi Kanemoto Date: Sun, 26 May 2024 09:11:26 +0900 Subject: [PATCH] refactor: reduce complexity --- src/Hydra/JsonSchema/SchemaFactory.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Hydra/JsonSchema/SchemaFactory.php b/src/Hydra/JsonSchema/SchemaFactory.php index ce5a11ab945..3fdb09ead6e 100644 --- a/src/Hydra/JsonSchema/SchemaFactory.php +++ b/src/Hydra/JsonSchema/SchemaFactory.php @@ -95,7 +95,10 @@ public function buildSchema(string $className, string $format = 'jsonld', string if ($key = $schema->getRootDefinitionKey()) { $definitions[$key]['properties'] = self::BASE_ROOT_PROPS + ($definitions[$key]['properties'] ?? []); foreach (array_keys(self::BASE_ROOT_PROPS) as $property) { - $definitions[$key]['required'] = array_unique([...($definitions[$key]['required'] ?? []), $property]); + $definitions[$key]['required'] ??= []; + if (!\in_array($property, $definitions[$key]['required'], true)) { + $definitions[$key]['required'][] = $property; + } } return $schema; @@ -103,7 +106,10 @@ public function buildSchema(string $className, string $format = 'jsonld', string if ($key = $schema->getItemsDefinitionKey()) { $definitions[$key]['properties'] = self::BASE_PROPS + ($definitions[$key]['properties'] ?? []); foreach (array_keys(self::BASE_PROPS) as $property) { - $definitions[$key]['required'] = array_unique([...($definitions[$key]['required'] ?? []), $property]); + $definitions[$key]['required'] ??= []; + if (!\in_array($property, $definitions[$key]['required'], true)) { + $definitions[$key]['required'][] = $property; + } } }