mirror of
https://github.com/GayPizzaSpecifications/darwin-apk.git
synced 2025-08-03 21:41:31 +00:00
Initial implementation of APKINDEX, fetching, reading, parsing, & merging
This commit is contained in:
21
Sources/apk/Utility/InputStream.swift
Normal file
21
Sources/apk/Utility/InputStream.swift
Normal file
@ -0,0 +1,21 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import Foundation
|
||||
|
||||
public protocol InputStream: Stream, IteratorProtocol {
|
||||
associatedtype Element = UInt8
|
||||
|
||||
mutating func read(_ count: Int) throws(StreamError) -> Data
|
||||
}
|
||||
|
||||
public extension InputStream {
|
||||
mutating func read(_ size: Int, items: Int) throws(StreamError) -> Data {
|
||||
try self.read(size * items)
|
||||
}
|
||||
}
|
||||
|
||||
public extension InputStream {
|
||||
mutating func next() -> UInt8? {
|
||||
try? self.read(1).first
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user