use std::convert::Infallible; use avril_core::{Extension, Op, PublicModule}; pub fn init() -> Extension { Extension { name: "ext:path", dependencies: &["ext:base", "ext:file", "ext:url"], ops: vec![Op::new("op_path_platform", |(): ()| { Ok::<_, Infallible>(if cfg!(windows) { "win32" } else { "posix" }) })], modules: const { &[ ( "ext:path/api.js", include_str!(concat!(env!("OUT_DIR"), "/api.js")), ), ( "ext:path/lexical.js", include_str!(concat!(env!("OUT_DIR"), "/lexical.js")), ), ( "ext:path/urls.js", include_str!(concat!(env!("OUT_DIR"), "/urls.js")), ), PUBLIC_MODULES[0].module, PUBLIC_MODULES[1].module, PUBLIC_MODULES[2].module, ] }, entry_point: None, } } pub const PUBLIC_MODULES: &[PublicModule] = &[ avril_core::public_module!("avril:path", "ext:path", "main"), avril_core::public_module!("avril:path/posix", "ext:path", "posix"), avril_core::public_module!("avril:path/win32", "ext:path", "win32"), ];