A Swift Encoder for encoding any Encodable value into an array of URLQueryItem
URLQueryItemEncoder
A Swift Encoder
for encoding any Encodable
value into an array of URLQueryItem
. As part of the SE-0166, Swift has a foundation for any type to define how its value should be archived. This encoder allows you to encode those value into an array of URLQueryItem
which represent that value in one command.
struct Language {
let name: String
let age: Int
}
let person = Language(name: "Swift", age: 4)
let encoder = URLQueryItemEncoder()
let items = try encoder.encode(person)
// items == [URLQueryItem(name: "name", value: "Swift"), URLQueryItem(name: "age", value: "4")]
Requirements
- iOS 8+
- macOS 10.10+
- Swift 4.0+
Installation
Manually
This project comes with built in URLQueryItemEncoder framework
target. You can drag URLQueryItemEncoder.xcproj
file into your project, add URLQueryItemEncoder framework
target as a target dependency and link/embed that framework. and Voila!!!
import URLQueryItemEncoder
Or you can copy the URLQueryItemEncoder.swift
file into your project.
CocoaPods
Add the following to your Podfile
pod 'URLQueryItemEncoder'
use_frameworks!
Carthage
Add the following to your Cartfile
github "pitiphong-p/URLQueryItemEncoder"
Swift Package Manager
You can use Swift Package Manager and specify dependency in Package.swift
by adding this:
dependencies: [
.Package(url: "https://github.com/pitiphong-p/URLQueryItemEncoder.git", majorVersion: 0)
]
Usage
The URLQueryItemEncoder
has a simple and familiar API. It has only 1 method for performing the encoding and 1 strategy for choosing how to encode the Array Index
key.
let encoder = URLQueryItemEncoder()
let items = try encoder.encode(person)
Contact
Pitiphong Phongpattranont
License
URLQueryItemEncoder
is released under an MIT License.
Copyright © 2017-present Pitiphong Phongpattranont.