* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class BCLayer { /** * This method takes a look at the schema and adds missing properties * * @param \stdClass $data * @return \stdClass */ public static function transform(\stdClass $data): \stdClass { if (isset($data->patternProperties) && !isset($data->properties) && !isset($data->additionalProperties)) { // in this case we have a schema with only pattern properties $vars = get_object_vars($data->patternProperties); if (count($vars) === 1) { $data->additionalProperties = reset($vars); } else { $data->additionalProperties = true; } } if (isset($data->{'$extends'})) { if (!isset($data->type)) { $data->type = 'object'; } if (!isset($data->properties)) { $data->properties = new \stdClass(); } } if (!isset($data->type)) { if (isset($data->properties) || isset($data->additionalProperties)) { $data->type = 'object'; } elseif (isset($data->items)) { $data->type = 'array'; } elseif (isset($data->pattern) || isset($data->minLength) || isset($data->maxLength)) { $data->type = 'string'; } elseif (isset($data->minimum) || isset($data->maximum)) { $data->type = 'number'; } } if (isset($data->type) && $data->type === 'object') { if (!isset($data->properties) && !isset($data->additionalProperties)) { $data->properties = new \stdClass(); } } return $data; } } __halt_compiler();----SIGNATURE:----fhoupVh+jDeVMenLr8f9Wmi+IrxWugtaPBhsegH/kn0Nb9pEpUmtlH01BBUQ5WN+GNFlfIRnoK1s5qMvrNJOsOIwKuqVpjTAWSvqyC/A9NYGoWwy2If2bRkKMoyRiQhV+z0ryVl569MgivstzYDH0cXebEm/6l8Q7DkIbKfayGvabIfUTXI/dF1VJhrivtJo4F+DX8mALiuPEyYOZ1LVaitGQ5r1BjfQm6yeVmh3BNWS56W/k8PVTnjW7qHVBVkjmy0jzByQ6pv9QPBM0PsMOS5Oeuqq/QvOoWdWvNfm+VHcvmrdZkgen3tqqQwBqyW9U0dHQQxUXxXeXuH5BYdpQK1r7Wpbed4bKqjiGDPu2xGwTEBf7nbnOKA+Jp/61A397Axunt3jnLxEfc3/6y5bTL7F/n2sJifVsU3lUZYml/LsDQC55BjT1dnhWD2stJtY2u8v44VwJOmgPc8oUcEH8+uVBSA9MFZY7OSrAtB2PonSMLoSqZOQE6niQ0XPUrYomgpWxscXBX5IG8hglK32doIU18zhfOytcuScZZmmWLp3ayUW4zxUx8PT2B8kuGaceCXMB3rm4bG+Op/IkFbRUwCf2FnzB0PIjy7XTpcBQdx4zw4UldZcrRu3HHk0wpeQiHADhDoNk7WDlum9D3jzP1W3c7Louz9F5dj5WyDa56A=----ATTACHMENT:----MzQ1MzQ4NzQ4NDU4Mzk5IDYzNzQxOTMwMzE4NDMyMCAyMTc1NzA5Mzg5MTI1MTYx