Files
cc-haxe/src/kernel/fs/FileHandler.hx
2023-07-30 15:55:22 +02:00

113 lines
2.3 KiB
Haxe

package kernel.fs;
import cc.FileSystem.FileHandle;
using tink.CoreApi;
abstract ReadHandle(FileHandle) from FileHandle {
public inline function new(handle:FileHandle) {
this = handle;
}
public inline function readLine(?withTrailing:Bool = false):Null<String> {
return this.readLine(withTrailing);
}
public inline function readAll():Null<String> {
return this.readAll();
}
public inline function read(?count:Int = 1):Null<String> {
return this.read(count);
}
public inline function close():Void {
this.close();
}
}
abstract WriteHandle(FileHandle) from FileHandle {
public inline function new(handle:FileHandle) {
this = handle;
}
public inline function write(data:String):Void {
this.write(data);
}
public inline function writeLine(data:String):Void {
this.writeLine(data);
}
public inline function flush():Void {
this.flush();
}
public inline function close():Void {
this.close();
}
}
abstract ReadBinaryHandle(FileHandle) from FileHandle {
public inline function new(handle:FileHandle) {
this = handle;
}
public inline function readLine(?withTrailing:Bool = false):Null<String> {
return this.readLine(withTrailing);
}
public inline function readAll():Null<String> {
return this.readAll();
}
public inline function read(count:Int):Null<String> {
return this.read(count);
}
public inline function readByte():Null<Int> {
return this.read();
}
public inline function seek(?whence:BinarySeekWhence = Current, ?offset:Int):Void {
this.seek(whence, offset);
}
public inline function close():Void {
this.close();
}
}
abstract WriteBinaryHandle(FileHandle) from FileHandle {
public inline function new(handle:FileHandle) {
this = handle;
}
public inline function write(data:String):Void {
this.write(data);
}
// TODO
public inline function writeByte(data:Int):Void {
// this.write(data);
}
public inline function flush():Void {
this.flush();
}
public inline function close():Void {
this.close();
}
public inline function seek(?whence:BinarySeekWhence = Current, ?offset:Int):Void {
this.seek(whence, offset);
}
}
enum abstract BinarySeekWhence(String) to String {
var Set = "set"; // Relative to the beginning of the file.
var Current = "cur"; // Relative to the current position. This is the default.
var End = "end"; // Relative to the end of the file.
}