Skip to content

Commit 6d7f2e9

Browse files
authored
Rename _StringParameterConvertible to _StringConvertible (#13)
Rename _StringParameterConvertible to _StringConvertible ### Motivation As part of reworking #12, we'll be using the protocol `_StringParameterConvertible` not just for parameters, but also for bodies, so renaming it accordingly to reflect that. ### Modifications Renamed `_StringParameterConvertible` to `_StringConvertible`. ### Result The naming is more accurate now. Compatibility-wise, this isn't affecting the generator, as this protocol is not used directly by generated code, only indirectly through `_AutoLosslessStringConvertible`, so we don't even need to stage this change. ### Test Plan All tests pass. Reviewed by: simonjbeaumont Builds: ✔︎ pull request validation (5.8) - Build finished. ✔︎ pull request validation (5.9) - Build finished. ✔︎ pull request validation (nightly) - Build finished. ✔︎ pull request validation (soundness) - Build finished. #13
1 parent 4b964d4 commit 6d7f2e9

File tree

7 files changed

+31
-31
lines changed

7 files changed

+31
-31
lines changed

Sources/OpenAPIRuntime/Base/_AutoLosslessStringConvertible.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
/// Cannot be marked as SPI, as it's added on public types, but should be
2121
/// considered an internal implementation detail of the generator.
2222
public protocol _AutoLosslessStringConvertible:
23-
RawRepresentable, LosslessStringConvertible, _StringParameterConvertible
23+
RawRepresentable, LosslessStringConvertible, _StringConvertible
2424
where RawValue == String {}
2525

2626
extension _AutoLosslessStringConvertible {

Sources/OpenAPIRuntime/Base/_StringParameterConvertible.swift renamed to Sources/OpenAPIRuntime/Base/_StringConvertible.swift

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@
1313
//===----------------------------------------------------------------------===//
1414
import Foundation
1515

16-
/// This marker protocol represents types used in parameters
17-
/// (headers, path parameters, query items, ...).
16+
/// This marker protocol represents types that are representable as a string,
17+
/// usable in headers, path parameters, query items, and text bodies.
1818
///
1919
/// Cannot be marked as SPI, as it's added on public types, but should be
2020
/// considered an internal implementation detail of the generator.
21-
public protocol _StringParameterConvertible: LosslessStringConvertible {}
21+
public protocol _StringConvertible: LosslessStringConvertible {}
2222

23-
extension String: _StringParameterConvertible {}
24-
extension Bool: _StringParameterConvertible {}
25-
extension Int: _StringParameterConvertible {}
26-
extension Int64: _StringParameterConvertible {}
27-
extension Int32: _StringParameterConvertible {}
28-
extension Float: _StringParameterConvertible {}
29-
extension Double: _StringParameterConvertible {}
23+
extension String: _StringConvertible {}
24+
extension Bool: _StringConvertible {}
25+
extension Int: _StringConvertible {}
26+
extension Int64: _StringConvertible {}
27+
extension Int32: _StringConvertible {}
28+
extension Float: _StringConvertible {}
29+
extension Double: _StringConvertible {}

Sources/OpenAPIRuntime/Conversion/Converter+Client.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ import Foundation
1515

1616
extension Converter {
1717

18-
// MARK: Query - _StringParameterConvertible
18+
// MARK: Query - _StringConvertible
1919

2020
/// Adds a query item with a string-convertible value to the request.
2121
/// - Parameters:
2222
/// - request: Request to add the query item.
2323
/// - name: Query item name.
2424
/// - value: Query item string-convertible value.
25-
public func queryAdd<T: _StringParameterConvertible>(
25+
public func queryAdd<T: _StringConvertible>(
2626
in request: inout Request,
2727
name: String,
2828
value: T?
@@ -57,14 +57,14 @@ extension Converter {
5757
}
5858
}
5959

60-
// MARK: Query - Array of _StringParameterConvertible
60+
// MARK: Query - Array of _StringConvertible
6161

6262
/// Adds a query item with a list of string-convertible values to the request.
6363
/// - Parameters:
6464
/// - request: Request to add the query item.
6565
/// - name: Query item name.
6666
/// - value: Query item string-convertible values.
67-
public func queryAdd<T: _StringParameterConvertible>(
67+
public func queryAdd<T: _StringConvertible>(
6868
in request: inout Request,
6969
name: String,
7070
value: [T]?
@@ -91,7 +91,7 @@ extension Converter {
9191
transforming transform: (T) -> C
9292
) throws -> C {
9393
let decoded: T
94-
if let myType = T.self as? _StringParameterConvertible.Type {
94+
if let myType = T.self as? _StringConvertible.Type {
9595
guard
9696
let stringValue = String(data: data, encoding: .utf8),
9797
let decodedValue = myType.init(stringValue)
@@ -139,7 +139,7 @@ extension Converter {
139139
) throws -> Data {
140140
let body = transform(value)
141141
headerFields.add(name: "content-type", value: body.contentType)
142-
if let value = value as? _StringParameterConvertible {
142+
if let value = value as? _StringConvertible {
143143
guard let data = value.description.data(using: .utf8) else {
144144
throw RuntimeError.failedToEncodePrimitiveBodyIntoData
145145
}

Sources/OpenAPIRuntime/Conversion/Converter+Common.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ public extension Converter {
162162
guard let value else {
163163
return
164164
}
165-
if let value = value as? _StringParameterConvertible {
165+
if let value = value as? _StringConvertible {
166166
headerFields.add(name: name, value: value.description)
167167
return
168168
}
@@ -189,7 +189,7 @@ public extension Converter {
189189
guard let stringValue = headerFields.firstValue(name: name) else {
190190
return nil
191191
}
192-
if let myType = T.self as? _StringParameterConvertible.Type {
192+
if let myType = T.self as? _StringConvertible.Type {
193193
return myType.init(stringValue).map { $0 as! T }
194194
}
195195
let data = Data(stringValue.utf8)

Sources/OpenAPIRuntime/Conversion/Converter+Server.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public extension Converter {
6565
/// - name: Path variable name.
6666
/// - type: Path variable type.
6767
/// - Returns: Deserialized path variable value, if present.
68-
func pathGetOptional<T: _StringParameterConvertible>(
68+
func pathGetOptional<T: _StringConvertible>(
6969
in pathParameters: [String: String],
7070
name: String,
7171
as type: T.Type
@@ -85,7 +85,7 @@ public extension Converter {
8585
/// - name: Path variable name.
8686
/// - type: Path variable type.
8787
/// - Returns: Deserialized path variable value.
88-
func pathGetRequired<T: _StringParameterConvertible>(
88+
func pathGetRequired<T: _StringConvertible>(
8989
in pathParameters: [String: String],
9090
name: String,
9191
as type: T.Type
@@ -111,7 +111,7 @@ public extension Converter {
111111
/// - name: Query item name.
112112
/// - type: Query item value type.
113113
/// - Returns: Deserialized query item value, if present.
114-
func queryGetOptional<T: _StringParameterConvertible>(
114+
func queryGetOptional<T: _StringConvertible>(
115115
in queryParameters: [URLQueryItem],
116116
name: String,
117117
as type: T.Type
@@ -135,7 +135,7 @@ public extension Converter {
135135
/// - name: Query item name.
136136
/// - type: Query item value type.
137137
/// - Returns: Deserialized query item value.
138-
func queryGetRequired<T: _StringParameterConvertible>(
138+
func queryGetRequired<T: _StringConvertible>(
139139
in queryParameters: [URLQueryItem],
140140
name: String,
141141
as type: T.Type
@@ -187,7 +187,7 @@ public extension Converter {
187187
return try self.configuration.dateTranscoder.decode(dateString)
188188
}
189189

190-
// MARK: Query - Array of _StringParameterConvertible
190+
// MARK: Query - Array of _StringConvertible
191191

192192
/// Returns an array of deserialized values for all the query items
193193
/// found under the provided name.
@@ -196,7 +196,7 @@ public extension Converter {
196196
/// - name: Query item name.
197197
/// - type: Query item value type.
198198
/// - Returns: Deserialized query item value, if present.
199-
func queryGetOptional<T: _StringParameterConvertible>(
199+
func queryGetOptional<T: _StringConvertible>(
200200
in queryParameters: [URLQueryItem],
201201
name: String,
202202
as type: [T].Type
@@ -226,7 +226,7 @@ public extension Converter {
226226
/// - name: Query item name.
227227
/// - type: Query item value type.
228228
/// - Returns: Deserialized query item value.
229-
func queryGetRequired<T: _StringParameterConvertible>(
229+
func queryGetRequired<T: _StringConvertible>(
230230
in queryParameters: [URLQueryItem],
231231
name: String,
232232
as type: [T].Type
@@ -263,7 +263,7 @@ public extension Converter {
263263
return nil
264264
}
265265
let decoded: T
266-
if let myType = T.self as? _StringParameterConvertible.Type {
266+
if let myType = T.self as? _StringConvertible.Type {
267267
guard
268268
let stringValue = String(data: data, encoding: .utf8),
269269
let decodedValue = myType.init(stringValue)
@@ -309,7 +309,7 @@ public extension Converter {
309309
let body = transform(value)
310310
headerFields.add(name: "content-type", value: body.contentType)
311311
let bodyValue = body.value
312-
if let value = bodyValue as? _StringParameterConvertible {
312+
if let value = bodyValue as? _StringConvertible {
313313
guard let data = value.description.data(using: .utf8) else {
314314
throw RuntimeError.failedToEncodePrimitiveBodyIntoData
315315
}

Sources/OpenAPIRuntime/Conversion/FoundationExtensions.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ extension URLComponents {
4545
/// - Parameters:
4646
/// - name: Query name.
4747
/// - value: Typed value.
48-
mutating func addQueryItem<T: _StringParameterConvertible>(
48+
mutating func addQueryItem<T: _StringConvertible>(
4949
name: String,
5050
value: T?
5151
) {
@@ -62,7 +62,7 @@ extension URLComponents {
6262
/// - Parameters:
6363
/// - name: Query name.
6464
/// - value: Array of typed values.
65-
mutating func addQueryItem<T: _StringParameterConvertible>(
65+
mutating func addQueryItem<T: _StringConvertible>(
6666
name: String,
6767
value: [T]?
6868
) {

Tests/OpenAPIRuntimeTests/Conversion/Test_Converter+Common.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ final class Test_CommonConverterExtensions: Test_Runtime {
145145
)
146146
}
147147

148-
// MARK: [HeaderField] - _StringParameterConvertible
148+
// MARK: [HeaderField] - _StringConvertible
149149

150150
func testHeaderAdd_string() throws {
151151
var headerFields: [HeaderField] = []

0 commit comments

Comments
 (0)