Skip to content

Commit 364f0aa

Browse files
committed
Add Promise<(out, err)>.print()
1 parent cb89e54 commit 364f0aa

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

Sources/Process+Promise.swift

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,21 @@ extension Process.PMKError: LocalizedError {
103103
}
104104
}
105105

106+
public extension Promise where T == (out: Pipe, err: Pipe) {
107+
func print() -> Promise<T> {
108+
return tap { result in
109+
switch result {
110+
case .fulfilled(let raw):
111+
let stdout = String(data: raw.out.fileHandleForReading.readDataToEndOfFile(), encoding: .utf8)
112+
let stderr = String(data: raw.err.fileHandleForReading.readDataToEndOfFile(), encoding: .utf8)
113+
Swift.print("stdout: `\(stdout ?? "")`")
114+
Swift.print("stderr: `\(stderr ?? "")`")
115+
case .rejected(let err):
116+
Swift.print(err)
117+
}
118+
}
119+
}
120+
}
106121

107122
extension Process {
108123
/// Provided because Foundation’s is USELESS

0 commit comments

Comments
 (0)