NostrRequest.swift (1046B)
1 // 2 // NostrRequest.swift 3 // damus 4 // 5 // Created by William Casarin on 2022-04-12. 6 // 7 8 import Foundation 9 10 struct NostrSubscribe { 11 let filters: [NostrFilter] 12 let sub_id: String 13 } 14 15 16 enum NostrRequestType { 17 case typical(NostrRequest) 18 case custom(String) 19 20 var is_write: Bool { 21 guard case .typical(let req) = self else { 22 return true 23 } 24 25 return req.is_write 26 } 27 28 var is_read: Bool { 29 guard case .typical(let req) = self else { 30 return true 31 } 32 33 return req.is_read 34 } 35 } 36 37 enum NostrRequest { 38 case subscribe(NostrSubscribe) 39 case unsubscribe(String) 40 case event(NostrEvent) 41 case auth(NostrEvent) 42 43 var is_write: Bool { 44 switch self { 45 case .subscribe: 46 return false 47 case .unsubscribe: 48 return false 49 case .event: 50 return true 51 case .auth: 52 return false 53 } 54 } 55 56 var is_read: Bool { 57 return !is_write 58 } 59 60 }