diff --git a/Sources/SwiftExtensions/PipeAsStringHandler.swift b/Sources/SwiftExtensions/PipeAsStringHandler.swift index bc03df4e..3d12dba7 100644 --- a/Sources/SwiftExtensions/PipeAsStringHandler.swift +++ b/Sources/SwiftExtensions/PipeAsStringHandler.swift @@ -27,6 +27,14 @@ package actor PipeAsStringHandler { self.handler = handler } + deinit { + if !buffer.isEmpty { + queue.async { [handler, buffer] in + handler(String(data: buffer, encoding: .utf8) ?? "") + } + } + } + private func handleDataFromPipeImpl(_ newData: Data) { self.buffer += newData while let newlineIndex = self.buffer.firstIndex(of: UInt8(ascii: "\n")) {