use crate::{file_mode::FileMode, object::MontyObject};
pub trait ToArgs {
fn to_args(self) -> (Vec<MontyObject>, Vec<(MontyObject, MontyObject)>);
}
pub trait ToMontyObject {
fn into_monty_object(self) -> MontyObject;
}
impl ToMontyObject for MontyObject {
fn into_monty_object(self) -> MontyObject {
self
}
}
impl ToMontyObject for String {
fn into_monty_object(self) -> MontyObject {
MontyObject::String(self)
}
}
impl ToMontyObject for Vec<u8> {
fn into_monty_object(self) -> MontyObject {
MontyObject::Bytes(self)
}
}
impl ToMontyObject for bool {
fn into_monty_object(self) -> MontyObject {
MontyObject::Bool(self)
}
}
impl ToMontyObject for FileMode {
fn into_monty_object(self) -> MontyObject {
MontyObject::String(self.as_str().to_owned())
}
}