collection.allElementsEqual
// ┌──────────────────────────────────────┐
// │ Collection + .allElementsEqual │
// └──────────────────────────────────────┘
extension Collection where Element: Equatable {
/// ```
/// [1,1,1].allElementsEqual == true
/// ```
public var allElementsEqual: Bool {
// always true for empty arrays
guard first != nil else { return true }
return dropFirst().allSatisfy { $0 == first! }
}
}[1, 2, 3].allElementsEqual, // ❌
[1, 1, 1].allElementsEqual, // ✅
[1].allElementsEqual, // ✅
([] as! [Int]).allElementsEqual, // ✅
["ya", "ya", "ya"].allElementsEqual, // ✅Last updated