Files
AI/참고/firecrawl-main/apps/php-sdk/src/Models/MapData.php
2026-05-12 19:40:31 +09:00

42 lines
906 B
PHP

<?php
declare(strict_types=1);
namespace Firecrawl\Models;
final class MapData
{
/**
* @param list<array<string, mixed>> $links
*/
public function __construct(
private readonly array $links = [],
) {}
/** @param array<string, mixed> $data */
public static function fromArray(array $data): self
{
$rawLinks = $data['links'] ?? [];
if (!is_array($rawLinks)) {
return new self(links: []);
}
$normalized = [];
foreach ($rawLinks as $link) {
if (is_string($link)) {
$normalized[] = ['url' => $link];
} elseif (is_array($link)) {
$normalized[] = $link;
}
}
return new self(links: $normalized);
}
/** @return list<array<string, mixed>> */
public function getLinks(): array
{
return $this->links;
}
}