deft 0.15.0

Cross platform ui framework
use crate as deft;
use anyhow::Error;
use deft_macros::js_methods;
use std::path::PathBuf;

#[allow(nonstandard_style)]
pub struct path;

#[js_methods]
impl path {
    #[js_func]
    pub fn filename(p: String) -> Result<Option<String>, Error> {
        let p = PathBuf::from(p);
        Ok(p.file_name().map(|n| n.to_string_lossy().to_string()))
    }

    #[js_func]
    pub fn join(p: String, other: String) -> Result<String, Error> {
        let p = PathBuf::from(p);
        Ok(p.join(other).to_string_lossy().to_string())
    }
}