* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class TypeSchema extends GeneratorAbstract { /** * @inheritDoc */ public function generate(SpecificationInterface $specification) { $collection = $specification->getResourceCollection(); $definitions = $specification->getDefinitions(); $resources = []; foreach ($collection as $path => $resource) { $resources[$path] = $resource->toArray(); } if (count($resources) === 1) { $data = reset($resources); } else { $data = []; $data['paths'] = $resources; } $data['definitions'] = $this->generateDefinitions($definitions); return Parser::encode($data, \JSON_PRETTY_PRINT); } private function generateDefinitions(DefinitionsInterface $definitions): ?array { $generator = new Generator\TypeSchema(); $schema = $generator->toArray(TypeFactory::getAny(), $definitions); return $schema['definitions'] ?? null; } } __halt_compiler();----SIGNATURE:----Wfb0p8V0TKHrmUtwfT0xKDWtQHVr6Uz4Nfq7quCOFGgrG/TEKE0T1bWGGJxNs29djjuE3DIozYL1XkvDYJ/7asA+DPx46ZmXT54dJmjC9nOsTHaV1/JQHTN+6MDDLkf2eWQh2APQvNKmLK7VOWKUDD2NswGZtjwnkYpQCiBxUXWeMY5H3wQilZNsEcomZ3v77rezTKPD5T7BEI0GxXg+Q9BSIZyo0/JPQSTovN7tPhZWS8MDZch2N3czP94fTsUeC5EJ/gaTVsoIcg7Rb1JD7UCuCmWlPSDZ5lmoaYsVr4qlrXP8YDpbFTef0xgP5/waBVDK7NA1SCLXumbpFuo0LCeRUx4JbQbUCNcyI1N8veLCjvjMa8xwfUYooWNL6qbyzNfbd554X7uHtYCJ278q7hz43ddMtz61Z9RL+rwcFKODxvEaJ9fka5H2bJvxb3xyD9fGSg5TDA19yn3ygfJSA2vI4CtzpHbabxYjDNzAlOUVp8GCWsBd5Gu2VRD1NefjD766CU+ub1nMazv/OZJUCvWjChN8oWBW+m4317burfwdsTbrqsZSg3nQ9dQZpb+IsKZEO02I34KyO9YMjtqHwRXrhJnQSQx107V3xrKSc9NT+jDn6BQwPsAty3G6UMhPW+Fd9DDZQVRgem8tdeqOYOPDOlRyoPUkDjiNIfOKKtc=----ATTACHMENT:----MTIwMTY0OTg0MDg1NjQyMSAxNjU2MzcxMjg4MzY4OTk5IDM4NDU4MjkwMTk4NTYxNTg=