diff options
Diffstat (limited to 'src/stream')
| -rw-r--r-- | src/stream/buffer.zig | 28 | ||||
| -rw-r--r-- | src/stream/file.zig | 22 | ||||
| -rw-r--r-- | src/stream/root.zig | 33 |
3 files changed, 0 insertions, 83 deletions
diff --git a/src/stream/buffer.zig b/src/stream/buffer.zig deleted file mode 100644 index fca1deb..0000000 --- a/src/stream/buffer.zig +++ /dev/null @@ -1,28 +0,0 @@ -const std = @import("std"); - -const Self = @This(); - -buffer: []const u8, -buffer_reader: ?std.Io.Reader, - -pub fn init(buffer: []const u8) Self { - return .{ - .buffer = buffer, - .buffer_reader = null, - }; -} - -pub fn reader(self: *Self, buffer: []u8) *std.Io.Reader { - _ = buffer; - - if (self.buffer_reader) |*r| { - return r; - } - - self.buffer_reader = std.Io.Reader.fixed(self.buffer); - return &self.buffer_reader.?; -} - -pub fn close(self: *Self) void { - _ = self; -} diff --git a/src/stream/file.zig b/src/stream/file.zig deleted file mode 100644 index bb6407b..0000000 --- a/src/stream/file.zig +++ /dev/null @@ -1,22 +0,0 @@ -const std = @import("std"); - -const Self = @This(); - -file: std.fs.File, -file_reader: ?std.fs.File.Reader, - -pub fn init(file: std.fs.File) Self { - return .{ - .file = file, - .file_reader = null, - }; -} - -pub fn reader(self: *Self, buffer: []u8) *std.Io.Reader { - self.file_reader = self.file.reader(buffer); - return &self.file_reader.?.interface; -} - -pub fn close(self: *Self) void { - self.file.close(); -} diff --git a/src/stream/root.zig b/src/stream/root.zig deleted file mode 100644 index 11580ac..0000000 --- a/src/stream/root.zig +++ /dev/null @@ -1,33 +0,0 @@ -const std = @import("std"); - -pub const Stream = union(enum) { - const Self = @This(); - - pub const File = @import("file.zig"); - pub const Buffer = @import("buffer.zig"); - - file: File, - buffer: Buffer, - - pub fn from_file(file: std.fs.File) Self { - return .{ .file = File.init(file) }; - } - - pub fn from_buffer(buffer: []const u8) Self { - return .{ .buffer = Buffer.init(buffer) }; - } - - pub fn reader(self: *Self, buffer: []u8) *std.Io.Reader { - return switch(self.*) { - .file => |*f| f.reader(buffer), - .buffer => |*b| b.reader(buffer), - }; - } - - pub fn close(self: *Self) void { - return switch(self.*) { - .file => |*f| f.close(), - .buffer => |*b| b.close(), - }; - } -}; |