Replaced the Tuple schema for the OpenAPI specification document in the library target with per-type key-name payloads.
This commit is contained in:
@@ -191,9 +191,9 @@ private extension AmiiboLiveClient {
|
||||
case let .json(output):
|
||||
switch output.amiibo {
|
||||
case let .AmiiboSeries(payload):
|
||||
return makeModels(from: [payload.value1])
|
||||
return makeModels(from: [payload])
|
||||
case let .case2(list):
|
||||
return makeModels(from: list.map(\.value1))
|
||||
return makeModels(from: list)
|
||||
}
|
||||
}
|
||||
case .badRequest:
|
||||
@@ -227,9 +227,9 @@ private extension AmiiboLiveClient {
|
||||
case let .json(output):
|
||||
switch output.amiibo {
|
||||
case let .AmiiboType(payload):
|
||||
return makeModels(from: [payload.value1])
|
||||
return makeModels(from: [payload])
|
||||
case let .case2(list):
|
||||
return makeModels(from: list.map(\.value1))
|
||||
return makeModels(from: list)
|
||||
}
|
||||
}
|
||||
case .badRequest:
|
||||
@@ -263,9 +263,9 @@ private extension AmiiboLiveClient {
|
||||
case let .json(output):
|
||||
switch output.amiibo {
|
||||
case let .GameCharacter(payload):
|
||||
return makeModels(from: [payload.value1])
|
||||
return makeModels(from: [payload])
|
||||
case let .case2(list):
|
||||
return makeModels(from: list.map(\.value1))
|
||||
return makeModels(from: list)
|
||||
}
|
||||
}
|
||||
case .badRequest:
|
||||
@@ -299,9 +299,9 @@ private extension AmiiboLiveClient {
|
||||
case let .json(output):
|
||||
switch output.amiibo {
|
||||
case let .GameSeries(payload):
|
||||
return makeModels(from: [payload.value1])
|
||||
return makeModels(from: [payload])
|
||||
case let .case2(list):
|
||||
return makeModels(from: list.map(\.value1))
|
||||
return makeModels(from: list)
|
||||
}
|
||||
}
|
||||
case .badRequest:
|
||||
@@ -350,11 +350,11 @@ private extension AmiiboLiveClient {
|
||||
}
|
||||
}
|
||||
|
||||
/// Maps a list of key-name tuples into a sorted list of models.
|
||||
/// - Parameter tuples: A list of tuples to map into models.
|
||||
/// Maps a list of key-name payloads into a sorted list of models.
|
||||
/// - Parameter payloads: A list of payloads to map into models.
|
||||
/// - Returns: A list of models sorted by their keys in ascending order.
|
||||
func makeModels<Model: KeyNameModel>(from tuples: [Components.Schemas.Tuple]) -> [Model] {
|
||||
tuples
|
||||
func makeModels<Model: KeyNameModel>(from payloads: [some KeyNamePayload]) -> [Model] {
|
||||
payloads
|
||||
.map { Model($0) }
|
||||
.sorted { $0.key < $1.key }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user