Exemplo n.º 1
0
 private function parse($contents = [])
 {
     $data = CollectionUtils::toMap($contents);
     $this->title = $data->get('title');
     $this->discriminator = $data->get('discriminator');
     $this->readOnly = $data->has('readOnly') && $data->get('readOnly');
     $this->example = $data->get('example');
     $this->required = $data->get('required');
     $this->properties = new Definitions($data->get('properties'));
     if ($data->has('additionalProperties')) {
         $this->additionalProperties = new self($data->get('additionalProperties'));
     }
     $this->allOf = new ArrayList();
     if ($data->has('allOf')) {
         foreach ($data->get('allOf') as $schema) {
             $this->allOf->add(new self($schema));
         }
     }
     // parts
     $this->parseRef($data);
     $this->parseType($data);
     $this->parseDescription($data);
     $this->parseItems($data);
     $this->parseExternalDocs($data);
     $this->parseExtensions($data);
 }
Exemplo n.º 2
0
 private function parse($contents)
 {
     $this->data = CollectionUtils::toMap($contents);
     $this->models = $this->data->get('models', new Map());
     $this->excluded = $this->data->get('excluded', new Map());
     $this->api = $this->data->get('api', new Map());
 }
Exemplo n.º 3
0
 private function parse($contents)
 {
     $data = CollectionUtils::toMap($contents);
     $this->definitions = new Map();
     foreach ($data as $name => $prop) {
         $this->definitions->set($name, new Schema($prop));
     }
 }
Exemplo n.º 4
0
 private function parse($contents = [])
 {
     $data = CollectionUtils::toMap($contents);
     // parts
     $this->parseDescription($data);
     $this->parseUrl($data);
     $this->parseExtensions($data);
 }
Exemplo n.º 5
0
 private function parse($contents = [])
 {
     $data = CollectionUtils::toMap($contents);
     $this->name = $data->get('name');
     // extensions
     $this->parseUrl($data);
     $this->parseExtensions($data);
 }
Exemplo n.º 6
0
 private function parse($contents)
 {
     $data = CollectionUtils::toMap($contents);
     // schemes
     $this->schemes = new Map();
     foreach ($data as $id => $scheme) {
         $this->schemes->set($id, new SecurityScheme($id, $scheme));
     }
 }
Exemplo n.º 7
0
 private function parse($contents)
 {
     $data = CollectionUtils::toMap($contents);
     // headers
     $this->headers = new Map();
     foreach ($data as $h => $props) {
         $this->headers->set($h, new Header($h, $props));
     }
 }
Exemplo n.º 8
0
 private function parse($contents = [])
 {
     $data = CollectionUtils::toMap($contents);
     // parts
     $this->parseRef($data);
     $this->parseType($data);
     $this->parseItems($data);
     $this->parseExtensions($data);
 }
Exemplo n.º 9
0
 public function testToMap()
 {
     $data = [['a' => 'b'], ['c' => 'd'], [1, 2, 3]];
     $map = CollectionUtils::toMap($data);
     $this->assertTrue($map instanceof Map);
     $this->assertTrue($map->get(0) instanceof Map);
     $this->assertTrue($map->get(2) instanceof ArrayList);
     $map = new Map($data);
     $this->assertFalse($map->get(0) instanceof Map);
     $this->assertFalse($map->get(2) instanceof ArrayList);
 }
Exemplo n.º 10
0
 private function parse($contents)
 {
     $data = CollectionUtils::toMap($contents);
     $this->examples = $data->get('examples', new Map());
     $this->headers = new Headers($data->get('headers'));
     // parts
     $this->parseRef($data);
     $this->parseDescription($data);
     $this->parseSchema($data);
     $this->parseExtensions($data);
 }
Exemplo n.º 11
0
 /**
  * @param array $contents
  */
 private function parse($contents = [])
 {
     $data = CollectionUtils::toMap($contents);
     $this->type = $data->get('type');
     $this->name = $data->get('name');
     $this->in = $data->get('in');
     $this->flow = $data->get('flow');
     $this->authorizationUrl = $data->get('authorizationUrl');
     $this->tokenUrl = $data->get('tokenUrl');
     $this->scopes = $data->get('scopes', new Map());
     $this->parseDescription($data);
 }
Exemplo n.º 12
0
 private function parse($contents = [])
 {
     $data = CollectionUtils::toMap($contents);
     $this->title = $data->get('title');
     $this->termsOfService = $data->get('termsOfService');
     $this->contact = new Contact($data->get('contact', new Map()));
     $this->license = new License($data->get('license', new Map()));
     $this->version = $data->get('version');
     // extensions
     $this->parseDescription($data);
     $this->parseExtensions($data);
 }
