summaryrefslogtreecommitdiff
path: root/core/extensions.rs
diff options
context:
space:
mode:
Diffstat (limited to 'core/extensions.rs')
-rw-r--r--core/extensions.rs42
1 files changed, 10 insertions, 32 deletions
diff --git a/core/extensions.rs b/core/extensions.rs
index e4de3d217..dac19ec50 100644
--- a/core/extensions.rs
+++ b/core/extensions.rs
@@ -174,7 +174,6 @@ macro_rules! ops {
/// * bounds: a comma-separated list of additional type bounds, eg: `bounds = [ P::MyAssociatedType: MyTrait ]`
/// * ops: a comma-separated list of [`OpDecl`]s to provide, eg: `ops = [ op_foo, op_bar ]`
/// * esm: a comma-separated list of ESM module filenames (see [`include_js_files`]), eg: `esm = [ dir "dir", "my_file.js" ]`
-/// * esm_setup_script: see [`ExtensionBuilder::esm_setup_script`]
/// * js: a comma-separated list of JS filenames (see [`include_js_files`]), eg: `js = [ dir "dir", "my_file.js" ]`
/// * config: a structure-like definition for configuration parameters which will be required when initializing this extension, eg: `config = { my_param: Option<usize> }`
/// * middleware: an [`OpDecl`] middleware function with the signature `fn (OpDecl) -> OpDecl`
@@ -191,7 +190,6 @@ macro_rules! extension {
$(, ops = [ $( $(#[$m:meta])* $( $op:ident )::+ $( < $( $op_param:ident ),* > )? ),+ $(,)? ] )?
$(, esm_entry_point = $esm_entry_point:literal )?
$(, esm = [ $( dir $dir_esm:literal , )? $( $esm:literal ),* $(,)? ] )?
- $(, esm_setup_script = $esm_setup_script:expr )?
$(, js = [ $( dir $dir_js:literal , )? $( $js:literal ),* $(,)? ] )?
$(, options = { $( $options_id:ident : $options_type:ty ),* $(,)? } )?
$(, middleware = $middleware_fn:expr )?
@@ -221,12 +219,6 @@ macro_rules! extension {
$crate::include_js_files!( $name $( dir $dir_esm , )? $( $esm , )* )
); )?
$(
- ext.esm(vec![ExtensionFileSource {
- specifier: "ext:setup",
- code: ExtensionFileSourceCode::IncludedInBinary($esm_setup_script),
- }]);
- )?
- $(
ext.esm_entry_point($esm_entry_point);
)?
$( ext.js(
@@ -355,8 +347,8 @@ macro_rules! extension {
#[derive(Default)]
pub struct Extension {
pub(crate) name: &'static str,
- js_files: Option<Vec<ExtensionFileSource>>,
- esm_files: Option<Vec<ExtensionFileSource>>,
+ js_files: Vec<ExtensionFileSource>,
+ esm_files: Vec<ExtensionFileSource>,
esm_entry_point: Option<&'static str>,
ops: Option<Vec<OpDecl>>,
opstate_fn: Option<Box<OpStateFn>>,
@@ -365,7 +357,6 @@ pub struct Extension {
initialized: bool,
enabled: bool,
deps: Option<&'static [&'static str]>,
- pub(crate) is_core: bool,
}
// Note: this used to be a trait, but we "downgraded" it to a single concrete type
@@ -412,12 +403,12 @@ impl Extension {
/// returns JS source code to be loaded into the isolate (either at snapshotting,
/// or at startup). as a vector of a tuple of the file name, and the source code.
- pub fn get_js_sources(&self) -> Option<&Vec<ExtensionFileSource>> {
- self.js_files.as_ref()
+ pub fn get_js_sources(&self) -> &Vec<ExtensionFileSource> {
+ &self.js_files
}
- pub fn get_esm_sources(&self) -> Option<&Vec<ExtensionFileSource>> {
- self.esm_files.as_ref()
+ pub fn get_esm_sources(&self) -> &Vec<ExtensionFileSource> {
+ &self.esm_files
}
pub fn get_esm_entry_point(&self) -> Option<&'static str> {
@@ -488,7 +479,6 @@ pub struct ExtensionBuilder {
event_loop_middleware: Option<Box<OpEventLoopFn>>,
name: &'static str,
deps: &'static [&'static str],
- is_core: bool,
}
impl ExtensionBuilder {
@@ -538,13 +528,11 @@ impl ExtensionBuilder {
/// Consume the [`ExtensionBuilder`] and return an [`Extension`].
pub fn take(self) -> Extension {
- let js_files = Some(self.js);
- let esm_files = Some(self.esm);
let ops = Some(self.ops);
let deps = Some(self.deps);
Extension {
- js_files,
- esm_files,
+ js_files: self.js,
+ esm_files: self.esm,
esm_entry_point: self.esm_entry_point,
ops,
opstate_fn: self.state,
@@ -554,18 +542,15 @@ impl ExtensionBuilder {
enabled: true,
name: self.name,
deps,
- is_core: self.is_core,
}
}
pub fn build(&mut self) -> Extension {
- let js_files = Some(std::mem::take(&mut self.js));
- let esm_files = Some(std::mem::take(&mut self.esm));
let ops = Some(std::mem::take(&mut self.ops));
let deps = Some(std::mem::take(&mut self.deps));
Extension {
- js_files,
- esm_files,
+ js_files: std::mem::take(&mut self.js),
+ esm_files: std::mem::take(&mut self.esm),
esm_entry_point: self.esm_entry_point.take(),
ops,
opstate_fn: self.state.take(),
@@ -575,15 +560,8 @@ impl ExtensionBuilder {
enabled: true,
name: self.name,
deps,
- is_core: self.is_core,
}
}
-
- #[doc(hidden)]
- pub(crate) fn deno_core(&mut self) -> &mut Self {
- self.is_core = true;
- self
- }
}
/// Helps embed JS files in an extension. Returns a vector of