NewEquatable 0.0.5

NewEquatable 0.0.5

Maintained by Serhiy Vysotskiy.



  • By
  • Serhiy Vysotskiy

NewEquatable

Example

// To make struct Equatable by all fields just conform to NewEquatable

struct SomeEasyStruct: NewEquatable {
    let id: String
    let name: String
    let isActive: Bool
    let users: [String]
}


// for class you need to make it final

final class SomeClass: NewEquatable {
    let id: String = "ID"
    let name: String = "SomeClassObject"
    var isActive: Bool = true
}

Compare against custom types

struct A: NewEquatable {
    // you can add comparers for any custom Equatable type like that
    // if you want objects to be comparable with this custom type
    func comparers() -> [(A, A) -> Bool] {
        return [comparer(for: B.self)]
    }
    
    
    let id: String
    let date: Date
    
    // custom property
    let b: B
    
    struct B: NewEquatable {
        let id: String
        let count: Int
    }
}