| 30 | } |
| 31 | |
| 32 | export async function searchShips(request: Request) { |
| 33 | const url = new URL(request.url) |
| 34 | const query = url.searchParams.get('query') ?? '' |
| 35 | const endTime = Date.now() + getDelay(request) |
| 36 | const ships = shipData |
| 37 | .filter((ship) => ship.name.toLowerCase().includes(query.toLowerCase())) |
| 38 | .slice(0, 13) |
| 39 | await new Promise((resolve) => setTimeout(resolve, endTime - Date.now())) |
| 40 | return { |
| 41 | ships: ships.map((ship) => ({ name: ship.name })), |
| 42 | fetchedAt: formatDate(new Date()), |
| 43 | } |
| 44 | } |
| 45 | |
| 46 | export async function getShip(request: Request) { |
| 47 | const url = new URL(request.url) |