diff options
author | Leo Kettmeir <crowlkats@toaxl.com> | 2023-02-07 22:09:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-07 21:09:50 +0000 |
commit | 49af1ab18da02f09e65506c873526c40d005c4ed (patch) | |
tree | 0d8f6028e98907096019500a7e1c717408eeb4e2 /core/extensions.rs | |
parent | b4aa1530970f7b9cc4e6f2f27e077852c4e178d3 (diff) |
refactor: remove prefix from include_js_files & use extension name (#17683)
Diffstat (limited to 'core/extensions.rs')
-rw-r--r-- | core/extensions.rs | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/core/extensions.rs b/core/extensions.rs index b981e6da2..ba7bdb18a 100644 --- a/core/extensions.rs +++ b/core/extensions.rs @@ -6,7 +6,7 @@ use std::rc::Rc; use std::task::Context; use v8::fast_api::FastFunction; -pub type SourcePair = (&'static str, &'static str); +pub type SourcePair = (String, &'static str); pub type OpFnRef = v8::FunctionCallback; pub type OpMiddlewareFn = dyn Fn(OpDecl) -> OpDecl; pub type OpStateFn = dyn Fn(&mut OpState) -> Result<(), Error>; @@ -168,13 +168,27 @@ impl ExtensionBuilder { self } - pub fn js(&mut self, js_files: Vec<SourcePair>) -> &mut Self { + pub fn js( + &mut self, + js_files: Vec<(&'static str, &'static str)>, + ) -> &mut Self { + let js_files = js_files.into_iter().map(|source_pair| { + let name = format!("internal:{}/{}", self.name, source_pair.0); + (name, source_pair.1) + }); self.js.extend(js_files); self } - pub fn esm(&mut self, js_files: Vec<SourcePair>) -> &mut Self { - self.esm.extend(js_files); + pub fn esm( + &mut self, + esm_files: Vec<(&'static str, &'static str)>, + ) -> &mut Self { + let esm_files = esm_files.into_iter().map(|source_pair| { + let name = format!("internal:{}/{}", self.name, source_pair.0); + (name, source_pair.1) + }); + self.esm.extend(esm_files); self } @@ -232,17 +246,16 @@ impl ExtensionBuilder { /// Example: /// ```ignore /// include_js_files!( -/// prefix "internal:extensions/hello", /// "01_hello.js", /// "02_goodbye.js", /// ) /// ``` #[macro_export] macro_rules! include_js_files { - (prefix $prefix:literal, $($file:literal,)+) => { + ($($file:literal,)+) => { vec![ $(( - concat!($prefix, "/", $file), + $file, include_str!($file), ),)+ ] |