1use crate::interface::{FormatInputPathObject, ParsedPath};
2use js_sys::JsString;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen(module = "path")]
6extern {
7 pub static delimiter: JsString;
8
9 pub static sep: JsString;
10
11 pub fn basename(path: &JsString, ext: Option<JsString>) -> JsString;
12
13 pub fn dirname(path: &JsString) -> JsString;
14
15 pub fn extname(path: &JsString) -> JsString;
16
17 pub fn format(object: FormatInputPathObject) -> JsString;
18
19 pub fn is_absolute(path: &JsString) -> bool;
20
21 #[wasm_bindgen(variadic)]
22 pub fn join(paths: Box<[JsValue]>) -> JsString;
23
24 pub fn normalize(path: &JsString) -> JsString;
25
26 pub fn parse(string: &JsString) -> ParsedPath;
27
28 pub fn relative(from: &JsString, to: &JsString) -> JsString;
29
30 #[wasm_bindgen(variadic)]
31 pub fn resolve(path_segments: Box<[JsValue]>) -> JsString;
32
33}