27 lines
601 B
Swift
27 lines
601 B
Swift
//
|
|
// Dictionary+RSWeb.swift
|
|
// RSWeb
|
|
//
|
|
// Created by Brent Simmons on 1/13/18.
|
|
// Copyright © 2018 Ranchero Software. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public extension Dictionary where Key == String, Value == String {
|
|
|
|
/// Translates a dictionary into a string like `foo=bar¶m2=some%20thing`.
|
|
var urlQueryString: String? {
|
|
|
|
var components = URLComponents()
|
|
|
|
components.queryItems = self.reduce(into: [URLQueryItem]()) {
|
|
$0.append(URLQueryItem(name: $1.key, value: $1.value))
|
|
}
|
|
|
|
let s = components.percentEncodedQuery
|
|
|
|
return s == nil || s!.isEmpty ? nil : s
|
|
}
|
|
}
|