![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/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; } }