mirror of
https://github.com/neon443/StickerSlack.git
synced 2026-03-11 05:19:13 +00:00
reduced usage of isLocal in favour of checking hoarder.downloadedEmojis
wrote tests to check that, Set checking is 1.5 to 2x faster
This commit is contained in:
@@ -21,7 +21,7 @@ class EmojiHoarder: ObservableObject {
|
||||
|
||||
@Published var trie: Trie = Trie()
|
||||
@Published var filteredEmojis: [String] = []
|
||||
@Published var downloadedEmojis: [String] = []
|
||||
@Published var downloadedEmojis: Set<String> = []
|
||||
@Published var searchTerm: String = ""
|
||||
|
||||
init(localOnly: Bool = false) {
|
||||
@@ -97,7 +97,7 @@ class EmojiHoarder: ObservableObject {
|
||||
downloadedEmojis = []
|
||||
for emoji in emojis {
|
||||
guard emoji.isLocal else { continue }
|
||||
downloadedEmojis.append(emoji.name)
|
||||
downloadedEmojis.insert(emoji.name)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ struct EmojiRow: View {
|
||||
)
|
||||
.frame(maxWidth: 100, maxHeight: 100)
|
||||
Spacer()
|
||||
if emoji.isLocal {
|
||||
if hoarder.downloadedEmojis.contains(emoji.name) {
|
||||
Button("", systemImage: "trash") {
|
||||
emoji.deleteImage()
|
||||
emoji.refresh()
|
||||
|
||||
@@ -56,7 +56,7 @@ struct EmojiCollectionView: UIViewRepresentable {
|
||||
)
|
||||
.frame(maxWidth: 100, maxHeight: 100)
|
||||
Spacer()
|
||||
if hoarder.trie.dict[emojiName]!.isLocal {
|
||||
if hoarder.downloadedEmojis.contains(emojiName) {
|
||||
Button("", systemImage: "trash") {
|
||||
self.hoarder.trie.dict[emojiName]!.deleteImage()
|
||||
self.hoarder.trie.dict[emojiName]!.refresh()
|
||||
|
||||
@@ -140,4 +140,16 @@ struct PerformanceTests {
|
||||
let _ = hoarder.trie.search(prefix: term)
|
||||
}
|
||||
}
|
||||
|
||||
@Test func testIsLocal() async throws {
|
||||
for emoji in hoarder.emojis {
|
||||
let x = emoji.isLocal
|
||||
}
|
||||
}
|
||||
|
||||
@Test func testDownloadedEmojis() async throws {
|
||||
for emoji in hoarder.emojis {
|
||||
let x = hoarder.downloadedEmojis.contains(emoji.name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user