@@ -48,48 +48,25 @@ final class AggregateSubscription<Value: Numeric & Sendable>: Subscription<Value
4848 attributeDesc: NSAttributeDescription ,
4949 groupBy: NSAttributeDescription ? = nil ,
5050 continuation: AsyncStream < Result < Value , CoreDataError > > . Continuation
51- ) {
52- let request : NSFetchRequest < NSDictionary >
53- do {
54- request = try NSFetchRequest . request (
55- function: function,
56- predicate: predicate,
57- entityDesc: entityDesc,
58- attributeDesc: attributeDesc,
59- groupBy: groupBy
60- )
61- } catch {
62- self . init (
63- fetchRequest: NSFetchRequest ( ) ,
64- fetchResultControllerRequest: NSFetchRequest ( ) ,
65- context: context,
66- continuation: continuation
67- )
68- fail ( error)
69- return
70- }
51+ ) throws ( CoreDataError) {
52+ let request : NSFetchRequest < NSDictionary > = try NSFetchRequest . request (
53+ function: function,
54+ predicate: predicate,
55+ entityDesc: entityDesc,
56+ attributeDesc: attributeDesc,
57+ groupBy: groupBy
58+ )
7159 guard entityDesc == attributeDesc. entity else {
72- self . init (
73- fetchRequest: NSFetchRequest ( ) ,
74- fetchResultControllerRequest: NSFetchRequest ( ) ,
75- context: context,
76- continuation: continuation
77- )
7860 guard let entityName = entityDesc. name ?? entityDesc. managedObjectClassName else {
79- fail ( . propertyDoesNotMatchEntity( description: nil ) )
80- return
61+ throw CoreDataError . propertyDoesNotMatchEntity ( description: nil )
8162 }
8263 guard let attributeEntityName = attributeDesc. entity. name ?? attributeDesc. entity. managedObjectClassName
8364 else {
84- fail ( . propertyDoesNotMatchEntity( description: entityName) )
85- return
65+ throw CoreDataError . propertyDoesNotMatchEntity ( description: entityName)
8666 }
87- fail (
88- . propertyDoesNotMatchEntity(
89- description: " \( entityName) != \( attributeDesc. name) . \( attributeEntityName) "
90- )
67+ throw CoreDataError . propertyDoesNotMatchEntity (
68+ description: " \( entityName) != \( attributeDesc. name) . \( attributeEntityName) "
9169 )
92- return
9370 }
9471 self . init ( request: request, context: context, continuation: continuation)
9572 }
@@ -104,48 +81,25 @@ final class AggregateSubscription<Value: Numeric & Sendable>: Subscription<Value
10481 attributeDesc: NSAttributeDescription ,
10582 groupBy: NSAttributeDescription ? = nil ,
10683 continuation: AsyncStream < Result < Value , CoreDataError > > . Continuation
107- ) {
108- let request : NSFetchRequest < NSDictionary >
109- do {
110- request = try NSFetchRequest . request (
111- function: function,
112- predicate: predicate,
113- entityDesc: entityDesc,
114- attributeDesc: attributeDesc,
115- groupBy: groupBy
116- )
117- } catch {
118- self . init (
119- fetchRequest: NSFetchRequest ( ) ,
120- fetchResultControllerRequest: NSFetchRequest ( ) ,
121- context: context,
122- continuation: continuation
123- )
124- fail ( error)
125- return
126- }
84+ ) throws ( CoreDataError) {
85+ let request : NSFetchRequest < NSDictionary > = try NSFetchRequest . request (
86+ function: function,
87+ predicate: predicate,
88+ entityDesc: entityDesc,
89+ attributeDesc: attributeDesc,
90+ groupBy: groupBy
91+ )
12792 guard entityDesc == attributeDesc. entity else {
128- self . init (
129- fetchRequest: NSFetchRequest ( ) ,
130- fetchResultControllerRequest: NSFetchRequest ( ) ,
131- context: context,
132- continuation: continuation
133- )
13493 guard let entityName = entityDesc. name ?? entityDesc. managedObjectClassName else {
135- fail ( . propertyDoesNotMatchEntity( description: nil ) )
136- return
94+ throw CoreDataError . propertyDoesNotMatchEntity ( description: nil )
13795 }
13896 guard let attributeEntityName = attributeDesc. entity. name ?? attributeDesc. entity. managedObjectClassName
13997 else {
140- fail ( . propertyDoesNotMatchEntity( description: entityName) )
141- return
98+ throw CoreDataError . propertyDoesNotMatchEntity ( description: entityName)
14299 }
143- fail (
144- . propertyDoesNotMatchEntity(
145- description: " \( entityName) != \( attributeDesc. name) . \( attributeEntityName) "
146- )
100+ throw CoreDataError . propertyDoesNotMatchEntity (
101+ description: " \( entityName) != \( attributeDesc. name) . \( attributeEntityName) "
147102 )
148- return
149103 }
150104 self . init (
151105 fetchRequest: request,
0 commit comments