2018-11-11 18:09:52 +01:00
|
|
|
//
|
|
|
|
|
// AdditionField.swift
|
|
|
|
|
// passKit
|
|
|
|
|
//
|
|
|
|
|
// Created by Danny Moesch on 30.09.18.
|
|
|
|
|
// Copyright © 2018 Bob Sun. All rights reserved.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
public struct AdditionField: Hashable {
|
|
|
|
|
|
|
|
|
|
public let title: String, content: String
|
|
|
|
|
|
2018-12-15 21:48:35 +01:00
|
|
|
public init(title: String = "", content: String = "") {
|
|
|
|
|
self.title = title
|
|
|
|
|
self.content = content
|
|
|
|
|
}
|
|
|
|
|
|
2018-11-11 18:09:52 +01:00
|
|
|
var asString: String {
|
|
|
|
|
return title.isEmpty ? content : title + ": " + content
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var asTuple: (String, String) {
|
|
|
|
|
return (title, content)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
extension AdditionField {
|
|
|
|
|
|
|
|
|
|
static func | (left: String, right: AdditionField) -> String {
|
|
|
|
|
return left | right.asString
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static func | (left: AdditionField, right: String) -> String {
|
|
|
|
|
return left.asString | right
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static func | (left: AdditionField, right: AdditionField) -> String {
|
|
|
|
|
return left.asString | right
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
extension AdditionField: Equatable {
|
2018-12-09 16:59:07 -08:00
|
|
|
|
2018-11-11 18:09:52 +01:00
|
|
|
public static func == (first: AdditionField, second: AdditionField) -> Bool {
|
|
|
|
|
return first.asTuple == second.asTuple
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
infix operator =>: MultiplicationPrecedence
|
2018-12-15 21:48:35 +01:00
|
|
|
public func => (key: String, value: String) -> AdditionField {
|
2018-11-11 18:09:52 +01:00
|
|
|
return AdditionField(title: key, content: value)
|
|
|
|
|
}
|