@@ -10,22 +10,44 @@ public extension Guarantee {
1010 let dispatcher = selectDispatcher ( given: on, configured: conf. D. map, flags: flags)
1111 return then ( on: dispatcher, body)
1212 }
13+
14+ @discardableResult
15+ func then< U> ( on: DispatchQueue ? = . pmkDefault, flags: DispatchWorkItemFlags ? = nil , _ body: @escaping ( T ) throws -> Guarantee < U > ) -> Promise < U > {
16+ let dispatcher = selectDispatcher ( given: on, configured: conf. D. map, flags: flags)
17+ return then ( on: dispatcher, body)
18+ }
1319
1420 func map< U> ( on: DispatchQueue ? = . pmkDefault, flags: DispatchWorkItemFlags ? = nil , _ body: @escaping ( T ) -> U ) -> Guarantee < U > {
1521 let dispatcher = selectDispatcher ( given: on, configured: conf. D. map, flags: flags)
1622 return map ( on: dispatcher, body)
1723 }
24+
25+ func map< U> ( on: DispatchQueue ? = . pmkDefault, flags: DispatchWorkItemFlags ? = nil , _ body: @escaping ( T ) throws -> U ) -> Promise < U > {
26+ let dispatcher = selectDispatcher ( given: on, configured: conf. D. map, flags: flags)
27+ return map ( on: dispatcher, body)
28+ }
1829
1930 @discardableResult
2031 func done( on: DispatchQueue ? = . pmkDefault, flags: DispatchWorkItemFlags ? = nil , _ body: @escaping ( T ) -> Void ) -> Guarantee < Void > {
2132 let dispatcher = selectDispatcher ( given: on, configured: conf. D. return, flags: flags)
2233 return done ( on: dispatcher, body)
2334 }
35+
36+ @discardableResult
37+ func done( on: DispatchQueue ? = . pmkDefault, flags: DispatchWorkItemFlags ? = nil , _ body: @escaping ( T ) throws -> Void ) -> Promise < Void > {
38+ let dispatcher = selectDispatcher ( given: on, configured: conf. D. return, flags: flags)
39+ return done ( on: dispatcher, body)
40+ }
2441
2542 func get( on: DispatchQueue ? = . pmkDefault, flags: DispatchWorkItemFlags ? = nil , _ body: @escaping ( T ) -> Void ) -> Guarantee < T > {
2643 let dispatcher = selectDispatcher ( given: on, configured: conf. D. return, flags: flags)
2744 return get ( on: dispatcher, body)
2845 }
46+
47+ func get( on: DispatchQueue ? = . pmkDefault, flags: DispatchWorkItemFlags ? = nil , _ body: @escaping ( T ) throws -> Void ) -> Promise < T > {
48+ let dispatcher = selectDispatcher ( given: on, configured: conf. D. return, flags: flags)
49+ return get ( on: dispatcher, body)
50+ }
2951}
3052
3153public extension Guarantee where T: Sequence {
0 commit comments