Tusker/Pachyderm/Model/Hashtag.swift

52 lines
1.0 KiB
Swift
Raw Normal View History

2018-09-11 14:52:21 +00:00
//
// Hashtag.swift
// Pachyderm
//
// Created by Shadowfacts on 9/9/18.
// Copyright © 2018 Shadowfacts. All rights reserved.
//
import Foundation
2019-12-20 02:20:29 +00:00
public class Hashtag: Codable {
2018-09-11 14:52:21 +00:00
public let name: String
public let url: URL
public let history: [History]?
public init(name: String, url: URL) {
self.name = name
self.url = url
self.history = nil
}
private enum CodingKeys: String, CodingKey {
case name
case url
case history
}
}
extension Hashtag {
2019-12-20 02:20:29 +00:00
public class History: Codable {
2018-09-11 14:52:21 +00:00
public let day: Date
public let uses: Int
public let accounts: Int
private enum CodingKeys: String, CodingKey {
case day
case uses
case accounts
}
}
}
2019-09-15 01:24:43 +00:00
extension Hashtag: Equatable, Hashable {
public static func ==(lhs: Hashtag, rhs: Hashtag) -> Bool {
2019-12-20 02:20:29 +00:00
return lhs.name == rhs.name
2019-09-15 01:24:43 +00:00
}
public func hash(into hasher: inout Hasher) {
hasher.combine(url)
}
}