![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/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; } }