Skip to content

Commit ad8bf7b

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

File tree

2 files changed

+8
-59
lines changed

2 files changed

+8
-59
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: 6 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -7,63 +7,12 @@
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 }
15+
internal var _nsObject: NSType { return NSURLQueryItem(name: self.name, value: self.value) }
6716
}
6817

6918
extension URLQueryItem: _ObjectiveCBridgeable {
@@ -75,7 +24,7 @@ extension URLQueryItem: _ObjectiveCBridgeable {
7524

7625
@_semantics("convertToObjectiveC")
7726
public func _bridgeToObjectiveC() -> NSURLQueryItem {
78-
return _queryItem
27+
return NSURLQueryItem(name: self.name, value: self.value)
7928
}
8029

8130
public static func _forceBridgeFromObjectiveC(_ x: NSURLQueryItem, result: inout URLQueryItem?) {
@@ -85,7 +34,7 @@ extension URLQueryItem: _ObjectiveCBridgeable {
8534
}
8635

8736
public static func _conditionallyBridgeFromObjectiveC(_ x: NSURLQueryItem, result: inout URLQueryItem?) -> Bool {
88-
result = URLQueryItem(reference: x)
37+
result = URLQueryItem(name: x.name, value: x.value)
8938
return true
9039
}
9140

@@ -98,5 +47,5 @@ extension URLQueryItem: _ObjectiveCBridgeable {
9847

9948
extension NSURLQueryItem: _SwiftBridgeable {
10049
typealias SwiftType = URLQueryItem
101-
internal var _swiftObject: SwiftType { return URLQueryItem(reference: self) }
50+
internal var _swiftObject: SwiftType { return URLQueryItem(name: self.name, value: self.value) }
10251
}

0 commit comments

Comments
 (0)