Skip to content

Commit 7d3182a

Browse files
committed
Merge pull request #48 from Carthage/code-improvements
Code improvements
2 parents e5bca45 + 25acd20 commit 7d3182a

File tree

2 files changed

+10
-21
lines changed

2 files changed

+10
-21
lines changed

ReactiveTask/Task.swift

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

ReactiveTaskTests/TaskSpec.swift

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,8 @@ class TaskSpec: QuickSpec {
3535
it("should launch a task that writes to stdout") {
3636
let result = launchTask(Task("/bin/echo", arguments: [ "foobar" ]))
3737
.reduce(NSMutableData()) { aggregated, event in
38-
switch event {
39-
case let .StandardOutput(data):
38+
if case let .StandardOutput(data) = event {
4039
aggregated.appendData(data)
41-
42-
default:
43-
break
4440
}
4541

4642
return aggregated
@@ -56,12 +52,8 @@ class TaskSpec: QuickSpec {
5652
it("should launch a task that writes to stderr") {
5753
let result = launchTask(Task("/usr/bin/stat", arguments: [ "not-a-real-file" ]))
5854
.reduce(NSMutableData()) { aggregated, event in
59-
switch event {
60-
case let .StandardError(data):
55+
if case let .StandardError(data) = event {
6156
aggregated.appendData(data)
62-
63-
default:
64-
break
6557
}
6658

6759
return aggregated

0 commit comments

Comments
 (0)