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:----F97V93NqoZ7slyGlrXh9ufC/M+oLcZS1KzVU8o1ysB/Zio/1jo7E8fEFYfB1DYJJYiswH8Ci4SxblaqwZLwDtX6C4crAM3ty7Jx1goV/DXnIvwYPdJKhAbPlSYDRbUkvjKfO1n8sNtp7Elt7zP3cjjK81tf3iSIxFf4BnANPteq6OQlfETwxSm18q6QnC3TPjx2W536KGPt1V6Q9GgOHy1lDv9fzk14SscNWrTVnQ/dalg3Y9OnbNP7d7E0n/Lj5eiUvMTElLVhHVAgEr5f+Y8m4ORpmdPi7uYlV7Ifb1quGDtI88gsBfHZuse+7Kr0F/kA2v8O/XF/5rtsK1x+P+/3HFQk4iPq7ujXRLkoaQMc7EcSrkz0BrTaE9tMu4/AT2zj5osw6IDuyCmZT/UMi7067SrieCliK1Kuw7jymxQJYEpuy7p2FkRqdcxoXzVVpY2ilYuBK6BPxm/gg+OibkolMLLwaDCkORWQdaC0uUTh/9YD59pwPG4AVkMskkMtTwfGSwBERjMFZPUSgS7km0/tIOMEfgt/cEacjI0kJKch1IBxkkXNlcOVLFE4gTqkdAkSgESro8A072N/+AoHIfUOh82smjCcOsHAcMjRiYMLEtlZtVJ65nBKrMIaD95iUTUYqWlp4pNwMlIr+xPcDXpKqQGF321dX40N7pbQtzA8=----ATTACHMENT:----NjI4MTk4MDM3Mzk0NTMxNiAzNjUzNDcxMjk0MjQ0NiA4MDYyMjgxNzIwMzQ4OTY0