Skip to content
Snippets Groups Projects
Select Git revision
  • d2acabe796b8be186e9680d35110d82beb2facfd
  • main default protected
  • development
  • integration
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.0
11 results

ContactFactsSetter.swift

Blame
  • ContactFactsSetter.swift 808 B
    import Bindings
    
    public struct ContactFactsSetter {
      public var set: (Data, Data) throws -> Data
    
      public func callAsFunction(contact: Data, facts: Data) throws -> Data {
        try set(contact, facts)
      }
    }
    
    extension ContactFactsSetter {
      public static let live = ContactFactsSetter { contact, facts in
        var error: NSError?
        let updatedContact = BindingsSetFactsOnContact(contact, facts, &error)
        if let error = error {
          throw error
        }
        guard let updatedContact = updatedContact else {
          fatalError("BindingsSetFactsOnContact returned `nil` without providing error")
        }
        return updatedContact
      }
    }
    
    #if DEBUG
    extension ContactFactsSetter {
      public static let failing = ContactFactsSetter { _, _ in
        struct NotImplemented: Error {}
        throw NotImplemented()
      }
    }
    #endif