Codecs.hx 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package python.lib;
  2. import python.lib.io.IOBase;
  3. import python.lib.io.RawIOBase;
  4. import python.lib.io.TextIOBase;
  5. import python.lib.Bytes;
  6. import python.lib.FileObject;
  7. import python.lib.Tuple.Tup2;
  8. extern interface Codec {
  9. public function encode(input:Dynamic, ?errors:String = "strict"):Tup2<String, Int>;
  10. public function decode(input:Dynamic, ?errors:String = "strict"):Tup2<Bytes, Int>;
  11. }
  12. extern interface StreamReader extends Codec {
  13. public function read(?size:Int, ?chars:Int, ?firstline:Bool):String;
  14. public function readline(?size:Int, ?keepsend:Bool = false):String;
  15. public function readlines(?sizehint:Int, ?keepsend:Bool = false):Array<String>;
  16. public function reset():Void;
  17. }
  18. extern interface StreamWriter extends Codec {
  19. public function write(object:Dynamic):Void;
  20. public function writelines(list:Array<String>):Void;
  21. public function reset():Void;
  22. }
  23. extern class StreamReaderWriterText implements StreamReader implements StreamWriter {
  24. public function read(?size:Int, ?chars:Int, ?firstline:Bool):String;
  25. public function readline(?size:Int, ?keepsend:Bool = false):String;
  26. public function readlines(?sizehint:Int, ?keepsend:Bool = false):Array<String>;
  27. public function reset():Void;
  28. public function write(object:Dynamic):Void;
  29. public function writelines(list:Array<String>):Void;
  30. public function close():Void;
  31. public function encode(input:Dynamic, ?errors:String = "strict"):Tup2<String, Int>;
  32. public function decode(input:Dynamic, ?errors:String = "strict"):Tup2<Bytes, Int>;
  33. }
  34. @:import("codecs")
  35. extern class Codecs {
  36. public static function open(filename:String, mode:String, ?encoding:String, ?errors:String, ?buffering:Bool):StreamReaderWriterText;
  37. }