Skip to content

Commit

Permalink
restructure
Browse files Browse the repository at this point in the history
  • Loading branch information
joshuawright11 committed May 27, 2024
1 parent 926b2ef commit 8e98077
Show file tree
Hide file tree
Showing 32 changed files with 59 additions and 67 deletions.
1 change: 1 addition & 0 deletions Example/main.swift
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import Foundation
import Papyrus

// MARK: 0. Define your API.
Expand Down
39 changes: 16 additions & 23 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,41 +12,42 @@ let package = Package(
products: [
.executable(name: "Example", targets: ["Example"]),
.library(name: "Papyrus", targets: ["Papyrus"]),
.library(name: "PapyrusCore", targets: ["PapyrusCore"]),
],
dependencies: [
.package(url: "https://github.com/apple/swift-syntax", from: "510.0.0"),
.package(url: "https://github.com/pointfreeco/swift-macro-testing", from: "0.1.0"),
],
targets: [

// MARK: Demo

.executableTarget(
name: "Example",
dependencies: ["Papyrus"],
dependencies: [
"Papyrus"
],
path: "Example"
),
// MARK: Libraries

// MARK: Library

.target(
name: "Papyrus",
dependencies: [
.byName(name: "PapyrusCore")
"PapyrusPlugin"
],
path: "Papyrus"
path: "Papyrus/Sources"
),
.target(
name: "PapyrusCore",
.testTarget(
name: "PapyrusTests",
dependencies: [
.byName(name: "PapyrusPlugin"),
"Papyrus"
],
path: "PapyrusCore/Sources"
path: "Papyrus/Tests"
),

// MARK: Plugin

.macro(
name: "PapyrusPlugin",
dependencies: [
Expand All @@ -59,14 +60,6 @@ let package = Package(
],
path: "PapyrusPlugin/Sources"
),

// MARK: Tests

.testTarget(
name: "PapyrusCoreTests",
dependencies: ["PapyrusCore"],
path: "PapyrusCore/Tests"
),
.testTarget(
name: "PapyrusPluginTests",
dependencies: [
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
@_exported import Foundation
import Foundation
#if os(Linux)
@_exported import FoundationNetworking
import FoundationNetworking
#endif
@_exported import PapyrusCore

extension Provider {
public convenience init(baseURL: String,
Expand Down Expand Up @@ -58,13 +57,13 @@ extension Response {
private struct _Response: Response {
let urlRequest: URLRequest
let urlResponse: URLResponse?

var request: Request? { urlRequest }
let error: Error?
let body: Data?
let headers: [String: String]?
var statusCode: Int? { (urlResponse as? HTTPURLResponse)?.statusCode }

init(request: URLRequest, response: URLResponse?, error: Error?, body: Data?) {
self.urlRequest = request
self.urlResponse = response
Expand All @@ -76,7 +75,7 @@ private struct _Response: Response {
guard let key = key as? String, let value = value as? String else {
return nil
}

return (key, value)
}
if let headerPairs {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import XCTest
import Papyrus
@testable import PapyrusCore
@testable import Papyrus

final class APITests: XCTestCase {
func testApiEndpointReturnsNilForOptionalReturnType_forNilBody() async throws {
Expand Down Expand Up @@ -125,11 +125,11 @@ fileprivate class _HTTPServiceMock: HTTPService {
_Request(method: "", headers: [:])
}

func request(_ req: PapyrusCore.Request) async -> PapyrusCore.Response {
func request(_ req: Papyrus.Request) async -> Papyrus.Response {
_Response(body: _responseType.value?.data(using: .utf8), statusCode: 200)
}

func request(_ req: PapyrusCore.Request, completionHandler: @escaping (PapyrusCore.Response) -> Void) {
func request(_ req: Papyrus.Request, completionHandler: @escaping (Papyrus.Response) -> Void) {
completionHandler(_Response(body: "".data(using: .utf8)))
}
}
Expand All @@ -142,7 +142,7 @@ fileprivate struct _Request: Request {
}

fileprivate struct _Response: Response {
var request: PapyrusCore.Request?
var request: Papyrus.Request?
var body: Data?
var headers: [String : String]?
var statusCode: Int?
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import XCTest
@testable import PapyrusCore
@testable import Papyrus


final class CurlTests: XCTestCase {
func testConvertPath() throws {
let req = RequestBuilder(baseURL: "foo/", method: "bar", path: "baz")

let request = try TestRequest(from: req)

// Assert Multi Line
XCTAssertEqual(request.curl(sortedHeaders: true), """
curl 'foo/baz' \\
Expand Down Expand Up @@ -125,7 +125,7 @@ final class CurlTests: XCTestCase {
}

XCTAssertNotNil(message, "Logger did not output")

guard let message else { return }

XCTAssertEqual(message, """
Expand All @@ -146,7 +146,6 @@ final class CurlTests: XCTestCase {
var message: String? = nil

let logger = CurlLogger(when: .onError, using: {
print("WHAT?")
message = $0
})

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import XCTest
@testable import PapyrusCore
@testable import Papyrus

final class KeyMappingTests: XCTestCase {
private let pairs = [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import XCTest
@testable import PapyrusCore
@testable import Papyrus

final class ParameterTests: XCTestCase {
func testPath() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import XCTest
@testable import PapyrusCore
@testable import Papyrus

final class ProviderTests: XCTestCase {
func testProvider() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import XCTest
@testable import PapyrusCore
@testable import Papyrus

final class RequestBuilderTests: XCTestCase {
func testPath() throws {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import XCTest
@testable import PapyrusCore
@testable import Papyrus

final class RequestEncoderTests: XCTestCase {
func testWithKeyMappingDoesntMutate() throws {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import XCTest
@testable import PapyrusCore
@testable import Papyrus

final class ResponseDecoderTests: XCTestCase {
func testWithKeyMappingDoesntMutate() throws {
Expand Down Expand Up @@ -73,7 +73,7 @@ fileprivate struct _Person: Decodable {
}

fileprivate class _Response : Response {
var request: PapyrusCore.Request?
var request: Papyrus.Request?
var body: Data?
var headers: [String : String]?
var statusCode: Int?
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import XCTest
@testable import PapyrusCore
@testable import Papyrus

final class ResponseTests: XCTestCase {
func testValidate() {
Expand Down
4 changes: 2 additions & 2 deletions PapyrusPlugin/Sources/Macros/APIMacro.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ extension API {

// 0. provider reference & init

"private let provider: PapyrusCore.Provider"
"private let provider: Papyrus.Provider"

Declaration("init(provider: PapyrusCore.Provider)") {
Declaration("init(provider: Papyrus.Provider)") {
"self.provider = provider"
}
.access(access)
Expand Down
40 changes: 20 additions & 20 deletions PapyrusPlugin/Tests/APIMacroTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ final class APIMacroTests: XCTestCase {
}
struct FooAPI: Foo {
private let provider: PapyrusCore.Provider
private let provider: Papyrus.Provider
init(provider: PapyrusCore.Provider) {
init(provider: Papyrus.Provider) {
self.provider = provider
}
Expand Down Expand Up @@ -88,9 +88,9 @@ final class APIMacroTests: XCTestCase {
}
struct MyServiceAPI: MyService {
private let provider: PapyrusCore.Provider
private let provider: Papyrus.Provider
init(provider: PapyrusCore.Provider) {
init(provider: Papyrus.Provider) {
self.provider = provider
}
Expand Down Expand Up @@ -130,9 +130,9 @@ final class APIMacroTests: XCTestCase {
}
struct MyServiceAPI: MyService {
private let provider: PapyrusCore.Provider
private let provider: Papyrus.Provider
init(provider: PapyrusCore.Provider) {
init(provider: Papyrus.Provider) {
self.provider = provider
}
Expand Down Expand Up @@ -169,9 +169,9 @@ final class APIMacroTests: XCTestCase {
}
struct MyServiceAPI: MyService {
private let provider: PapyrusCore.Provider
private let provider: Papyrus.Provider
init(provider: PapyrusCore.Provider) {
init(provider: Papyrus.Provider) {
self.provider = provider
}
Expand Down Expand Up @@ -214,9 +214,9 @@ final class APIMacroTests: XCTestCase {
}
struct MyServiceAPI: MyService {
private let provider: PapyrusCore.Provider
private let provider: Papyrus.Provider
init(provider: PapyrusCore.Provider) {
init(provider: Papyrus.Provider) {
self.provider = provider
}
Expand Down Expand Up @@ -261,9 +261,9 @@ final class APIMacroTests: XCTestCase {
}
struct MyServiceAPI: MyService {
private let provider: PapyrusCore.Provider
private let provider: Papyrus.Provider
init(provider: PapyrusCore.Provider) {
init(provider: Papyrus.Provider) {
self.provider = provider
}
Expand Down Expand Up @@ -305,9 +305,9 @@ final class APIMacroTests: XCTestCase {
}
struct MyServiceAPI: MyService {
private let provider: PapyrusCore.Provider
private let provider: Papyrus.Provider
init(provider: PapyrusCore.Provider) {
init(provider: Papyrus.Provider) {
self.provider = provider
}
Expand Down Expand Up @@ -355,9 +355,9 @@ final class APIMacroTests: XCTestCase {
}
struct MyServiceAPI: MyService {
private let provider: PapyrusCore.Provider
private let provider: Papyrus.Provider
init(provider: PapyrusCore.Provider) {
init(provider: Papyrus.Provider) {
self.provider = provider
}
Expand Down Expand Up @@ -395,9 +395,9 @@ final class APIMacroTests: XCTestCase {
}
struct MyServiceAPI: MyService {
private let provider: PapyrusCore.Provider
private let provider: Papyrus.Provider
init(provider: PapyrusCore.Provider) {
init(provider: Papyrus.Provider) {
self.provider = provider
}
Expand Down Expand Up @@ -435,9 +435,9 @@ final class APIMacroTests: XCTestCase {
}
public struct MyServiceAPI: MyService {
private let provider: PapyrusCore.Provider
private let provider: Papyrus.Provider
public init(provider: PapyrusCore.Provider) {
public init(provider: Papyrus.Provider) {
self.provider = provider
}
Expand Down

0 comments on commit 8e98077

Please sign in to comment.