Files
damus/damus/Models/ReplyMap.swift
William Casarin d0a6c2e2e4 Thread Caching
Changelog-Added: Threads now load instantly and are cached
2023-03-04 17:40:22 -05:00

33 lines
635 B
Swift

//
// ReplyMap.swift
// damus
//
// Created by William Casarin on 2022-04-19.
//
import Foundation
class ReplyMap {
var replies: [String: Set<String>] = [:]
func lookup(_ id: String) -> Set<String>? {
return replies[id]
}
private func ensure_set(id: String) {
if replies[id] == nil {
replies[id] = Set()
}
}
@discardableResult
func add(id: String, reply_id: String) -> Bool {
ensure_set(id: id)
if (replies[id]!).contains(reply_id) {
return false
}
replies[id]!.insert(reply_id)
return true
}
}