Create LocalAccount module.

This commit is contained in:
Brent Simmons 2024-04-07 15:20:59 -07:00
parent 300ffbb711
commit 6b364f3fd3
10 changed files with 59 additions and 4 deletions

View File

@ -24,6 +24,7 @@ let package = Package(
.package(path: "../CloudKitSync"),
.package(path: "../NewsBlur"),
.package(path: "../Feedbin"),
.package(path: "../LocalAccount"),
.package(path: "../FeedFinder"),
.package(path: "../CommonErrors")
],
@ -44,6 +45,7 @@ let package = Package(
"NewsBlur",
"CloudKitSync",
"Feedbin",
"LocalAccount",
"FeedFinder",
"CommonErrors"
],

View File

@ -13,7 +13,6 @@ let package = Package(
dependencies: [
.package(path: "../Parser"),
],
targets: [
.target(
name: "Feedbin",

8
LocalAccount/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
.DS_Store
/.build
/Packages
xcuserdata/
DerivedData/
.swiftpm/configuration/registries.json
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
.netrc

View File

@ -0,0 +1,32 @@
// swift-tools-version: 5.10
import PackageDescription
let package = Package(
name: "LocalAccount",
platforms: [.macOS(.v14), .iOS(.v17)],
products: [
.library(
name: "LocalAccount",
targets: ["LocalAccount"]),
],
dependencies: [
.package(path: "../Parser"),
.package(path: "../Web"),
],
targets: [
.target(
name: "LocalAccount",
dependencies: [
"Parser",
"Web"
],
swiftSettings: [
.enableExperimentalFeature("StrictConcurrency")
]
),
.testTarget(
name: "LocalAccountTests",
dependencies: ["LocalAccount"]),
]
)

View File

@ -10,9 +10,9 @@ import Foundation
import Parser
import Web
struct InitialFeedDownloader {
public struct InitialFeedDownloader {
static func download(_ url: URL) async -> ParsedFeed? {
@MainActor public static func download(_ url: URL) async -> ParsedFeed? {
await withCheckedContinuation { @MainActor continuation in
self.download(url) { parsedFeed in
@ -21,7 +21,7 @@ struct InitialFeedDownloader {
}
}
@MainActor static func download(_ url: URL,_ completion: @escaping (_ parsedFeed: ParsedFeed?) -> Void) {
@MainActor static func download(_ url: URL,_ completion: @escaping @Sendable (_ parsedFeed: ParsedFeed?) -> Void) {
downloadUsingCache(url) { (data, response, error) in
guard let data = data else {

View File

@ -0,0 +1,12 @@
import XCTest
@testable import LocalAccount
final class LocalAccountTests: XCTestCase {
func testExample() throws {
// XCTest Documentation
// https://developer.apple.com/documentation/xctest
// Defining Test Cases and Test Methods
// https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods
}
}

View File

@ -1391,6 +1391,7 @@
84A37CB4201ECD610087C5AF /* RenameWindowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RenameWindowController.swift; sourceTree = "<group>"; };
84A3EE52223B667F00557320 /* DefaultFeeds.opml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = DefaultFeeds.opml; sourceTree = "<group>"; };
84A699132BC34E8500605AB8 /* ArticleExtractor */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = ArticleExtractor; sourceTree = "<group>"; };
84A699182BC3524C00605AB8 /* LocalAccount */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = LocalAccount; sourceTree = "<group>"; };
84AD1EA92031617300BC20B7 /* PasteboardFolder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasteboardFolder.swift; sourceTree = "<group>"; };
84AD1EB92031649C00BC20B7 /* SmartFeedPasteboardWriter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmartFeedPasteboardWriter.swift; sourceTree = "<group>"; };
84AD1EBB2032AF5C00BC20B7 /* SidebarOutlineDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarOutlineDataSource.swift; sourceTree = "<group>"; };
@ -2350,6 +2351,7 @@
84A699132BC34E8500605AB8 /* ArticleExtractor */,
51CD32C624D2DEF9009ABAEF /* Account */,
84FB9FAE2BC3494B00B7AFC3 /* FeedFinder */,
84A699182BC3524C00605AB8 /* LocalAccount */,
84FB9FAD2BC344F800B7AFC3 /* Feedbin */,
84FB9FAC2BC33AFE00B7AFC3 /* NewsBlur */,
84CC98D92BC1DD25006A05C9 /* ReaderAPI */,