, root: string, parent: ?string}>}> */ final class ListResponse implements Response { /** * @use ArrayAccessible, root: string, parent: ?string}>}> */ use ArrayAccessible; /** * @param array $data */ private function __construct( public readonly string $object, public readonly array $data, ) { } /** * Acts as static factory, and returns a new Response instance. * * @param array{object: string, data: array, root: string, parent: ?string}>} $attributes */ public static function from(array $attributes): self { $data = array_map(fn (array $result): RetrieveResponse => RetrieveResponse::from( $result ), $attributes['data']); return new self( $attributes['object'], $data, ); } /** * {@inheritDoc} */ public function toArray(): array { return [ 'object' => $this->object, 'data' => array_map( static fn (RetrieveResponse $response): array => $response->toArray(), $this->data, ), ]; } }