Skip to content

Commit af51226

Browse files
committed
Remove URLQueryItem from swift-corelibs-foundation in favor of FoundationEssentials.URLQueryItem
1 parent 1b669a5 commit af51226

File tree

2 files changed

+6
-87
lines changed

2 files changed

+6
-87
lines changed

Sources/Foundation/NSURLQueryItem.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
88
//
99

10-
10+
@_exported import FoundationEssentials
1111
// NSURLQueryItem encapsulates a single query name-value pair. The name and value strings of a query name-value pair are not percent encoded. For use with the NSURLComponents queryItems property.
1212
open class NSURLQueryItem: NSObject, NSSecureCoding, NSCopying {
1313

@@ -64,6 +64,6 @@ extension NSURLQueryItem: _StructTypeBridgeable {
6464
public typealias _StructType = URLQueryItem
6565

6666
public func _bridgeToSwift() -> _StructType {
67-
return _StructType._unconditionallyBridgeFromObjectiveC(self)
67+
return _StructType(name: self.name, value: self.value)
6868
}
6969
}

Sources/Foundation/URLQueryItem.swift

Lines changed: 4 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -7,96 +7,15 @@
77
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
88
//
99

10-
11-
/// A single name-value pair, for use with `URLComponents`.
12-
public struct URLQueryItem: ReferenceConvertible, Hashable, Equatable {
13-
public typealias ReferenceType = NSURLQueryItem
14-
15-
fileprivate var _queryItem: NSURLQueryItem
16-
17-
public init(name: String, value: String?) {
18-
_queryItem = NSURLQueryItem(name: name, value: value)
19-
}
20-
21-
fileprivate init(reference: NSURLQueryItem) { _queryItem = reference.copy() as! NSURLQueryItem }
22-
fileprivate var reference: NSURLQueryItem { return _queryItem }
23-
24-
public var name: String {
25-
get { return _queryItem.name }
26-
set { _queryItem = NSURLQueryItem(name: newValue, value: value) }
27-
}
28-
29-
public var value: String? {
30-
get { return _queryItem.value }
31-
set { _queryItem = NSURLQueryItem(name: name, value: newValue) }
32-
}
33-
34-
public func hash(into hasher: inout Hasher) {
35-
hasher.combine(_queryItem)
36-
}
37-
38-
public static func ==(lhs: URLQueryItem, rhs: URLQueryItem) -> Bool {
39-
return lhs._queryItem.isEqual(rhs._queryItem)
40-
}
41-
}
42-
43-
extension URLQueryItem: CustomStringConvertible, CustomDebugStringConvertible, CustomReflectable {
44-
public var description: String {
45-
if let v = value {
46-
return "\(name)=\(v)"
47-
} else {
48-
return name
49-
}
50-
}
51-
52-
public var debugDescription: String {
53-
return self.description
54-
}
55-
56-
public var customMirror: Mirror {
57-
var c: [(label: String?, value: Any)] = []
58-
c.append((label: "name", value: name))
59-
c.append((label: "value", value: value as Any))
60-
return Mirror(self, children: c, displayStyle: .struct)
61-
}
62-
}
10+
// URLQueryItem is defined in FoundationEssentials
11+
@_exported import FoundationEssentials
6312

6413
extension URLQueryItem: _NSBridgeable {
6514
typealias NSType = NSURLQueryItem
66-
internal var _nsObject: NSType { return _queryItem }
67-
}
68-
69-
extension URLQueryItem: _ObjectiveCBridgeable {
70-
public typealias _ObjectType = NSURLQueryItem
71-
72-
public static func _getObjectiveCType() -> Any.Type {
73-
return NSURLQueryItem.self
74-
}
75-
76-
@_semantics("convertToObjectiveC")
77-
public func _bridgeToObjectiveC() -> NSURLQueryItem {
78-
return _queryItem
79-
}
80-
81-
public static func _forceBridgeFromObjectiveC(_ x: NSURLQueryItem, result: inout URLQueryItem?) {
82-
if !_conditionallyBridgeFromObjectiveC(x, result: &result) {
83-
fatalError("Unable to bridge \(_ObjectType.self) to \(self)")
84-
}
85-
}
86-
87-
public static func _conditionallyBridgeFromObjectiveC(_ x: NSURLQueryItem, result: inout URLQueryItem?) -> Bool {
88-
result = URLQueryItem(reference: x)
89-
return true
90-
}
91-
92-
public static func _unconditionallyBridgeFromObjectiveC(_ source: NSURLQueryItem?) -> URLQueryItem {
93-
var result: URLQueryItem? = nil
94-
_forceBridgeFromObjectiveC(source!, result: &result)
95-
return result!
96-
}
15+
internal var _nsObject: NSType { return NSURLQueryItem(name: self.name, value: self.value) }
9716
}
9817

9918
extension NSURLQueryItem: _SwiftBridgeable {
10019
typealias SwiftType = URLQueryItem
101-
internal var _swiftObject: SwiftType { return URLQueryItem(reference: self) }
20+
internal var _swiftObject: SwiftType { return URLQueryItem(name: self.name, value: self.value) }
10221
}

0 commit comments

Comments
 (0)