* @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:----WaIWCXYMko3ZakCoao7b9hEBwk+LX14QDYpBdTGslN33ggrbFiRYf60faYji4j4PTD2W6yTONGfDSt5hWnZygJwiotoOyTSCbne3S0rz9GLunYGKowdq7TAJxIhYp0Km1ao6ggPdYPJT6aui944Nmj6isaUjGnamLz5FNMTsab2z/LL+8/2XDaS345qfls/CaQrnJDieRK7RxWxuKiZ3zO/fqxc4WdEIitWUrd2FBTUbjIkHUQ2JT6o7qmurvG5x411LGmV3PupsAm7H7ckmbsgefSph60Sqvr2sqnHZrRjw1m2zSgIYYJzGkRd5yEwzpevLaOjKp0/gz4bOGqXmo/by9fi467I/TgGrDwQGtWDHc7XnX6jhssVn1jYXDINrqO2JrrcaxKEck3HgoJEs3fZL2R5iv5mU6WkMr+QrHCxvGXUoljIsXVenk0/ZBxjsSU+q7ZV45Ja5iT2TvivayDKRZS/YTDdzVtk5lkC8jw35Rwd8mEMxfzWYc9EBjBohsbDViWHBgq/kUj8DdVQ1T/97wEEAewdAkmzojUOdcykPfs3L8fxU0RNMP/MW/CWaDUBn2/ErKJgG6gTQm06gDzeSv1bb9R1U/nGn3gzCgiNaRwRViBgWo34irf0TWNytmNb1DU0M9LxdIwBslwXKYLK9LC9Rm6aZerc7zue7rps=----ATTACHMENT:----NjkzNTU3ODAxODY0NDQyNyA5MDY3NjA5MjM0OTkxNzE3IDg2NTE3MzcxOTQ1Mzk2Mw==