mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
32 lines
640 B
Swift
32 lines
640 B
Swift
//
|
|
// InitialFeedDownloader.swift
|
|
// NetNewsWire
|
|
//
|
|
// Created by Brent Simmons on 9/3/16.
|
|
// Copyright © 2016 Ranchero Software, LLC. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import Parser
|
|
import RSWeb
|
|
|
|
struct InitialFeedDownloader {
|
|
|
|
static func download(_ url: URL, _ completion: @escaping (_ parsedFeed: ParsedFeed?) -> Void) {
|
|
|
|
Downloader.shared.download(url) { (data, _, _) in
|
|
guard let data = data else {
|
|
completion(nil)
|
|
return
|
|
}
|
|
|
|
Task.detached {
|
|
let parsedFeed = try? FeedParser.parse(urlString: url.absoluteString, data: data)
|
|
Task { @MainActor in
|
|
completion(parsedFeed)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|