package kernel.fs; import haxe.ds.ReadOnlyArray; import kernel.fs.FileHandler.WriteBinaryHandle; import kernel.fs.FileHandler.ReadBinaryHandle; import kernel.fs.FileHandler.WriteHandle; import kernel.fs.FileHandler.ReadHandle; import cc.FileSystem; using lua.Table; /** Wrapper to interact with the filesystem. **/ class FS { public static inline function list(path: String):ReadOnlyArray { return FileSystem.list(path).toArray(); } public static inline function combine(base: String, part: String): String { return FileSystem.combine(base,part); } public static inline function getName(path: String): String { return FileSystem.getName(path); } public static inline function getDir(path: String): String { return FileSystem.getDir(path); } public static inline function getSize(path: String):Int { return FileSystem.getSize(path); } public static inline function exists(path: String):Bool { return FileSystem.exists(path); } public static inline function isDir(path: String): Bool { return FileSystem.isDir(path); } public static inline function isReadOnly(path: String):Bool { return FileSystem.isReadOnly(path); } public static inline function makeDir(path: String):Void { FileSystem.makeDir(path); } public static inline function move(src:String,dest:String):Void { FileSystem.move(src,dest); } public static inline function copy(src:String,dest:String):Void { FileSystem.copy(src,dest); } public static inline function delete(path: String):Void { FileSystem.delete(path); } public static inline function openRead(path:String): ReadHandle{ return FileSystem.open(path,Read); } public static inline function openWrite(path: String): WriteHandle { return FileSystem.open(path,Write); } public static inline function openAppend(path: String): WriteHandle { return FileSystem.open(path,Append); } public static inline function openReadBinary(path:String): ReadBinaryHandle { return FileSystem.open(path,BinaryRead); } public static inline function openWriteBinary(path: String): WriteBinaryHandle { return FileSystem.open(path,BinaryWrite); } public static inline function openAppendBinary(path: String): WriteBinaryHandle { return FileSystem.open(path,BinaryAppend); } public static inline function find(pattern: String):ReadOnlyArray { return FileSystem.find(pattern).toArray(); } public static inline function getFreeSpace(path:String):Int { return FileSystem.getFreeSpace(path); } public static inline function getCapacity(path:String):Int { return FileSystem.getCapacity(path); } public static inline function attributes(path: String):FileAttributes { return FileSystem.attributes(path); } }