TeraGeneratedAuthorVisibility.swift (1096B)
1 import TeraKitBindings 2 3 extension TeraGeneratedRuntimeBackend { 4 func authorVisibility() async throws -> TeraAuthorVisibilityPolicy { 5 do { return try await runtime.authorVisibility().appValue } catch { throw TeraGeneratedRuntimeFailure.from(error) } 6 } 7 8 func setAuthorVisibility(author: String, visibility: TeraAuthorVisibility) async throws -> TeraAuthorVisibilityPolicy { 9 let mode: FfiAuthorVisibility = switch visibility { 10 case .visible: .visible 11 case .muted: .muted 12 case .blocked: .blocked 13 } 14 do { return try await runtime.setAuthorVisibility(author: author, visibility: mode).appValue } catch { throw TeraGeneratedRuntimeFailure.from(error) } 15 } 16 } 17 18 private extension FfiAuthorVisibilityPolicy { 19 var appValue: TeraAuthorVisibilityPolicy { 20 TeraAuthorVisibilityPolicy(revision: revision, entries: entries.map { 21 let mode: TeraAuthorVisibility = switch $0.visibility { 22 case .visible: .visible 23 case .muted: .muted 24 case .blocked: .blocked 25 } 26 return TeraAuthorVisibilityEntry(author: $0.author, visibility: mode) 27 }) 28 } 29 }