Exemplo n.º 13
0
 private function parse($contents)
 {
     $data = CollectionUtils::toMap($contents);
     foreach (Swagger::$METHODS as $method) {
         if ($data->has($method)) {
             $this->operations->set($method, new Operation($data->get($method)));
         }
     }
     // parts
     $this->parseParameters($data);
     $this->parseExtensions($data);
 }
Exemplo n.º 14
0
 private function parse($contents)
 {
     $data = CollectionUtils::toMap($contents);
     // responses
     $this->responses = new Map();
     foreach ($data as $r => $response) {
         if (!Text::create($r)->startsWith('x-')) {
             $this->responses->set($r, new Response($r, $response));
         }
     }
     // extensions
     $this->parseExtensions($data);
 }
Exemplo n.º 15
0
 private function parse($contents)
 {
     $data = CollectionUtils::toMap($contents);
     // paths
     $this->paths = new Map();
     foreach ($data as $p => $path) {
         if (!Text::create($p)->startsWith('x-')) {
             $this->paths->set($p, new Path($p, $path));
         }
     }
     // extensions
     $this->parseExtensions($data);
 }
Exemplo n.º 16
0
 private function parse($contents = [])
 {
     if (is_string($contents)) {
         $this->isObject = false;
         $this->name = $contents;
     } else {
         $data = CollectionUtils::toMap($contents);
         $this->isObject = true;
         $this->name = $data->get('name');
         // parts
         $this->parseDescription($data);
         $this->parseExternalDocs($data);
         $this->parseExtensions($data);
     }
 }
Exemplo n.º 17
0
 /**
  * @param array $contents
  */
 protected function parse($contents = [])
 {
     $data = new Map($contents);
     $this->title = $data->get('title', '');
     $this->class = $data->get('class', '');
     $this->extensionPoints = $data->get('extension-points', new Map());
     $this->extensions = new Map();
     $extensions = CollectionUtils::toMap($data->get('extensions', []));
     foreach ($extensions as $key => $val) {
         $this->extensions->set($key, $val->map(function ($v) {
             return $v->toArray();
         }));
     }
     return $data;
 }
Exemplo n.º 18
0
 private function parse($contents = [])
 {
     $data = CollectionUtils::toMap($contents);
     $this->name = $data->get('name');
     $this->in = $data->get('in');
     $this->allowEmptyValue = $data->has('allowEmptyValue') && $data->get('allowEmptyValue');
     // parts
     $this->parseRef($data);
     $this->parseDescription($data);
     $this->parseSchema($data);
     $this->parseRequired($data);
     $this->parseType($data);
     $this->parseItems($data);
     $this->parseExtensions($data);
 }
Exemplo n.º 19
0
 private function parse($contents = [])
 {
     $data = CollectionUtils::toMap($contents);
     $this->summary = $data->get('summary');
     $this->description = $data->get('description');
     $this->operationId = $data->get('operationId');
     $this->deprecated = $data->has('deprecated') && $data->get('deprecated');
     // parts
     $this->parseConsumes($data);
     $this->parseProduces($data);
     $this->parseTags($data);
     $this->parseParameters($data);
     $this->parseResponses($data);
     $this->parseSchemes($data);
     $this->parseSecurity($data);
     $this->parseExternalDocs($data);
     $this->parseExtensions($data);
 }
Exemplo n.º 20
0
 private function parse($contents)
 {
     $data = CollectionUtils::toMap($contents);
     $this->swagger = $data->get('version', $this->swagger);
     $this->host = $data->get('host');
     $this->basePath = $data->get('basePath');
     $this->info = new Info($data->get('info', []));
     $this->paths = new Paths($data->get('paths'));
     $this->definitions = new Definitions($data->get('definitions', new Map()));
     $this->securityDefinitions = new SecurityDefinitions($data->get('securityDefinitions', new Map()));
     // parts
     $this->parseSchemes($data);
     $this->parseConsumes($data);
     $this->parseProduces($data);
     $this->parseTags($data);
     $this->parseParameters($data);
     $this->parseResponses($data);
     $this->parseSecurity($data);
     $this->parseExternalDocs($data);
     $this->parseExtensions($data);
 }
Exemplo n.º 21
0
 private function parse($contents)
 {
     $data = new Map($contents);
     $this->setFullName($data->get('name'));
     $this->description = $data->get('description');
     $this->type = $data->get('type');
     $this->license = $data->get('license');
     $this->keywords = new ArrayList($data->get('keywords', []));
     $this->authors = new ArrayList();
     if ($data->has('authors')) {
         foreach ($data->get('authors') as $authorData) {
             $this->authors->add(new AuthorSchema($authorData));
         }
     }
     $this->autoload = new AutoloadSchema($data->get('autoload', []));
     $this->require = new Map($data->get('require', []));
     $this->requireDev = new Map($data->get('require-dev', []));
     $this->extra = CollectionUtils::toMap($data->get('extra', []));
     $this->keeko = new KeekoSchema($this, $this->extra->get('keeko', []));
     $this->data = $data;
 }