use indexmap::IndexMap; #[derive(Debug)] pub enum PhpMixed { Null, Bool(bool), Int(i64), Float(f64), String(String), List(Vec>), Array(IndexMap>), } #[derive(Debug)] pub struct Exception { pub message: String, pub code: i64, } #[derive(Debug)] pub struct RuntimeException { pub message: String, pub code: i64, } #[derive(Debug)] pub struct UnexpectedValueException { pub message: String, pub code: i64, } #[derive(Debug)] pub struct InvalidArgumentException { pub message: String, pub code: i64, } pub fn get_debug_type(value: &PhpMixed) -> String { todo!() } pub fn hash(algo: &str, data: &str) -> String { todo!() } #[derive(Debug)] pub struct Phar { path: String, } impl Phar { pub fn new(a: String) -> Self { todo!() } pub fn extract_to(&self, a: &str, b: Option<()>, c: bool) { todo!() } } #[derive(Debug)] pub struct PharFileInfo; impl PharFileInfo { pub fn get_content(&self) -> String { todo!() } pub fn get_basename(&self) -> String { todo!() } pub fn is_dir(&self) -> bool { todo!() } } #[derive(Debug)] pub struct PharData { path: String, } impl PharData { pub fn new(a: String) -> Self { todo!() } pub fn valid(&self) -> bool { todo!() } pub fn get(&self, key: &str) -> Option { todo!() } pub fn iter(&self) -> impl Iterator { todo!(); std::iter::empty() } pub fn extract_to(&self, a: &str, b: Option<()>, c: bool) { todo!() } pub fn add_empty_dir(&self, a: &str) { todo!() } }