@@ -38,7 +38,7 @@ public struct Task {
3838 }
3939
4040 /// A GCD group which to wait completion
41- private static var group = dispatch_group_create ( )
41+ private static let group = dispatch_group_create ( )
4242
4343 /// wait for all task termination
4444 public static func waitForAllTaskTermination( ) {
@@ -262,13 +262,10 @@ public enum TaskEvent<T>: TaskEventType {
262262
263263 /// The resulting value, if the event is `Success`.
264264 public var value : T ? {
265- switch self {
266- case . Launch, . StandardOutput, . StandardError:
267- return nil
268-
269- case let . Success( value) :
265+ if case let . Success( value) = self {
270266 return value
271267 }
268+ return nil
272269 }
273270
274271 /// Maps over the value embedded in a `Success` event.
@@ -292,16 +289,16 @@ public enum TaskEvent<T>: TaskEventType {
292289 public func producerMap< U, Error> ( @noescape transform: T -> SignalProducer < U , Error > ) -> SignalProducer < TaskEvent < U > , Error > {
293290 switch self {
294291 case let . Launch( task) :
295- return SignalProducer < TaskEvent < U > , Error > ( value: . Launch( task) )
292+ return . init ( value: . Launch( task) )
296293
297294 case let . StandardOutput( data) :
298- return SignalProducer < TaskEvent < U > , Error > ( value: . StandardOutput( data) )
295+ return . init ( value: . StandardOutput( data) )
299296
300297 case let . StandardError( data) :
301- return SignalProducer < TaskEvent < U > , Error > ( value: . StandardError( data) )
298+ return . init ( value: . StandardError( data) )
302299
303300 case let . Success( value) :
304- return transform ( value) . map { . Success( $0 ) }
301+ return transform ( value) . map ( TaskEvent < U > . Success)
305302 }
306303 }
307304}
@@ -471,7 +468,7 @@ public func launchTask(task: Task, standardInput: SignalProducer<NSData, NoError
471468 // through stdout.
472469 disposable += stderrAggregated
473470 . then ( stdoutAggregated)
474- . map { data in . Success( data ) }
471+ . map ( TaskEvent . Success)
475472 . start ( observer)
476473 } else {
477474 // Wait for stdout to finish, then pass
0 commit comments