* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class UnionType extends TypeAbstract { /** @var array */ protected $oneOf; /** @var string */ protected $propertyName; /** @var array */ protected $mapping; /** * @return array */ public function getOneOf(): ?array { return $this->oneOf; } /** * @param array $oneOf * @return self * @throws InvalidSchemaException */ public function setOneOf(array $oneOf): self { TypeAssert::assertUnion($oneOf); $this->oneOf = $oneOf; return $this; } /** * @param string $propertyName * @param array|null $mapping * @return $this */ public function setDiscriminator(string $propertyName, ?array $mapping = null): self { $this->propertyName = $propertyName; $this->mapping = $mapping; return $this; } /** * @return string */ public function getPropertyName(): ?string { return $this->propertyName; } /** * @return array */ public function getMapping(): ?array { return $this->mapping; } public function toArray(): array { $discriminator = null; if ($this->propertyName !== null) { $discriminator = [ 'propertyName' => $this->propertyName, ]; if (!empty($this->mapping)) { $discriminator['mapping'] = $this->mapping; } } return array_merge(parent::toArray(), array_filter([ 'oneOf' => $this->oneOf, 'discriminator' => $discriminator, ], function($value){ return $value !== null; })); } } __halt_compiler();----SIGNATURE:----H3BALtByk4Kp6pR4huwnJufMMevxHlkLpDUfC1ZOzPzy4DvtTXJz5nB/BIZS0EvAezHLtFYBn/H7jgAQVuV3xkigHkcPUAd2iJo1nk4ruOL27Mjzr4J3MwbK9xzyfM0vF1FkJqFY+EnFhMtFhEmJwdfO1DtVLpToy1UeYA8KkkTQRfYjYKFqZ4hjkenbNN7CJKM3BD2TqXD4xR5HplU7lFJzv8PXHd8cH8j9iLilWsZwbC7WeZxchD4IzG/TfwhktFY/BovrO+tVu+PcEPQTjAONp2r3PYpbeiFaxT57yEXT9McCyW4goFsgm6ScciGozAmf78QqE7puwyaEyai9qsywsdZzagFpaxNOYqjvaVNdxxjfjk47v4aRcbNiNjIJe8DAtcj4pe8hOK4YsiJmUHPQoaIAbuWYYpsrXvceRlELtolNW6xYwUID2/lwQWWbo/Os6VSrAiVvpJ0QeCd707WNbFh/dMI4vNGSjlBRNAzyY3CLw4kWto/qgCKL6odn9uD84nMUs1jKdrhHv7NbWbhk1KqfyySth9gFAFnS3sncS8x/9Gy63j6OUrCFO3EXqCUvvGSeUlsx6VmlYAGR8dl8V9JmTtWz5Av1fO2IEwXXymeIrVIH0mqTlCtiDplQTFNjHJrq16J5XpFwHM9xgUUfStCAf+VlwO9gWLC18lg=----ATTACHMENT:----OTY4ODEyNDk1MDE1MzI4OSAzOTI2MTE0MzcxMjgzNzYxIDI4Njg3ODA0ODkxMTM3OTM=