PHP 7.4.33
Preview: StructureShape.php Size: 1.72 KB
/home/godevadmin/www/admin/vendor/aws/Aws/Api/StructureShape.php

<?php
namespace Aws\Api;

/**
 * Represents a structure shape and resolve member shape references.
 */
class StructureShape extends Shape
{
    /**
     * @var Shape[]
     */
    private $members;

    public function __construct(array $definition, ShapeMap $shapeMap)
    {
        $definition['type'] = 'structure';

        if (!isset($definition['members'])) {
            $definition['members'] = [];
        }

        parent::__construct($definition, $shapeMap);
    }

    /**
     * Gets a list of all members
     *
     * @return Shape[]
     */
    public function getMembers()
    {
        if (empty($this->members)) {
            $this->generateMembersHash();
        }

        return $this->members;
    }

    /**
     * Check if a specific member exists by name.
     *
     * @param string $name Name of the member to check
     *
     * @return bool
     */
    public function hasMember($name)
    {
        return isset($this->definition['members'][$name]);
    }

    /**
     * Retrieve a member by name.
     *
     * @param string $name Name of the member to retrieve
     *
     * @return Shape
     * @throws \InvalidArgumentException if the member is not found.
     */
    public function getMember($name)
    {
        $members = $this->getMembers();

        if (!isset($members[$name])) {
            throw new \InvalidArgumentException('Unknown member ' . $name);
        }

        return $members[$name];
    }


    private function generateMembersHash()
    {
        $this->members = [];

        foreach ($this->definition['members'] as $name => $definition) {
            $this->members[$name] = $this->shapeFor($definition);
        }
    }
}

Directory Contents

Dirs: 3 × Files: 13

Name Size Perms Modified Actions
- drwxrwxr-x 2024-06-18 20:09:54
Edit Download
Parser DIR
- drwxrwxr-x 2024-06-18 20:09:54
Edit Download
- drwxrwxr-x 2024-06-18 20:09:56
Edit Download
1.87 KB lrwxrwxr-x 2024-06-18 20:09:52
Edit Download
7.71 KB lrwxrwxr-x 2024-06-18 20:09:52
Edit Download
3.77 KB lrwxrwxr-x 2024-06-18 20:09:52
Edit Download
3.21 KB lrwxrwxr-x 2024-06-18 20:09:52
Edit Download
821 B lrwxrwxr-x 2024-06-18 20:09:52
Edit Download
1.20 KB lrwxrwxr-x 2024-06-18 20:09:52
Edit Download
2.32 KB lrwxrwxr-x 2024-06-18 20:09:52
Edit Download
12.55 KB lrwxrwxr-x 2024-06-18 20:09:54
Edit Download
1.78 KB lrwxrwxr-x 2024-06-18 20:09:54
Edit Download
1.53 KB lrwxrwxr-x 2024-06-18 20:09:54
Edit Download
1.72 KB lrwxrwxr-x 2024-06-18 20:09:54
Edit Download
1.48 KB lrwxrwxr-x 2024-06-18 20:09:54
Edit Download
10.33 KB lrwxrwxr-x 2024-06-18 20:09:54
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).