Skip to content

Commit f04b40a

Browse files
committed
Change count endpoint to return values as 'Numeric' conforming type to match the others.
1 parent 6bc2839 commit f04b40a

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

Sources/CoreDataRepository/AggregateRepository.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,15 @@ public final class AggregateRepository {
9999
/// - Returns
100100
/// - AnyPublisher<Success<Int>, Failure<Int>>
101101
///
102-
public func count(predicate: NSPredicate, entityDesc: NSEntityDescription) -> AnyPublisher<Success<Int>, Failure> {
102+
public func count<Value: Numeric>(predicate: NSPredicate, entityDesc: NSEntityDescription) -> AnyPublisher<Success<Value>, Failure> {
103103
return Deferred { Future { [weak self] callback in
104104
let request = NSFetchRequest<NSDictionary>(entityName: entityDesc.name ?? "")
105105
request.predicate = predicate
106106
request.sortDescriptors = [NSSortDescriptor(key: entityDesc.attributesByName.values.first!.name, ascending: true)]
107107
guard let self = self else { return callback(.failure(Failure(function: .count, request: request, error: .unknown))) }
108108
do {
109109
let count = try self.context.count(for: request)
110-
callback(.success(Success(function: .count, result: [["countOf\(entityDesc.name ?? "")": count]], request: request)))
110+
callback(.success(Success(function: .count, result: [["countOf\(entityDesc.name ?? "")": Value(exactly: count) ?? Value.zero]], request: request)))
111111
} catch {
112112
callback(.failure(Failure(function: .count, request: request, error: .cocoa(error as NSError))))
113113
}

0 commit comments

Comments
 (0)