import { normalizeListing } from "../scraper/core/normalize"
import { BrunoFritschScraper } from "../scraper/sources/bruno-fritsch"
import { ClicarScraper } from "../scraper/sources/clicar"
import { MaritanoScraper } from "../scraper/sources/maritano"
import { PortilloSurScraper } from "../scraper/sources/portillo-sur"
import { SalfaScraper } from "../scraper/sources/salfa"
import { SalazarIsraelScraper } from "../scraper/sources/salazar-israel"
import { SergioEscobarScraper } from "../scraper/sources/sergio-escobar"

async function main() {
  const scrapers = [
    new BrunoFritschScraper(),
    new ClicarScraper(),
    new MaritanoScraper(),
    new SalfaScraper(),
    new PortilloSurScraper(),
    new SalazarIsraelScraper(),
    new SergioEscobarScraper()
  ]
  const results = await Promise.all(scrapers.map(async (scraper) => scraper.scrape()))
  const normalized = results.flat().map(normalizeListing)

  console.log(JSON.stringify(normalized, null, 2))
}

main().catch((error) => {
  console.error(error)
  process.exit(1)
})
