pub struct Config { /* private fields */ }Expand description
Configuration for JavaScript.
Implementations§
Source§impl Config
impl Config
Sourcepub fn with_module_path<M>(self, module_path: M) -> Selfwhere
M: Into<RelativePathBuf>,
pub fn with_module_path<M>(self, module_path: M) -> Selfwhere
M: Into<RelativePathBuf>,
Configure the path to the current module being renderer.
This setting will determine what path imports are renderer relative
towards. So importing a module from "foo/bar.js", and setting this to
"foo/baz.js" will cause the import to be rendered relatively as
"../bar.js".
§Examples
use genco::prelude::*;
use genco::fmt;
let foo1 = js::import(js::Module::Path("foo/bar.js".into()), "Foo1");
let foo2 = js::import(js::Module::Path("foo/bar.js".into()), "Foo2");
let react = js::import("react", "React").into_default();
let toks: js::Tokens = quote! {
$foo1
$foo2
$react
};
let mut w = fmt::VecWriter::new();
let config = js::Config::default().with_module_path("foo/baz.js");
let fmt = fmt::Config::from_lang::<JavaScript>();
toks.format_file(&mut w.as_formatter(&fmt), &config)?;
assert_eq!(
vec![
"import {Foo1, Foo2} from \"../bar.js\";",
"import React from \"react\";",
"",
"Foo1",
"Foo2",
"React"
],
w.into_vec()
);Trait Implementations§
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more