CommandLineToolkit
12 строк · 551.0 Байт
1import Foundation
2
3/// A basic interface that allows JSONReader to read the stream symbol by symbol, consuming the JSON element by element
4/// rather than having the whole JSON object availbla to parse upfront.
5public protocol JSONStream {
6/// Provides back a next scalar without actually moving a pointer. Returns nil if no more data avaiable.
7func touch() -> UInt8?
8/// Moves a pointer to the next scalar and provides it back. Returns nil if no more data avaiable.
9func read() -> UInt8?
10/// Closes the stream.
11func close()
12}
13