= 7 || Kernel::MAJOR_VERSION === 6 && Kernel::MINOR_VERSION === 4)) { class IPAMNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface { use CheckArray; use DenormalizerAwareTrait; use NormalizerAwareTrait; use ValidatorTrait; public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool { return 'Docker\\API\\Model\\IPAM' === $type; } public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool { return \is_object($data) && 'Docker\\API\\Model\\IPAM' === $data::class; } public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed { if (isset($data['$ref'])) { return new Reference($data['$ref'], $context['document-origin']); } if (isset($data['$recursiveRef'])) { return new Reference($data['$recursiveRef'], $context['document-origin']); } $object = new \Docker\API\Model\IPAM(); if (null === $data || false === \is_array($data)) { return $object; } if (\array_key_exists('Driver', $data) && null !== $data['Driver']) { $object->setDriver($data['Driver']); unset($data['Driver']); } elseif (\array_key_exists('Driver', $data) && null === $data['Driver']) { $object->setDriver(null); } if (\array_key_exists('Config', $data) && null !== $data['Config']) { $values = []; foreach ($data['Config'] as $value) { $values[] = $this->denormalizer->denormalize($value, 'Docker\\API\\Model\\IPAMConfig', 'json', $context); } $object->setConfig($values); unset($data['Config']); } elseif (\array_key_exists('Config', $data) && null === $data['Config']) { $object->setConfig(null); } if (\array_key_exists('Options', $data) && null !== $data['Options']) { $values_1 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); foreach ($data['Options'] as $key => $value_1) { $values_1[$key] = $value_1; } $object->setOptions($values_1); unset($data['Options']); } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { $object->setOptions(null); } foreach ($data as $key_1 => $value_2) { if (preg_match('/.*/', (string) $key_1)) { $object[$key_1] = $value_2; } } return $object; } public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null { $data = []; if ($object->isInitialized('driver') && null !== $object->getDriver()) { $data['Driver'] = $object->getDriver(); } if ($object->isInitialized('config') && null !== $object->getConfig()) { $values = []; foreach ($object->getConfig() as $value) { $values[] = $this->normalizer->normalize($value, 'json', $context); } $data['Config'] = $values; } if ($object->isInitialized('options') && null !== $object->getOptions()) { $values_1 = []; foreach ($object->getOptions() as $key => $value_1) { $values_1[$key] = $value_1; } $data['Options'] = $values_1; } foreach ($object as $key_1 => $value_2) { if (preg_match('/.*/', (string) $key_1)) { $data[$key_1] = $value_2; } } return $data; } public function getSupportedTypes(?string $format = null): array { return ['Docker\\API\\Model\\IPAM' => false]; } } } else { class IPAMNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface { use CheckArray; use DenormalizerAwareTrait; use NormalizerAwareTrait; use ValidatorTrait; public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool { return 'Docker\\API\\Model\\IPAM' === $type; } public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool { return \is_object($data) && 'Docker\\API\\Model\\IPAM' === $data::class; } public function denormalize($data, $type, $format = null, array $context = []) { if (isset($data['$ref'])) { return new Reference($data['$ref'], $context['document-origin']); } if (isset($data['$recursiveRef'])) { return new Reference($data['$recursiveRef'], $context['document-origin']); } $object = new \Docker\API\Model\IPAM(); if (null === $data || false === \is_array($data)) { return $object; } if (\array_key_exists('Driver', $data) && null !== $data['Driver']) { $object->setDriver($data['Driver']); unset($data['Driver']); } elseif (\array_key_exists('Driver', $data) && null === $data['Driver']) { $object->setDriver(null); } if (\array_key_exists('Config', $data) && null !== $data['Config']) { $values = []; foreach ($data['Config'] as $value) { $values[] = $this->denormalizer->denormalize($value, 'Docker\\API\\Model\\IPAMConfig', 'json', $context); } $object->setConfig($values); unset($data['Config']); } elseif (\array_key_exists('Config', $data) && null === $data['Config']) { $object->setConfig(null); } if (\array_key_exists('Options', $data) && null !== $data['Options']) { $values_1 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); foreach ($data['Options'] as $key => $value_1) { $values_1[$key] = $value_1; } $object->setOptions($values_1); unset($data['Options']); } elseif (\array_key_exists('Options', $data) && null === $data['Options']) { $object->setOptions(null); } foreach ($data as $key_1 => $value_2) { if (preg_match('/.*/', (string) $key_1)) { $object[$key_1] = $value_2; } } return $object; } /** * @return array|string|int|float|bool|\ArrayObject|null */ public function normalize($object, $format = null, array $context = []) { $data = []; if ($object->isInitialized('driver') && null !== $object->getDriver()) { $data['Driver'] = $object->getDriver(); } if ($object->isInitialized('config') && null !== $object->getConfig()) { $values = []; foreach ($object->getConfig() as $value) { $values[] = $this->normalizer->normalize($value, 'json', $context); } $data['Config'] = $values; } if ($object->isInitialized('options') && null !== $object->getOptions()) { $values_1 = []; foreach ($object->getOptions() as $key => $value_1) { $values_1[$key] = $value_1; } $data['Options'] = $values_1; } foreach ($object as $key_1 => $value_2) { if (preg_match('/.*/', (string) $key_1)) { $data[$key_1] = $value_2; } } return $data; } public function getSupportedTypes(?string $format = null): array { return ['Docker\\API\\Model\\IPAM' => false]; } } }