Skip to content

Commit 1f8dae9

Browse files
committed
Debugging with old long-form type casting
1 parent 40bf812 commit 1f8dae9

File tree

1 file changed

+81
-1
lines changed

1 file changed

+81
-1
lines changed

apollo-ios/Sources/ApolloAPI/SelectionSet+Equatable.swift

Lines changed: 81 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,87 @@ public extension SelectionSet {
112112

113113
func addData(for type: Selection.Field.OutputType, inList: Bool = false) {
114114
switch type {
115-
case .scalar, .customScalar:
115+
// case .scalar:
116+
case let .scalar(scalarType):
117+
switch scalarType {
118+
case is String.Type:
119+
if field.type.isNullable {
120+
if inList {
121+
fields[field.responseKey] = fieldData as? [String?]
122+
} else {
123+
fields[field.responseKey] = fieldData as? String?
124+
}
125+
} else {
126+
if inList {
127+
fields[field.responseKey] = fieldData as? [String]
128+
} else {
129+
fields[field.responseKey] = fieldData as? String
130+
}
131+
}
132+
133+
case is Int.Type:
134+
if field.type.isNullable {
135+
if inList {
136+
fields[field.responseKey] = fieldData as? [Int?]
137+
} else {
138+
fields[field.responseKey] = fieldData as? Int?
139+
}
140+
} else {
141+
if inList {
142+
fields[field.responseKey] = fieldData as? [Int]
143+
} else {
144+
fields[field.responseKey] = fieldData as? Int
145+
}
146+
}
147+
148+
case is Bool.Type:
149+
if field.type.isNullable {
150+
if inList {
151+
fields[field.responseKey] = fieldData as? [Bool?]
152+
} else {
153+
fields[field.responseKey] = fieldData as? Bool?
154+
}
155+
} else {
156+
if inList {
157+
fields[field.responseKey] = fieldData as? [Bool]
158+
} else {
159+
fields[field.responseKey] = fieldData as? Bool
160+
}
161+
}
162+
163+
case is Float.Type:
164+
if field.type.isNullable {
165+
if inList {
166+
fields[field.responseKey] = fieldData as? [Float?]
167+
} else {
168+
fields[field.responseKey] = fieldData as? Float?
169+
}
170+
} else {
171+
if inList {
172+
fields[field.responseKey] = fieldData as? [Float]
173+
} else {
174+
fields[field.responseKey] = fieldData as? Float
175+
}
176+
}
177+
178+
case is Double.Type:
179+
if field.type.isNullable {
180+
if inList {
181+
fields[field.responseKey] = fieldData as? [Double?]
182+
} else {
183+
fields[field.responseKey] = fieldData as? Double?
184+
}
185+
} else {
186+
if inList {
187+
fields[field.responseKey] = fieldData as? [Double]
188+
} else {
189+
fields[field.responseKey] = fieldData as? Double
190+
}
191+
}
192+
193+
default: fields[field.responseKey] = fieldData
194+
}
195+
case .customScalar:
116196
if inList {
117197
guard let listData = fieldData as? [AnyHashable] else {
118198
preconditionFailure("Expected list data for field: \(field)")

0 commit comments

Comments
 (0)