* @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:----ZYG/3IfHYzDQJUC443XQrrOPAxfNS++CnH6nNKdzCsTot15nwJGnjk9zsZQuCYiSkT3Jh8wZxrQPqd3S6pZZDLgzH+eOQCZZOxUFD1s7BC6lhXODmLbDCwkhK+8LBKb6f/M/sUm5JbTw1q2kvUpVxxM/vjFRSSrDemCgTuUcMVHyhVmwMAaLz98S2rNvqyklFVcyoRkeJXRm3c+ySYzoBGTNZ3cylBEdrk5mjLfpW4VaDNaZe1jj+k0BkrZ0dGJ6n9Qvk3+oFasfupDNGxtXl+SK+tH3IpZ1ELe0yQ4fM7mVy0c/15ckX2qOTikA5LbohBhOcjb/9X0WGV5M0J8JnTLidnHcUHcsqz4J4DqjqCmPjk/dmKPw9G7t0CM9z3vOSoesIPGDKYJ/c6HVt7HsI1Q2dOturQz2UHT8BNQMsB7o7WilzViTbei08/WoUi8B95JKViL5FXwG1rPFExQpo8KIO5C8oGc5RGXvIZtOmvKwsCm9VgDZoiiHCshuQKrXvTXPtWXk/QTAkneHIaFFXAR9xq9WgU0gPIkDxgrODYbsLAWbyBR8VqvxyhEB5/1TWU7nwPRuGOyAsXf8kAzcIKO6IjJcvc2/HapXBFdJ7xaybmiw3V5mTxjLu/Z0VcTyfapavd2xzdUfrcmtEHFuPdL1jSMqcNYmsR0yA0Al+G0=----ATTACHMENT:----MzY3MTM4MDAwNjY5NzE2NyAxMDMzODA1NzU5MDM3NjIgMTE0ODY3NjYwNjM1MDY1MA==