Skip to content

Commit 033e317

Browse files
authored
Add SwiftFormat (#20)
2 parents 443c663 + b71bd03 commit 033e317

38 files changed

Lines changed: 234 additions & 137 deletions

.swiftformat

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# MARK: - Indentation and Spacing
2+
--indent 4
3+
--tab-width 4
4+
--max-width 120
5+
--wrap-arguments before-first
6+
--wrap-parameters before-first
7+
--wrap-collections before-first
8+
--closing-paren balanced
9+
--wrap-return-type never
10+
11+
# MARK: - Line Breaks and Spacing
12+
--linebreaks lf
13+
--trim-whitespace always
14+
--trailing-commas never
15+
--semicolons never
16+
--operator-func spaced
17+
--no-space-operators ...,..<
18+
--ranges spaced
19+
20+
# MARK: - Braces and Brackets
21+
--allman false
22+
--else-position same-line
23+
--guard-else auto
24+
--ifdef indent
25+
--indent-case false
26+
--indent-strings false
27+
--xcode-indentation enabled
28+
29+
# MARK: - Imports and Headers
30+
--import-grouping testable-last
31+
--mark-extensions always
32+
--mark-types always
33+
--extension-acl on-extension
34+
--property-types inferred
35+
--nil-init remove
36+
37+
# MARK: - Function and Method Formatting
38+
--func-attributes preserve
39+
--type-attributes preserve
40+
--stored-var-attributes preserve
41+
--computed-var-attributes preserve
42+
--pattern-let hoist
43+
--strip-unused-args closure-only
44+
--self remove
45+
--self-required UIViewController,UIView,NSViewController,NSView
46+
47+
# MARK: - Comments and Documentation
48+
--doc-comments before-declarations
49+
--header strip
50+
--ifdef indent
51+
52+
# MARK: - SwiftUI and Modern Swift Features
53+
--swift-version 6.0
54+
--sort-swiftui-properties first-appearance-sort
55+
--some-any true
56+
--short-optionals except-properties
57+
58+
# MARK: - Code Organization
59+
--organize-types class,actor,struct,enum,extension,protocol
60+
--organization-mode type
61+
--class-threshold 0
62+
--struct-threshold 0
63+
--enum-threshold 0
64+
--extension-threshold 0
65+
66+
# MARK: - Blank Lines and Spacing
67+
# --disable blankLinesAtStartOfScope
68+
--enable blankLinesAtStartOfScope
69+
--disable blankLinesAtEndOfScope
70+
--type-blank-lines insert
71+
72+
# MARK: - Exclusions
73+
--exclude "**/.build/**"
74+
--exclude "**/DerivedData/**"
75+
--exclude "**/Pods/**"
76+
--exclude "**/Carthage/**"
77+
--exclude "**/.git/**"
78+
--exclude "**/node_modules/**"
79+
80+
# MARK: - File Patterns
81+
--symlinks ignore

Sources/MicroClient/Extensions/URLComponents.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import Foundation
22

33
extension URL {
44

5-
static func makeURL<RequestModel, ResponseModel>(
5+
static func makeURL(
66
configuration: NetworkConfiguration,
7-
networkRequest: NetworkRequest<RequestModel, ResponseModel>
7+
networkRequest: NetworkRequest<some Any, some Any>
88
) throws -> URL {
99
var url = networkRequest.baseURL ?? configuration.baseURL
1010

Sources/MicroClient/Extensions/URLRequest.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import Foundation
22

33
extension URLRequest {
44

5-
static func makeURLRequest<RequestModel, ResponseModel>(
5+
static func makeURLRequest(
66
configuration: NetworkConfiguration,
7-
networkRequest: NetworkRequest<RequestModel, ResponseModel>
7+
networkRequest: NetworkRequest<some Any, some Any>
88
) throws -> URLRequest {
99
let url = try URL.makeURL(
1010
configuration: configuration,

Sources/MicroClient/Extensions/Unwrap.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ func unwrap<T>(
22
value: T?,
33
error: Error
44
) throws -> T {
5-
guard let value = value else {
5+
guard let value else {
66
throw error
77
}
88

Sources/MicroClient/Interceptors/BasicAuthInterceptor.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public struct BasicAuthInterceptor: NetworkRequestInterceptor {
3939
username: String,
4040
password: String
4141
) {
42-
self.credentialsProvider = { (username, password) }
42+
credentialsProvider = { (username, password) }
4343
}
4444

4545
// MARK: - Public

Sources/MicroClient/Interceptors/CacheControlInterceptor.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public struct CacheControlInterceptor: NetworkRequestInterceptor {
1313
// MARK: - Properties
1414

1515
public enum CachePolicy: Sendable {
16+
1617
case noCache
1718
case maxAge(seconds: Int)
1819
case noStore
@@ -21,9 +22,9 @@ public struct CacheControlInterceptor: NetworkRequestInterceptor {
2122
var headerValue: String {
2223
switch self {
2324
case .noCache: "no-cache"
24-
case .maxAge(let seconds): "max-age=\(seconds)"
25+
case let .maxAge(seconds): "max-age=\(seconds)"
2526
case .noStore: "no-store"
26-
case .custom(let value): value
27+
case let .custom(value): value
2728
}
2829
}
2930
}

Sources/MicroClient/Interceptors/UserAgentInterceptor.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ public struct UserAgentInterceptor: NetworkRequestInterceptor {
2121
appName: String,
2222
version: String
2323
) {
24-
self.userAgent = "\(appName)/\(version) (iOS)"
24+
userAgent = "\(appName)/\(version) (iOS)"
2525
}
2626

2727
public init(customUserAgent: String) {
28-
self.userAgent = customUserAgent
28+
userAgent = customUserAgent
2929
}
3030

3131
// MARK: - Public

Sources/MicroClient/NetworkClient.swift

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ public protocol NetworkClientProtocol: Sendable {
1313
///
1414
/// - Parameter networkRequest: The network request to perform.
1515
/// - Returns: The network response.
16-
func run<RequestModel, ResponseModel>(
17-
_ networkRequest: NetworkRequest<RequestModel, ResponseModel>
16+
func run<ResponseModel>(
17+
_ networkRequest: NetworkRequest<some Any, ResponseModel>
1818
) async throws -> NetworkResponse<ResponseModel>
1919
}
2020

@@ -35,8 +35,8 @@ public actor NetworkClient: NetworkClientProtocol {
3535

3636
// MARK: - Public
3737

38-
public func run<RequestModel, ResponseModel>(
39-
_ networkRequest: NetworkRequest<RequestModel, ResponseModel>
38+
public func run<ResponseModel>(
39+
_ networkRequest: NetworkRequest<some Any, ResponseModel>
4040
) async throws -> NetworkResponse<ResponseModel> {
4141
let retryStrategy = networkRequest.retryStrategy ?? configuration.retryStrategy
4242
var lastError: Error?
@@ -55,8 +55,8 @@ public actor NetworkClient: NetworkClientProtocol {
5555
// MARK: - Private
5656

5757
// swiftlint:disable function_body_length
58-
private func performRequest<RequestModel, ResponseModel>(
59-
_ networkRequest: NetworkRequest<RequestModel, ResponseModel>,
58+
private func performRequest<ResponseModel>(
59+
_ networkRequest: NetworkRequest<some Any, ResponseModel>,
6060
attempt: Int
6161
) async throws -> NetworkResponse<ResponseModel> {
6262
if attempt > 0 {
@@ -136,14 +136,16 @@ public actor NetworkClient: NetworkClientProtocol {
136136
throw NetworkClientError.unknown(error)
137137
}
138138
}
139+
139140
// swiftlint:enable function_body_length
140141

141142
private func log(
142143
_ level: NetworkLogLevel,
143144
_ message: String
144145
) {
145-
guard let logger = configuration.logger,
146-
level >= configuration.logLevel else { return }
146+
guard
147+
let logger = configuration.logger,
148+
level >= configuration.logLevel else { return }
147149

148150
logger.log(level: level, message: message)
149151
}

Sources/MicroClient/NetworkClientError.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import Foundation
22

33
/// An enum representing possible errors that can occur during a network request.
44
public enum NetworkClientError: Error {
5+
56
/// The URL for the request was malformed or invalid.
67
case malformedURL
78

Sources/MicroClient/NetworkLogLevel.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ extension NetworkLogLevel: CustomStringConvertible {
3434

3535
public var description: String {
3636
switch self {
37-
case .debug: return "Debug"
38-
case .info: return "Info"
39-
case .warning: return "Warning"
40-
case .error: return "Error"
37+
case .debug: "Debug"
38+
case .info: "Info"
39+
case .warning: "Warning"
40+
case .error: "Error"
4141
}
4242
}
4343
}

0 commit comments

Comments
 (0)