if = $if; $this->then = $then; $this->else = $else; } /** * @inheritDoc */ public function validate( \Opis\JsonSchema\ValidationContext $context, \Opis\JsonSchema\Schema $schema, ): ?ValidationError { if ($this->if === true) { return $this->validateBranch('then', $context, $schema); } elseif ($this->if === false) { return $this->validateBranch('else', $context, $schema); } if (is_object($this->if) && !($this->if instanceof \Opis\JsonSchema\Schema)) { $this->if = $context->loader()->loadObjectSchema($this->if); } if ($context->validateSchemaWithoutEvaluated($this->if, null, true)) { return $this->validateBranch('else', $context, $schema); } return $this->validateBranch('then', $context, $schema); } /** * @param string $branch * @param ValidationContext $context * @param Schema $schema * @return ValidationError|null */ protected function validateBranch( string $branch, \Opis\JsonSchema\ValidationContext $context, \Opis\JsonSchema\Schema $schema, ): ?ValidationError { $value = $this->{$branch}; if ($value === true) { return null; } elseif ($value === false) { return $this->error($schema, $context, $branch, "The data is never valid on '{branch}' branch", [ 'branch' => $branch, ]); } if (is_object($value) && !($value instanceof \Opis\JsonSchema\Schema)) { $value = $this->{$branch} = $context->loader()->loadObjectSchema($value); } if ($error = $value->validate($context)) { return $this->error($schema, $context, $branch, "The data is not valid on '{branch}' branch", [ 'branch' => $branch, ], $error); } return null; } } __halt_compiler();----SIGNATURE:----SOwUQe5xHdSJW2v9Q1UlRnV1mBURUINY8o0c//KCDbhjDJjQkmmtVWu1P7v7mddZ9nsJh0YW64fXW1T9Dau/7Y/e9d+Kfh11MOxsliFaoBOssEERhGkK4EL6QJbXlZG0XqBVf0ppRZ1K5J5qcENrvkJF+bjt+uywc1lS/layqCQDQPPDqQIR9pNICAmx+S+zWNmJow0kkfYEZVgtKMIvYyeQmAFzbANOlzuRQm213wpOoFTealopYLzB/ouUQ3LTRtB0DoeOxZXWh02OxCBQ+6dOlILkMW06DoQJft9AbNoq839Js6Yu9JclvlVlXcjeavL5I1HQj3kYINTxPBhJL5XfYGY/qxskZH3YPpYqssI157E7bgSWGQuBp9qctL+xiQnG/08pDyGNF1H2894RxJ/7nHM5VQM+zGWsSvPhUmaMrTZfoXDPrsMWKCmeZgAU76tkx5VJibSiidvWOqH+YVLj5YvEz6n1tJEYCatY9+vw7f6bWid53TRhAEuAWxW65WI7hNFr+JLX7gqXwqfuLgNVW/sFGxsSXr8FGllG3etlFiZFGC+QXPs0ooHFD7RA54K1Fc9I6yQLJWW90Wlvj2vqgpdz3rEmPzooWT1Mqq+YAwaa8YQeANCgafnIvY/a2CE9gYQxHmsuMdmfLAnfiTvbBzHyHp+q8kNnmXqTGFQ=----ATTACHMENT:----NTU1NTg1NTM1OTQ1ODIxNyAyMjI5NDQ3ODE1NTEyMjMzIDQ1OTAyMzIyNjEzNzEyNjU=