mirror of
https://github.com/JohnEstropia/CoreStore.git
synced 2026-04-10 03:13:35 +02:00
declare operators as static functions
This commit is contained in:
@@ -27,17 +27,6 @@ import Foundation
|
|||||||
import CoreData
|
import CoreData
|
||||||
|
|
||||||
|
|
||||||
public func + (left: OrderBy, right: OrderBy) -> OrderBy {
|
|
||||||
|
|
||||||
return OrderBy(left.sortDescriptors + right.sortDescriptors)
|
|
||||||
}
|
|
||||||
|
|
||||||
public func += (left: inout OrderBy, right: OrderBy) {
|
|
||||||
|
|
||||||
left = left + right
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// MARK: - KeyPath
|
// MARK: - KeyPath
|
||||||
|
|
||||||
public typealias KeyPath = String
|
public typealias KeyPath = String
|
||||||
@@ -69,6 +58,22 @@ public enum SortKey {
|
|||||||
*/
|
*/
|
||||||
public struct OrderBy: FetchClause, QueryClause, DeleteClause, Hashable {
|
public struct OrderBy: FetchClause, QueryClause, DeleteClause, Hashable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
Combines two `OrderBy` sort descriptors together
|
||||||
|
*/
|
||||||
|
public static func + (left: OrderBy, right: OrderBy) -> OrderBy {
|
||||||
|
|
||||||
|
return OrderBy(left.sortDescriptors + right.sortDescriptors)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Combines two `OrderBy` sort descriptors together and stores the result to the left operand
|
||||||
|
*/
|
||||||
|
public static func += (left: inout OrderBy, right: OrderBy) {
|
||||||
|
|
||||||
|
left = left + right
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The list of sort descriptors
|
The list of sort descriptors
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -27,22 +27,6 @@ import Foundation
|
|||||||
import CoreData
|
import CoreData
|
||||||
|
|
||||||
|
|
||||||
public func && (left: Where, right: Where) -> Where {
|
|
||||||
|
|
||||||
return Where(NSCompoundPredicate(type: .and, subpredicates: [left.predicate, right.predicate]))
|
|
||||||
}
|
|
||||||
|
|
||||||
public func || (left: Where, right: Where) -> Where {
|
|
||||||
|
|
||||||
return Where(NSCompoundPredicate(type: .or, subpredicates: [left.predicate, right.predicate]))
|
|
||||||
}
|
|
||||||
|
|
||||||
public prefix func ! (clause: Where) -> Where {
|
|
||||||
|
|
||||||
return Where(NSCompoundPredicate(type: .not, subpredicates: [clause.predicate]))
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// MARK: - Where
|
// MARK: - Where
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -50,6 +34,30 @@ public prefix func ! (clause: Where) -> Where {
|
|||||||
*/
|
*/
|
||||||
public struct Where: FetchClause, QueryClause, DeleteClause, Hashable {
|
public struct Where: FetchClause, QueryClause, DeleteClause, Hashable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
Combines two `Where` predicates together using `AND` operator
|
||||||
|
*/
|
||||||
|
public static func && (left: Where, right: Where) -> Where {
|
||||||
|
|
||||||
|
return Where(NSCompoundPredicate(type: .and, subpredicates: [left.predicate, right.predicate]))
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Combines two `Where` predicates together using `OR` operator
|
||||||
|
*/
|
||||||
|
public static func || (left: Where, right: Where) -> Where {
|
||||||
|
|
||||||
|
return Where(NSCompoundPredicate(type: .or, subpredicates: [left.predicate, right.predicate]))
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Inverts the predicate of a `Where` clause using `NOT` operator
|
||||||
|
*/
|
||||||
|
public static prefix func ! (clause: Where) -> Where {
|
||||||
|
|
||||||
|
return Where(NSCompoundPredicate(type: .not, subpredicates: [clause.predicate]))
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The `NSPredicate` for the fetch or query
|
The `NSPredicate` for the fetch or query
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user