parser = $parser ?: new JsonParser(); } public function __invoke( CommandInterface $command, ResponseInterface $response ) { $operation = $this->api->getOperation($command->getName()); $result = null === $operation['output'] ? null : $this->parseMemberFromStream( $response->getBody(), $operation->getOutput(), $response ); return new Result($result ?: []); } public function parseMemberFromStream( StreamInterface $stream, StructureShape $member, $response ) { return $this->parser->parse($member, $this->parseJson($stream, $response)); } }