aboutsummaryrefslogtreecommitdiff
path: root/src/stream/file.zig
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2025-11-17 13:09:02 +0100
committerNathan Reiner <nathan@nathanreiner.xyz>2025-11-17 13:09:02 +0100
commit6201307fecf8398a1b53bf276bc08bfbb3524899 (patch)
tree2e623f4779b310a81b49dbb146146f8a694d9ec8 /src/stream/file.zig
parent9c979a6fefdfc6709b3576014520d219e02c3649 (diff)
implement memora.Stream
Diffstat (limited to 'src/stream/file.zig')
-rw-r--r--src/stream/file.zig22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/stream/file.zig b/src/stream/file.zig
new file mode 100644
index 0000000..bb6407b
--- /dev/null
+++ b/src/stream/file.zig
@@ -0,0 +1,22 @@
+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();
+}