'myproject'] * * @param string $collection * @param array $props * @param bool $loose * @return Collection<\App\Models\Page> */ function collectionPages(string $collection, array $props = [], bool $loose = false): Collection { $pages = (new SiteParser)->getPages(); if ($loose) { $pages = $pages->filter(fn($p) => in_array($collection, $p->collectionHierarchy)); } else { $pages = $pages->where('collection', $collection); } foreach ($props as $k => $v) { $pages = $pages->filter(fn($p) => $p->collectionProps[$k] == $v); } return $pages; }