67 lines
2.4 KiB
Haxe
67 lines
2.4 KiB
Haxe
package cc;
|
|
|
|
import lua.Table;
|
|
|
|
enum abstract OpenFileMode(String) {
|
|
var Read = "r";
|
|
var Write = "w";
|
|
var Append = "a";
|
|
var BinaryRead = "rb";
|
|
var BinaryWrite = "wb";
|
|
var BinaryAppend = "ab";
|
|
}
|
|
|
|
@:luaDotMethod
|
|
extern class FileHandle {
|
|
public function readLine(?withTrailing:Bool):Null<String>;
|
|
public function readAll():Null<String>;
|
|
/**
|
|
Returns Int or if `count` is given it returns a string.
|
|
**/
|
|
public function read(?count:Int):Null<Dynamic>; // TODO: better type
|
|
public function write(data:String):Void;
|
|
public function writeLine(data:String):Void;
|
|
public function flush():Void;
|
|
public function seek(?whence:String, ?offset:Int):Int;
|
|
public function close():Void;
|
|
}
|
|
|
|
extern class FileAttributes {
|
|
var size:Int;
|
|
var isDir:Bool;
|
|
var isReadOnly:Bool;
|
|
var created:Int;
|
|
var modified:Int;
|
|
}
|
|
|
|
@:lua
|
|
@:native("fs")
|
|
extern class FileSystem {
|
|
public static function isDriveRoot(path:String):Bool;
|
|
public static function complete(path:String, location:String, ?include_files:Bool, ?include_dirs:Bool):Bool;
|
|
public static function list(path:String):Table<Int, String>;
|
|
public static function combine(base:String, part:String):String;
|
|
public static function getName(path:String):String;
|
|
public static function getDir(path:String):String;
|
|
public static function getSize(path:String):Int;
|
|
public static function exists(path:String):Bool;
|
|
public static function isDir(path:String):Bool;
|
|
public static function isReadOnly(path:String):Bool;
|
|
public static function makeDir(path:String):Void;
|
|
public static function move(from:String, to:String):Void;
|
|
public static function copy(from:String, to:String):Void;
|
|
public static function delete(path:String):Void;
|
|
public static function open(path:String, mode:OpenFileMode):FileHandle;
|
|
// public static function open(path:String, mode:"r"):ReadFileHandle;
|
|
// public static function open(path:String, mode:"w"):WriteFileHandle;
|
|
// public static function open(path:String, mode:"a"):WriteFileHandle;
|
|
// public static function open(path:String, mode:"rb"):BinaryReadFileHandle;
|
|
// public static function open(path:String, mode:"wb"):BinaryWriteFileHandle;
|
|
// public static function open(path:String, mode:"ab"):BinaryWriteFileHandle;
|
|
public static function getDrive(path:String):String;
|
|
public static function getFreeSpace(path:String):Int;
|
|
public static function find(pattern:String):Table<Int, String>;
|
|
public static function getCapacity(path:String):Null<Int>;
|
|
public static function attributes(path:String):FileAttributes;
|
|
}
|