PATH:
home
/
lab2454c
/
vaultchip.com
/
vendor
/
aws
/
aws-sdk-php
/
src
/
Api
<?php namespace Aws\Api; /** * Builds shape based on shape references. */ class ShapeMap { /** @var array */ private $definitions; /** @var Shape[] */ private $simple; /** * @param array $shapeModels Associative array of shape definitions. */ public function __construct(array $shapeModels) { $this->definitions = $shapeModels; } /** * Get an array of shape names. * * @return array */ public function getShapeNames() { return array_keys($this->definitions); } /** * Resolve a shape reference * * @param array $shapeRef Shape reference shape * * @return Shape * @throws \InvalidArgumentException */ public function resolve(array $shapeRef) { $shape = $shapeRef['shape']; if (!isset($this->definitions[$shape])) { throw new \InvalidArgumentException('Shape not found: ' . $shape); } $isSimple = count($shapeRef) == 1; if ($isSimple && isset($this->simple[$shape])) { return $this->simple[$shape]; } $definition = $shapeRef + $this->definitions[$shape]; $definition['name'] = $definition['shape']; if (isset($definition['shape'])) { unset($definition['shape']); } $result = Shape::create($definition, $this); if ($isSimple) { $this->simple[$shape] = $result; } return $result; } }
[-] ApiProvider.php
[edit]
[-] AbstractModel.php
[edit]
[-] StructureShape.php
[edit]
[+]
Parser
[+]
..
[-] Shape.php
[edit]
[+]
Serializer
[-] DateTimeResult.php
[edit]
[-] Validator.php
[edit]
[-] TimestampShape.php
[edit]
[-] DocModel.php
[edit]
[+]
ErrorParser
[-] MapShape.php
[edit]
[-] ListShape.php
[edit]
[-] ShapeMap.php
[edit]
[-] Service.php
[edit]
[-] Operation.php
[edit]