mirror of
https://github.com/denoland/deno.git
synced 2025-01-21 04:52:26 -05:00
Merge branch 'main' into Add-Dynamic-Device-Path-Handling-for-Windows-File-Access
This commit is contained in:
commit
c95a4cb7f1
83 changed files with 1263 additions and 1170 deletions
17
Cargo.lock
generated
17
Cargo.lock
generated
|
@ -1375,9 +1375,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "deno_config"
|
||||
version = "0.34.3"
|
||||
version = "0.35.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "187d7dd888a49bfda396632371139e940c5cf47b15bfcaeeb2ba50f82f6940ec"
|
||||
checksum = "105864a9e0a7fbc22f1106784b2d263f402f157be1c3e1a9905f53d182700c9f"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"deno_package_json",
|
||||
|
@ -1476,6 +1476,7 @@ dependencies = [
|
|||
"rand",
|
||||
"ring",
|
||||
"rsa",
|
||||
"sec1",
|
||||
"serde",
|
||||
"serde_bytes",
|
||||
"sha1",
|
||||
|
@ -1869,9 +1870,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "deno_npm"
|
||||
version = "0.25.1"
|
||||
version = "0.25.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e61b112e9bb332e8e6b0d82fcea7664423933de476e1726dd23a924a2d94f4ef"
|
||||
checksum = "1809e2d77d8a06bc2800dc10c1d4acb664197e518e289a86e336411c1feba785"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
|
@ -7540,9 +7541,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tower-http"
|
||||
version = "0.5.2"
|
||||
version = "0.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5"
|
||||
checksum = "8437150ab6bbc8c5f0f519e3d5ed4aa883a83dd4cdd3d1b21f9482936046cb97"
|
||||
dependencies = [
|
||||
"async-compression",
|
||||
"bitflags 2.6.0",
|
||||
|
@ -7560,9 +7561,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tower-layer"
|
||||
version = "0.3.2"
|
||||
version = "0.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
|
||||
checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
|
||||
|
||||
[[package]]
|
||||
name = "tower-service"
|
||||
|
|
|
@ -163,6 +163,7 @@ rustls-webpki = "0.102"
|
|||
rustyline = "=13.0.0"
|
||||
saffron = "=0.1.0"
|
||||
scopeguard = "1.2.0"
|
||||
sec1 = "0.7"
|
||||
serde = { version = "1.0.149", features = ["derive"] }
|
||||
serde_bytes = "0.11"
|
||||
serde_json = "1.0.85"
|
||||
|
@ -184,7 +185,7 @@ tokio-rustls = { version = "0.26.0", default-features = false, features = ["ring
|
|||
tokio-socks = "0.5.1"
|
||||
tokio-util = "0.7.4"
|
||||
tower = { version = "0.4.13", default-features = false, features = ["util"] }
|
||||
tower-http = { version = "0.5.2", features = ["decompression-br", "decompression-gzip"] }
|
||||
tower-http = { version = "0.6.1", features = ["decompression-br", "decompression-gzip"] }
|
||||
tower-lsp = { package = "deno_tower_lsp", version = "0.1.0", features = ["proposed"] }
|
||||
tower-service = "0.3.2"
|
||||
twox-hash = "=1.6.3"
|
||||
|
|
|
@ -65,13 +65,13 @@ winres.workspace = true
|
|||
[dependencies]
|
||||
deno_ast = { workspace = true, features = ["bundler", "cjs", "codegen", "proposal", "react", "sourcemap", "transforms", "typescript", "view", "visit"] }
|
||||
deno_cache_dir = { workspace = true }
|
||||
deno_config = { version = "=0.34.3", features = ["workspace", "sync"] }
|
||||
deno_config = { version = "=0.35.0", features = ["workspace", "sync"] }
|
||||
deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] }
|
||||
deno_doc = { version = "0.148.0", features = ["html", "syntect"] }
|
||||
deno_graph = { version = "=0.82.1" }
|
||||
deno_lint = { version = "=0.67.0", features = ["docs"] }
|
||||
deno_lockfile.workspace = true
|
||||
deno_npm = "=0.25.1"
|
||||
deno_npm = "=0.25.2"
|
||||
deno_package_json.workspace = true
|
||||
deno_runtime = { workspace = true, features = ["include_js_files_for_snapshotting"] }
|
||||
deno_semver.workspace = true
|
||||
|
|
|
@ -206,10 +206,7 @@ pub struct FmtFlags {
|
|||
pub prose_wrap: Option<String>,
|
||||
pub no_semicolons: Option<bool>,
|
||||
pub watch: Option<WatchFlags>,
|
||||
pub unstable_css: bool,
|
||||
pub unstable_html: bool,
|
||||
pub unstable_component: bool,
|
||||
pub unstable_yaml: bool,
|
||||
}
|
||||
|
||||
impl FmtFlags {
|
||||
|
@ -1236,6 +1233,51 @@ pub fn flags_from_vec(args: Vec<OsString>) -> clap::error::Result<Flags> {
|
|||
}
|
||||
|
||||
if let Some((subcommand, mut m)) = matches.remove_subcommand() {
|
||||
let pre_subcommand_arg = app
|
||||
.get_arguments()
|
||||
.filter(|arg| !arg.is_global_set())
|
||||
.find(|arg| {
|
||||
matches
|
||||
.value_source(arg.get_id().as_str())
|
||||
.is_some_and(|value| value == clap::parser::ValueSource::CommandLine)
|
||||
})
|
||||
.map(|arg| {
|
||||
format!(
|
||||
"--{}",
|
||||
arg.get_long().unwrap_or_else(|| arg.get_id().as_str())
|
||||
)
|
||||
});
|
||||
|
||||
if let Some(arg) = pre_subcommand_arg {
|
||||
let usage = app.find_subcommand_mut(&subcommand).unwrap().render_usage();
|
||||
|
||||
let mut err =
|
||||
clap::error::Error::new(ErrorKind::UnknownArgument).with_cmd(&app);
|
||||
err.insert(
|
||||
clap::error::ContextKind::InvalidArg,
|
||||
clap::error::ContextValue::String(arg.clone()),
|
||||
);
|
||||
|
||||
let valid = app.get_styles().get_valid();
|
||||
|
||||
let styled_suggestion = clap::builder::StyledStr::from(format!(
|
||||
"'{}{subcommand} {arg}{}' exists",
|
||||
valid.render(),
|
||||
valid.render_reset()
|
||||
));
|
||||
|
||||
err.insert(
|
||||
clap::error::ContextKind::Suggested,
|
||||
clap::error::ContextValue::StyledStrs(vec![styled_suggestion]),
|
||||
);
|
||||
err.insert(
|
||||
clap::error::ContextKind::Usage,
|
||||
clap::error::ContextValue::StyledStr(usage),
|
||||
);
|
||||
|
||||
return Err(err);
|
||||
}
|
||||
|
||||
match subcommand.as_str() {
|
||||
"add" => add_parse(&mut flags, &mut m),
|
||||
"remove" => remove_parse(&mut flags, &mut m),
|
||||
|
@ -2219,7 +2261,8 @@ Ignore formatting a file by adding an ignore comment at the top of the file:
|
|||
.help("Enable formatting CSS, SCSS, Sass and Less files")
|
||||
.value_parser(FalseyValueParser::new())
|
||||
.action(ArgAction::SetTrue)
|
||||
.help_heading(FMT_HEADING),
|
||||
.help_heading(FMT_HEADING)
|
||||
.hide(true),
|
||||
)
|
||||
.arg(
|
||||
Arg::new("unstable-html")
|
||||
|
@ -2227,7 +2270,8 @@ Ignore formatting a file by adding an ignore comment at the top of the file:
|
|||
.help("Enable formatting HTML files")
|
||||
.value_parser(FalseyValueParser::new())
|
||||
.action(ArgAction::SetTrue)
|
||||
.help_heading(FMT_HEADING),
|
||||
.help_heading(FMT_HEADING)
|
||||
.hide(true),
|
||||
)
|
||||
.arg(
|
||||
Arg::new("unstable-component")
|
||||
|
@ -2243,7 +2287,8 @@ Ignore formatting a file by adding an ignore comment at the top of the file:
|
|||
.help("Enable formatting YAML files")
|
||||
.value_parser(FalseyValueParser::new())
|
||||
.action(ArgAction::SetTrue)
|
||||
.help_heading(FMT_HEADING),
|
||||
.help_heading(FMT_HEADING)
|
||||
.hide(true),
|
||||
)
|
||||
})
|
||||
}
|
||||
|
@ -4374,10 +4419,7 @@ fn fmt_parse(
|
|||
let single_quote = matches.remove_one::<bool>("single-quote");
|
||||
let prose_wrap = matches.remove_one::<String>("prose-wrap");
|
||||
let no_semicolons = matches.remove_one::<bool>("no-semicolons");
|
||||
let unstable_css = matches.get_flag("unstable-css");
|
||||
let unstable_html = matches.get_flag("unstable-html");
|
||||
let unstable_component = matches.get_flag("unstable-component");
|
||||
let unstable_yaml = matches.get_flag("unstable-yaml");
|
||||
|
||||
flags.subcommand = DenoSubcommand::Fmt(FmtFlags {
|
||||
check: matches.get_flag("check"),
|
||||
|
@ -4389,10 +4431,7 @@ fn fmt_parse(
|
|||
prose_wrap,
|
||||
no_semicolons,
|
||||
watch: watch_arg_parse(matches)?,
|
||||
unstable_css,
|
||||
unstable_html,
|
||||
unstable_component,
|
||||
unstable_yaml,
|
||||
});
|
||||
Ok(())
|
||||
}
|
||||
|
@ -4701,16 +4740,10 @@ fn run_parse(
|
|||
"[SCRIPT_ARG] may only be omitted with --v8-flags=--help, else to use the repl with arguments, please use the `deno repl` subcommand",
|
||||
));
|
||||
} else {
|
||||
return Err(
|
||||
app
|
||||
.get_subcommands_mut()
|
||||
.find(|subcommand| subcommand.get_name() == "run")
|
||||
.unwrap()
|
||||
.error(
|
||||
clap::error::ErrorKind::MissingRequiredArgument,
|
||||
"[SCRIPT_ARG] may only be omitted with --v8-flags=--help",
|
||||
),
|
||||
);
|
||||
return Err(app.find_subcommand_mut("run").unwrap().error(
|
||||
clap::error::ErrorKind::MissingRequiredArgument,
|
||||
"[SCRIPT_ARG] may only be omitted with --v8-flags=--help",
|
||||
));
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
@ -6272,10 +6305,7 @@ mod tests {
|
|||
single_quote: None,
|
||||
prose_wrap: None,
|
||||
no_semicolons: None,
|
||||
unstable_css: false,
|
||||
unstable_html: false,
|
||||
unstable_component: false,
|
||||
unstable_yaml: false,
|
||||
watch: Default::default(),
|
||||
}),
|
||||
..Flags::default()
|
||||
|
@ -6298,10 +6328,7 @@ mod tests {
|
|||
single_quote: None,
|
||||
prose_wrap: None,
|
||||
no_semicolons: None,
|
||||
unstable_css: false,
|
||||
unstable_html: false,
|
||||
unstable_component: false,
|
||||
unstable_yaml: false,
|
||||
watch: Default::default(),
|
||||
}),
|
||||
..Flags::default()
|
||||
|
@ -6324,10 +6351,7 @@ mod tests {
|
|||
single_quote: None,
|
||||
prose_wrap: None,
|
||||
no_semicolons: None,
|
||||
unstable_css: false,
|
||||
unstable_html: false,
|
||||
unstable_component: false,
|
||||
unstable_yaml: false,
|
||||
watch: Default::default(),
|
||||
}),
|
||||
..Flags::default()
|
||||
|
@ -6350,10 +6374,7 @@ mod tests {
|
|||
single_quote: None,
|
||||
prose_wrap: None,
|
||||
no_semicolons: None,
|
||||
unstable_css: false,
|
||||
unstable_html: false,
|
||||
unstable_component: false,
|
||||
unstable_yaml: false,
|
||||
watch: Some(Default::default()),
|
||||
}),
|
||||
..Flags::default()
|
||||
|
@ -6385,10 +6406,7 @@ mod tests {
|
|||
single_quote: None,
|
||||
prose_wrap: None,
|
||||
no_semicolons: None,
|
||||
unstable_css: true,
|
||||
unstable_html: true,
|
||||
unstable_component: true,
|
||||
unstable_yaml: true,
|
||||
watch: Some(WatchFlags {
|
||||
hmr: false,
|
||||
no_clear_screen: true,
|
||||
|
@ -6422,10 +6440,7 @@ mod tests {
|
|||
single_quote: None,
|
||||
prose_wrap: None,
|
||||
no_semicolons: None,
|
||||
unstable_css: false,
|
||||
unstable_html: false,
|
||||
unstable_component: false,
|
||||
unstable_yaml: false,
|
||||
watch: Some(Default::default()),
|
||||
}),
|
||||
..Flags::default()
|
||||
|
@ -6448,10 +6463,7 @@ mod tests {
|
|||
single_quote: None,
|
||||
prose_wrap: None,
|
||||
no_semicolons: None,
|
||||
unstable_css: false,
|
||||
unstable_html: false,
|
||||
unstable_component: false,
|
||||
unstable_yaml: false,
|
||||
watch: Default::default(),
|
||||
}),
|
||||
config_flag: ConfigFlag::Path("deno.jsonc".to_string()),
|
||||
|
@ -6482,10 +6494,7 @@ mod tests {
|
|||
single_quote: None,
|
||||
prose_wrap: None,
|
||||
no_semicolons: None,
|
||||
unstable_css: false,
|
||||
unstable_html: false,
|
||||
unstable_component: false,
|
||||
unstable_yaml: false,
|
||||
watch: Some(Default::default()),
|
||||
}),
|
||||
config_flag: ConfigFlag::Path("deno.jsonc".to_string()),
|
||||
|
@ -6521,10 +6530,7 @@ mod tests {
|
|||
single_quote: Some(true),
|
||||
prose_wrap: Some("never".to_string()),
|
||||
no_semicolons: Some(true),
|
||||
unstable_css: false,
|
||||
unstable_html: false,
|
||||
unstable_component: false,
|
||||
unstable_yaml: false,
|
||||
watch: Default::default(),
|
||||
}),
|
||||
..Flags::default()
|
||||
|
@ -6554,10 +6560,7 @@ mod tests {
|
|||
single_quote: Some(false),
|
||||
prose_wrap: None,
|
||||
no_semicolons: Some(false),
|
||||
unstable_css: false,
|
||||
unstable_html: false,
|
||||
unstable_component: false,
|
||||
unstable_yaml: false,
|
||||
watch: Default::default(),
|
||||
}),
|
||||
..Flags::default()
|
||||
|
@ -10835,4 +10838,17 @@ mod tests {
|
|||
}
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn flag_before_subcommand() {
|
||||
let r = flags_from_vec(svec!["deno", "--allow-net", "repl"]);
|
||||
assert_eq!(
|
||||
r.unwrap_err().to_string(),
|
||||
"error: unexpected argument '--allow-net' found
|
||||
|
||||
tip: 'repl --allow-net' exists
|
||||
|
||||
Usage: deno repl [OPTIONS] [-- [ARGS]...]\n"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -281,10 +281,7 @@ impl BenchOptions {
|
|||
|
||||
#[derive(Clone, Debug, Default, PartialEq, Eq, Hash)]
|
||||
pub struct UnstableFmtOptions {
|
||||
pub css: bool,
|
||||
pub html: bool,
|
||||
pub component: bool,
|
||||
pub yaml: bool,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
|
@ -317,10 +314,7 @@ impl FmtOptions {
|
|||
Self {
|
||||
options: resolve_fmt_options(fmt_flags, fmt_config.options),
|
||||
unstable: UnstableFmtOptions {
|
||||
css: unstable.css || fmt_flags.unstable_css,
|
||||
html: unstable.html || fmt_flags.unstable_html,
|
||||
component: unstable.component || fmt_flags.unstable_component,
|
||||
yaml: unstable.yaml || fmt_flags.unstable_yaml,
|
||||
},
|
||||
files: fmt_config.files,
|
||||
}
|
||||
|
@ -1071,27 +1065,13 @@ impl CliOptions {
|
|||
None => None,
|
||||
}
|
||||
};
|
||||
Ok(
|
||||
self
|
||||
.workspace()
|
||||
.create_resolver(
|
||||
CreateResolverOptions {
|
||||
pkg_json_dep_resolution,
|
||||
specified_import_map: cli_arg_specified_import_map,
|
||||
},
|
||||
|specifier| {
|
||||
let specifier = specifier.clone();
|
||||
async move {
|
||||
let file = file_fetcher
|
||||
.fetch_bypass_permissions(&specifier)
|
||||
.await?
|
||||
.into_text_decoded()?;
|
||||
Ok(file.source.to_string())
|
||||
}
|
||||
},
|
||||
)
|
||||
.await?,
|
||||
)
|
||||
Ok(self.workspace().create_resolver(
|
||||
CreateResolverOptions {
|
||||
pkg_json_dep_resolution,
|
||||
specified_import_map: cli_arg_specified_import_map,
|
||||
},
|
||||
|path| Ok(std::fs::read_to_string(path)?),
|
||||
)?)
|
||||
}
|
||||
|
||||
pub fn node_ipc_fd(&self) -> Option<i64> {
|
||||
|
@ -1301,10 +1281,7 @@ impl CliOptions {
|
|||
pub fn resolve_config_unstable_fmt_options(&self) -> UnstableFmtOptions {
|
||||
let workspace = self.workspace();
|
||||
UnstableFmtOptions {
|
||||
css: workspace.has_unstable("fmt-css"),
|
||||
html: workspace.has_unstable("fmt-html"),
|
||||
component: workspace.has_unstable("fmt-component"),
|
||||
yaml: workspace.has_unstable("fmt-yaml"),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1609,10 +1586,7 @@ impl CliOptions {
|
|||
"sloppy-imports",
|
||||
"byonm",
|
||||
"bare-node-builtins",
|
||||
"fmt-css",
|
||||
"fmt-html",
|
||||
"fmt-component",
|
||||
"fmt-yaml",
|
||||
]);
|
||||
// add more unstable flags to the same vector holding granular flags
|
||||
all_valid_unstable_flags.append(&mut another_unstable_flags);
|
||||
|
|
|
@ -1451,9 +1451,10 @@ impl ConfigData {
|
|||
// Mark the import map as a watched file
|
||||
if let Some(import_map_specifier) = member_dir
|
||||
.workspace
|
||||
.to_import_map_specifier()
|
||||
.to_import_map_path()
|
||||
.ok()
|
||||
.flatten()
|
||||
.and_then(|path| Url::from_file_path(path).ok())
|
||||
{
|
||||
add_watched_file(
|
||||
import_map_specifier.clone(),
|
||||
|
@ -1542,50 +1543,32 @@ impl ConfigData {
|
|||
None
|
||||
}
|
||||
};
|
||||
let resolver = deno_core::unsync::spawn({
|
||||
let workspace = member_dir.workspace.clone();
|
||||
let file_fetcher = file_fetcher.cloned();
|
||||
async move {
|
||||
workspace
|
||||
.create_resolver(
|
||||
CreateResolverOptions {
|
||||
pkg_json_dep_resolution,
|
||||
specified_import_map,
|
||||
},
|
||||
move |specifier| {
|
||||
let specifier = specifier.clone();
|
||||
let file_fetcher = file_fetcher.clone().unwrap();
|
||||
async move {
|
||||
let file = file_fetcher
|
||||
.fetch_bypass_permissions(&specifier)
|
||||
.await?
|
||||
.into_text_decoded()?;
|
||||
Ok(file.source.to_string())
|
||||
}
|
||||
},
|
||||
)
|
||||
.await
|
||||
.inspect_err(|err| {
|
||||
lsp_warn!(
|
||||
" Failed to load resolver: {}",
|
||||
err // will contain the specifier
|
||||
);
|
||||
})
|
||||
.ok()
|
||||
}
|
||||
})
|
||||
.await
|
||||
.unwrap()
|
||||
.unwrap_or_else(|| {
|
||||
// create a dummy resolver
|
||||
WorkspaceResolver::new_raw(
|
||||
scope.clone(),
|
||||
None,
|
||||
member_dir.workspace.resolver_jsr_pkgs().collect(),
|
||||
member_dir.workspace.package_jsons().cloned().collect(),
|
||||
pkg_json_dep_resolution,
|
||||
let resolver = member_dir
|
||||
.workspace
|
||||
.create_resolver(
|
||||
CreateResolverOptions {
|
||||
pkg_json_dep_resolution,
|
||||
specified_import_map,
|
||||
},
|
||||
|path| Ok(std::fs::read_to_string(path)?),
|
||||
)
|
||||
});
|
||||
.inspect_err(|err| {
|
||||
lsp_warn!(
|
||||
" Failed to load resolver: {}",
|
||||
err // will contain the specifier
|
||||
);
|
||||
})
|
||||
.ok()
|
||||
.unwrap_or_else(|| {
|
||||
// create a dummy resolver
|
||||
WorkspaceResolver::new_raw(
|
||||
scope.clone(),
|
||||
None,
|
||||
member_dir.workspace.resolver_jsr_pkgs().collect(),
|
||||
member_dir.workspace.package_jsons().cloned().collect(),
|
||||
pkg_json_dep_resolution,
|
||||
)
|
||||
});
|
||||
if !resolver.diagnostics().is_empty() {
|
||||
lsp_warn!(
|
||||
" Import map diagnostics:\n{}",
|
||||
|
|
|
@ -1385,18 +1385,9 @@ impl Inner {
|
|||
.data_for_specifier(&specifier)
|
||||
.map(|d| &d.member_dir.workspace);
|
||||
let unstable_options = UnstableFmtOptions {
|
||||
css: maybe_workspace
|
||||
.map(|w| w.has_unstable("fmt-css"))
|
||||
.unwrap_or(false),
|
||||
html: maybe_workspace
|
||||
.map(|w| w.has_unstable("fmt-html"))
|
||||
.unwrap_or(false),
|
||||
component: maybe_workspace
|
||||
.map(|w| w.has_unstable("fmt-component"))
|
||||
.unwrap_or(false),
|
||||
yaml: maybe_workspace
|
||||
.map(|w| w.has_unstable("fmt-yaml"))
|
||||
.unwrap_or(false),
|
||||
};
|
||||
let document = document.clone();
|
||||
move || {
|
||||
|
|
|
@ -385,6 +385,13 @@ fn get_suggestions_for_terminal_errors(e: &JsError) -> Vec<FixSuggestion> {
|
|||
FixSuggestion::info("window global is not available in Deno 2."),
|
||||
FixSuggestion::hint("Replace `window` with `globalThis`."),
|
||||
];
|
||||
} else if msg.contains("UnsafeWindowSurface is not a constructor") {
|
||||
return vec![
|
||||
FixSuggestion::info("Deno.UnsafeWindowSurface is an unstable API."),
|
||||
FixSuggestion::hint(
|
||||
"Run again with `--unstable-webgpu` flag to enable this API.",
|
||||
),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -35,18 +35,32 @@
|
|||
"default": false,
|
||||
"markdownDescription": "Enable error reporting in type-checked JavaScript files.\n\nSee more: https://www.typescriptlang.org/tsconfig#checkJs"
|
||||
},
|
||||
"exactOptionalPropertyTypes": {
|
||||
"description": "Differentiate between undefined and not present when type checking",
|
||||
"emitDecoratorMetadata": {
|
||||
"description": "Emit design-type metadata for decorated declarations in source files.",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"markdownDescription": "Differentiate between undefined and not present when type checking\n\nSee more: https://www.typescriptlang.org/tsconfig#exactOptionalPropertyTypes"
|
||||
"deprecated": true,
|
||||
"markdownDescription": "Emit design-type metadata for decorated declarations in source files.\n\nSee more: https://www.typescriptlang.org/tsconfig/#emitDecoratorMetadata"
|
||||
},
|
||||
"exactOptionalPropertyTypes": {
|
||||
"description": "Interpret optional property types as written, rather than adding 'undefined'.",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"markdownDescription": "Interpret optional property types as written, rather than adding 'undefined'.\n\nSee more: https://www.typescriptlang.org/tsconfig#exactOptionalPropertyTypes"
|
||||
},
|
||||
"experimentalDecorators": {
|
||||
"description": "Enable experimental support for legacy experimental decorators.",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"deprecated": true,
|
||||
"markdownDescription": "Enable experimental support for legacy experimental decorators.\n\nSee more: https://www.typescriptlang.org/tsconfig#experimentalDecorators"
|
||||
},
|
||||
"isolatedDeclarations": {
|
||||
"description": "Require sufficient annotation on exports so other tools can trivially generate declaration files.",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"markdownDescription": "Require sufficient annotation on exports so other tools can trivially generate declaration files.\n\nSee more: https://www.typescriptlang.org/tsconfig/#isolatedDeclarations"
|
||||
},
|
||||
"jsx": {
|
||||
"description": "Specify what JSX code is generated.",
|
||||
"default": "react",
|
||||
|
@ -91,12 +105,6 @@
|
|||
},
|
||||
"markdownDescription": "Specify list of elements that should be exempt from being precompiled when the jsx `precompile` transform is used."
|
||||
},
|
||||
"keyofStringsOnly": {
|
||||
"description": "Make keyof only return strings instead of string, numbers or symbols. Legacy option.",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"markdownDescription": "Make keyof only return strings instead of string, numbers or symbols. Legacy option.\n\nSee more: https://www.typescriptlang.org/tsconfig#keyofStringsOnly"
|
||||
},
|
||||
"lib": {
|
||||
"description": "Specify a set of bundled library declaration files that describe the target runtime environment.",
|
||||
"type": "array",
|
||||
|
@ -143,23 +151,17 @@
|
|||
"default": true,
|
||||
"markdownDescription": "Enable error reporting when `this` is given the type `any`.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitThis"
|
||||
},
|
||||
"noImplicitUseStrict": {
|
||||
"description": "Disable adding 'use strict' directives in emitted JavaScript files.",
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"markdownDescription": "Disable adding 'use strict' directives in emitted JavaScript files.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitUseStrict"
|
||||
},
|
||||
"noPropertyAccessFromIndexSignature": {
|
||||
"description": "Enforces using indexed accessors for keys declared using an indexed type.",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"markdownDescription": "Enforces using indexed accessors for keys declared using an indexed type.\n\nSee more: https://www.typescriptlang.org/tsconfig#noPropertyAccessFromIndexSignature"
|
||||
},
|
||||
"noStrictGenericChecks": {
|
||||
"description": "Disable strict checking of generic signatures in function types.",
|
||||
"noUncheckedIndexedAccess": {
|
||||
"description": "Add `undefined` to a type when accessed using an index.",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"markdownDescription": "Disable strict checking of generic signatures in function types.\n\nSee more: https://www.typescriptlang.org/tsconfig#noStrictGenericChecks"
|
||||
"markdownDescription": "Add `undefined` to a type when accessed using an index.\n\nSee more: https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess"
|
||||
},
|
||||
"noUnusedLocals": {
|
||||
"description": "Enable error reporting when a local variables aren't read.",
|
||||
|
@ -173,12 +175,6 @@
|
|||
"default": false,
|
||||
"markdownDescription": "Raise an error when a function parameter isn't read\n\nSee more: https://www.typescriptlang.org/tsconfig#noUnusedParameters"
|
||||
},
|
||||
"noUncheckedIndexedAccess": {
|
||||
"description": "Add `undefined` to a type when accessed using an index.",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"markdownDescription": "Add `undefined` to a type when accessed using an index.\n\nSee more: https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess"
|
||||
},
|
||||
"strict": {
|
||||
"description": "Enable all strict type checking options.",
|
||||
"type": "boolean",
|
||||
|
@ -191,41 +187,49 @@
|
|||
"default": true,
|
||||
"markdownDescription": "Check that the arguments for `bind`, `call`, and `apply` methods match the original function.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictBindCallApply"
|
||||
},
|
||||
"strictBuiltinIteratorReturn": {
|
||||
"description": "Built-in iterators are instantiated with a `TReturn` type of undefined instead of `any`.",
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"markdownDescription": "Built-in iterators are instantiated with a `TReturn` type of undefined instead of `any`.\n\nSee more: https://www.typescriptlang.org/tsconfig/#strictBuiltinIteratorReturn"
|
||||
},
|
||||
"strictFunctionTypes": {
|
||||
"description": "When assigning functions, check to ensure parameters and the return values are subtype-compatible.",
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"markdownDescription": "When assigning functions, check to ensure parameters and the return values are subtype-compatible.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictFunctionTypes"
|
||||
},
|
||||
"strictPropertyInitialization": {
|
||||
"description": "Check for class properties that are declared but not set in the constructor.",
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"markdownDescription": "Check for class properties that are declared but not set in the constructor.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictPropertyInitialization"
|
||||
},
|
||||
"strictNullChecks": {
|
||||
"description": "When type checking, take into account `null` and `undefined`.",
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"markdownDescription": "When type checking, take into account `null` and `undefined`.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictNullChecks"
|
||||
},
|
||||
"suppressExcessPropertyErrors": {
|
||||
"description": "Disable reporting of excess property errors during the creation of object literals.",
|
||||
"strictPropertyInitialization": {
|
||||
"description": "Check for class properties that are declared but not set in the constructor.",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"markdownDescription": "Disable reporting of excess property errors during the creation of object literals.\n\nSee more: https://www.typescriptlang.org/tsconfig#suppressExcessPropertyErrors"
|
||||
"default": true,
|
||||
"markdownDescription": "Check for class properties that are declared but not set in the constructor.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictPropertyInitialization"
|
||||
},
|
||||
"suppressImplicitAnyIndexErrors": {
|
||||
"description": "Suppress `noImplicitAny` errors when indexing objects that lack index signatures.",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"markdownDescription": "Suppress `noImplicitAny` errors when indexing objects that lack index signatures.\n\nSee more: https://www.typescriptlang.org/tsconfig#suppressImplicitAnyIndexErrors"
|
||||
"types": {
|
||||
"description": "Specify type package names to be included without being referenced in a source file.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"markdownDescription": "Specify type package names to be included without being referenced in a source file.\n\nSee more: https://www.typescriptlang.org/tsconfig/#types"
|
||||
},
|
||||
"useUnknownInCatchVariables": {
|
||||
"description": "Default catch clause variables as `unknown` instead of `any`.",
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"markdownDescription": "Default catch clause variables as `unknown` instead of `any`.\n\nSee more: https://www.typescriptlang.org/tsconfig#useUnknownInCatchVariables"
|
||||
},
|
||||
"verbatimModuleSyntax": {
|
||||
"description": "Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting.",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"markdownDescription": "Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting.\n\nSee more: https://www.typescriptlang.org/tsconfig/#verbatimModuleSyntax"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
103
cli/tools/fmt.rs
103
cli/tools/fmt.rs
|
@ -265,6 +265,8 @@ fn format_markdown(
|
|||
| "svelte"
|
||||
| "vue"
|
||||
| "astro"
|
||||
| "vto"
|
||||
| "njk"
|
||||
| "yml"
|
||||
| "yaml"
|
||||
) {
|
||||
|
@ -285,38 +287,17 @@ fn format_markdown(
|
|||
dprint_plugin_json::format_text(&fake_filename, text, &json_config)
|
||||
}
|
||||
"css" | "scss" | "sass" | "less" => {
|
||||
if unstable_options.css {
|
||||
format_css(&fake_filename, text, fmt_options)
|
||||
} else {
|
||||
Ok(None)
|
||||
}
|
||||
format_css(&fake_filename, text, fmt_options)
|
||||
}
|
||||
"html" => {
|
||||
if unstable_options.html {
|
||||
format_html(&fake_filename, text, fmt_options)
|
||||
} else {
|
||||
Ok(None)
|
||||
}
|
||||
}
|
||||
"svelte" | "vue" | "astro" => {
|
||||
"html" => format_html(&fake_filename, text, fmt_options),
|
||||
"svelte" | "vue" | "astro" | "vto" | "njk" => {
|
||||
if unstable_options.component {
|
||||
format_html(&fake_filename, text, fmt_options)
|
||||
} else {
|
||||
Ok(None)
|
||||
}
|
||||
}
|
||||
"yml" | "yaml" => {
|
||||
if unstable_options.yaml {
|
||||
pretty_yaml::format_text(
|
||||
text,
|
||||
&get_resolved_yaml_config(fmt_options),
|
||||
)
|
||||
.map(Some)
|
||||
.map_err(AnyError::from)
|
||||
} else {
|
||||
Ok(None)
|
||||
}
|
||||
}
|
||||
"yml" | "yaml" => format_yaml(text, fmt_options),
|
||||
_ => {
|
||||
let mut codeblock_config =
|
||||
get_resolved_typescript_config(fmt_options);
|
||||
|
@ -353,13 +334,33 @@ pub fn format_css(
|
|||
file_text: &str,
|
||||
fmt_options: &FmtOptionsConfig,
|
||||
) -> Result<Option<String>, AnyError> {
|
||||
malva::format_text(
|
||||
let formatted_str = malva::format_text(
|
||||
file_text,
|
||||
malva::detect_syntax(file_path).unwrap_or(malva::Syntax::Css),
|
||||
&get_resolved_malva_config(fmt_options),
|
||||
)
|
||||
.map(Some)
|
||||
.map_err(AnyError::from)
|
||||
.map_err(AnyError::from)?;
|
||||
|
||||
Ok(if formatted_str == file_text {
|
||||
None
|
||||
} else {
|
||||
Some(formatted_str)
|
||||
})
|
||||
}
|
||||
|
||||
fn format_yaml(
|
||||
file_text: &str,
|
||||
fmt_options: &FmtOptionsConfig,
|
||||
) -> Result<Option<String>, AnyError> {
|
||||
let formatted_str =
|
||||
pretty_yaml::format_text(file_text, &get_resolved_yaml_config(fmt_options))
|
||||
.map_err(AnyError::from)?;
|
||||
|
||||
Ok(if formatted_str == file_text {
|
||||
None
|
||||
} else {
|
||||
Some(formatted_str)
|
||||
})
|
||||
}
|
||||
|
||||
pub fn format_html(
|
||||
|
@ -367,7 +368,7 @@ pub fn format_html(
|
|||
file_text: &str,
|
||||
fmt_options: &FmtOptionsConfig,
|
||||
) -> Result<Option<String>, AnyError> {
|
||||
markup_fmt::format_text(
|
||||
let format_result = markup_fmt::format_text(
|
||||
file_text,
|
||||
markup_fmt::detect_language(file_path)
|
||||
.unwrap_or(markup_fmt::Language::Html),
|
||||
|
@ -433,7 +434,6 @@ pub fn format_html(
|
|||
}
|
||||
},
|
||||
)
|
||||
.map(Some)
|
||||
.map_err(|error| match error {
|
||||
markup_fmt::FormatError::Syntax(error) => AnyError::from(error),
|
||||
markup_fmt::FormatError::External(errors) => {
|
||||
|
@ -452,6 +452,14 @@ pub fn format_html(
|
|||
.collect::<String>(),
|
||||
)
|
||||
}
|
||||
});
|
||||
|
||||
let formatted_str = format_result?;
|
||||
|
||||
Ok(if formatted_str == file_text {
|
||||
None
|
||||
} else {
|
||||
Some(formatted_str)
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -473,38 +481,17 @@ pub fn format_file(
|
|||
}
|
||||
"json" | "jsonc" => format_json(file_path, file_text, fmt_options),
|
||||
"css" | "scss" | "sass" | "less" => {
|
||||
if unstable_options.css {
|
||||
format_css(file_path, file_text, fmt_options)
|
||||
} else {
|
||||
Ok(None)
|
||||
}
|
||||
format_css(file_path, file_text, fmt_options)
|
||||
}
|
||||
"html" => {
|
||||
if unstable_options.html {
|
||||
format_html(file_path, file_text, fmt_options)
|
||||
} else {
|
||||
Ok(None)
|
||||
}
|
||||
}
|
||||
"svelte" | "vue" | "astro" => {
|
||||
"html" => format_html(file_path, file_text, fmt_options),
|
||||
"svelte" | "vue" | "astro" | "vto" | "njk" => {
|
||||
if unstable_options.component {
|
||||
format_html(file_path, file_text, fmt_options)
|
||||
} else {
|
||||
Ok(None)
|
||||
}
|
||||
}
|
||||
"yml" | "yaml" => {
|
||||
if unstable_options.yaml {
|
||||
pretty_yaml::format_text(
|
||||
file_text,
|
||||
&get_resolved_yaml_config(fmt_options),
|
||||
)
|
||||
.map(Some)
|
||||
.map_err(AnyError::from)
|
||||
} else {
|
||||
Ok(None)
|
||||
}
|
||||
}
|
||||
"yml" | "yaml" => format_yaml(file_text, fmt_options),
|
||||
"ipynb" => dprint_plugin_jupyter::format_text(
|
||||
file_text,
|
||||
|file_path: &Path, file_text: String| {
|
||||
|
@ -1171,6 +1158,8 @@ fn is_supported_ext_fmt(path: &Path) -> bool {
|
|||
| "svelte"
|
||||
| "vue"
|
||||
| "astro"
|
||||
| "vto"
|
||||
| "njk"
|
||||
| "md"
|
||||
| "mkd"
|
||||
| "mkdn"
|
||||
|
@ -1229,6 +1218,10 @@ mod test {
|
|||
assert!(is_supported_ext_fmt(Path::new("foo.VUE")));
|
||||
assert!(is_supported_ext_fmt(Path::new("foo.astro")));
|
||||
assert!(is_supported_ext_fmt(Path::new("foo.AsTrO")));
|
||||
assert!(is_supported_ext_fmt(Path::new("foo.vto")));
|
||||
assert!(is_supported_ext_fmt(Path::new("foo.Vto")));
|
||||
assert!(is_supported_ext_fmt(Path::new("foo.njk")));
|
||||
assert!(is_supported_ext_fmt(Path::new("foo.NJk")));
|
||||
assert!(is_supported_ext_fmt(Path::new("foo.yml")));
|
||||
assert!(is_supported_ext_fmt(Path::new("foo.Yml")));
|
||||
assert!(is_supported_ext_fmt(Path::new("foo.yaml")));
|
||||
|
|
25
cli/tsc/dts/lib.deno.ns.d.ts
vendored
25
cli/tsc/dts/lib.deno.ns.d.ts
vendored
|
@ -10,7 +10,7 @@
|
|||
*
|
||||
* @category Platform
|
||||
*/
|
||||
declare interface ImportMeta {
|
||||
interface ImportMeta {
|
||||
/** A string representation of the fully qualified module URL. When the
|
||||
* module is loaded locally, the value will be a file URL (e.g.
|
||||
* `file:///path/module.ts`).
|
||||
|
@ -89,7 +89,7 @@ declare interface ImportMeta {
|
|||
*
|
||||
* @category Performance
|
||||
*/
|
||||
declare interface Performance {
|
||||
interface Performance {
|
||||
/** Stores a timestamp with the associated name (a "mark"). */
|
||||
mark(markName: string, options?: PerformanceMarkOptions): PerformanceMark;
|
||||
|
||||
|
@ -109,7 +109,7 @@ declare interface Performance {
|
|||
*
|
||||
* @category Performance
|
||||
*/
|
||||
declare interface PerformanceMarkOptions {
|
||||
interface PerformanceMarkOptions {
|
||||
/** Metadata to be included in the mark. */
|
||||
// deno-lint-ignore no-explicit-any
|
||||
detail?: any;
|
||||
|
@ -126,7 +126,7 @@ declare interface PerformanceMarkOptions {
|
|||
*
|
||||
* @category Performance
|
||||
*/
|
||||
declare interface PerformanceMeasureOptions {
|
||||
interface PerformanceMeasureOptions {
|
||||
/** Metadata to be included in the measure. */
|
||||
// deno-lint-ignore no-explicit-any
|
||||
detail?: any;
|
||||
|
@ -317,6 +317,7 @@ declare namespace Deno {
|
|||
*
|
||||
* @category Errors */
|
||||
export class NotADirectory extends Error {}
|
||||
|
||||
/**
|
||||
* Raised when trying to perform an operation while the relevant Deno
|
||||
* permission (like `--allow-read`) has not been granted.
|
||||
|
@ -326,6 +327,8 @@ declare namespace Deno {
|
|||
*
|
||||
* @category Errors */
|
||||
export class NotCapable extends Error {}
|
||||
|
||||
export {}; // only export exports
|
||||
}
|
||||
|
||||
/** The current process ID of this instance of the Deno CLI.
|
||||
|
@ -5407,7 +5410,9 @@ declare namespace Deno {
|
|||
*
|
||||
* @category FFI
|
||||
*/
|
||||
export type NativeStructType = { readonly struct: readonly NativeType[] };
|
||||
export interface NativeStructType {
|
||||
readonly struct: readonly NativeType[];
|
||||
}
|
||||
|
||||
/**
|
||||
* @category FFI
|
||||
|
@ -5700,7 +5705,9 @@ declare namespace Deno {
|
|||
*
|
||||
* @category FFI
|
||||
*/
|
||||
export type PointerObject<T = unknown> = { [brand]: T };
|
||||
export interface PointerObject<T = unknown> {
|
||||
[brand]: T;
|
||||
}
|
||||
|
||||
/** Pointers are represented either with a {@linkcode PointerObject}
|
||||
* object or a `null` if the pointer is null.
|
||||
|
@ -6034,9 +6041,11 @@ declare namespace Deno {
|
|||
*
|
||||
* @category Fetch
|
||||
*/
|
||||
export interface HttpClient extends Disposable {
|
||||
export class HttpClient implements Disposable {
|
||||
/** Close the HTTP client. */
|
||||
close(): void;
|
||||
|
||||
[Symbol.dispose](): void;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -6137,4 +6146,6 @@ declare namespace Deno {
|
|||
| CreateHttpClientOptions
|
||||
| (CreateHttpClientOptions & TlsCertifiedKeyPem),
|
||||
): HttpClient;
|
||||
|
||||
export {}; // only export exports
|
||||
}
|
||||
|
|
42
cli/tsc/dts/lib.deno.shared_globals.d.ts
vendored
42
cli/tsc/dts/lib.deno.shared_globals.d.ts
vendored
|
@ -413,7 +413,7 @@ declare function clearInterval(id?: number): void;
|
|||
declare function clearTimeout(id?: number): void;
|
||||
|
||||
/** @category Platform */
|
||||
declare interface VoidFunction {
|
||||
interface VoidFunction {
|
||||
(): void;
|
||||
}
|
||||
|
||||
|
@ -445,7 +445,7 @@ declare function queueMicrotask(func: VoidFunction): void;
|
|||
declare function dispatchEvent(event: Event): boolean;
|
||||
|
||||
/** @category Platform */
|
||||
declare interface DOMStringList {
|
||||
interface DOMStringList {
|
||||
/** Returns the number of strings in strings. */
|
||||
readonly length: number;
|
||||
/** Returns true if strings contains string, and false otherwise. */
|
||||
|
@ -456,13 +456,13 @@ declare interface DOMStringList {
|
|||
}
|
||||
|
||||
/** @category Platform */
|
||||
declare type BufferSource = ArrayBufferView | ArrayBuffer;
|
||||
type BufferSource = ArrayBufferView | ArrayBuffer;
|
||||
|
||||
/** @category I/O */
|
||||
declare var console: Console;
|
||||
|
||||
/** @category Events */
|
||||
declare interface ErrorEventInit extends EventInit {
|
||||
interface ErrorEventInit extends EventInit {
|
||||
message?: string;
|
||||
filename?: string;
|
||||
lineno?: number;
|
||||
|
@ -471,7 +471,7 @@ declare interface ErrorEventInit extends EventInit {
|
|||
}
|
||||
|
||||
/** @category Events */
|
||||
declare interface ErrorEvent extends Event {
|
||||
interface ErrorEvent extends Event {
|
||||
readonly message: string;
|
||||
readonly filename: string;
|
||||
readonly lineno: number;
|
||||
|
@ -486,13 +486,13 @@ declare var ErrorEvent: {
|
|||
};
|
||||
|
||||
/** @category Events */
|
||||
declare interface PromiseRejectionEventInit extends EventInit {
|
||||
interface PromiseRejectionEventInit extends EventInit {
|
||||
promise: Promise<any>;
|
||||
reason?: any;
|
||||
}
|
||||
|
||||
/** @category Events */
|
||||
declare interface PromiseRejectionEvent extends Event {
|
||||
interface PromiseRejectionEvent extends Event {
|
||||
readonly promise: Promise<any>;
|
||||
readonly reason: any;
|
||||
}
|
||||
|
@ -507,24 +507,24 @@ declare var PromiseRejectionEvent: {
|
|||
};
|
||||
|
||||
/** @category Workers */
|
||||
declare interface AbstractWorkerEventMap {
|
||||
interface AbstractWorkerEventMap {
|
||||
"error": ErrorEvent;
|
||||
}
|
||||
|
||||
/** @category Workers */
|
||||
declare interface WorkerEventMap extends AbstractWorkerEventMap {
|
||||
interface WorkerEventMap extends AbstractWorkerEventMap {
|
||||
"message": MessageEvent;
|
||||
"messageerror": MessageEvent;
|
||||
}
|
||||
|
||||
/** @category Workers */
|
||||
declare interface WorkerOptions {
|
||||
interface WorkerOptions {
|
||||
type?: "classic" | "module";
|
||||
name?: string;
|
||||
}
|
||||
|
||||
/** @category Workers */
|
||||
declare interface Worker extends EventTarget {
|
||||
interface Worker extends EventTarget {
|
||||
onerror: (this: Worker, e: ErrorEvent) => any | null;
|
||||
onmessage: (this: Worker, e: MessageEvent) => any | null;
|
||||
onmessageerror: (this: Worker, e: MessageEvent) => any | null;
|
||||
|
@ -560,10 +560,10 @@ declare var Worker: {
|
|||
};
|
||||
|
||||
/** @category Performance */
|
||||
declare type PerformanceEntryList = PerformanceEntry[];
|
||||
type PerformanceEntryList = PerformanceEntry[];
|
||||
|
||||
/** @category Performance */
|
||||
declare interface Performance extends EventTarget {
|
||||
interface Performance extends EventTarget {
|
||||
/** Returns a timestamp representing the start of the performance measurement. */
|
||||
readonly timeOrigin: number;
|
||||
|
||||
|
@ -617,7 +617,7 @@ declare var Performance: {
|
|||
declare var performance: Performance;
|
||||
|
||||
/** @category Performance */
|
||||
declare interface PerformanceMarkOptions {
|
||||
interface PerformanceMarkOptions {
|
||||
/** Metadata to be included in the mark. */
|
||||
detail?: any;
|
||||
|
||||
|
@ -626,7 +626,7 @@ declare interface PerformanceMarkOptions {
|
|||
}
|
||||
|
||||
/** @category Performance */
|
||||
declare interface PerformanceMeasureOptions {
|
||||
interface PerformanceMeasureOptions {
|
||||
/** Metadata to be included in the measure. */
|
||||
detail?: any;
|
||||
|
||||
|
@ -648,7 +648,7 @@ declare interface PerformanceMeasureOptions {
|
|||
*
|
||||
* @category Performance
|
||||
*/
|
||||
declare interface PerformanceEntry {
|
||||
interface PerformanceEntry {
|
||||
readonly duration: number;
|
||||
readonly entryType: string;
|
||||
readonly name: string;
|
||||
|
@ -675,7 +675,7 @@ declare var PerformanceEntry: {
|
|||
*
|
||||
* @category Performance
|
||||
*/
|
||||
declare interface PerformanceMark extends PerformanceEntry {
|
||||
interface PerformanceMark extends PerformanceEntry {
|
||||
readonly detail: any;
|
||||
readonly entryType: "mark";
|
||||
}
|
||||
|
@ -699,7 +699,7 @@ declare var PerformanceMark: {
|
|||
*
|
||||
* @category Performance
|
||||
*/
|
||||
declare interface PerformanceMeasure extends PerformanceEntry {
|
||||
interface PerformanceMeasure extends PerformanceEntry {
|
||||
readonly detail: any;
|
||||
readonly entryType: "measure";
|
||||
}
|
||||
|
@ -717,12 +717,12 @@ declare var PerformanceMeasure: {
|
|||
};
|
||||
|
||||
/** @category Events */
|
||||
declare interface CustomEventInit<T = any> extends EventInit {
|
||||
interface CustomEventInit<T = any> extends EventInit {
|
||||
detail?: T;
|
||||
}
|
||||
|
||||
/** @category Events */
|
||||
declare interface CustomEvent<T = any> extends Event {
|
||||
interface CustomEvent<T = any> extends Event {
|
||||
/** Returns any custom data event was created with. Typically used for
|
||||
* synthetic events. */
|
||||
readonly detail: T;
|
||||
|
@ -735,7 +735,7 @@ declare var CustomEvent: {
|
|||
};
|
||||
|
||||
/** @category Platform */
|
||||
declare interface ErrorConstructor {
|
||||
interface ErrorConstructor {
|
||||
/** See https://v8.dev/docs/stack-trace-api#stack-trace-collection-for-custom-exceptions. */
|
||||
captureStackTrace(error: Object, constructor?: Function): void;
|
||||
// TODO(nayeemrmn): Support `Error.prepareStackTrace()`. We currently use this
|
||||
|
|
62
cli/tsc/dts/lib.deno.unstable.d.ts
vendored
62
cli/tsc/dts/lib.deno.unstable.d.ts
vendored
|
@ -212,7 +212,7 @@ declare namespace Deno {
|
|||
* @category Cloud
|
||||
* @experimental
|
||||
*/
|
||||
export function openKv(path?: string): Promise<Deno.Kv>;
|
||||
export function openKv(path?: string): Promise<Kv>;
|
||||
|
||||
/** **UNSTABLE**: New API, yet to be vetted.
|
||||
*
|
||||
|
@ -475,7 +475,11 @@ declare namespace Deno {
|
|||
* @category Cloud
|
||||
* @experimental
|
||||
*/
|
||||
export type KvEntry<T> = { key: KvKey; value: T; versionstamp: string };
|
||||
export interface KvEntry<T> {
|
||||
key: KvKey;
|
||||
value: T;
|
||||
versionstamp: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* **UNSTABLE**: New API, yet to be vetted.
|
||||
|
@ -680,7 +684,7 @@ declare namespace Deno {
|
|||
value: unknown,
|
||||
options?: {
|
||||
delay?: number;
|
||||
keysIfUndelivered?: Deno.KvKey[];
|
||||
keysIfUndelivered?: KvKey[];
|
||||
backoffSchedule?: number[];
|
||||
},
|
||||
): this;
|
||||
|
@ -911,7 +915,7 @@ declare namespace Deno {
|
|||
value: unknown,
|
||||
options?: {
|
||||
delay?: number;
|
||||
keysIfUndelivered?: Deno.KvKey[];
|
||||
keysIfUndelivered?: KvKey[];
|
||||
backoffSchedule?: number[];
|
||||
},
|
||||
): Promise<KvCommitResult>;
|
||||
|
@ -1041,10 +1045,10 @@ declare namespace Deno {
|
|||
* @category Jupyter
|
||||
* @experimental
|
||||
*/
|
||||
export type VegaObject = {
|
||||
export interface VegaObject {
|
||||
$schema: string;
|
||||
[key: string]: unknown;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* A collection of supported media types and data for Jupyter frontends.
|
||||
|
@ -1052,7 +1056,7 @@ declare namespace Deno {
|
|||
* @category Jupyter
|
||||
* @experimental
|
||||
*/
|
||||
export type MediaBundle = {
|
||||
export interface MediaBundle {
|
||||
"text/plain"?: string;
|
||||
"text/html"?: string;
|
||||
"image/svg+xml"?: string;
|
||||
|
@ -1078,7 +1082,7 @@ declare namespace Deno {
|
|||
|
||||
// Must support a catch all for custom media types / mimetypes
|
||||
[key: string]: string | object | undefined;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @category Jupyter
|
||||
|
@ -1090,9 +1094,9 @@ declare namespace Deno {
|
|||
* @category Jupyter
|
||||
* @experimental
|
||||
*/
|
||||
export type Displayable = {
|
||||
export interface Displayable {
|
||||
[$display]: () => MediaBundle | Promise<MediaBundle>;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Display function for Jupyter Deno Kernel.
|
||||
|
@ -1217,7 +1221,11 @@ declare namespace Deno {
|
|||
buffers?: Uint8Array[];
|
||||
},
|
||||
): Promise<void>;
|
||||
|
||||
export {}; // only export exports
|
||||
}
|
||||
|
||||
export {}; // only export exports
|
||||
}
|
||||
|
||||
/** **UNSTABLE**: New API, yet to be vetted.
|
||||
|
@ -1225,7 +1233,7 @@ declare namespace Deno {
|
|||
* @category Workers
|
||||
* @experimental
|
||||
*/
|
||||
declare interface WorkerOptions {
|
||||
interface WorkerOptions {
|
||||
/** **UNSTABLE**: New API, yet to be vetted.
|
||||
*
|
||||
* Configure permissions options to change the level of access the worker will
|
||||
|
@ -1266,7 +1274,7 @@ declare interface WorkerOptions {
|
|||
* @category WebSockets
|
||||
* @experimental
|
||||
*/
|
||||
declare interface WebSocketStreamOptions {
|
||||
interface WebSocketStreamOptions {
|
||||
protocols?: string[];
|
||||
signal?: AbortSignal;
|
||||
headers?: HeadersInit;
|
||||
|
@ -1277,7 +1285,7 @@ declare interface WebSocketStreamOptions {
|
|||
* @category WebSockets
|
||||
* @experimental
|
||||
*/
|
||||
declare interface WebSocketConnection {
|
||||
interface WebSocketConnection {
|
||||
readable: ReadableStream<string | Uint8Array>;
|
||||
writable: WritableStream<string | Uint8Array>;
|
||||
extensions: string;
|
||||
|
@ -1289,7 +1297,7 @@ declare interface WebSocketConnection {
|
|||
* @category WebSockets
|
||||
* @experimental
|
||||
*/
|
||||
declare interface WebSocketCloseInfo {
|
||||
interface WebSocketCloseInfo {
|
||||
code?: number;
|
||||
reason?: string;
|
||||
}
|
||||
|
@ -1300,7 +1308,7 @@ declare interface WebSocketCloseInfo {
|
|||
* @category WebSockets
|
||||
* @experimental
|
||||
*/
|
||||
declare interface WebSocketStream {
|
||||
interface WebSocketStream {
|
||||
url: string;
|
||||
opened: Promise<WebSocketConnection>;
|
||||
closed: Promise<WebSocketCloseInfo>;
|
||||
|
@ -1324,7 +1332,7 @@ declare var WebSocketStream: {
|
|||
* @category WebSockets
|
||||
* @experimental
|
||||
*/
|
||||
declare interface WebSocketError extends DOMException {
|
||||
interface WebSocketError extends DOMException {
|
||||
readonly closeCode: number;
|
||||
readonly reason: string;
|
||||
}
|
||||
|
@ -2884,7 +2892,7 @@ declare namespace Temporal {
|
|||
* @category Temporal
|
||||
* @experimental
|
||||
*/
|
||||
declare interface Date {
|
||||
interface Date {
|
||||
toTemporalInstant(): Temporal.Instant;
|
||||
}
|
||||
|
||||
|
@ -2986,7 +2994,7 @@ declare namespace Intl {
|
|||
* @category Platform
|
||||
* @experimental
|
||||
*/
|
||||
declare interface Float16Array {
|
||||
interface Float16Array {
|
||||
/**
|
||||
* The size in bytes of each element in the array.
|
||||
*/
|
||||
|
@ -3301,7 +3309,7 @@ declare interface Float16Array {
|
|||
* @category Platform
|
||||
* @experimental
|
||||
*/
|
||||
declare interface Float16ArrayConstructor {
|
||||
interface Float16ArrayConstructor {
|
||||
readonly prototype: Float16Array;
|
||||
new (length: number): Float16Array;
|
||||
new (array: ArrayLike<number> | ArrayBufferLike): Float16Array;
|
||||
|
@ -3350,7 +3358,7 @@ declare var Float16Array: Float16ArrayConstructor;
|
|||
* @category Platform
|
||||
* @experimental
|
||||
*/
|
||||
declare interface Float16Array {
|
||||
interface Float16Array {
|
||||
[Symbol.iterator](): IterableIterator<number>;
|
||||
/**
|
||||
* Returns an array of key, value pairs for every entry in the array
|
||||
|
@ -3370,7 +3378,7 @@ declare interface Float16Array {
|
|||
* @category Platform
|
||||
* @experimental
|
||||
*/
|
||||
declare interface Float16Constructor {
|
||||
interface Float16Constructor {
|
||||
new (elements: Iterable<number>): Float16Array;
|
||||
|
||||
/**
|
||||
|
@ -3390,7 +3398,7 @@ declare interface Float16Constructor {
|
|||
* @category Platform
|
||||
* @experimental
|
||||
*/
|
||||
declare interface Float16Array {
|
||||
interface Float16Array {
|
||||
readonly [Symbol.toStringTag]: "Float16Array";
|
||||
}
|
||||
|
||||
|
@ -3398,7 +3406,7 @@ declare interface Float16Array {
|
|||
* @category Platform
|
||||
* @experimental
|
||||
*/
|
||||
declare interface Float16Array {
|
||||
interface Float16Array {
|
||||
/**
|
||||
* Determines whether an array includes a certain element, returning true or false as appropriate.
|
||||
* @param searchElement The element to search for.
|
||||
|
@ -3411,7 +3419,7 @@ declare interface Float16Array {
|
|||
* @category Platform
|
||||
* @experimental
|
||||
*/
|
||||
declare interface Float16ArrayConstructor {
|
||||
interface Float16ArrayConstructor {
|
||||
new (): Float16Array;
|
||||
}
|
||||
|
||||
|
@ -3419,7 +3427,7 @@ declare interface Float16ArrayConstructor {
|
|||
* @category Platform
|
||||
* @experimental
|
||||
*/
|
||||
declare interface Float16Array {
|
||||
interface Float16Array {
|
||||
/**
|
||||
* Returns the item located at the specified index.
|
||||
* @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
|
||||
|
@ -3431,7 +3439,7 @@ declare interface Float16Array {
|
|||
* @category Platform
|
||||
* @experimental
|
||||
*/
|
||||
declare interface Float16Array {
|
||||
interface Float16Array {
|
||||
/**
|
||||
* Returns the value of the last element in the array where predicate is true, and undefined
|
||||
* otherwise.
|
||||
|
@ -3507,7 +3515,7 @@ declare interface Float16Array {
|
|||
* @category Platform
|
||||
* @experimental
|
||||
*/
|
||||
declare interface DataView {
|
||||
interface DataView {
|
||||
/**
|
||||
* Gets the Float16 value at the specified byte offset from the start of the view. There is
|
||||
* no alignment constraint; multi-byte values may be fetched from any offset.
|
||||
|
|
8
cli/tsc/dts/lib.deno.window.d.ts
vendored
8
cli/tsc/dts/lib.deno.window.d.ts
vendored
|
@ -8,14 +8,14 @@
|
|||
/// <reference lib="deno.cache" />
|
||||
|
||||
/** @category Platform */
|
||||
declare interface WindowEventMap {
|
||||
interface WindowEventMap {
|
||||
"error": ErrorEvent;
|
||||
"unhandledrejection": PromiseRejectionEvent;
|
||||
"rejectionhandled": PromiseRejectionEvent;
|
||||
}
|
||||
|
||||
/** @category Platform */
|
||||
declare interface Window extends EventTarget {
|
||||
interface Window extends EventTarget {
|
||||
readonly window: Window & typeof globalThis;
|
||||
readonly self: Window & typeof globalThis;
|
||||
onerror: ((this: Window, ev: ErrorEvent) => any) | null;
|
||||
|
@ -105,7 +105,7 @@ declare var sessionStorage: Storage;
|
|||
declare var caches: CacheStorage;
|
||||
|
||||
/** @category Platform */
|
||||
declare interface Navigator {
|
||||
interface Navigator {
|
||||
readonly gpu: GPU;
|
||||
readonly hardwareConcurrency: number;
|
||||
readonly userAgent: string;
|
||||
|
@ -221,7 +221,7 @@ declare function removeEventListener(
|
|||
*
|
||||
* @category Platform
|
||||
*/
|
||||
declare interface Location {
|
||||
interface Location {
|
||||
/** Returns a DOMStringList object listing the origins of the ancestor
|
||||
* browsing contexts, from the parent browsing context to the top-level
|
||||
* browsing context.
|
||||
|
|
212
cli/tsc/dts/lib.deno_webgpu.d.ts
vendored
212
cli/tsc/dts/lib.deno_webgpu.d.ts
vendored
|
@ -6,12 +6,12 @@
|
|||
/// <reference lib="esnext" />
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUObjectBase {
|
||||
interface GPUObjectBase {
|
||||
label: string;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUObjectDescriptorBase {
|
||||
interface GPUObjectDescriptorBase {
|
||||
label?: string;
|
||||
}
|
||||
|
||||
|
@ -84,13 +84,13 @@ declare class GPU {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPURequestAdapterOptions {
|
||||
interface GPURequestAdapterOptions {
|
||||
powerPreference?: GPUPowerPreference;
|
||||
forceFallbackAdapter?: boolean;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUPowerPreference = "low-power" | "high-performance";
|
||||
type GPUPowerPreference = "low-power" | "high-performance";
|
||||
|
||||
/** @category GPU */
|
||||
declare class GPUAdapter {
|
||||
|
@ -103,13 +103,13 @@ declare class GPUAdapter {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
|
||||
interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
|
||||
requiredFeatures?: GPUFeatureName[];
|
||||
requiredLimits?: Record<string, number>;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUFeatureName =
|
||||
type GPUFeatureName =
|
||||
| "depth-clip-control"
|
||||
| "depth32float-stencil8"
|
||||
| "pipeline-statistics-query"
|
||||
|
@ -206,20 +206,20 @@ declare class GPUBuffer implements GPUObjectBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUBufferMapState = "unmapped" | "pending" | "mapped";
|
||||
type GPUBufferMapState = "unmapped" | "pending" | "mapped";
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUBufferDescriptor extends GPUObjectDescriptorBase {
|
||||
interface GPUBufferDescriptor extends GPUObjectDescriptorBase {
|
||||
size: number;
|
||||
usage: GPUBufferUsageFlags;
|
||||
mappedAtCreation?: boolean;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUBufferUsageFlags = number;
|
||||
type GPUBufferUsageFlags = number;
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUFlagsConstant = number;
|
||||
type GPUFlagsConstant = number;
|
||||
|
||||
/** @category GPU */
|
||||
declare class GPUBufferUsage {
|
||||
|
@ -236,7 +236,7 @@ declare class GPUBufferUsage {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUMapModeFlags = number;
|
||||
type GPUMapModeFlags = number;
|
||||
|
||||
/** @category GPU */
|
||||
declare class GPUMapMode {
|
||||
|
@ -262,7 +262,7 @@ declare class GPUTexture implements GPUObjectBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
|
||||
interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
|
||||
size: GPUExtent3D;
|
||||
mipLevelCount?: number;
|
||||
sampleCount?: number;
|
||||
|
@ -273,10 +273,10 @@ declare interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUTextureDimension = "1d" | "2d" | "3d";
|
||||
type GPUTextureDimension = "1d" | "2d" | "3d";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUTextureUsageFlags = number;
|
||||
type GPUTextureUsageFlags = number;
|
||||
|
||||
/** @category GPU */
|
||||
declare class GPUTextureUsage {
|
||||
|
@ -293,7 +293,7 @@ declare class GPUTextureView implements GPUObjectBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUTextureViewDescriptor extends GPUObjectDescriptorBase {
|
||||
interface GPUTextureViewDescriptor extends GPUObjectDescriptorBase {
|
||||
format?: GPUTextureFormat;
|
||||
dimension?: GPUTextureViewDimension;
|
||||
aspect?: GPUTextureAspect;
|
||||
|
@ -304,7 +304,7 @@ declare interface GPUTextureViewDescriptor extends GPUObjectDescriptorBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUTextureViewDimension =
|
||||
type GPUTextureViewDimension =
|
||||
| "1d"
|
||||
| "2d"
|
||||
| "2d-array"
|
||||
|
@ -313,10 +313,10 @@ declare type GPUTextureViewDimension =
|
|||
| "3d";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUTextureAspect = "all" | "stencil-only" | "depth-only";
|
||||
type GPUTextureAspect = "all" | "stencil-only" | "depth-only";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUTextureFormat =
|
||||
type GPUTextureFormat =
|
||||
| "r8unorm"
|
||||
| "r8snorm"
|
||||
| "r8uint"
|
||||
|
@ -419,7 +419,7 @@ declare class GPUSampler implements GPUObjectBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
|
||||
interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
|
||||
addressModeU?: GPUAddressMode;
|
||||
addressModeV?: GPUAddressMode;
|
||||
addressModeW?: GPUAddressMode;
|
||||
|
@ -433,16 +433,16 @@ declare interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUAddressMode = "clamp-to-edge" | "repeat" | "mirror-repeat";
|
||||
type GPUAddressMode = "clamp-to-edge" | "repeat" | "mirror-repeat";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUFilterMode = "nearest" | "linear";
|
||||
type GPUFilterMode = "nearest" | "linear";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUMipmapFilterMode = "nearest" | "linear";
|
||||
type GPUMipmapFilterMode = "nearest" | "linear";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUCompareFunction =
|
||||
type GPUCompareFunction =
|
||||
| "never"
|
||||
| "less"
|
||||
| "equal"
|
||||
|
@ -458,12 +458,12 @@ declare class GPUBindGroupLayout implements GPUObjectBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase {
|
||||
interface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase {
|
||||
entries: GPUBindGroupLayoutEntry[];
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUBindGroupLayoutEntry {
|
||||
interface GPUBindGroupLayoutEntry {
|
||||
binding: number;
|
||||
visibility: GPUShaderStageFlags;
|
||||
|
||||
|
@ -474,7 +474,7 @@ declare interface GPUBindGroupLayoutEntry {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUShaderStageFlags = number;
|
||||
type GPUShaderStageFlags = number;
|
||||
|
||||
/** @category GPU */
|
||||
declare class GPUShaderStage {
|
||||
|
@ -484,35 +484,35 @@ declare class GPUShaderStage {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUBufferBindingLayout {
|
||||
interface GPUBufferBindingLayout {
|
||||
type?: GPUBufferBindingType;
|
||||
hasDynamicOffset?: boolean;
|
||||
minBindingSize?: number;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUBufferBindingType = "uniform" | "storage" | "read-only-storage";
|
||||
type GPUBufferBindingType = "uniform" | "storage" | "read-only-storage";
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUSamplerBindingLayout {
|
||||
interface GPUSamplerBindingLayout {
|
||||
type?: GPUSamplerBindingType;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUSamplerBindingType =
|
||||
type GPUSamplerBindingType =
|
||||
| "filtering"
|
||||
| "non-filtering"
|
||||
| "comparison";
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUTextureBindingLayout {
|
||||
interface GPUTextureBindingLayout {
|
||||
sampleType?: GPUTextureSampleType;
|
||||
viewDimension?: GPUTextureViewDimension;
|
||||
multisampled?: boolean;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUTextureSampleType =
|
||||
type GPUTextureSampleType =
|
||||
| "float"
|
||||
| "unfilterable-float"
|
||||
| "depth"
|
||||
|
@ -520,13 +520,13 @@ declare type GPUTextureSampleType =
|
|||
| "uint";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUStorageTextureAccess =
|
||||
type GPUStorageTextureAccess =
|
||||
| "write-only"
|
||||
| "read-only"
|
||||
| "read-write";
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUStorageTextureBindingLayout {
|
||||
interface GPUStorageTextureBindingLayout {
|
||||
access: GPUStorageTextureAccess;
|
||||
format: GPUTextureFormat;
|
||||
viewDimension?: GPUTextureViewDimension;
|
||||
|
@ -538,25 +538,25 @@ declare class GPUBindGroup implements GPUObjectBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUBindGroupDescriptor extends GPUObjectDescriptorBase {
|
||||
interface GPUBindGroupDescriptor extends GPUObjectDescriptorBase {
|
||||
layout: GPUBindGroupLayout;
|
||||
entries: GPUBindGroupEntry[];
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUBindingResource =
|
||||
type GPUBindingResource =
|
||||
| GPUSampler
|
||||
| GPUTextureView
|
||||
| GPUBufferBinding;
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUBindGroupEntry {
|
||||
interface GPUBindGroupEntry {
|
||||
binding: number;
|
||||
resource: GPUBindingResource;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUBufferBinding {
|
||||
interface GPUBufferBinding {
|
||||
buffer: GPUBuffer;
|
||||
offset?: number;
|
||||
size?: number;
|
||||
|
@ -568,15 +568,15 @@ declare class GPUPipelineLayout implements GPUObjectBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase {
|
||||
interface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase {
|
||||
bindGroupLayouts: GPUBindGroupLayout[];
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUCompilationMessageType = "error" | "warning" | "info";
|
||||
type GPUCompilationMessageType = "error" | "warning" | "info";
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUCompilationMessage {
|
||||
interface GPUCompilationMessage {
|
||||
readonly message: string;
|
||||
readonly type: GPUCompilationMessageType;
|
||||
readonly lineNum: number;
|
||||
|
@ -584,7 +584,7 @@ declare interface GPUCompilationMessage {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUCompilationInfo {
|
||||
interface GPUCompilationInfo {
|
||||
readonly messages: ReadonlyArray<GPUCompilationMessage>;
|
||||
}
|
||||
|
||||
|
@ -596,12 +596,12 @@ declare class GPUPipelineError extends DOMException {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUPipelineErrorInit {
|
||||
interface GPUPipelineErrorInit {
|
||||
reason: GPUPipelineErrorReason;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUPipelineErrorReason = "validation" | "internal";
|
||||
type GPUPipelineErrorReason = "validation" | "internal";
|
||||
|
||||
/** @category GPU */
|
||||
declare class GPUShaderModule implements GPUObjectBase {
|
||||
|
@ -609,26 +609,26 @@ declare class GPUShaderModule implements GPUObjectBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase {
|
||||
interface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase {
|
||||
code: string;
|
||||
sourceMap?: any;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUAutoLayoutMode = "auto";
|
||||
type GPUAutoLayoutMode = "auto";
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUPipelineDescriptorBase extends GPUObjectDescriptorBase {
|
||||
interface GPUPipelineDescriptorBase extends GPUObjectDescriptorBase {
|
||||
layout: GPUPipelineLayout | GPUAutoLayoutMode;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUPipelineBase {
|
||||
interface GPUPipelineBase {
|
||||
getBindGroupLayout(index: number): GPUBindGroupLayout;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUProgrammableStage {
|
||||
interface GPUProgrammableStage {
|
||||
module: GPUShaderModule;
|
||||
entryPoint?: string;
|
||||
constants?: Record<string, number>;
|
||||
|
@ -642,8 +642,7 @@ declare class GPUComputePipeline implements GPUObjectBase, GPUPipelineBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUComputePipelineDescriptor
|
||||
extends GPUPipelineDescriptorBase {
|
||||
interface GPUComputePipelineDescriptor extends GPUPipelineDescriptorBase {
|
||||
compute: GPUProgrammableStage;
|
||||
}
|
||||
|
||||
|
@ -655,8 +654,7 @@ declare class GPURenderPipeline implements GPUObjectBase, GPUPipelineBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPURenderPipelineDescriptor
|
||||
extends GPUPipelineDescriptorBase {
|
||||
interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {
|
||||
vertex: GPUVertexState;
|
||||
primitive?: GPUPrimitiveState;
|
||||
depthStencil?: GPUDepthStencilState;
|
||||
|
@ -665,7 +663,7 @@ declare interface GPURenderPipelineDescriptor
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUPrimitiveState {
|
||||
interface GPUPrimitiveState {
|
||||
topology?: GPUPrimitiveTopology;
|
||||
stripIndexFormat?: GPUIndexFormat;
|
||||
frontFace?: GPUFrontFace;
|
||||
|
@ -674,7 +672,7 @@ declare interface GPUPrimitiveState {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUPrimitiveTopology =
|
||||
type GPUPrimitiveTopology =
|
||||
| "point-list"
|
||||
| "line-list"
|
||||
| "line-strip"
|
||||
|
@ -682,25 +680,25 @@ declare type GPUPrimitiveTopology =
|
|||
| "triangle-strip";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUFrontFace = "ccw" | "cw";
|
||||
type GPUFrontFace = "ccw" | "cw";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUCullMode = "none" | "front" | "back";
|
||||
type GPUCullMode = "none" | "front" | "back";
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUMultisampleState {
|
||||
interface GPUMultisampleState {
|
||||
count?: number;
|
||||
mask?: number;
|
||||
alphaToCoverageEnabled?: boolean;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUFragmentState extends GPUProgrammableStage {
|
||||
interface GPUFragmentState extends GPUProgrammableStage {
|
||||
targets: (GPUColorTargetState | null)[];
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUColorTargetState {
|
||||
interface GPUColorTargetState {
|
||||
format: GPUTextureFormat;
|
||||
|
||||
blend?: GPUBlendState;
|
||||
|
@ -708,13 +706,13 @@ declare interface GPUColorTargetState {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUBlendState {
|
||||
interface GPUBlendState {
|
||||
color: GPUBlendComponent;
|
||||
alpha: GPUBlendComponent;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUColorWriteFlags = number;
|
||||
type GPUColorWriteFlags = number;
|
||||
|
||||
/** @category GPU */
|
||||
declare class GPUColorWrite {
|
||||
|
@ -726,14 +724,14 @@ declare class GPUColorWrite {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUBlendComponent {
|
||||
interface GPUBlendComponent {
|
||||
operation?: GPUBlendOperation;
|
||||
srcFactor?: GPUBlendFactor;
|
||||
dstFactor?: GPUBlendFactor;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUBlendFactor =
|
||||
type GPUBlendFactor =
|
||||
| "zero"
|
||||
| "one"
|
||||
| "src"
|
||||
|
@ -749,7 +747,7 @@ declare type GPUBlendFactor =
|
|||
| "one-minus-constant";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUBlendOperation =
|
||||
type GPUBlendOperation =
|
||||
| "add"
|
||||
| "subtract"
|
||||
| "reverse-subtract"
|
||||
|
@ -757,7 +755,7 @@ declare type GPUBlendOperation =
|
|||
| "max";
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUDepthStencilState {
|
||||
interface GPUDepthStencilState {
|
||||
format: GPUTextureFormat;
|
||||
|
||||
depthWriteEnabled: boolean;
|
||||
|
@ -775,7 +773,7 @@ declare interface GPUDepthStencilState {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUStencilFaceState {
|
||||
interface GPUStencilFaceState {
|
||||
compare?: GPUCompareFunction;
|
||||
failOp?: GPUStencilOperation;
|
||||
depthFailOp?: GPUStencilOperation;
|
||||
|
@ -783,7 +781,7 @@ declare interface GPUStencilFaceState {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUStencilOperation =
|
||||
type GPUStencilOperation =
|
||||
| "keep"
|
||||
| "zero"
|
||||
| "replace"
|
||||
|
@ -794,10 +792,10 @@ declare type GPUStencilOperation =
|
|||
| "decrement-wrap";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUIndexFormat = "uint16" | "uint32";
|
||||
type GPUIndexFormat = "uint16" | "uint32";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUVertexFormat =
|
||||
type GPUVertexFormat =
|
||||
| "uint8x2"
|
||||
| "uint8x4"
|
||||
| "sint8x2"
|
||||
|
@ -831,22 +829,22 @@ declare type GPUVertexFormat =
|
|||
| "unorm10-10-10-2";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUVertexStepMode = "vertex" | "instance";
|
||||
type GPUVertexStepMode = "vertex" | "instance";
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUVertexState extends GPUProgrammableStage {
|
||||
interface GPUVertexState extends GPUProgrammableStage {
|
||||
buffers?: (GPUVertexBufferLayout | null)[];
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUVertexBufferLayout {
|
||||
interface GPUVertexBufferLayout {
|
||||
arrayStride: number;
|
||||
stepMode?: GPUVertexStepMode;
|
||||
attributes: GPUVertexAttribute[];
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUVertexAttribute {
|
||||
interface GPUVertexAttribute {
|
||||
format: GPUVertexFormat;
|
||||
offset: number;
|
||||
|
||||
|
@ -854,7 +852,7 @@ declare interface GPUVertexAttribute {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUImageDataLayout {
|
||||
interface GPUImageDataLayout {
|
||||
offset?: number;
|
||||
bytesPerRow?: number;
|
||||
rowsPerImage?: number;
|
||||
|
@ -866,7 +864,7 @@ declare class GPUCommandBuffer implements GPUObjectBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUCommandBufferDescriptor extends GPUObjectDescriptorBase {}
|
||||
interface GPUCommandBufferDescriptor extends GPUObjectDescriptorBase {}
|
||||
|
||||
/** @category GPU */
|
||||
declare class GPUCommandEncoder implements GPUObjectBase {
|
||||
|
@ -927,15 +925,15 @@ declare class GPUCommandEncoder implements GPUObjectBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUCommandEncoderDescriptor extends GPUObjectDescriptorBase {}
|
||||
interface GPUCommandEncoderDescriptor extends GPUObjectDescriptorBase {}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUImageCopyBuffer extends GPUImageDataLayout {
|
||||
interface GPUImageCopyBuffer extends GPUImageDataLayout {
|
||||
buffer: GPUBuffer;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUImageCopyTexture {
|
||||
interface GPUImageCopyTexture {
|
||||
texture: GPUTexture;
|
||||
mipLevel?: number;
|
||||
origin?: GPUOrigin3D;
|
||||
|
@ -943,7 +941,7 @@ declare interface GPUImageCopyTexture {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUProgrammablePassEncoder {
|
||||
interface GPUProgrammablePassEncoder {
|
||||
setBindGroup(
|
||||
index: number,
|
||||
bindGroup: GPUBindGroup,
|
||||
|
@ -993,19 +991,19 @@ declare class GPUComputePassEncoder
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUComputePassTimestampWrites {
|
||||
interface GPUComputePassTimestampWrites {
|
||||
querySet: GPUQuerySet;
|
||||
beginningOfPassWriteIndex?: number;
|
||||
endOfPassWriteIndex?: number;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUComputePassDescriptor extends GPUObjectDescriptorBase {
|
||||
interface GPUComputePassDescriptor extends GPUObjectDescriptorBase {
|
||||
timestampWrites?: GPUComputePassTimestampWrites;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPURenderEncoderBase {
|
||||
interface GPURenderEncoderBase {
|
||||
setPipeline(pipeline: GPURenderPipeline): undefined;
|
||||
|
||||
setIndexBuffer(
|
||||
|
@ -1120,14 +1118,14 @@ declare class GPURenderPassEncoder
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPURenderPassTimestampWrites {
|
||||
interface GPURenderPassTimestampWrites {
|
||||
querySet: GPUQuerySet;
|
||||
beginningOfPassWriteIndex?: number;
|
||||
endOfPassWriteIndex?: number;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPURenderPassDescriptor extends GPUObjectDescriptorBase {
|
||||
interface GPURenderPassDescriptor extends GPUObjectDescriptorBase {
|
||||
colorAttachments: (GPURenderPassColorAttachment | null)[];
|
||||
depthStencilAttachment?: GPURenderPassDepthStencilAttachment;
|
||||
occlusionQuerySet?: GPUQuerySet;
|
||||
|
@ -1135,7 +1133,7 @@ declare interface GPURenderPassDescriptor extends GPUObjectDescriptorBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPURenderPassColorAttachment {
|
||||
interface GPURenderPassColorAttachment {
|
||||
view: GPUTextureView;
|
||||
resolveTarget?: GPUTextureView;
|
||||
|
||||
|
@ -1145,7 +1143,7 @@ declare interface GPURenderPassColorAttachment {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPURenderPassDepthStencilAttachment {
|
||||
interface GPURenderPassDepthStencilAttachment {
|
||||
view: GPUTextureView;
|
||||
|
||||
depthClearValue?: number;
|
||||
|
@ -1160,10 +1158,10 @@ declare interface GPURenderPassDepthStencilAttachment {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPULoadOp = "load" | "clear";
|
||||
type GPULoadOp = "load" | "clear";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUStoreOp = "store" | "discard";
|
||||
type GPUStoreOp = "store" | "discard";
|
||||
|
||||
/** @category GPU */
|
||||
declare class GPURenderBundle implements GPUObjectBase {
|
||||
|
@ -1171,7 +1169,7 @@ declare class GPURenderBundle implements GPUObjectBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {}
|
||||
interface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {}
|
||||
|
||||
/** @category GPU */
|
||||
declare class GPURenderBundleEncoder
|
||||
|
@ -1228,14 +1226,14 @@ declare class GPURenderBundleEncoder
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPURenderPassLayout extends GPUObjectDescriptorBase {
|
||||
interface GPURenderPassLayout extends GPUObjectDescriptorBase {
|
||||
colorFormats: (GPUTextureFormat | null)[];
|
||||
depthStencilFormat?: GPUTextureFormat;
|
||||
sampleCount?: number;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPURenderBundleEncoderDescriptor extends GPURenderPassLayout {
|
||||
interface GPURenderBundleEncoderDescriptor extends GPURenderPassLayout {
|
||||
depthReadOnly?: boolean;
|
||||
stencilReadOnly?: boolean;
|
||||
}
|
||||
|
@ -1275,19 +1273,19 @@ declare class GPUQuerySet implements GPUObjectBase {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {
|
||||
interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {
|
||||
type: GPUQueryType;
|
||||
count: number;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUQueryType = "occlusion" | "timestamp";
|
||||
type GPUQueryType = "occlusion" | "timestamp";
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUDeviceLostReason = "destroyed";
|
||||
type GPUDeviceLostReason = "destroyed";
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUDeviceLostInfo {
|
||||
interface GPUDeviceLostInfo {
|
||||
readonly reason: GPUDeviceLostReason;
|
||||
readonly message: string;
|
||||
}
|
||||
|
@ -1313,7 +1311,7 @@ declare class GPUInternalError extends GPUError {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUErrorFilter = "out-of-memory" | "validation" | "internal";
|
||||
type GPUErrorFilter = "out-of-memory" | "validation" | "internal";
|
||||
|
||||
/** @category GPU */
|
||||
declare class GPUUncapturedErrorEvent extends Event {
|
||||
|
@ -1326,12 +1324,12 @@ declare class GPUUncapturedErrorEvent extends Event {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUUncapturedErrorEventInit extends EventInit {
|
||||
interface GPUUncapturedErrorEventInit extends EventInit {
|
||||
error: GPUError;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUColorDict {
|
||||
interface GPUColorDict {
|
||||
r: number;
|
||||
g: number;
|
||||
b: number;
|
||||
|
@ -1339,33 +1337,33 @@ declare interface GPUColorDict {
|
|||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUColor = number[] | GPUColorDict;
|
||||
type GPUColor = number[] | GPUColorDict;
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUOrigin3DDict {
|
||||
interface GPUOrigin3DDict {
|
||||
x?: number;
|
||||
y?: number;
|
||||
z?: number;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUOrigin3D = number[] | GPUOrigin3DDict;
|
||||
type GPUOrigin3D = number[] | GPUOrigin3DDict;
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUExtent3DDict {
|
||||
interface GPUExtent3DDict {
|
||||
width: number;
|
||||
height?: number;
|
||||
depthOrArrayLayers?: number;
|
||||
}
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUExtent3D = number[] | GPUExtent3DDict;
|
||||
type GPUExtent3D = number[] | GPUExtent3DDict;
|
||||
|
||||
/** @category GPU */
|
||||
declare type GPUCanvasAlphaMode = "opaque" | "premultiplied";
|
||||
type GPUCanvasAlphaMode = "opaque" | "premultiplied";
|
||||
|
||||
/** @category GPU */
|
||||
declare interface GPUCanvasConfiguration {
|
||||
interface GPUCanvasConfiguration {
|
||||
device: GPUDevice;
|
||||
format: GPUTextureFormat;
|
||||
usage?: GPUTextureUsageFlags;
|
||||
|
@ -1374,7 +1372,7 @@ declare interface GPUCanvasConfiguration {
|
|||
alphaMode?: GPUCanvasAlphaMode;
|
||||
}
|
||||
/** @category GPU */
|
||||
declare interface GPUCanvasContext {
|
||||
interface GPUCanvasContext {
|
||||
configure(configuration: GPUCanvasConfiguration): undefined;
|
||||
unconfigure(): undefined;
|
||||
getCurrentTexture(): GPUTexture;
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
* @category Messaging
|
||||
* @experimental
|
||||
*/
|
||||
declare interface BroadcastChannelEventMap {
|
||||
interface BroadcastChannelEventMap {
|
||||
"message": MessageEvent;
|
||||
"messageerror": MessageEvent;
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ declare interface BroadcastChannelEventMap {
|
|||
* @category Messaging
|
||||
* @experimental
|
||||
*/
|
||||
declare interface BroadcastChannel extends EventTarget {
|
||||
interface BroadcastChannel extends EventTarget {
|
||||
/**
|
||||
* Returns the channel name (as passed to the constructor).
|
||||
*/
|
||||
|
|
6
ext/cache/lib.deno_cache.d.ts
vendored
6
ext/cache/lib.deno_cache.d.ts
vendored
|
@ -9,7 +9,7 @@
|
|||
declare var caches: CacheStorage;
|
||||
|
||||
/** @category Cache */
|
||||
declare interface CacheStorage {
|
||||
interface CacheStorage {
|
||||
/** Open a cache storage for the provided name. */
|
||||
open(cacheName: string): Promise<Cache>;
|
||||
/** Check if cache already exists for the provided name. */
|
||||
|
@ -19,7 +19,7 @@ declare interface CacheStorage {
|
|||
}
|
||||
|
||||
/** @category Cache */
|
||||
declare interface Cache {
|
||||
interface Cache {
|
||||
/**
|
||||
* Put the provided request/response into the cache.
|
||||
*
|
||||
|
@ -65,7 +65,7 @@ declare var CacheStorage: {
|
|||
};
|
||||
|
||||
/** @category Cache */
|
||||
declare interface CacheQueryOptions {
|
||||
interface CacheQueryOptions {
|
||||
ignoreMethod?: boolean;
|
||||
ignoreSearch?: boolean;
|
||||
ignoreVary?: boolean;
|
||||
|
|
14
ext/canvas/lib.deno_canvas.d.ts
vendored
14
ext/canvas/lib.deno_canvas.d.ts
vendored
|
@ -12,14 +12,14 @@
|
|||
*
|
||||
* @category Canvas
|
||||
*/
|
||||
declare type ColorSpaceConversion = "default" | "none";
|
||||
type ColorSpaceConversion = "default" | "none";
|
||||
|
||||
/**
|
||||
* Specifies how the bitmap image should be oriented.
|
||||
*
|
||||
* @category Canvas
|
||||
*/
|
||||
declare type ImageOrientation = "flipY" | "from-image" | "none";
|
||||
type ImageOrientation = "flipY" | "from-image" | "none";
|
||||
|
||||
/**
|
||||
* Specifies whether the bitmap's color channels should be premultiplied by
|
||||
|
@ -27,7 +27,7 @@ declare type ImageOrientation = "flipY" | "from-image" | "none";
|
|||
*
|
||||
* @category Canvas
|
||||
*/
|
||||
declare type PremultiplyAlpha = "default" | "none" | "premultiply";
|
||||
type PremultiplyAlpha = "default" | "none" | "premultiply";
|
||||
|
||||
/**
|
||||
* Specifies the algorithm to be used for resizing the input to match the
|
||||
|
@ -35,20 +35,20 @@ declare type PremultiplyAlpha = "default" | "none" | "premultiply";
|
|||
*
|
||||
* @category Canvas
|
||||
*/
|
||||
declare type ResizeQuality = "high" | "low" | "medium" | "pixelated";
|
||||
type ResizeQuality = "high" | "low" | "medium" | "pixelated";
|
||||
|
||||
/**
|
||||
* The `ImageBitmapSource` type represents an image data source that can be
|
||||
* used to create an `ImageBitmap`.
|
||||
*
|
||||
* @category Canvas */
|
||||
declare type ImageBitmapSource = Blob | ImageData;
|
||||
type ImageBitmapSource = Blob | ImageData;
|
||||
|
||||
/**
|
||||
* The options of {@linkcode createImageBitmap}.
|
||||
*
|
||||
* @category Canvas */
|
||||
declare interface ImageBitmapOptions {
|
||||
interface ImageBitmapOptions {
|
||||
/**
|
||||
* Specifies whether the image should be decoded using color space
|
||||
* conversion. Either none or default (default). The value default
|
||||
|
@ -116,7 +116,7 @@ declare function createImageBitmap(
|
|||
*
|
||||
* @category Canvas
|
||||
*/
|
||||
declare interface ImageBitmap {
|
||||
interface ImageBitmap {
|
||||
/**
|
||||
* The height of the bitmap.
|
||||
*/
|
||||
|
|
2
ext/console/lib.deno_console.d.ts
vendored
2
ext/console/lib.deno_console.d.ts
vendored
|
@ -6,7 +6,7 @@
|
|||
/// <reference lib="esnext" />
|
||||
|
||||
/** @category I/O */
|
||||
declare interface Console {
|
||||
interface Console {
|
||||
assert(condition?: boolean, ...data: any[]): void;
|
||||
clear(): void;
|
||||
count(label?: string): void;
|
||||
|
|
|
@ -33,6 +33,7 @@ p521 = "0.13.3"
|
|||
rand.workspace = true
|
||||
ring = { workspace = true, features = ["std"] }
|
||||
rsa.workspace = true
|
||||
sec1.workspace = true
|
||||
serde.workspace = true
|
||||
serde_bytes.workspace = true
|
||||
sha1.workspace = true
|
||||
|
|
|
@ -254,7 +254,9 @@ fn export_key_ec(
|
|||
point.as_ref().to_vec()
|
||||
}
|
||||
EcNamedCurve::P521 => {
|
||||
return Err(data_error("Unsupported named curve"))
|
||||
let point = key_data.as_ec_public_key_p521()?;
|
||||
|
||||
point.as_ref().to_vec()
|
||||
}
|
||||
};
|
||||
Ok(ExportKeyResult::Raw(subject_public_key.into()))
|
||||
|
@ -272,7 +274,9 @@ fn export_key_ec(
|
|||
point.as_ref().to_vec()
|
||||
}
|
||||
EcNamedCurve::P521 => {
|
||||
return Err(data_error("Unsupported named curve"))
|
||||
let point = key_data.as_ec_public_key_p521()?;
|
||||
|
||||
point.as_ref().to_vec()
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -285,9 +289,10 @@ fn export_key_ec(
|
|||
oid: elliptic_curve::ALGORITHM_OID,
|
||||
parameters: Some((&p384::NistP384::OID).into()),
|
||||
},
|
||||
EcNamedCurve::P521 => {
|
||||
return Err(data_error("Unsupported named curve"))
|
||||
}
|
||||
EcNamedCurve::P521 => AlgorithmIdentifierOwned {
|
||||
oid: elliptic_curve::ALGORITHM_OID,
|
||||
parameters: Some((&p521::NistP521::OID).into()),
|
||||
},
|
||||
};
|
||||
|
||||
let alg_id = match algorithm {
|
||||
|
@ -351,7 +356,24 @@ fn export_key_ec(
|
|||
))
|
||||
}
|
||||
}
|
||||
EcNamedCurve::P521 => Err(data_error("Unsupported named curve")),
|
||||
EcNamedCurve::P521 => {
|
||||
let point = key_data.as_ec_public_key_p521()?;
|
||||
let coords = point.coordinates();
|
||||
|
||||
if let p521::elliptic_curve::sec1::Coordinates::Uncompressed { x, y } =
|
||||
coords
|
||||
{
|
||||
Ok(ExportKeyResult::JwkPublicEc {
|
||||
x: bytes_to_b64(x),
|
||||
y: bytes_to_b64(y),
|
||||
})
|
||||
} else {
|
||||
Err(custom_error(
|
||||
"DOMExceptionOperationError",
|
||||
"failed to decode public key",
|
||||
))
|
||||
}
|
||||
}
|
||||
},
|
||||
ExportKeyFormat::JwkPrivate => {
|
||||
let private_key = key_data.as_ec_private_key()?;
|
||||
|
|
|
@ -7,14 +7,12 @@ use deno_core::JsBuffer;
|
|||
use deno_core::ToJsBuffer;
|
||||
use elliptic_curve::pkcs8::PrivateKeyInfo;
|
||||
use p256::pkcs8::EncodePrivateKey;
|
||||
use ring::signature::EcdsaKeyPair;
|
||||
use rsa::pkcs1::UintRef;
|
||||
use rsa::pkcs8::der::Encode;
|
||||
use serde::Deserialize;
|
||||
use serde::Serialize;
|
||||
use spki::der::Decode;
|
||||
|
||||
use crate::key::CryptoNamedCurve;
|
||||
use crate::shared::*;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
|
@ -45,7 +43,9 @@ pub enum KeyData {
|
|||
y: String,
|
||||
},
|
||||
JwkPrivateEc {
|
||||
#[allow(dead_code)]
|
||||
x: String,
|
||||
#[allow(dead_code)]
|
||||
y: String,
|
||||
d: String,
|
||||
},
|
||||
|
@ -543,9 +543,7 @@ fn import_key_ec_jwk(
|
|||
raw_data: RustRawKeyData::Public(point_bytes.into()),
|
||||
})
|
||||
}
|
||||
KeyData::JwkPrivateEc { d, x, y } => {
|
||||
jwt_b64_int_or_err!(private_d, &d, "invalid JWK private key");
|
||||
let point_bytes = import_key_ec_jwk_to_point(x, y, named_curve)?;
|
||||
KeyData::JwkPrivateEc { d, .. } => {
|
||||
let pkcs8_der = match named_curve {
|
||||
EcNamedCurve::P256 => {
|
||||
let d = decode_b64url_to_field_bytes::<p256::NistP256>(&d)?;
|
||||
|
@ -562,27 +560,14 @@ fn import_key_ec_jwk(
|
|||
.map_err(|_| data_error("invalid JWK private key"))?
|
||||
}
|
||||
EcNamedCurve::P521 => {
|
||||
return Err(data_error("Unsupported named curve"))
|
||||
let d = decode_b64url_to_field_bytes::<p521::NistP521>(&d)?;
|
||||
let pk = p521::SecretKey::from_bytes(&d)?;
|
||||
|
||||
pk.to_pkcs8_der()
|
||||
.map_err(|_| data_error("invalid JWK private key"))?
|
||||
}
|
||||
};
|
||||
|
||||
// Import using ring, to validate key
|
||||
let key_alg = match named_curve {
|
||||
EcNamedCurve::P256 => CryptoNamedCurve::P256.into(),
|
||||
EcNamedCurve::P384 => CryptoNamedCurve::P256.into(),
|
||||
EcNamedCurve::P521 => {
|
||||
return Err(data_error("Unsupported named curve"))
|
||||
}
|
||||
};
|
||||
|
||||
let rng = ring::rand::SystemRandom::new();
|
||||
let _key_pair = EcdsaKeyPair::from_private_key_and_public_key(
|
||||
key_alg,
|
||||
private_d.as_bytes(),
|
||||
point_bytes.as_ref(),
|
||||
&rng,
|
||||
);
|
||||
|
||||
Ok(ImportKeyResult::Ec {
|
||||
raw_data: RustRawKeyData::Private(pkcs8_der.as_bytes().to_vec().into()),
|
||||
})
|
||||
|
@ -649,24 +634,15 @@ fn import_key_ec(
|
|||
})
|
||||
}
|
||||
KeyData::Pkcs8(data) => {
|
||||
// 2-7
|
||||
// Deserialize PKCS8 - validate structure, extracts named_curve
|
||||
let named_curve_alg = match named_curve {
|
||||
EcNamedCurve::P256 | EcNamedCurve::P384 => {
|
||||
let pk = PrivateKeyInfo::from_der(data.as_ref())
|
||||
.map_err(|_| data_error("expected valid PKCS#8 data"))?;
|
||||
pk.algorithm
|
||||
.parameters
|
||||
.ok_or_else(|| data_error("malformed parameters"))?
|
||||
.try_into()
|
||||
.unwrap()
|
||||
}
|
||||
EcNamedCurve::P521 => {
|
||||
return Err(data_error("Unsupported named curve"))
|
||||
}
|
||||
};
|
||||
let pk = PrivateKeyInfo::from_der(data.as_ref())
|
||||
.map_err(|_| data_error("expected valid PKCS#8 data"))?;
|
||||
let named_curve_alg = pk
|
||||
.algorithm
|
||||
.parameters
|
||||
.ok_or_else(|| data_error("malformed parameters"))?
|
||||
.try_into()
|
||||
.unwrap();
|
||||
|
||||
// 8-9.
|
||||
let pk_named_curve = match named_curve_alg {
|
||||
// id-secp256r1
|
||||
ID_SECP256R1_OID => Some(EcNamedCurve::P256),
|
||||
|
@ -677,27 +653,8 @@ fn import_key_ec(
|
|||
_ => None,
|
||||
};
|
||||
|
||||
// 10.
|
||||
if let Some(pk_named_curve) = pk_named_curve {
|
||||
let signing_alg = match pk_named_curve {
|
||||
EcNamedCurve::P256 => CryptoNamedCurve::P256.into(),
|
||||
EcNamedCurve::P384 => CryptoNamedCurve::P384.into(),
|
||||
EcNamedCurve::P521 => {
|
||||
return Err(data_error("Unsupported named curve"))
|
||||
}
|
||||
};
|
||||
|
||||
let rng = ring::rand::SystemRandom::new();
|
||||
// deserialize pkcs8 using ring crate, to VALIDATE public key
|
||||
let _private_key = EcdsaKeyPair::from_pkcs8(signing_alg, &data, &rng)
|
||||
.map_err(|_| data_error("invalid key"))?;
|
||||
|
||||
// 11.
|
||||
if named_curve != pk_named_curve {
|
||||
return Err(data_error("curve mismatch"));
|
||||
}
|
||||
} else {
|
||||
return Err(data_error("Unsupported named curve"));
|
||||
if pk_named_curve != Some(named_curve) {
|
||||
return Err(data_error("curve mismatch"));
|
||||
}
|
||||
|
||||
Ok(ImportKeyResult::Ec {
|
||||
|
|
75
ext/crypto/lib.deno_crypto.d.ts
vendored
75
ext/crypto/lib.deno_crypto.d.ts
vendored
|
@ -9,23 +9,23 @@
|
|||
declare var crypto: Crypto;
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface Algorithm {
|
||||
interface Algorithm {
|
||||
name: string;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface KeyAlgorithm {
|
||||
interface KeyAlgorithm {
|
||||
name: string;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare type AlgorithmIdentifier = string | Algorithm;
|
||||
type AlgorithmIdentifier = string | Algorithm;
|
||||
/** @category Crypto */
|
||||
declare type HashAlgorithmIdentifier = AlgorithmIdentifier;
|
||||
type HashAlgorithmIdentifier = AlgorithmIdentifier;
|
||||
/** @category Crypto */
|
||||
declare type KeyType = "private" | "public" | "secret";
|
||||
type KeyType = "private" | "public" | "secret";
|
||||
/** @category Crypto */
|
||||
declare type KeyUsage =
|
||||
type KeyUsage =
|
||||
| "decrypt"
|
||||
| "deriveBits"
|
||||
| "deriveKey"
|
||||
|
@ -35,19 +35,19 @@ declare type KeyUsage =
|
|||
| "verify"
|
||||
| "wrapKey";
|
||||
/** @category Crypto */
|
||||
declare type KeyFormat = "jwk" | "pkcs8" | "raw" | "spki";
|
||||
type KeyFormat = "jwk" | "pkcs8" | "raw" | "spki";
|
||||
/** @category Crypto */
|
||||
declare type NamedCurve = string;
|
||||
type NamedCurve = string;
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface RsaOtherPrimesInfo {
|
||||
interface RsaOtherPrimesInfo {
|
||||
d?: string;
|
||||
r?: string;
|
||||
t?: string;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface JsonWebKey {
|
||||
interface JsonWebKey {
|
||||
alg?: string;
|
||||
crv?: string;
|
||||
d?: string;
|
||||
|
@ -56,6 +56,7 @@ declare interface JsonWebKey {
|
|||
e?: string;
|
||||
ext?: boolean;
|
||||
k?: string;
|
||||
// deno-lint-ignore camelcase
|
||||
key_ops?: string[];
|
||||
kty?: string;
|
||||
n?: string;
|
||||
|
@ -69,129 +70,129 @@ declare interface JsonWebKey {
|
|||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface AesCbcParams extends Algorithm {
|
||||
interface AesCbcParams extends Algorithm {
|
||||
iv: BufferSource;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface AesGcmParams extends Algorithm {
|
||||
interface AesGcmParams extends Algorithm {
|
||||
iv: BufferSource;
|
||||
additionalData?: BufferSource;
|
||||
tagLength?: number;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface AesCtrParams extends Algorithm {
|
||||
interface AesCtrParams extends Algorithm {
|
||||
counter: BufferSource;
|
||||
length: number;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface HmacKeyGenParams extends Algorithm {
|
||||
interface HmacKeyGenParams extends Algorithm {
|
||||
hash: HashAlgorithmIdentifier;
|
||||
length?: number;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface EcKeyGenParams extends Algorithm {
|
||||
interface EcKeyGenParams extends Algorithm {
|
||||
namedCurve: NamedCurve;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface EcKeyImportParams extends Algorithm {
|
||||
interface EcKeyImportParams extends Algorithm {
|
||||
namedCurve: NamedCurve;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface EcdsaParams extends Algorithm {
|
||||
interface EcdsaParams extends Algorithm {
|
||||
hash: HashAlgorithmIdentifier;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface RsaHashedImportParams extends Algorithm {
|
||||
interface RsaHashedImportParams extends Algorithm {
|
||||
hash: HashAlgorithmIdentifier;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface RsaHashedKeyGenParams extends RsaKeyGenParams {
|
||||
interface RsaHashedKeyGenParams extends RsaKeyGenParams {
|
||||
hash: HashAlgorithmIdentifier;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface RsaKeyGenParams extends Algorithm {
|
||||
interface RsaKeyGenParams extends Algorithm {
|
||||
modulusLength: number;
|
||||
publicExponent: Uint8Array;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface RsaPssParams extends Algorithm {
|
||||
interface RsaPssParams extends Algorithm {
|
||||
saltLength: number;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface RsaOaepParams extends Algorithm {
|
||||
interface RsaOaepParams extends Algorithm {
|
||||
label?: Uint8Array;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface HmacImportParams extends Algorithm {
|
||||
interface HmacImportParams extends Algorithm {
|
||||
hash: HashAlgorithmIdentifier;
|
||||
length?: number;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface EcKeyAlgorithm extends KeyAlgorithm {
|
||||
interface EcKeyAlgorithm extends KeyAlgorithm {
|
||||
namedCurve: NamedCurve;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface HmacKeyAlgorithm extends KeyAlgorithm {
|
||||
interface HmacKeyAlgorithm extends KeyAlgorithm {
|
||||
hash: KeyAlgorithm;
|
||||
length: number;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {
|
||||
interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {
|
||||
hash: KeyAlgorithm;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface RsaKeyAlgorithm extends KeyAlgorithm {
|
||||
interface RsaKeyAlgorithm extends KeyAlgorithm {
|
||||
modulusLength: number;
|
||||
publicExponent: Uint8Array;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface HkdfParams extends Algorithm {
|
||||
interface HkdfParams extends Algorithm {
|
||||
hash: HashAlgorithmIdentifier;
|
||||
info: BufferSource;
|
||||
salt: BufferSource;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface Pbkdf2Params extends Algorithm {
|
||||
interface Pbkdf2Params extends Algorithm {
|
||||
hash: HashAlgorithmIdentifier;
|
||||
iterations: number;
|
||||
salt: BufferSource;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface AesDerivedKeyParams extends Algorithm {
|
||||
interface AesDerivedKeyParams extends Algorithm {
|
||||
length: number;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface EcdhKeyDeriveParams extends Algorithm {
|
||||
interface EcdhKeyDeriveParams extends Algorithm {
|
||||
public: CryptoKey;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface AesKeyGenParams extends Algorithm {
|
||||
interface AesKeyGenParams extends Algorithm {
|
||||
length: number;
|
||||
}
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface AesKeyAlgorithm extends KeyAlgorithm {
|
||||
interface AesKeyAlgorithm extends KeyAlgorithm {
|
||||
length: number;
|
||||
}
|
||||
|
||||
|
@ -200,7 +201,7 @@ declare interface AesKeyAlgorithm extends KeyAlgorithm {
|
|||
*
|
||||
* @category Crypto
|
||||
*/
|
||||
declare interface CryptoKey {
|
||||
interface CryptoKey {
|
||||
readonly algorithm: KeyAlgorithm;
|
||||
readonly extractable: boolean;
|
||||
readonly type: KeyType;
|
||||
|
@ -218,7 +219,7 @@ declare var CryptoKey: {
|
|||
*
|
||||
* @category Crypto
|
||||
*/
|
||||
declare interface CryptoKeyPair {
|
||||
interface CryptoKeyPair {
|
||||
privateKey: CryptoKey;
|
||||
publicKey: CryptoKey;
|
||||
}
|
||||
|
@ -235,7 +236,7 @@ declare var CryptoKeyPair: {
|
|||
*
|
||||
* @category Crypto
|
||||
*/
|
||||
declare interface SubtleCrypto {
|
||||
interface SubtleCrypto {
|
||||
generateKey(
|
||||
algorithm: RsaHashedKeyGenParams | EcKeyGenParams,
|
||||
extractable: boolean,
|
||||
|
@ -374,7 +375,7 @@ declare var SubtleCrypto: {
|
|||
};
|
||||
|
||||
/** @category Crypto */
|
||||
declare interface Crypto {
|
||||
interface Crypto {
|
||||
readonly subtle: SubtleCrypto;
|
||||
getRandomValues<
|
||||
T extends
|
||||
|
|
|
@ -126,6 +126,23 @@ impl V8RawKeyData {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn as_ec_public_key_p521(&self) -> Result<p521::EncodedPoint, AnyError> {
|
||||
match self {
|
||||
V8RawKeyData::Public(data) => {
|
||||
// public_key is a serialized EncodedPoint
|
||||
p521::EncodedPoint::from_bytes(data)
|
||||
.map_err(|_| type_error("expected valid public EC key"))
|
||||
}
|
||||
V8RawKeyData::Private(data) => {
|
||||
let signing_key = p521::SecretKey::from_pkcs8_der(data)
|
||||
.map_err(|_| type_error("expected valid private EC key"))?;
|
||||
Ok(signing_key.public_key().to_encoded_point(false))
|
||||
}
|
||||
// Should never reach here.
|
||||
V8RawKeyData::Secret(_) => unreachable!(),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn as_ec_private_key(&self) -> Result<&[u8], AnyError> {
|
||||
match self {
|
||||
V8RawKeyData::Private(data) => Ok(data),
|
||||
|
|
44
ext/fetch/lib.deno_fetch.d.ts
vendored
44
ext/fetch/lib.deno_fetch.d.ts
vendored
|
@ -6,7 +6,7 @@
|
|||
/// <reference lib="esnext" />
|
||||
|
||||
/** @category Platform */
|
||||
declare interface DomIterable<K, V> {
|
||||
interface DomIterable<K, V> {
|
||||
keys(): IterableIterator<K>;
|
||||
values(): IterableIterator<V>;
|
||||
entries(): IterableIterator<[K, V]>;
|
||||
|
@ -18,7 +18,7 @@ declare interface DomIterable<K, V> {
|
|||
}
|
||||
|
||||
/** @category Fetch */
|
||||
declare type FormDataEntryValue = File | string;
|
||||
type FormDataEntryValue = File | string;
|
||||
|
||||
/** Provides a way to easily construct a set of key/value pairs representing
|
||||
* form fields and their values, which can then be easily sent using the
|
||||
|
@ -27,7 +27,7 @@ declare type FormDataEntryValue = File | string;
|
|||
*
|
||||
* @category Fetch
|
||||
*/
|
||||
declare interface FormData extends DomIterable<string, FormDataEntryValue> {
|
||||
interface FormData extends DomIterable<string, FormDataEntryValue> {
|
||||
append(name: string, value: string | Blob, fileName?: string): void;
|
||||
delete(name: string): void;
|
||||
get(name: string): FormDataEntryValue | null;
|
||||
|
@ -43,7 +43,7 @@ declare var FormData: {
|
|||
};
|
||||
|
||||
/** @category Fetch */
|
||||
declare interface Body {
|
||||
interface Body {
|
||||
/** A simple getter used to expose a `ReadableStream` of the body contents. */
|
||||
readonly body: ReadableStream<Uint8Array> | null;
|
||||
/** Stores a `Boolean` that declares whether the body has been used in a
|
||||
|
@ -77,7 +77,7 @@ declare interface Body {
|
|||
}
|
||||
|
||||
/** @category Fetch */
|
||||
declare type HeadersInit = Iterable<string[]> | Record<string, string>;
|
||||
type HeadersInit = Iterable<string[]> | Record<string, string>;
|
||||
|
||||
/** This Fetch API interface allows you to perform various actions on HTTP
|
||||
* request and response headers. These actions include retrieving, setting,
|
||||
|
@ -89,7 +89,7 @@ declare type HeadersInit = Iterable<string[]> | Record<string, string>;
|
|||
*
|
||||
* @category Fetch
|
||||
*/
|
||||
declare interface Headers extends DomIterable<string, string> {
|
||||
interface Headers extends DomIterable<string, string> {
|
||||
/** Appends a new value onto an existing header inside a `Headers` object, or
|
||||
* adds the header if it does not already exist.
|
||||
*/
|
||||
|
@ -130,9 +130,9 @@ declare var Headers: {
|
|||
};
|
||||
|
||||
/** @category Fetch */
|
||||
declare type RequestInfo = Request | string;
|
||||
type RequestInfo = Request | string;
|
||||
/** @category Fetch */
|
||||
declare type RequestCache =
|
||||
type RequestCache =
|
||||
| "default"
|
||||
| "force-cache"
|
||||
| "no-cache"
|
||||
|
@ -140,13 +140,13 @@ declare type RequestCache =
|
|||
| "only-if-cached"
|
||||
| "reload";
|
||||
/** @category Fetch */
|
||||
declare type RequestCredentials = "include" | "omit" | "same-origin";
|
||||
type RequestCredentials = "include" | "omit" | "same-origin";
|
||||
/** @category Fetch */
|
||||
declare type RequestMode = "cors" | "navigate" | "no-cors" | "same-origin";
|
||||
type RequestMode = "cors" | "navigate" | "no-cors" | "same-origin";
|
||||
/** @category Fetch */
|
||||
declare type RequestRedirect = "error" | "follow" | "manual";
|
||||
type RequestRedirect = "error" | "follow" | "manual";
|
||||
/** @category Fetch */
|
||||
declare type ReferrerPolicy =
|
||||
type ReferrerPolicy =
|
||||
| ""
|
||||
| "no-referrer"
|
||||
| "no-referrer-when-downgrade"
|
||||
|
@ -157,7 +157,7 @@ declare type ReferrerPolicy =
|
|||
| "strict-origin-when-cross-origin"
|
||||
| "unsafe-url";
|
||||
/** @category Fetch */
|
||||
declare type BodyInit =
|
||||
type BodyInit =
|
||||
| Blob
|
||||
| BufferSource
|
||||
| FormData
|
||||
|
@ -165,7 +165,7 @@ declare type BodyInit =
|
|||
| ReadableStream<Uint8Array>
|
||||
| string;
|
||||
/** @category Fetch */
|
||||
declare type RequestDestination =
|
||||
type RequestDestination =
|
||||
| ""
|
||||
| "audio"
|
||||
| "audioworklet"
|
||||
|
@ -186,7 +186,7 @@ declare type RequestDestination =
|
|||
| "xslt";
|
||||
|
||||
/** @category Fetch */
|
||||
declare interface RequestInit {
|
||||
interface RequestInit {
|
||||
/**
|
||||
* A BodyInit object or null to set request's body.
|
||||
*/
|
||||
|
@ -254,7 +254,7 @@ declare interface RequestInit {
|
|||
*
|
||||
* @category Fetch
|
||||
*/
|
||||
declare interface Request extends Body {
|
||||
interface Request extends Body {
|
||||
/**
|
||||
* Returns the cache mode associated with request, which is a string
|
||||
* indicating how the request will interact with the browser's cache when
|
||||
|
@ -350,14 +350,14 @@ declare var Request: {
|
|||
};
|
||||
|
||||
/** @category Fetch */
|
||||
declare interface ResponseInit {
|
||||
interface ResponseInit {
|
||||
headers?: HeadersInit;
|
||||
status?: number;
|
||||
statusText?: string;
|
||||
}
|
||||
|
||||
/** @category Fetch */
|
||||
declare type ResponseType =
|
||||
type ResponseType =
|
||||
| "basic"
|
||||
| "cors"
|
||||
| "default"
|
||||
|
@ -369,7 +369,7 @@ declare type ResponseType =
|
|||
*
|
||||
* @category Fetch
|
||||
*/
|
||||
declare interface Response extends Body {
|
||||
interface Response extends Body {
|
||||
readonly headers: Headers;
|
||||
readonly ok: boolean;
|
||||
readonly redirected: boolean;
|
||||
|
@ -413,14 +413,14 @@ declare function fetch(
|
|||
/**
|
||||
* @category Fetch
|
||||
*/
|
||||
declare interface EventSourceInit {
|
||||
interface EventSourceInit {
|
||||
withCredentials?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* @category Fetch
|
||||
*/
|
||||
declare interface EventSourceEventMap {
|
||||
interface EventSourceEventMap {
|
||||
"error": Event;
|
||||
"message": MessageEvent;
|
||||
"open": Event;
|
||||
|
@ -429,7 +429,7 @@ declare interface EventSourceEventMap {
|
|||
/**
|
||||
* @category Fetch
|
||||
*/
|
||||
declare interface EventSource extends EventTarget {
|
||||
interface EventSource extends EventTarget {
|
||||
onerror: ((this: EventSource, ev: Event) => any) | null;
|
||||
onmessage: ((this: EventSource, ev: MessageEvent) => any) | null;
|
||||
onopen: ((this: EventSource, ev: Event) => any) | null;
|
||||
|
|
2
ext/net/lib.deno_net.d.ts
vendored
2
ext/net/lib.deno_net.d.ts
vendored
|
@ -449,4 +449,6 @@ declare namespace Deno {
|
|||
conn: TcpConn,
|
||||
options?: StartTlsOptions,
|
||||
): Promise<TlsConn>;
|
||||
|
||||
export {}; // only export exports
|
||||
}
|
||||
|
|
|
@ -81,7 +81,7 @@ ring.workspace = true
|
|||
ripemd = { version = "0.1.3", features = ["oid"] }
|
||||
rsa.workspace = true
|
||||
scrypt = "0.11.0"
|
||||
sec1 = "0.7"
|
||||
sec1.workspace = true
|
||||
serde = "1.0.149"
|
||||
sha1.workspace = true
|
||||
sha2.workspace = true
|
||||
|
|
|
@ -410,8 +410,8 @@ impl ContextifyContext {
|
|||
fn sandbox<'a>(
|
||||
&self,
|
||||
scope: &mut v8::HandleScope<'a>,
|
||||
) -> v8::Local<'a, v8::Object> {
|
||||
self.sandbox.get(scope).unwrap()
|
||||
) -> Option<v8::Local<'a, v8::Object>> {
|
||||
self.sandbox.get(scope)
|
||||
}
|
||||
|
||||
fn microtask_queue(&self) -> Option<&v8::MicrotaskQueue> {
|
||||
|
@ -600,7 +600,9 @@ fn property_query<'s>(
|
|||
|
||||
let context = ctx.context(scope);
|
||||
let scope = &mut v8::ContextScope::new(scope, context);
|
||||
let sandbox = ctx.sandbox(scope);
|
||||
let Some(sandbox) = ctx.sandbox(scope) else {
|
||||
return v8::Intercepted::No;
|
||||
};
|
||||
|
||||
match sandbox.has_real_named_property(scope, property) {
|
||||
None => v8::Intercepted::No,
|
||||
|
@ -645,7 +647,9 @@ fn property_getter<'s>(
|
|||
return v8::Intercepted::No;
|
||||
};
|
||||
|
||||
let sandbox = ctx.sandbox(scope);
|
||||
let Some(sandbox) = ctx.sandbox(scope) else {
|
||||
return v8::Intercepted::No;
|
||||
};
|
||||
|
||||
let tc_scope = &mut v8::TryCatch::new(scope);
|
||||
let maybe_rv = sandbox.get_real_named_property(tc_scope, key).or_else(|| {
|
||||
|
@ -689,14 +693,14 @@ fn property_setter<'s>(
|
|||
None => (v8::PropertyAttribute::NONE, false),
|
||||
};
|
||||
let mut read_only = attributes.is_read_only();
|
||||
|
||||
let (attributes, is_declared_on_sandbox) = match ctx
|
||||
.sandbox(scope)
|
||||
.get_real_named_property_attributes(scope, key)
|
||||
{
|
||||
Some(attr) => (attr, true),
|
||||
None => (v8::PropertyAttribute::NONE, false),
|
||||
let Some(sandbox) = ctx.sandbox(scope) else {
|
||||
return v8::Intercepted::No;
|
||||
};
|
||||
let (attributes, is_declared_on_sandbox) =
|
||||
match sandbox.get_real_named_property_attributes(scope, key) {
|
||||
Some(attr) => (attr, true),
|
||||
None => (v8::PropertyAttribute::NONE, false),
|
||||
};
|
||||
read_only |= attributes.is_read_only();
|
||||
|
||||
if read_only {
|
||||
|
@ -731,14 +735,12 @@ fn property_setter<'s>(
|
|||
return v8::Intercepted::No;
|
||||
};
|
||||
|
||||
if ctx.sandbox(scope).set(scope, key.into(), value).is_none() {
|
||||
if sandbox.set(scope, key.into(), value).is_none() {
|
||||
return v8::Intercepted::No;
|
||||
}
|
||||
|
||||
if is_declared_on_sandbox {
|
||||
if let Some(desc) =
|
||||
ctx.sandbox(scope).get_own_property_descriptor(scope, key)
|
||||
{
|
||||
if let Some(desc) = sandbox.get_own_property_descriptor(scope, key) {
|
||||
if !desc.is_undefined() {
|
||||
let desc_obj: v8::Local<v8::Object> = desc.try_into().unwrap();
|
||||
// We have to specify the return value for any contextual or get/set
|
||||
|
@ -774,7 +776,9 @@ fn property_descriptor<'s>(
|
|||
};
|
||||
|
||||
let context = ctx.context(scope);
|
||||
let sandbox = ctx.sandbox(scope);
|
||||
let Some(sandbox) = ctx.sandbox(scope) else {
|
||||
return v8::Intercepted::No;
|
||||
};
|
||||
let scope = &mut v8::ContextScope::new(scope, context);
|
||||
|
||||
if sandbox.has_own_property(scope, key).unwrap_or(false) {
|
||||
|
@ -818,7 +822,9 @@ fn property_definer<'s>(
|
|||
return v8::Intercepted::No;
|
||||
}
|
||||
|
||||
let sandbox = ctx.sandbox(scope);
|
||||
let Some(sandbox) = ctx.sandbox(scope) else {
|
||||
return v8::Intercepted::No;
|
||||
};
|
||||
|
||||
let define_prop_on_sandbox =
|
||||
|scope: &mut v8::HandleScope,
|
||||
|
@ -880,7 +886,10 @@ fn property_deleter<'s>(
|
|||
};
|
||||
|
||||
let context = ctx.context(scope);
|
||||
let sandbox = ctx.sandbox(scope);
|
||||
let Some(sandbox) = ctx.sandbox(scope) else {
|
||||
return v8::Intercepted::No;
|
||||
};
|
||||
|
||||
let context_scope = &mut v8::ContextScope::new(scope, context);
|
||||
if sandbox.delete(context_scope, key.into()).unwrap_or(false) {
|
||||
return v8::Intercepted::No;
|
||||
|
@ -900,7 +909,10 @@ fn property_enumerator<'s>(
|
|||
};
|
||||
|
||||
let context = ctx.context(scope);
|
||||
let sandbox = ctx.sandbox(scope);
|
||||
let Some(sandbox) = ctx.sandbox(scope) else {
|
||||
return;
|
||||
};
|
||||
|
||||
let context_scope = &mut v8::ContextScope::new(scope, context);
|
||||
let Some(properties) = sandbox
|
||||
.get_property_names(context_scope, v8::GetPropertyNamesArgs::default())
|
||||
|
@ -921,12 +933,14 @@ fn indexed_property_enumerator<'s>(
|
|||
};
|
||||
let context = ctx.context(scope);
|
||||
let scope = &mut v8::ContextScope::new(scope, context);
|
||||
let Some(sandbox) = ctx.sandbox(scope) else {
|
||||
return;
|
||||
};
|
||||
|
||||
// By default, GetPropertyNames returns string and number property names, and
|
||||
// doesn't convert the numbers to strings.
|
||||
let Some(properties) = ctx
|
||||
.sandbox(scope)
|
||||
.get_property_names(scope, v8::GetPropertyNamesArgs::default())
|
||||
let Some(properties) =
|
||||
sandbox.get_property_names(scope, v8::GetPropertyNamesArgs::default())
|
||||
else {
|
||||
return;
|
||||
};
|
||||
|
@ -1019,7 +1033,10 @@ fn indexed_property_deleter<'s>(
|
|||
};
|
||||
|
||||
let context = ctx.context(scope);
|
||||
let sandbox = ctx.sandbox(scope);
|
||||
let Some(sandbox) = ctx.sandbox(scope) else {
|
||||
return v8::Intercepted::No;
|
||||
};
|
||||
|
||||
let context_scope = &mut v8::ContextScope::new(scope, context);
|
||||
if !sandbox.delete_index(context_scope, index).unwrap_or(false) {
|
||||
return v8::Intercepted::No;
|
||||
|
|
16
ext/url/lib.deno_url.d.ts
vendored
16
ext/url/lib.deno_url.d.ts
vendored
|
@ -6,7 +6,7 @@
|
|||
/// <reference lib="esnext" />
|
||||
|
||||
/** @category URL */
|
||||
declare interface URLSearchParams {
|
||||
interface URLSearchParams {
|
||||
/** Appends a specified key/value pair as a new search parameter.
|
||||
*
|
||||
* ```ts
|
||||
|
@ -170,7 +170,7 @@ declare var URLSearchParams: {
|
|||
*
|
||||
* @category URL
|
||||
*/
|
||||
declare interface URL {
|
||||
interface URL {
|
||||
hash: string;
|
||||
host: string;
|
||||
hostname: string;
|
||||
|
@ -202,7 +202,7 @@ declare var URL: {
|
|||
};
|
||||
|
||||
/** @category URL */
|
||||
declare interface URLPatternInit {
|
||||
interface URLPatternInit {
|
||||
protocol?: string;
|
||||
username?: string;
|
||||
password?: string;
|
||||
|
@ -215,10 +215,10 @@ declare interface URLPatternInit {
|
|||
}
|
||||
|
||||
/** @category URL */
|
||||
declare type URLPatternInput = string | URLPatternInit;
|
||||
type URLPatternInput = string | URLPatternInit;
|
||||
|
||||
/** @category URL */
|
||||
declare interface URLPatternComponentResult {
|
||||
interface URLPatternComponentResult {
|
||||
input: string;
|
||||
groups: Record<string, string | undefined>;
|
||||
}
|
||||
|
@ -227,7 +227,7 @@ declare interface URLPatternComponentResult {
|
|||
*
|
||||
* @category URL
|
||||
*/
|
||||
declare interface URLPatternResult {
|
||||
interface URLPatternResult {
|
||||
/** The inputs provided when matching. */
|
||||
inputs: [URLPatternInit] | [URLPatternInit, string];
|
||||
|
||||
|
@ -254,7 +254,7 @@ declare interface URLPatternResult {
|
|||
*
|
||||
* @category URL
|
||||
*/
|
||||
declare interface URLPatternOptions {
|
||||
interface URLPatternOptions {
|
||||
/**
|
||||
* Enables case-insensitive matching.
|
||||
*
|
||||
|
@ -293,7 +293,7 @@ declare interface URLPatternOptions {
|
|||
*
|
||||
* @category URL
|
||||
*/
|
||||
declare interface URLPattern {
|
||||
interface URLPattern {
|
||||
/**
|
||||
* Test if the given input matches the stored pattern.
|
||||
*
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
|
||||
import { core, primordials } from "ext:core/mod.js";
|
||||
const {
|
||||
ArrayPrototypeFilter,
|
||||
ArrayPrototypeIncludes,
|
||||
ArrayPrototypeIndexOf,
|
||||
ArrayPrototypeMap,
|
||||
|
@ -982,12 +981,7 @@ class EventTarget {
|
|||
);
|
||||
|
||||
const { listeners } = self[eventTargetData];
|
||||
if (callback !== null && listeners[type]) {
|
||||
listeners[type] = ArrayPrototypeFilter(
|
||||
listeners[type],
|
||||
(listener) => listener.callback !== callback,
|
||||
);
|
||||
} else if (callback === null || !listeners[type]) {
|
||||
if (callback === null || !listeners[type]) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
7
ext/web/06_streams_types.d.ts
vendored
7
ext/web/06_streams_types.d.ts
vendored
|
@ -71,5 +71,10 @@ interface ReadableStreamGenericReader<T> {
|
|||
declare function queueMicrotask(callback: VoidFunction): void;
|
||||
|
||||
declare namespace Deno {
|
||||
function inspect(value: unknown, options?: Record<string, unknown>): string;
|
||||
export function inspect(
|
||||
value: unknown,
|
||||
options?: Record<string, unknown>,
|
||||
): string;
|
||||
|
||||
export {}; // only export exports
|
||||
}
|
||||
|
|
188
ext/web/lib.deno_web.d.ts
vendored
188
ext/web/lib.deno_web.d.ts
vendored
|
@ -6,7 +6,7 @@
|
|||
/// <reference lib="esnext" />
|
||||
|
||||
/** @category Platform */
|
||||
declare interface DOMException extends Error {
|
||||
interface DOMException extends Error {
|
||||
readonly name: string;
|
||||
readonly message: string;
|
||||
/** @deprecated */
|
||||
|
@ -70,7 +70,7 @@ declare var DOMException: {
|
|||
};
|
||||
|
||||
/** @category Events */
|
||||
declare interface EventInit {
|
||||
interface EventInit {
|
||||
bubbles?: boolean;
|
||||
cancelable?: boolean;
|
||||
composed?: boolean;
|
||||
|
@ -80,7 +80,7 @@ declare interface EventInit {
|
|||
*
|
||||
* @category Events
|
||||
*/
|
||||
declare interface Event {
|
||||
interface Event {
|
||||
/** Returns true or false depending on how event was initialized. True if
|
||||
* event goes through its target's ancestors in reverse tree order, and
|
||||
* false otherwise. */
|
||||
|
@ -163,7 +163,7 @@ declare var Event: {
|
|||
*
|
||||
* @category Events
|
||||
*/
|
||||
declare interface EventTarget {
|
||||
interface EventTarget {
|
||||
/** Appends an event listener for events whose type attribute value is type.
|
||||
* The callback argument sets the callback that will be invoked when the event
|
||||
* is dispatched.
|
||||
|
@ -217,34 +217,34 @@ declare var EventTarget: {
|
|||
};
|
||||
|
||||
/** @category Events */
|
||||
declare interface EventListener {
|
||||
interface EventListener {
|
||||
(evt: Event): void;
|
||||
}
|
||||
|
||||
/** @category Events */
|
||||
declare interface EventListenerObject {
|
||||
interface EventListenerObject {
|
||||
handleEvent(evt: Event): void;
|
||||
}
|
||||
|
||||
/** @category Events */
|
||||
declare type EventListenerOrEventListenerObject =
|
||||
type EventListenerOrEventListenerObject =
|
||||
| EventListener
|
||||
| EventListenerObject;
|
||||
|
||||
/** @category Events */
|
||||
declare interface AddEventListenerOptions extends EventListenerOptions {
|
||||
interface AddEventListenerOptions extends EventListenerOptions {
|
||||
once?: boolean;
|
||||
passive?: boolean;
|
||||
signal?: AbortSignal;
|
||||
}
|
||||
|
||||
/** @category Events */
|
||||
declare interface EventListenerOptions {
|
||||
interface EventListenerOptions {
|
||||
capture?: boolean;
|
||||
}
|
||||
|
||||
/** @category Events */
|
||||
declare interface ProgressEventInit extends EventInit {
|
||||
interface ProgressEventInit extends EventInit {
|
||||
lengthComputable?: boolean;
|
||||
loaded?: number;
|
||||
total?: number;
|
||||
|
@ -256,8 +256,7 @@ declare interface ProgressEventInit extends EventInit {
|
|||
*
|
||||
* @category Events
|
||||
*/
|
||||
declare interface ProgressEvent<T extends EventTarget = EventTarget>
|
||||
extends Event {
|
||||
interface ProgressEvent<T extends EventTarget = EventTarget> extends Event {
|
||||
readonly lengthComputable: boolean;
|
||||
readonly loaded: number;
|
||||
readonly target: T | null;
|
||||
|
@ -296,13 +295,13 @@ declare function atob(s: string): string;
|
|||
declare function btoa(s: string): string;
|
||||
|
||||
/** @category Encoding */
|
||||
declare interface TextDecoderOptions {
|
||||
interface TextDecoderOptions {
|
||||
fatal?: boolean;
|
||||
ignoreBOM?: boolean;
|
||||
}
|
||||
|
||||
/** @category Encoding */
|
||||
declare interface TextDecodeOptions {
|
||||
interface TextDecodeOptions {
|
||||
stream?: boolean;
|
||||
}
|
||||
|
||||
|
@ -320,7 +319,7 @@ declare interface TextDecodeOptions {
|
|||
*
|
||||
* @category Encoding
|
||||
*/
|
||||
declare interface TextDecoder extends TextDecoderCommon {
|
||||
interface TextDecoder extends TextDecoderCommon {
|
||||
/** Turns binary data, often in the form of a Uint8Array, into a string given
|
||||
* the encoding.
|
||||
*/
|
||||
|
@ -334,7 +333,7 @@ declare var TextDecoder: {
|
|||
};
|
||||
|
||||
/** @category Encoding */
|
||||
declare interface TextDecoderCommon {
|
||||
interface TextDecoderCommon {
|
||||
/** Returns encoding's name, lowercased. */
|
||||
readonly encoding: string;
|
||||
/** Returns true if error mode is "fatal", otherwise false. */
|
||||
|
@ -344,13 +343,13 @@ declare interface TextDecoderCommon {
|
|||
}
|
||||
|
||||
/** @category Encoding */
|
||||
declare interface TextEncoderEncodeIntoResult {
|
||||
interface TextEncoderEncodeIntoResult {
|
||||
read: number;
|
||||
written: number;
|
||||
}
|
||||
|
||||
/** @category Encoding */
|
||||
declare interface TextEncoder extends TextEncoderCommon {
|
||||
interface TextEncoder extends TextEncoderCommon {
|
||||
/** Returns the result of running UTF-8's encoder. */
|
||||
encode(input?: string): Uint8Array;
|
||||
encodeInto(input: string, dest: Uint8Array): TextEncoderEncodeIntoResult;
|
||||
|
@ -369,7 +368,7 @@ declare interface TextEncoder extends TextEncoderCommon {
|
|||
*
|
||||
* @category Encoding
|
||||
*/
|
||||
declare interface TextEncoder extends TextEncoderCommon {
|
||||
interface TextEncoder extends TextEncoderCommon {
|
||||
/** Turns a string into binary data (in the form of a Uint8Array) using UTF-8 encoding. */
|
||||
encode(input?: string): Uint8Array;
|
||||
|
||||
|
@ -384,14 +383,13 @@ declare var TextEncoder: {
|
|||
};
|
||||
|
||||
/** @category Encoding */
|
||||
declare interface TextEncoderCommon {
|
||||
interface TextEncoderCommon {
|
||||
/** Returns "utf-8". */
|
||||
readonly encoding: string;
|
||||
}
|
||||
|
||||
/** @category Encoding */
|
||||
declare interface TextDecoderStream
|
||||
extends GenericTransformStream, TextDecoderCommon {
|
||||
interface TextDecoderStream extends GenericTransformStream, TextDecoderCommon {
|
||||
readonly readable: ReadableStream<string>;
|
||||
readonly writable: WritableStream<BufferSource>;
|
||||
}
|
||||
|
@ -403,8 +401,7 @@ declare var TextDecoderStream: {
|
|||
};
|
||||
|
||||
/** @category Encoding */
|
||||
declare interface TextEncoderStream
|
||||
extends GenericTransformStream, TextEncoderCommon {
|
||||
interface TextEncoderStream extends GenericTransformStream, TextEncoderCommon {
|
||||
readonly readable: ReadableStream<Uint8Array>;
|
||||
readonly writable: WritableStream<string>;
|
||||
}
|
||||
|
@ -420,7 +417,7 @@ declare var TextEncoderStream: {
|
|||
*
|
||||
* @category Platform
|
||||
*/
|
||||
declare interface AbortController {
|
||||
interface AbortController {
|
||||
/** Returns the AbortSignal object associated with this object. */
|
||||
readonly signal: AbortSignal;
|
||||
/** Invoking this method will set this object's AbortSignal's aborted flag and
|
||||
|
@ -439,7 +436,7 @@ declare var AbortController: {
|
|||
};
|
||||
|
||||
/** @category Platform */
|
||||
declare interface AbortSignalEventMap {
|
||||
interface AbortSignalEventMap {
|
||||
abort: Event;
|
||||
}
|
||||
|
||||
|
@ -448,7 +445,7 @@ declare interface AbortSignalEventMap {
|
|||
*
|
||||
* @category Platform
|
||||
*/
|
||||
declare interface AbortSignal extends EventTarget {
|
||||
interface AbortSignal extends EventTarget {
|
||||
/** Returns true if this AbortSignal's AbortController has signaled to abort,
|
||||
* and false otherwise. */
|
||||
readonly aborted: boolean;
|
||||
|
@ -490,7 +487,7 @@ declare var AbortSignal: {
|
|||
};
|
||||
|
||||
/** @category File */
|
||||
declare interface FileReaderEventMap {
|
||||
interface FileReaderEventMap {
|
||||
"abort": ProgressEvent<FileReader>;
|
||||
"error": ProgressEvent<FileReader>;
|
||||
"load": ProgressEvent<FileReader>;
|
||||
|
@ -505,7 +502,7 @@ declare interface FileReaderEventMap {
|
|||
*
|
||||
* @category File
|
||||
*/
|
||||
declare interface FileReader extends EventTarget {
|
||||
interface FileReader extends EventTarget {
|
||||
readonly error: DOMException | null;
|
||||
onabort: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
|
||||
onerror: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
|
||||
|
@ -561,13 +558,13 @@ declare var FileReader: {
|
|||
};
|
||||
|
||||
/** @category File */
|
||||
declare type BlobPart = BufferSource | Blob | string;
|
||||
type BlobPart = BufferSource | Blob | string;
|
||||
|
||||
/** @category File */
|
||||
declare type EndingType = "transparent" | "native";
|
||||
type EndingType = "transparent" | "native";
|
||||
|
||||
/** @category File */
|
||||
declare interface BlobPropertyBag {
|
||||
interface BlobPropertyBag {
|
||||
type?: string;
|
||||
endings?: EndingType;
|
||||
}
|
||||
|
@ -579,7 +576,7 @@ declare interface BlobPropertyBag {
|
|||
*
|
||||
* @category File
|
||||
*/
|
||||
declare interface Blob {
|
||||
interface Blob {
|
||||
readonly size: number;
|
||||
readonly type: string;
|
||||
arrayBuffer(): Promise<ArrayBuffer>;
|
||||
|
@ -602,7 +599,7 @@ declare var Blob: {
|
|||
};
|
||||
|
||||
/** @category File */
|
||||
declare interface FilePropertyBag extends BlobPropertyBag {
|
||||
interface FilePropertyBag extends BlobPropertyBag {
|
||||
lastModified?: number;
|
||||
}
|
||||
|
||||
|
@ -611,7 +608,7 @@ declare interface FilePropertyBag extends BlobPropertyBag {
|
|||
*
|
||||
* @category File
|
||||
*/
|
||||
declare interface File extends Blob {
|
||||
interface File extends Blob {
|
||||
readonly lastModified: number;
|
||||
readonly name: string;
|
||||
readonly webkitRelativePath: string;
|
||||
|
@ -628,40 +625,40 @@ declare var File: {
|
|||
};
|
||||
|
||||
/** @category Streams */
|
||||
declare type ReadableStreamReader<T> =
|
||||
type ReadableStreamReader<T> =
|
||||
| ReadableStreamDefaultReader<T>
|
||||
| ReadableStreamBYOBReader;
|
||||
|
||||
/** @category Streams */
|
||||
declare type ReadableStreamController<T> =
|
||||
type ReadableStreamController<T> =
|
||||
| ReadableStreamDefaultController<T>
|
||||
| ReadableByteStreamController;
|
||||
|
||||
/** @category Streams */
|
||||
declare interface ReadableStreamGenericReader {
|
||||
interface ReadableStreamGenericReader {
|
||||
readonly closed: Promise<undefined>;
|
||||
cancel(reason?: any): Promise<void>;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface ReadableStreamReadDoneResult<T> {
|
||||
interface ReadableStreamReadDoneResult<T> {
|
||||
done: true;
|
||||
value?: T;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface ReadableStreamReadValueResult<T> {
|
||||
interface ReadableStreamReadValueResult<T> {
|
||||
done: false;
|
||||
value: T;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare type ReadableStreamReadResult<T> =
|
||||
type ReadableStreamReadResult<T> =
|
||||
| ReadableStreamReadValueResult<T>
|
||||
| ReadableStreamReadDoneResult<T>;
|
||||
|
||||
/** @category Streams */
|
||||
declare interface ReadableStreamDefaultReader<R = any>
|
||||
interface ReadableStreamDefaultReader<R = any>
|
||||
extends ReadableStreamGenericReader {
|
||||
read(): Promise<ReadableStreamReadResult<R>>;
|
||||
releaseLock(): void;
|
||||
|
@ -674,12 +671,12 @@ declare var ReadableStreamDefaultReader: {
|
|||
};
|
||||
|
||||
/** @category Streams */
|
||||
declare interface ReadableStreamBYOBReaderReadOptions {
|
||||
interface ReadableStreamBYOBReaderReadOptions {
|
||||
min?: number;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface ReadableStreamBYOBReader extends ReadableStreamGenericReader {
|
||||
interface ReadableStreamBYOBReader extends ReadableStreamGenericReader {
|
||||
read<T extends ArrayBufferView>(
|
||||
view: T,
|
||||
options?: ReadableStreamBYOBReaderReadOptions,
|
||||
|
@ -694,7 +691,7 @@ declare var ReadableStreamBYOBReader: {
|
|||
};
|
||||
|
||||
/** @category Streams */
|
||||
declare interface ReadableStreamBYOBRequest {
|
||||
interface ReadableStreamBYOBRequest {
|
||||
readonly view: ArrayBufferView | null;
|
||||
respond(bytesWritten: number): void;
|
||||
respondWithNewView(view: ArrayBufferView): void;
|
||||
|
@ -707,7 +704,7 @@ declare var ReadableStreamBYOBRequest: {
|
|||
};
|
||||
|
||||
/** @category Streams */
|
||||
declare interface UnderlyingByteSource {
|
||||
interface UnderlyingByteSource {
|
||||
autoAllocateChunkSize?: number;
|
||||
cancel?: UnderlyingSourceCancelCallback;
|
||||
pull?: (controller: ReadableByteStreamController) => void | PromiseLike<void>;
|
||||
|
@ -716,7 +713,7 @@ declare interface UnderlyingByteSource {
|
|||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface UnderlyingDefaultSource<R = any> {
|
||||
interface UnderlyingDefaultSource<R = any> {
|
||||
cancel?: UnderlyingSourceCancelCallback;
|
||||
pull?: (
|
||||
controller: ReadableStreamDefaultController<R>,
|
||||
|
@ -726,7 +723,7 @@ declare interface UnderlyingDefaultSource<R = any> {
|
|||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface UnderlyingSink<W = any> {
|
||||
interface UnderlyingSink<W = any> {
|
||||
abort?: UnderlyingSinkAbortCallback;
|
||||
close?: UnderlyingSinkCloseCallback;
|
||||
start?: UnderlyingSinkStartCallback;
|
||||
|
@ -735,10 +732,10 @@ declare interface UnderlyingSink<W = any> {
|
|||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare type ReadableStreamType = "bytes";
|
||||
type ReadableStreamType = "bytes";
|
||||
|
||||
/** @category Streams */
|
||||
declare interface UnderlyingSource<R = any> {
|
||||
interface UnderlyingSource<R = any> {
|
||||
autoAllocateChunkSize?: number;
|
||||
cancel?: UnderlyingSourceCancelCallback;
|
||||
pull?: UnderlyingSourcePullCallback<R>;
|
||||
|
@ -747,22 +744,22 @@ declare interface UnderlyingSource<R = any> {
|
|||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface UnderlyingSourceCancelCallback {
|
||||
interface UnderlyingSourceCancelCallback {
|
||||
(reason?: any): void | PromiseLike<void>;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface UnderlyingSourcePullCallback<R> {
|
||||
interface UnderlyingSourcePullCallback<R> {
|
||||
(controller: ReadableStreamController<R>): void | PromiseLike<void>;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface UnderlyingSourceStartCallback<R> {
|
||||
interface UnderlyingSourceStartCallback<R> {
|
||||
(controller: ReadableStreamController<R>): any;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface ReadableStreamDefaultController<R = any> {
|
||||
interface ReadableStreamDefaultController<R = any> {
|
||||
readonly desiredSize: number | null;
|
||||
close(): void;
|
||||
enqueue(chunk?: R): void;
|
||||
|
@ -776,7 +773,7 @@ declare var ReadableStreamDefaultController: {
|
|||
};
|
||||
|
||||
/** @category Streams */
|
||||
declare interface ReadableByteStreamController {
|
||||
interface ReadableByteStreamController {
|
||||
readonly byobRequest: ReadableStreamBYOBRequest | null;
|
||||
readonly desiredSize: number | null;
|
||||
close(): void;
|
||||
|
@ -791,7 +788,7 @@ declare var ReadableByteStreamController: {
|
|||
};
|
||||
|
||||
/** @category Streams */
|
||||
declare interface StreamPipeOptions {
|
||||
interface StreamPipeOptions {
|
||||
preventAbort?: boolean;
|
||||
preventCancel?: boolean;
|
||||
preventClose?: boolean;
|
||||
|
@ -799,12 +796,12 @@ declare interface StreamPipeOptions {
|
|||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface QueuingStrategySize<T = any> {
|
||||
interface QueuingStrategySize<T = any> {
|
||||
(chunk: T): number;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface QueuingStrategy<T = any> {
|
||||
interface QueuingStrategy<T = any> {
|
||||
highWaterMark?: number;
|
||||
size?: QueuingStrategySize<T>;
|
||||
}
|
||||
|
@ -814,7 +811,7 @@ declare interface QueuingStrategy<T = any> {
|
|||
*
|
||||
* @category Streams
|
||||
*/
|
||||
declare interface CountQueuingStrategy extends QueuingStrategy {
|
||||
interface CountQueuingStrategy extends QueuingStrategy {
|
||||
readonly highWaterMark: number;
|
||||
readonly size: QueuingStrategySize;
|
||||
}
|
||||
|
@ -826,8 +823,7 @@ declare var CountQueuingStrategy: {
|
|||
};
|
||||
|
||||
/** @category Streams */
|
||||
declare interface ByteLengthQueuingStrategy
|
||||
extends QueuingStrategy<ArrayBufferView> {
|
||||
interface ByteLengthQueuingStrategy extends QueuingStrategy<ArrayBufferView> {
|
||||
readonly highWaterMark: number;
|
||||
readonly size: QueuingStrategySize<ArrayBufferView>;
|
||||
}
|
||||
|
@ -839,7 +835,7 @@ declare var ByteLengthQueuingStrategy: {
|
|||
};
|
||||
|
||||
/** @category Streams */
|
||||
declare interface QueuingStrategyInit {
|
||||
interface QueuingStrategyInit {
|
||||
highWaterMark: number;
|
||||
}
|
||||
|
||||
|
@ -849,7 +845,7 @@ declare interface QueuingStrategyInit {
|
|||
*
|
||||
* @category Streams
|
||||
*/
|
||||
declare interface ReadableStream<R = any> {
|
||||
interface ReadableStream<R = any> {
|
||||
readonly locked: boolean;
|
||||
cancel(reason?: any): Promise<void>;
|
||||
getReader(options: { mode: "byob" }): ReadableStreamBYOBReader;
|
||||
|
@ -891,36 +887,36 @@ declare var ReadableStream: {
|
|||
};
|
||||
|
||||
/** @category Streams */
|
||||
declare interface ReadableStreamIteratorOptions {
|
||||
interface ReadableStreamIteratorOptions {
|
||||
preventCancel?: boolean;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare type ReadableStreamReaderMode = "byob";
|
||||
type ReadableStreamReaderMode = "byob";
|
||||
|
||||
/** @category Streams */
|
||||
declare interface ReadableStreamGetReaderOptions {
|
||||
interface ReadableStreamGetReaderOptions {
|
||||
mode?: ReadableStreamReaderMode;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface ReadableWritablePair<R = any, W = any> {
|
||||
interface ReadableWritablePair<R = any, W = any> {
|
||||
readable: ReadableStream<R>;
|
||||
writable: WritableStream<W>;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface UnderlyingSinkCloseCallback {
|
||||
interface UnderlyingSinkCloseCallback {
|
||||
(): void | PromiseLike<void>;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface UnderlyingSinkStartCallback {
|
||||
interface UnderlyingSinkStartCallback {
|
||||
(controller: WritableStreamDefaultController): any;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface UnderlyingSinkWriteCallback<W> {
|
||||
interface UnderlyingSinkWriteCallback<W> {
|
||||
(
|
||||
chunk: W,
|
||||
controller: WritableStreamDefaultController,
|
||||
|
@ -928,7 +924,7 @@ declare interface UnderlyingSinkWriteCallback<W> {
|
|||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface UnderlyingSinkAbortCallback {
|
||||
interface UnderlyingSinkAbortCallback {
|
||||
(reason?: any): void | PromiseLike<void>;
|
||||
}
|
||||
|
||||
|
@ -938,7 +934,7 @@ declare interface UnderlyingSinkAbortCallback {
|
|||
*
|
||||
* @category Streams
|
||||
*/
|
||||
declare interface WritableStream<W = any> {
|
||||
interface WritableStream<W = any> {
|
||||
readonly locked: boolean;
|
||||
abort(reason?: any): Promise<void>;
|
||||
close(): Promise<void>;
|
||||
|
@ -961,7 +957,7 @@ declare var WritableStream: {
|
|||
*
|
||||
* @category Streams
|
||||
*/
|
||||
declare interface WritableStreamDefaultController {
|
||||
interface WritableStreamDefaultController {
|
||||
readonly signal: AbortSignal;
|
||||
error(e?: any): void;
|
||||
}
|
||||
|
@ -979,7 +975,7 @@ declare var WritableStreamDefaultController: {
|
|||
*
|
||||
* @category Streams
|
||||
*/
|
||||
declare interface WritableStreamDefaultWriter<W = any> {
|
||||
interface WritableStreamDefaultWriter<W = any> {
|
||||
readonly closed: Promise<undefined>;
|
||||
readonly desiredSize: number | null;
|
||||
readonly ready: Promise<undefined>;
|
||||
|
@ -996,7 +992,7 @@ declare var WritableStreamDefaultWriter: {
|
|||
};
|
||||
|
||||
/** @category Streams */
|
||||
declare interface TransformStream<I = any, O = any> {
|
||||
interface TransformStream<I = any, O = any> {
|
||||
readonly readable: ReadableStream<O>;
|
||||
readonly writable: WritableStream<I>;
|
||||
}
|
||||
|
@ -1012,7 +1008,7 @@ declare var TransformStream: {
|
|||
};
|
||||
|
||||
/** @category Streams */
|
||||
declare interface TransformStreamDefaultController<O = any> {
|
||||
interface TransformStreamDefaultController<O = any> {
|
||||
readonly desiredSize: number | null;
|
||||
enqueue(chunk?: O): void;
|
||||
error(reason?: any): void;
|
||||
|
@ -1026,7 +1022,7 @@ declare var TransformStreamDefaultController: {
|
|||
};
|
||||
|
||||
/** @category Streams */
|
||||
declare interface Transformer<I = any, O = any> {
|
||||
interface Transformer<I = any, O = any> {
|
||||
flush?: TransformerFlushCallback<O>;
|
||||
readableType?: undefined;
|
||||
start?: TransformerStartCallback<O>;
|
||||
|
@ -1036,17 +1032,17 @@ declare interface Transformer<I = any, O = any> {
|
|||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface TransformerFlushCallback<O> {
|
||||
interface TransformerFlushCallback<O> {
|
||||
(controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface TransformerStartCallback<O> {
|
||||
interface TransformerStartCallback<O> {
|
||||
(controller: TransformStreamDefaultController<O>): any;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface TransformerTransformCallback<I, O> {
|
||||
interface TransformerTransformCallback<I, O> {
|
||||
(
|
||||
chunk: I,
|
||||
controller: TransformStreamDefaultController<O>,
|
||||
|
@ -1054,21 +1050,21 @@ declare interface TransformerTransformCallback<I, O> {
|
|||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface TransformerCancelCallback {
|
||||
interface TransformerCancelCallback {
|
||||
(reason: any): void | PromiseLike<void>;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare interface GenericTransformStream {
|
||||
interface GenericTransformStream {
|
||||
readonly readable: ReadableStream;
|
||||
readonly writable: WritableStream;
|
||||
}
|
||||
|
||||
/** @category Events */
|
||||
declare type MessageEventSource = Window | MessagePort;
|
||||
type MessageEventSource = Window | MessagePort;
|
||||
|
||||
/** @category Events */
|
||||
declare interface MessageEventInit<T = any> extends EventInit {
|
||||
interface MessageEventInit<T = any> extends EventInit {
|
||||
data?: T;
|
||||
lastEventId?: string;
|
||||
origin?: string;
|
||||
|
@ -1077,7 +1073,7 @@ declare interface MessageEventInit<T = any> extends EventInit {
|
|||
}
|
||||
|
||||
/** @category Events */
|
||||
declare interface MessageEvent<T = any> extends Event {
|
||||
interface MessageEvent<T = any> extends Event {
|
||||
/**
|
||||
* Returns the data of the message.
|
||||
*/
|
||||
|
@ -1115,10 +1111,10 @@ declare var MessageEvent: {
|
|||
};
|
||||
|
||||
/** @category Events */
|
||||
declare type Transferable = MessagePort | ArrayBuffer;
|
||||
type Transferable = MessagePort | ArrayBuffer;
|
||||
|
||||
/** @category Platform */
|
||||
declare interface StructuredSerializeOptions {
|
||||
interface StructuredSerializeOptions {
|
||||
transfer?: Transferable[];
|
||||
}
|
||||
|
||||
|
@ -1128,7 +1124,7 @@ declare interface StructuredSerializeOptions {
|
|||
*
|
||||
* @category Messaging
|
||||
*/
|
||||
declare interface MessageChannel {
|
||||
interface MessageChannel {
|
||||
readonly port1: MessagePort;
|
||||
readonly port2: MessagePort;
|
||||
}
|
||||
|
@ -1145,7 +1141,7 @@ declare var MessageChannel: {
|
|||
};
|
||||
|
||||
/** @category Messaging */
|
||||
declare interface MessagePortEventMap {
|
||||
interface MessagePortEventMap {
|
||||
"message": MessageEvent;
|
||||
"messageerror": MessageEvent;
|
||||
}
|
||||
|
@ -1156,7 +1152,7 @@ declare interface MessagePortEventMap {
|
|||
*
|
||||
* @category Messaging
|
||||
*/
|
||||
declare interface MessagePort extends EventTarget {
|
||||
interface MessagePort extends EventTarget {
|
||||
onmessage: ((this: MessagePort, ev: MessageEvent) => any) | null;
|
||||
onmessageerror: ((this: MessagePort, ev: MessageEvent) => any) | null;
|
||||
/**
|
||||
|
@ -1255,13 +1251,13 @@ declare function structuredClone<T = any>(
|
|||
*
|
||||
* @category Streams
|
||||
*/
|
||||
declare interface CompressionStream extends GenericTransformStream {
|
||||
interface CompressionStream extends GenericTransformStream {
|
||||
readonly readable: ReadableStream<Uint8Array>;
|
||||
readonly writable: WritableStream<BufferSource>;
|
||||
}
|
||||
|
||||
/** @category Streams */
|
||||
declare type CompressionFormat = "deflate" | "deflate-raw" | "gzip";
|
||||
type CompressionFormat = "deflate" | "deflate-raw" | "gzip";
|
||||
|
||||
/**
|
||||
* An API for compressing a stream of data.
|
||||
|
@ -1302,7 +1298,7 @@ declare var CompressionStream: {
|
|||
*
|
||||
* @category Streams
|
||||
*/
|
||||
declare interface DecompressionStream extends GenericTransformStream {
|
||||
interface DecompressionStream extends GenericTransformStream {
|
||||
readonly readable: ReadableStream<Uint8Array>;
|
||||
readonly writable: WritableStream<BufferSource>;
|
||||
}
|
||||
|
@ -1356,15 +1352,15 @@ declare function reportError(
|
|||
): void;
|
||||
|
||||
/** @category Platform */
|
||||
declare type PredefinedColorSpace = "srgb" | "display-p3";
|
||||
type PredefinedColorSpace = "srgb" | "display-p3";
|
||||
|
||||
/** @category Platform */
|
||||
declare interface ImageDataSettings {
|
||||
interface ImageDataSettings {
|
||||
readonly colorSpace?: PredefinedColorSpace;
|
||||
}
|
||||
|
||||
/** @category Platform */
|
||||
declare interface ImageData {
|
||||
interface ImageData {
|
||||
readonly colorSpace: PredefinedColorSpace;
|
||||
readonly data: Uint8ClampedArray;
|
||||
readonly height: number;
|
||||
|
|
10
ext/websocket/lib.deno_websocket.d.ts
vendored
10
ext/websocket/lib.deno_websocket.d.ts
vendored
|
@ -6,14 +6,14 @@
|
|||
/// <reference lib="esnext" />
|
||||
|
||||
/** @category WebSockets */
|
||||
declare interface CloseEventInit extends EventInit {
|
||||
interface CloseEventInit extends EventInit {
|
||||
code?: number;
|
||||
reason?: string;
|
||||
wasClean?: boolean;
|
||||
}
|
||||
|
||||
/** @category WebSockets */
|
||||
declare interface CloseEvent extends Event {
|
||||
interface CloseEvent extends Event {
|
||||
/**
|
||||
* Returns the WebSocket connection close code provided by the server.
|
||||
*/
|
||||
|
@ -35,7 +35,7 @@ declare var CloseEvent: {
|
|||
};
|
||||
|
||||
/** @category WebSockets */
|
||||
declare interface WebSocketEventMap {
|
||||
interface WebSocketEventMap {
|
||||
close: CloseEvent;
|
||||
error: Event;
|
||||
message: MessageEvent;
|
||||
|
@ -52,7 +52,7 @@ declare interface WebSocketEventMap {
|
|||
* @tags allow-net
|
||||
* @category WebSockets
|
||||
*/
|
||||
declare interface WebSocket extends EventTarget {
|
||||
interface WebSocket extends EventTarget {
|
||||
/**
|
||||
* Returns a string that indicates how binary data from the WebSocket object is exposed to scripts:
|
||||
*
|
||||
|
@ -130,4 +130,4 @@ declare var WebSocket: {
|
|||
};
|
||||
|
||||
/** @category WebSockets */
|
||||
declare type BinaryType = "arraybuffer" | "blob";
|
||||
type BinaryType = "arraybuffer" | "blob";
|
||||
|
|
2
ext/webstorage/lib.deno_webstorage.d.ts
vendored
2
ext/webstorage/lib.deno_webstorage.d.ts
vendored
|
@ -11,7 +11,7 @@
|
|||
*
|
||||
* @category Storage
|
||||
*/
|
||||
declare interface Storage {
|
||||
interface Storage {
|
||||
/**
|
||||
* Returns the number of key/value pairs currently present in the list associated with the object.
|
||||
*/
|
||||
|
|
|
@ -132,7 +132,7 @@ const denoNs = {
|
|||
UnsafePointerView: ffi.UnsafePointerView,
|
||||
UnsafeFnPointer: ffi.UnsafeFnPointer,
|
||||
umask: fs.umask,
|
||||
httpClient: httpClient.httpClient,
|
||||
HttpClient: httpClient.HttpClient,
|
||||
createHttpClient: httpClient.createHttpClient,
|
||||
};
|
||||
|
||||
|
@ -160,15 +160,6 @@ denoNsUnstableById[unstableIds.cron] = {
|
|||
cron: cron.cron,
|
||||
};
|
||||
|
||||
denoNsUnstableById[unstableIds.ffi] = {};
|
||||
|
||||
denoNsUnstableById[unstableIds.fs] = {};
|
||||
|
||||
denoNsUnstableById[unstableIds.http] = {
|
||||
HttpClient: httpClient.HttpClient,
|
||||
createHttpClient: httpClient.createHttpClient,
|
||||
};
|
||||
|
||||
denoNsUnstableById[unstableIds.kv] = {
|
||||
openKv: kv.openKv,
|
||||
AtomicOperation: kv.AtomicOperation,
|
||||
|
|
|
@ -654,6 +654,7 @@ function bootstrapMainRuntime(runtimeOptions, warmup = false) {
|
|||
if (location_ == null) {
|
||||
mainRuntimeGlobalProperties.location = {
|
||||
writable: true,
|
||||
configurable: true,
|
||||
};
|
||||
} else {
|
||||
location.setLocationHref(location_);
|
||||
|
|
|
@ -122,8 +122,8 @@ pub static UNSTABLE_GRANULAR_FLAGS: &[UnstableGranularFlag] = &[
|
|||
},
|
||||
UnstableGranularFlag {
|
||||
name: deno_webgpu::UNSTABLE_FEATURE_NAME,
|
||||
help_text: "Enable unstable `WebGPU` API",
|
||||
show_in_help: false,
|
||||
help_text: "Enable unstable `WebGPU` APIs",
|
||||
show_in_help: true,
|
||||
id: 11,
|
||||
},
|
||||
UnstableGranularFlag {
|
||||
|
|
|
@ -363,13 +363,6 @@ fn lsp_import_map_remote() {
|
|||
.use_temp_cwd()
|
||||
.build();
|
||||
let temp_dir = context.temp_dir();
|
||||
temp_dir.write(
|
||||
"deno.json",
|
||||
json!({
|
||||
"importMap": "http://localhost:4545/import_maps/import_map_remote.json",
|
||||
})
|
||||
.to_string(),
|
||||
);
|
||||
temp_dir.write(
|
||||
"file.ts",
|
||||
r#"
|
||||
|
@ -10597,13 +10590,6 @@ fn lsp_format_markdown() {
|
|||
fn lsp_format_html() {
|
||||
let context = TestContextBuilder::new().use_temp_cwd().build();
|
||||
let temp_dir = context.temp_dir();
|
||||
temp_dir.write(
|
||||
"deno.json",
|
||||
json!({
|
||||
"unstable": ["fmt-html"],
|
||||
})
|
||||
.to_string(),
|
||||
);
|
||||
let html_file =
|
||||
source_file(temp_dir.path().join("file.html"), " <html></html>");
|
||||
let mut client = context.new_lsp_command().build();
|
||||
|
@ -10644,13 +10630,6 @@ fn lsp_format_html() {
|
|||
fn lsp_format_css() {
|
||||
let context = TestContextBuilder::new().use_temp_cwd().build();
|
||||
let temp_dir = context.temp_dir();
|
||||
temp_dir.write(
|
||||
"deno.json",
|
||||
json!({
|
||||
"unstable": ["fmt-css"],
|
||||
})
|
||||
.to_string(),
|
||||
);
|
||||
let css_file = source_file(temp_dir.path().join("file.css"), " foo {}");
|
||||
let mut client = context.new_lsp_command().build();
|
||||
client.initialize_default();
|
||||
|
@ -10690,13 +10669,6 @@ fn lsp_format_css() {
|
|||
fn lsp_format_yaml() {
|
||||
let context = TestContextBuilder::new().use_temp_cwd().build();
|
||||
let temp_dir = context.temp_dir();
|
||||
temp_dir.write(
|
||||
"deno.json",
|
||||
json!({
|
||||
"unstable": ["fmt-yaml"],
|
||||
})
|
||||
.to_string(),
|
||||
);
|
||||
let yaml_file = source_file(temp_dir.path().join("file.yaml"), " foo: 1");
|
||||
let mut client = context.new_lsp_command().build();
|
||||
client.initialize_default();
|
||||
|
|
|
@ -31,17 +31,6 @@
|
|||
// http_server: true,
|
||||
// });
|
||||
|
||||
// TODO(2.0): not entirely clear what's wrong with this test
|
||||
// itest!(task_both_package_json_selected {
|
||||
// args: "task bin asdf",
|
||||
// cwd: Some("task/both/"),
|
||||
// output: "task/both/package_json_selected.out",
|
||||
// copy_temp_dir: Some("task/both/"),
|
||||
// envs: env_vars_for_npm_tests(),
|
||||
// exit_code: 0,
|
||||
// http_server: true,
|
||||
// });
|
||||
|
||||
// TODO(2.0): not entirely clear what's wrong with this test but it hangs for more than 60s
|
||||
// itest!(task_npx_on_own {
|
||||
// args: "task on-own",
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"name": "@denotest/non-existent-optional-peer",
|
||||
"version": "1.0.0",
|
||||
"peerDependencies": {
|
||||
"uWebSockets.js": "*"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"uWebSockets.js": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
}
|
14
tests/specs/cache/package_json/__test__.jsonc
vendored
14
tests/specs/cache/package_json/__test__.jsonc
vendored
|
@ -1,7 +1,13 @@
|
|||
{
|
||||
"tempDir": true,
|
||||
// TODO(2.0): decide if this test should be fixed or removed
|
||||
"ignore": true,
|
||||
"args": "cache main.ts",
|
||||
"output": "main.cache.out"
|
||||
"steps": [
|
||||
{
|
||||
"args": "cache main.ts",
|
||||
"output": "main.cache.out"
|
||||
},
|
||||
{
|
||||
"args": "eval console.log(Deno.readTextFileSync('deno.lock').trim())",
|
||||
"output": "deno.lock.out"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
3
tests/specs/cache/package_json/deno.json
vendored
Normal file
3
tests/specs/cache/package_json/deno.json
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"nodeModulesDir": "none"
|
||||
}
|
16
tests/specs/cache/package_json/deno.lock.out
vendored
Normal file
16
tests/specs/cache/package_json/deno.lock.out
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"version": "4",
|
||||
"specifiers": {
|
||||
"npm:@denotest/esm-basic@*": "1.0.0"
|
||||
},
|
||||
"npm": {
|
||||
"@denotest/esm-basic@1.0.0": [WILDCARD]
|
||||
},
|
||||
"workspace": {
|
||||
"packageJson": {
|
||||
"dependencies": [
|
||||
"npm:@denotest/esm-basic@*"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,3 +1,2 @@
|
|||
Download http://localhost:4260/@denotest/esm-basic
|
||||
Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz
|
||||
Initialize @denotest/esm-basic@1.0.0
|
||||
|
|
13
tests/specs/fmt/css/__test__.jsonc
Normal file
13
tests/specs/fmt/css/__test__.jsonc
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"tempDir": true,
|
||||
"tests": {
|
||||
"badly_formatted": {
|
||||
"args": "fmt badly_formatted.css",
|
||||
"output": "[WILDLINE]badly_formatted.css\nChecked 1 file\n"
|
||||
},
|
||||
"well_formatted": {
|
||||
"args": "fmt --check well_formatted.css",
|
||||
"output": "Checked 1 file\n"
|
||||
}
|
||||
}
|
||||
}
|
3
tests/specs/fmt/css/well_formatted.css
Normal file
3
tests/specs/fmt/css/well_formatted.css
Normal file
|
@ -0,0 +1,3 @@
|
|||
#app > .btn {
|
||||
color: #000;
|
||||
}
|
13
tests/specs/fmt/html/__test__.jsonc
Normal file
13
tests/specs/fmt/html/__test__.jsonc
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"tempDir": true,
|
||||
"tests": {
|
||||
"badly_formatted": {
|
||||
"args": "fmt badly_formatted.html",
|
||||
"output": "[WILDLINE]badly_formatted.html\nChecked 1 file\n"
|
||||
},
|
||||
"well_formatted": {
|
||||
"args": "fmt --check well_formatted.html",
|
||||
"output": "Checked 1 file\n"
|
||||
}
|
||||
}
|
||||
}
|
11
tests/specs/fmt/html/well_formatted.html
Normal file
11
tests/specs/fmt/html/well_formatted.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
<div class="container">content</div>
|
||||
|
||||
<script>
|
||||
let counter = 0;
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.container {
|
||||
padding: 8px;
|
||||
}
|
||||
</style>
|
5
tests/specs/fmt/njk/__test__.jsonc
Normal file
5
tests/specs/fmt/njk/__test__.jsonc
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"tempDir": true,
|
||||
"args": "fmt --unstable-component",
|
||||
"output": "[WILDLINE]badly_formatted.njk\nChecked 1 file\n"
|
||||
}
|
3
tests/specs/fmt/njk/badly_formatted.njk
Normal file
3
tests/specs/fmt/njk/badly_formatted.njk
Normal file
|
@ -0,0 +1,3 @@
|
|||
<h1> {{ "Hello, world!" | upper }}
|
||||
</h1>
|
||||
|
|
@ -6,14 +6,14 @@
|
|||
"output": "Checked 1 file\n"
|
||||
},
|
||||
"flag": {
|
||||
"args": "fmt --unstable-css --unstable-component",
|
||||
"args": "fmt --unstable-component",
|
||||
"output": "[WILDLINE]badly_formatted.svelte\nChecked 1 file\n"
|
||||
},
|
||||
"config_file": {
|
||||
"steps": [{
|
||||
"args": [
|
||||
"eval",
|
||||
"Deno.writeTextFile('deno.json', '{\\n \"unstable\": [\"fmt-css\", \"fmt-component\"]\\n}\\n')"
|
||||
"Deno.writeTextFile('deno.json', '{\\n \"unstable\": [\"fmt-component\"]\\n}\\n')"
|
||||
],
|
||||
"output": "[WILDCARD]"
|
||||
}, {
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
"tempDir": true,
|
||||
"tests": {
|
||||
"nothing": {
|
||||
"args": "fmt",
|
||||
"output": "Checked 1 file\n"
|
||||
},
|
||||
"flag": {
|
||||
"args": "fmt --unstable-css",
|
||||
"output": "[WILDLINE]badly_formatted.css\nChecked 1 file\n"
|
||||
},
|
||||
"config_file": {
|
||||
"steps": [{
|
||||
"args": [
|
||||
"eval",
|
||||
"Deno.writeTextFile('deno.json', '{\\n \"unstable\": [\"fmt-css\"]\\n}\\n')"
|
||||
],
|
||||
"output": "[WILDCARD]"
|
||||
}, {
|
||||
"args": "fmt",
|
||||
"output": "[WILDLINE]badly_formatted.css\nChecked 2 files\n"
|
||||
}]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
"tempDir": true,
|
||||
"tests": {
|
||||
"nothing": {
|
||||
"args": "fmt",
|
||||
"output": "Checked 1 file\n"
|
||||
},
|
||||
"flag": {
|
||||
"args": "fmt --unstable-css --unstable-html",
|
||||
"output": "[WILDLINE]badly_formatted.html\nChecked 1 file\n"
|
||||
},
|
||||
"config_file": {
|
||||
"steps": [{
|
||||
"args": [
|
||||
"eval",
|
||||
"Deno.writeTextFile('deno.json', '{\\n \"unstable\": [\"fmt-css\", \"fmt-html\"]\\n}\\n')"
|
||||
],
|
||||
"output": "[WILDCARD]"
|
||||
}, {
|
||||
"args": "fmt",
|
||||
"output": "[WILDLINE]badly_formatted.html\nChecked 2 files\n"
|
||||
}]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
"tempDir": true,
|
||||
"tests": {
|
||||
"nothing": {
|
||||
"args": "fmt",
|
||||
"output": "Checked 1 file\n"
|
||||
},
|
||||
"flag": {
|
||||
"args": "fmt --unstable-yaml",
|
||||
"output": "[WILDLINE]badly_formatted.yml\nChecked 1 file\n"
|
||||
},
|
||||
"config_file": {
|
||||
"steps": [{
|
||||
"args": [
|
||||
"eval",
|
||||
"Deno.writeTextFile('deno.json', '{\\n \"unstable\": [\"fmt-yaml\"]\\n}\\n')"
|
||||
],
|
||||
"output": "[WILDCARD]"
|
||||
}, {
|
||||
"args": "fmt",
|
||||
"output": "[WILDLINE]badly_formatted.yml\nChecked 2 files\n"
|
||||
}]
|
||||
}
|
||||
}
|
||||
}
|
5
tests/specs/fmt/vento/__test__.jsonc
Normal file
5
tests/specs/fmt/vento/__test__.jsonc
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"tempDir": true,
|
||||
"args": "fmt --unstable-component",
|
||||
"output": "[WILDLINE]badly_formatted.vto\nChecked 1 file\n"
|
||||
}
|
3
tests/specs/fmt/vento/badly_formatted.vto
Normal file
3
tests/specs/fmt/vento/badly_formatted.vto
Normal file
|
@ -0,0 +1,3 @@
|
|||
<h1> {{ "Hello, world!" |> toUpperCase }}
|
||||
</h1>
|
||||
|
13
tests/specs/fmt/yaml/__test__.jsonc
Normal file
13
tests/specs/fmt/yaml/__test__.jsonc
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"tempDir": true,
|
||||
"tests": {
|
||||
"badly_formatted": {
|
||||
"args": "fmt badly_formatted.yml",
|
||||
"output": "[WILDLINE]badly_formatted.yml\nChecked 1 file\n"
|
||||
},
|
||||
"well_formatted": {
|
||||
"args": "fmt --check well_formatted.yml",
|
||||
"output": "Checked 1 file\n"
|
||||
}
|
||||
}
|
||||
}
|
3
tests/specs/fmt/yaml/well_formatted.yml
Normal file
3
tests/specs/fmt/yaml/well_formatted.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
- Test
|
||||
- Test
|
||||
- Test
|
|
@ -0,0 +1,11 @@
|
|||
// test imitates what crossws 0.2.4 has https://www.npmjs.com/package/crossws/v/0.2.4
|
||||
// where uWebSockets.js is an optional peer dep, but doesn't exist on npm
|
||||
{
|
||||
"tempDir": true,
|
||||
"steps": [
|
||||
{
|
||||
"args": "install",
|
||||
"output": "install.out"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
[UNORDERED_START]
|
||||
Download http://localhost:4260/@denotest/non-existent-optional-peer
|
||||
Download http://localhost:4260/uWebSockets.js
|
||||
Download http://localhost:4260/@denotest/non-existent-optional-peer/1.0.0.tgz
|
||||
[UNORDERED_END]
|
||||
Initialize @denotest/non-existent-optional-peer@1.0.0
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"@denotest/non-existent-optional-peer": "1.0.0"
|
||||
}
|
||||
}
|
8
tests/specs/run/location/__test__.jsonc
Normal file
8
tests/specs/run/location/__test__.jsonc
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"tests": {
|
||||
"location_object_define_property": {
|
||||
"args": "run location.js",
|
||||
"output": "location.out"
|
||||
}
|
||||
}
|
||||
}
|
24
tests/specs/run/location/location.js
Normal file
24
tests/specs/run/location/location.js
Normal file
|
@ -0,0 +1,24 @@
|
|||
let _location = undefined;
|
||||
|
||||
console.log(globalThis.location);
|
||||
|
||||
Object.defineProperty(globalThis, "location", {
|
||||
get() {
|
||||
return _location;
|
||||
},
|
||||
set(v) {
|
||||
_location = v;
|
||||
},
|
||||
configurable: true,
|
||||
});
|
||||
|
||||
console.log(globalThis.location);
|
||||
|
||||
globalThis.location = "https://deno.com";
|
||||
|
||||
console.log(_location);
|
||||
console.log(location);
|
||||
|
||||
delete globalThis["location"];
|
||||
|
||||
console.log(globalThis.location);
|
5
tests/specs/run/location/location.out
Normal file
5
tests/specs/run/location/location.out
Normal file
|
@ -0,0 +1,5 @@
|
|||
undefined
|
||||
undefined
|
||||
https://deno.com
|
||||
https://deno.com
|
||||
undefined
|
|
@ -29,19 +29,33 @@
|
|||
"cwd": "code"
|
||||
},
|
||||
"auto_discovered": {
|
||||
// TODO(2.0): most likely needs to change output to not expect auto-install
|
||||
"ignore": true,
|
||||
// auto-discovered node_modules relative package.json
|
||||
"args": "run -A main.js",
|
||||
"output": "code/sub_dir/main.out",
|
||||
"cwd": "code/sub_dir"
|
||||
"steps": [
|
||||
{
|
||||
"args": "install",
|
||||
"output": "code/install.out",
|
||||
"cwd": "code"
|
||||
},
|
||||
{
|
||||
// auto-discovered node_modules relative package.json
|
||||
"args": "run -A main.js",
|
||||
"output": "code/sub_dir/main.out",
|
||||
"cwd": "code/sub_dir"
|
||||
}
|
||||
]
|
||||
},
|
||||
"auto_discovered_arg": {
|
||||
// TODO(2.0): most likely needs to change output to not expect auto-install
|
||||
"ignore": true,
|
||||
// auto-discovered for local script arg
|
||||
"args": "run -L debug -A code/main.ts", // notice this is not in the sub dir
|
||||
"output": "main.out"
|
||||
"steps": [
|
||||
{
|
||||
"args": "install",
|
||||
"output": "code/install.out",
|
||||
"cwd": "code"
|
||||
},
|
||||
{
|
||||
// auto-discovered for local script arg
|
||||
"args": "run -L debug -A code/main.ts", // notice this is not in the sub dir
|
||||
"output": "main.out"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
26
tests/specs/run/no_deno_json/code/install.out
Normal file
26
tests/specs/run/no_deno_json/code/install.out
Normal file
|
@ -0,0 +1,26 @@
|
|||
[UNORDERED_START]
|
||||
Download http://localhost:4260/@denotest/check-error
|
||||
Download http://localhost:4260/@denotest/cjs-default-export
|
||||
Download http://localhost:4260/chalk
|
||||
Download http://localhost:4260/ansi-styles
|
||||
Download http://localhost:4260/supports-color
|
||||
Download http://localhost:4260/color-convert
|
||||
Download http://localhost:4260/has-flag
|
||||
Download http://localhost:4260/color-name
|
||||
Download http://localhost:4260/@denotest/check-error/1.0.0.tgz
|
||||
Download http://localhost:4260/@denotest/cjs-default-export/1.0.0.tgz
|
||||
Download http://localhost:4260/chalk/chalk-4.1.2.tgz
|
||||
Download http://localhost:4260/ansi-styles/ansi-styles-4.3.0.tgz
|
||||
Download http://localhost:4260/supports-color/supports-color-7.2.0.tgz
|
||||
Download http://localhost:4260/color-convert/color-convert-2.0.1.tgz
|
||||
Download http://localhost:4260/has-flag/has-flag-4.0.0.tgz
|
||||
Download http://localhost:4260/color-name/color-name-1.1.4.tgz
|
||||
Initialize @denotest/cjs-default-export@1.0.0
|
||||
Initialize color-name@1.1.4
|
||||
Initialize ansi-styles@4.3.0
|
||||
Initialize has-flag@4.0.0
|
||||
Initialize supports-color@7.2.0
|
||||
Initialize color-convert@2.0.1
|
||||
Initialize chalk@4.1.2
|
||||
Initialize @denotest/check-error@1.0.0
|
||||
[UNORDERED_END]
|
|
@ -1,4 +1,3 @@
|
|||
Download http://[WILDCARD]
|
||||
[WILDCARD]sub_dir
|
||||
{
|
||||
[WILDCARD]
|
||||
|
|
10
tests/specs/task/both_package_json_selected/__test__.jsonc
Normal file
10
tests/specs/task/both_package_json_selected/__test__.jsonc
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"tempDir": true,
|
||||
"steps": [
|
||||
{
|
||||
"args": "install",
|
||||
"output": "install.out"
|
||||
},
|
||||
{ "args": "task bin asdf", "output": "package_json_selected.out" }
|
||||
]
|
||||
}
|
|
@ -1,8 +1,3 @@
|
|||
Download http://localhost:4260/@denotest/bin
|
||||
Download http://localhost:4260/@denotest/bin/1.0.0.tgz
|
||||
Initialize @denotest/bin@1.0.0
|
||||
Task bin cli-esm testing this out "asdf"
|
||||
testing
|
||||
this
|
||||
out
|
||||
asdf
|
|
@ -0,0 +1,5 @@
|
|||
Task bin cli-esm testing this out "asdf"
|
||||
testing
|
||||
this
|
||||
out
|
||||
asdf
|
|
@ -67,6 +67,64 @@ Deno.test(function anEventTargetCanBeSubclassed() {
|
|||
assertEquals(callCount, 0);
|
||||
});
|
||||
|
||||
Deno.test(function removeEventListenerTest() {
|
||||
const target = new EventTarget();
|
||||
let callCount = 0;
|
||||
const listener = () => {
|
||||
++callCount;
|
||||
};
|
||||
|
||||
target.addEventListener("incr", listener, true);
|
||||
|
||||
target.dispatchEvent(new Event("incr"));
|
||||
assertEquals(callCount, 1);
|
||||
|
||||
// Should not remove the listener because useCapture does not match
|
||||
target.removeEventListener("incr", listener, false);
|
||||
|
||||
target.dispatchEvent(new Event("incr"));
|
||||
assertEquals(callCount, 2);
|
||||
|
||||
// Should remove the listener because useCapture matches
|
||||
target.removeEventListener("incr", listener, true);
|
||||
|
||||
target.dispatchEvent(new Event("incr"));
|
||||
assertEquals(callCount, 2);
|
||||
|
||||
// Only the capture setting matters to removeEventListener
|
||||
target.addEventListener("incr", listener, { passive: true });
|
||||
|
||||
target.dispatchEvent(new Event("incr"));
|
||||
assertEquals(callCount, 3);
|
||||
|
||||
// Should not remove the listener because useCapture does not match
|
||||
target.removeEventListener("incr", listener, { capture: true });
|
||||
target.removeEventListener("incr", listener, true);
|
||||
|
||||
target.dispatchEvent(new Event("incr"));
|
||||
assertEquals(callCount, 4);
|
||||
|
||||
// Should remove the listener because useCapture matches
|
||||
target.removeEventListener("incr", listener);
|
||||
|
||||
target.dispatchEvent(new Event("incr"));
|
||||
assertEquals(callCount, 4);
|
||||
|
||||
// Again, should remove the listener because useCapture matches
|
||||
target.addEventListener("incr", listener, { passive: true });
|
||||
target.removeEventListener("incr", listener, false);
|
||||
|
||||
target.dispatchEvent(new Event("incr"));
|
||||
assertEquals(callCount, 4);
|
||||
|
||||
// Again, should remove the listener because useCapture matches
|
||||
target.addEventListener("incr", listener, { passive: true });
|
||||
target.removeEventListener("incr", listener, { capture: false });
|
||||
|
||||
target.dispatchEvent(new Event("incr"));
|
||||
assertEquals(callCount, 4);
|
||||
});
|
||||
|
||||
Deno.test(function removingNullEventListenerShouldSucceed() {
|
||||
const document = new EventTarget();
|
||||
assertEquals(document.removeEventListener("x", null, false), undefined);
|
||||
|
|
|
@ -1156,6 +1156,7 @@ Deno.test(
|
|||
> {
|
||||
const caCert = Deno.readTextFileSync("tests/testdata/tls/RootCA.pem");
|
||||
const client = Deno.createHttpClient({ caCerts: [caCert] });
|
||||
assert(client instanceof Deno.HttpClient);
|
||||
const response = await fetch("https://localhost:5545/assets/fixture.json", {
|
||||
client,
|
||||
});
|
||||
|
|
|
@ -2045,24 +2045,3 @@ Deno.test(async function p521Generate() {
|
|||
assert(key.privateKey instanceof CryptoKey);
|
||||
assert(key.publicKey instanceof CryptoKey);
|
||||
});
|
||||
|
||||
Deno.test(async function invalidEcPointDataError() {
|
||||
await assertRejects(async () => {
|
||||
await crypto.subtle
|
||||
.importKey(
|
||||
"pkcs8",
|
||||
// deno-fmt-ignore
|
||||
new Uint8Array([
|
||||
48, 102, 2, 1, 0, 48, 19, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 8, 42, 134,
|
||||
72, 206, 61, 3, 1, 7, 4, 76, 48, 74, 2, 1, 1, 4, 32, 255, 255, 255, 255,
|
||||
0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 188, 230, 250, 173,
|
||||
167, 23, 158, 132, 243, 185, 202, 194, 252, 99, 37, 81, 161, 35, 3, 33, 0,
|
||||
0, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 188,
|
||||
230, 250, 173, 167, 23, 158, 132, 243, 185, 202, 194, 252, 99, 37, 81,
|
||||
]),
|
||||
{ name: "ECDSA", namedCurve: "P-256" },
|
||||
true,
|
||||
["sign"],
|
||||
);
|
||||
}, DOMException);
|
||||
});
|
||||
|
|
|
@ -6,46 +6,26 @@
|
|||
"ecdh_bits.https.any.html": [
|
||||
"P-521 good parameters",
|
||||
"P-521 mixed case parameters",
|
||||
"P-521 with null length",
|
||||
"P-521 short result",
|
||||
"P-521 non-multiple of 8 bits",
|
||||
"P-521 mismatched curves",
|
||||
"P-521 public property of algorithm is not an ECDSA public key",
|
||||
"P-521 no deriveBits usage for base key",
|
||||
"P-521 public property value is a private key",
|
||||
"P-521 public property value is a secret key",
|
||||
"P-521 asking for too many bits"
|
||||
],
|
||||
"ecdh_bits.https.any.worker.html": [
|
||||
"P-521 good parameters",
|
||||
"P-521 mixed case parameters",
|
||||
"P-521 with null length",
|
||||
"P-521 short result",
|
||||
"P-521 non-multiple of 8 bits",
|
||||
"P-521 mismatched curves",
|
||||
"P-521 public property of algorithm is not an ECDSA public key",
|
||||
"P-521 no deriveBits usage for base key",
|
||||
"P-521 public property value is a private key",
|
||||
"P-521 public property value is a secret key",
|
||||
"P-521 asking for too many bits"
|
||||
],
|
||||
"ecdh_keys.https.any.html": [
|
||||
"P-521 good parameters",
|
||||
"P-521 mixed case parameters",
|
||||
"P-521 mismatched curves",
|
||||
"P-521 public property of algorithm is not an ECDSA public key",
|
||||
"P-521 no deriveKey usage for base key",
|
||||
"P-521 public property value is a private key",
|
||||
"P-521 public property value is a secret key"
|
||||
"P-521 mixed case parameters"
|
||||
],
|
||||
"ecdh_keys.https.any.worker.html": [
|
||||
"P-521 good parameters",
|
||||
"P-521 mixed case parameters",
|
||||
"P-521 mismatched curves",
|
||||
"P-521 public property of algorithm is not an ECDSA public key",
|
||||
"P-521 no deriveKey usage for base key",
|
||||
"P-521 public property value is a private key",
|
||||
"P-521 public property value is a secret key"
|
||||
"P-521 mixed case parameters"
|
||||
],
|
||||
"hkdf.https.any.html?1-1000": true,
|
||||
"hkdf.https.any.html?1001-2000": true,
|
||||
|
@ -87,14 +67,12 @@
|
|||
"X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)",
|
||||
"X25519 good parameters",
|
||||
"X25519 mixed case parameters",
|
||||
"X25519 with null length",
|
||||
"X25519 short result",
|
||||
"X25519 non-multiple of 8 bits",
|
||||
"X25519 mismatched algorithms",
|
||||
"X25519 no deriveBits usage for base key",
|
||||
"X448 good parameters",
|
||||
"X448 mixed case parameters",
|
||||
"X448 with null length",
|
||||
"X448 short result",
|
||||
"X448 non-multiple of 8 bits",
|
||||
"X448 mismatched algorithms",
|
||||
|
@ -118,14 +96,12 @@
|
|||
"X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)",
|
||||
"X25519 good parameters",
|
||||
"X25519 mixed case parameters",
|
||||
"X25519 with null length",
|
||||
"X25519 short result",
|
||||
"X25519 non-multiple of 8 bits",
|
||||
"X25519 mismatched algorithms",
|
||||
"X25519 no deriveBits usage for base key",
|
||||
"X448 good parameters",
|
||||
"X448 mixed case parameters",
|
||||
"X448 with null length",
|
||||
"X448 short result",
|
||||
"X448 non-multiple of 8 bits",
|
||||
"X448 mismatched algorithms",
|
||||
|
@ -184,6 +160,20 @@
|
|||
"X448 base key is not a private key",
|
||||
"X448 public property value is a private key",
|
||||
"X448 public property value is a secret key"
|
||||
],
|
||||
"derived_bits_length.https.any.html": [
|
||||
"X25519 derivation with 256 as 'length' parameter",
|
||||
"X25519 derivation with 0 as 'length' parameter",
|
||||
"X25519 derivation with null as 'length' parameter",
|
||||
"X25519 derivation with undefined as 'length' parameter",
|
||||
"X25519 derivation with omitted as 'length' parameter"
|
||||
],
|
||||
"derived_bits_length.https.any.worker.html": [
|
||||
"X25519 derivation with 256 as 'length' parameter",
|
||||
"X25519 derivation with 0 as 'length' parameter",
|
||||
"X25519 derivation with null as 'length' parameter",
|
||||
"X25519 derivation with undefined as 'length' parameter",
|
||||
"X25519 derivation with omitted as 'length' parameter"
|
||||
]
|
||||
},
|
||||
"digest": {
|
||||
|
@ -909,137 +899,43 @@
|
|||
"historical.any.html": false,
|
||||
"historical.any.worker.html": false,
|
||||
"idlharness.https.any.html": [
|
||||
"Window interface: attribute crypto",
|
||||
"SubtleCrypto interface: operation deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long)"
|
||||
"Window interface: attribute crypto"
|
||||
],
|
||||
"idlharness.https.any.worker.html": [
|
||||
"WorkerGlobalScope interface: attribute crypto",
|
||||
"SubtleCrypto interface: operation deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long)"
|
||||
"WorkerGlobalScope interface: attribute crypto"
|
||||
],
|
||||
"import_export": {
|
||||
"ec_importKey.https.any.html": [
|
||||
"Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify])",
|
||||
"Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify])",
|
||||
"Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify])",
|
||||
"Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify])",
|
||||
"Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])",
|
||||
"Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])",
|
||||
"Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])",
|
||||
"Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])",
|
||||
"Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])",
|
||||
"Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign, sign])",
|
||||
"Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign, sign])",
|
||||
"Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [])",
|
||||
"Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (raw, buffer(133), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
|
||||
"Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveKey])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveBits])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
|
||||
"Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
|
||||
"Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveKey])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveBits])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
|
||||
"Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [])"
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])"
|
||||
],
|
||||
"ec_importKey.https.any.worker.html": [
|
||||
"Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify])",
|
||||
"Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify])",
|
||||
"Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify])",
|
||||
"Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify])",
|
||||
"Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])",
|
||||
"Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])",
|
||||
"Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])",
|
||||
"Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])",
|
||||
"Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])",
|
||||
"Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign, sign])",
|
||||
"Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign, sign])",
|
||||
"Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [])",
|
||||
"Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (raw, buffer(133), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
|
||||
"Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveKey])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveBits])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])",
|
||||
"Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits])",
|
||||
"Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
|
||||
"Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveKey])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveBits])",
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
|
||||
"ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])",
|
||||
"Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [])"
|
||||
"Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])"
|
||||
],
|
||||
"rsa_importKey.https.any.html": true,
|
||||
"rsa_importKey.https.any.worker.html": true,
|
||||
|
@ -1276,62 +1172,50 @@
|
|||
"ECDSA P-384 with SHA-1 verification",
|
||||
"ECDSA P-384 with SHA-256 verification",
|
||||
"ECDSA P-384 with SHA-512 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification",
|
||||
"ECDSA P-521 with SHA-1 verification",
|
||||
"ECDSA P-521 with SHA-256 verification",
|
||||
"ECDSA P-521 with SHA-384 verification",
|
||||
"ECDSA P-521 with SHA-512 verification",
|
||||
"ECDSA P-256 with SHA-1 verification with altered signature after call",
|
||||
"ECDSA P-256 with SHA-384 verification with altered signature after call",
|
||||
"ECDSA P-256 with SHA-512 verification with altered signature after call",
|
||||
"ECDSA P-384 with SHA-1 verification with altered signature after call",
|
||||
"ECDSA P-384 with SHA-256 verification with altered signature after call",
|
||||
"ECDSA P-384 with SHA-512 verification with altered signature after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification with altered signature after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification with altered signature after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification with altered signature after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification with altered signature after call",
|
||||
"ECDSA P-521 with SHA-1 verification with altered signature after call",
|
||||
"ECDSA P-521 with SHA-256 verification with altered signature after call",
|
||||
"ECDSA P-521 with SHA-384 verification with altered signature after call",
|
||||
"ECDSA P-521 with SHA-512 verification with altered signature after call",
|
||||
"ECDSA P-256 with SHA-1 with altered plaintext after call",
|
||||
"ECDSA P-256 with SHA-384 with altered plaintext after call",
|
||||
"ECDSA P-256 with SHA-512 with altered plaintext after call",
|
||||
"ECDSA P-384 with SHA-1 with altered plaintext after call",
|
||||
"ECDSA P-384 with SHA-256 with altered plaintext after call",
|
||||
"ECDSA P-384 with SHA-512 with altered plaintext after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 with altered plaintext after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 with altered plaintext after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 with altered plaintext after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 with altered plaintext after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 using privateKey to verify",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 using privateKey to verify",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 using privateKey to verify",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 using privateKey to verify",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 using publicKey to sign",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 using publicKey to sign",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 using publicKey to sign",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 using publicKey to sign",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 no verify usage",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 no verify usage",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 no verify usage",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 no verify usage",
|
||||
"ECDSA P-521 with SHA-1 with altered plaintext after call",
|
||||
"ECDSA P-521 with SHA-256 with altered plaintext after call",
|
||||
"ECDSA P-521 with SHA-384 with altered plaintext after call",
|
||||
"ECDSA P-521 with SHA-512 with altered plaintext after call",
|
||||
"ECDSA P-256 with SHA-1 round trip",
|
||||
"ECDSA P-256 with SHA-384 round trip",
|
||||
"ECDSA P-256 with SHA-512 round trip",
|
||||
"ECDSA P-384 with SHA-1 round trip",
|
||||
"ECDSA P-384 with SHA-256 round trip",
|
||||
"ECDSA P-384 with SHA-512 round trip",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 round trip",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 round trip",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 round trip",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 round trip",
|
||||
"ECDSA P-521 with SHA-1 round trip",
|
||||
"ECDSA P-521 with SHA-256 round trip",
|
||||
"ECDSA P-521 with SHA-384 round trip",
|
||||
"ECDSA P-521 with SHA-512 round trip",
|
||||
"ECDSA P-256 with SHA-1 verification failure due to altered signature",
|
||||
"ECDSA P-256 with SHA-384 verification failure due to altered signature",
|
||||
"ECDSA P-256 with SHA-512 verification failure due to altered signature",
|
||||
"ECDSA P-384 with SHA-1 verification failure due to altered signature",
|
||||
"ECDSA P-384 with SHA-256 verification failure due to altered signature",
|
||||
"ECDSA P-384 with SHA-512 verification failure due to altered signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered signature",
|
||||
"ECDSA P-521 with SHA-1 verification failure due to altered signature",
|
||||
"ECDSA P-521 with SHA-256 verification failure due to altered signature",
|
||||
"ECDSA P-521 with SHA-384 verification failure due to altered signature",
|
||||
"ECDSA P-521 with SHA-512 verification failure due to altered signature",
|
||||
"ECDSA P-256 with SHA-256 verification failure due to wrong hash",
|
||||
"ECDSA P-256 with SHA-384 verification failure due to wrong hash",
|
||||
"ECDSA P-256 with SHA-512 verification failure due to wrong hash",
|
||||
|
@ -1339,34 +1223,30 @@
|
|||
"ECDSA P-384 with SHA-256 verification failure due to wrong hash",
|
||||
"ECDSA P-384 with SHA-384 verification failure due to wrong hash",
|
||||
"ECDSA P-384 with SHA-512 verification failure due to wrong hash",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to wrong hash",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to wrong hash",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to wrong hash",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to wrong hash",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to bad hash name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to bad hash name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to bad hash name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to bad hash name",
|
||||
"ECDSA P-521 with SHA-1 verification failure due to wrong hash",
|
||||
"ECDSA P-521 with SHA-256 verification failure due to wrong hash",
|
||||
"ECDSA P-521 with SHA-384 verification failure due to wrong hash",
|
||||
"ECDSA P-521 with SHA-512 verification failure due to wrong hash",
|
||||
"ECDSA P-256 with SHA-1 verification failure due to shortened signature",
|
||||
"ECDSA P-256 with SHA-384 verification failure due to shortened signature",
|
||||
"ECDSA P-256 with SHA-512 verification failure due to shortened signature",
|
||||
"ECDSA P-384 with SHA-1 verification failure due to shortened signature",
|
||||
"ECDSA P-384 with SHA-256 verification failure due to shortened signature",
|
||||
"ECDSA P-384 with SHA-512 verification failure due to shortened signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to shortened signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to shortened signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to shortened signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to shortened signature",
|
||||
"ECDSA P-521 with SHA-1 verification failure due to shortened signature",
|
||||
"ECDSA P-521 with SHA-256 verification failure due to shortened signature",
|
||||
"ECDSA P-521 with SHA-384 verification failure due to shortened signature",
|
||||
"ECDSA P-521 with SHA-512 verification failure due to shortened signature",
|
||||
"ECDSA P-256 with SHA-1 verification failure due to altered plaintext",
|
||||
"ECDSA P-256 with SHA-384 verification failure due to altered plaintext",
|
||||
"ECDSA P-256 with SHA-512 verification failure due to altered plaintext",
|
||||
"ECDSA P-384 with SHA-1 verification failure due to altered plaintext",
|
||||
"ECDSA P-384 with SHA-256 verification failure due to altered plaintext",
|
||||
"ECDSA P-384 with SHA-512 verification failure due to altered plaintext",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered plaintext",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered plaintext",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered plaintext",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered plaintext",
|
||||
"ECDSA P-521 with SHA-1 verification failure due to altered plaintext",
|
||||
"ECDSA P-521 with SHA-256 verification failure due to altered plaintext",
|
||||
"ECDSA P-521 with SHA-384 verification failure due to altered plaintext",
|
||||
"ECDSA P-521 with SHA-512 verification failure due to altered plaintext",
|
||||
"ECDSA P-256 with SHA-1 - The signature was truncated by 1 byte verification",
|
||||
"ECDSA P-256 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification",
|
||||
"ECDSA P-256 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification",
|
||||
|
@ -1409,42 +1289,34 @@
|
|||
"ECDSA P-384 with SHA-512 - Signature has excess padding verification",
|
||||
"ECDSA P-384 with SHA-512 - The signature is empty verification",
|
||||
"ECDSA P-384 with SHA-512 - The signature is all zeroes verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was truncated by 1 byte verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-256 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - Signature has excess padding verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - The signature is empty verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - The signature is all zeroes verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was truncated by 1 byte verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-384 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - Signature has excess padding verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - The signature is empty verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - The signature is all zeroes verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was truncated by 1 byte verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-256 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - Signature has excess padding verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - The signature is empty verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - The signature is all zeroes verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was truncated by 1 byte verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-256 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-384 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - Signature has excess padding verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is empty verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is all zeroes verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 signing with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 signing with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 signing with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 signing with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verifying with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verifying with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verifying with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verifying with wrong algorithm name"
|
||||
"ECDSA P-521 with SHA-1 - The signature was truncated by 1 byte verification",
|
||||
"ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-256 verification",
|
||||
"ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification",
|
||||
"ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification",
|
||||
"ECDSA P-521 with SHA-1 - Signature has excess padding verification",
|
||||
"ECDSA P-521 with SHA-1 - The signature is empty verification",
|
||||
"ECDSA P-521 with SHA-1 - The signature is all zeroes verification",
|
||||
"ECDSA P-521 with SHA-256 - The signature was truncated by 1 byte verification",
|
||||
"ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification",
|
||||
"ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-384 verification",
|
||||
"ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification",
|
||||
"ECDSA P-521 with SHA-256 - Signature has excess padding verification",
|
||||
"ECDSA P-521 with SHA-256 - The signature is empty verification",
|
||||
"ECDSA P-521 with SHA-256 - The signature is all zeroes verification",
|
||||
"ECDSA P-521 with SHA-384 - The signature was truncated by 1 byte verification",
|
||||
"ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification",
|
||||
"ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-256 verification",
|
||||
"ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification",
|
||||
"ECDSA P-521 with SHA-384 - Signature has excess padding verification",
|
||||
"ECDSA P-521 with SHA-384 - The signature is empty verification",
|
||||
"ECDSA P-521 with SHA-384 - The signature is all zeroes verification",
|
||||
"ECDSA P-521 with SHA-512 - The signature was truncated by 1 byte verification",
|
||||
"ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification",
|
||||
"ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-256 verification",
|
||||
"ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-384 verification",
|
||||
"ECDSA P-521 with SHA-512 - Signature has excess padding verification",
|
||||
"ECDSA P-521 with SHA-512 - The signature is empty verification",
|
||||
"ECDSA P-521 with SHA-512 - The signature is all zeroes verification"
|
||||
],
|
||||
"ecdsa.https.any.worker.html": [
|
||||
"ECDSA P-256 with SHA-1 verification",
|
||||
|
@ -1453,62 +1325,50 @@
|
|||
"ECDSA P-384 with SHA-1 verification",
|
||||
"ECDSA P-384 with SHA-256 verification",
|
||||
"ECDSA P-384 with SHA-512 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification",
|
||||
"ECDSA P-521 with SHA-1 verification",
|
||||
"ECDSA P-521 with SHA-256 verification",
|
||||
"ECDSA P-521 with SHA-384 verification",
|
||||
"ECDSA P-521 with SHA-512 verification",
|
||||
"ECDSA P-256 with SHA-1 verification with altered signature after call",
|
||||
"ECDSA P-256 with SHA-384 verification with altered signature after call",
|
||||
"ECDSA P-256 with SHA-512 verification with altered signature after call",
|
||||
"ECDSA P-384 with SHA-1 verification with altered signature after call",
|
||||
"ECDSA P-384 with SHA-256 verification with altered signature after call",
|
||||
"ECDSA P-384 with SHA-512 verification with altered signature after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification with altered signature after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification with altered signature after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification with altered signature after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification with altered signature after call",
|
||||
"ECDSA P-521 with SHA-1 verification with altered signature after call",
|
||||
"ECDSA P-521 with SHA-256 verification with altered signature after call",
|
||||
"ECDSA P-521 with SHA-384 verification with altered signature after call",
|
||||
"ECDSA P-521 with SHA-512 verification with altered signature after call",
|
||||
"ECDSA P-256 with SHA-1 with altered plaintext after call",
|
||||
"ECDSA P-256 with SHA-384 with altered plaintext after call",
|
||||
"ECDSA P-256 with SHA-512 with altered plaintext after call",
|
||||
"ECDSA P-384 with SHA-1 with altered plaintext after call",
|
||||
"ECDSA P-384 with SHA-256 with altered plaintext after call",
|
||||
"ECDSA P-384 with SHA-512 with altered plaintext after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 with altered plaintext after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 with altered plaintext after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 with altered plaintext after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 with altered plaintext after call",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 using privateKey to verify",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 using privateKey to verify",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 using privateKey to verify",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 using privateKey to verify",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 using publicKey to sign",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 using publicKey to sign",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 using publicKey to sign",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 using publicKey to sign",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 no verify usage",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 no verify usage",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 no verify usage",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 no verify usage",
|
||||
"ECDSA P-521 with SHA-1 with altered plaintext after call",
|
||||
"ECDSA P-521 with SHA-256 with altered plaintext after call",
|
||||
"ECDSA P-521 with SHA-384 with altered plaintext after call",
|
||||
"ECDSA P-521 with SHA-512 with altered plaintext after call",
|
||||
"ECDSA P-256 with SHA-1 round trip",
|
||||
"ECDSA P-256 with SHA-384 round trip",
|
||||
"ECDSA P-256 with SHA-512 round trip",
|
||||
"ECDSA P-384 with SHA-1 round trip",
|
||||
"ECDSA P-384 with SHA-256 round trip",
|
||||
"ECDSA P-384 with SHA-512 round trip",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 round trip",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 round trip",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 round trip",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 round trip",
|
||||
"ECDSA P-521 with SHA-1 round trip",
|
||||
"ECDSA P-521 with SHA-256 round trip",
|
||||
"ECDSA P-521 with SHA-384 round trip",
|
||||
"ECDSA P-521 with SHA-512 round trip",
|
||||
"ECDSA P-256 with SHA-1 verification failure due to altered signature",
|
||||
"ECDSA P-256 with SHA-384 verification failure due to altered signature",
|
||||
"ECDSA P-256 with SHA-512 verification failure due to altered signature",
|
||||
"ECDSA P-384 with SHA-1 verification failure due to altered signature",
|
||||
"ECDSA P-384 with SHA-256 verification failure due to altered signature",
|
||||
"ECDSA P-384 with SHA-512 verification failure due to altered signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered signature",
|
||||
"ECDSA P-521 with SHA-1 verification failure due to altered signature",
|
||||
"ECDSA P-521 with SHA-256 verification failure due to altered signature",
|
||||
"ECDSA P-521 with SHA-384 verification failure due to altered signature",
|
||||
"ECDSA P-521 with SHA-512 verification failure due to altered signature",
|
||||
"ECDSA P-256 with SHA-256 verification failure due to wrong hash",
|
||||
"ECDSA P-256 with SHA-384 verification failure due to wrong hash",
|
||||
"ECDSA P-256 with SHA-512 verification failure due to wrong hash",
|
||||
|
@ -1516,34 +1376,30 @@
|
|||
"ECDSA P-384 with SHA-256 verification failure due to wrong hash",
|
||||
"ECDSA P-384 with SHA-384 verification failure due to wrong hash",
|
||||
"ECDSA P-384 with SHA-512 verification failure due to wrong hash",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to wrong hash",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to wrong hash",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to wrong hash",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to wrong hash",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to bad hash name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to bad hash name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to bad hash name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to bad hash name",
|
||||
"ECDSA P-521 with SHA-1 verification failure due to wrong hash",
|
||||
"ECDSA P-521 with SHA-256 verification failure due to wrong hash",
|
||||
"ECDSA P-521 with SHA-384 verification failure due to wrong hash",
|
||||
"ECDSA P-521 with SHA-512 verification failure due to wrong hash",
|
||||
"ECDSA P-256 with SHA-1 verification failure due to shortened signature",
|
||||
"ECDSA P-256 with SHA-384 verification failure due to shortened signature",
|
||||
"ECDSA P-256 with SHA-512 verification failure due to shortened signature",
|
||||
"ECDSA P-384 with SHA-1 verification failure due to shortened signature",
|
||||
"ECDSA P-384 with SHA-256 verification failure due to shortened signature",
|
||||
"ECDSA P-384 with SHA-512 verification failure due to shortened signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to shortened signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to shortened signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to shortened signature",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to shortened signature",
|
||||
"ECDSA P-521 with SHA-1 verification failure due to shortened signature",
|
||||
"ECDSA P-521 with SHA-256 verification failure due to shortened signature",
|
||||
"ECDSA P-521 with SHA-384 verification failure due to shortened signature",
|
||||
"ECDSA P-521 with SHA-512 verification failure due to shortened signature",
|
||||
"ECDSA P-256 with SHA-1 verification failure due to altered plaintext",
|
||||
"ECDSA P-256 with SHA-384 verification failure due to altered plaintext",
|
||||
"ECDSA P-256 with SHA-512 verification failure due to altered plaintext",
|
||||
"ECDSA P-384 with SHA-1 verification failure due to altered plaintext",
|
||||
"ECDSA P-384 with SHA-256 verification failure due to altered plaintext",
|
||||
"ECDSA P-384 with SHA-512 verification failure due to altered plaintext",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered plaintext",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered plaintext",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered plaintext",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered plaintext",
|
||||
"ECDSA P-521 with SHA-1 verification failure due to altered plaintext",
|
||||
"ECDSA P-521 with SHA-256 verification failure due to altered plaintext",
|
||||
"ECDSA P-521 with SHA-384 verification failure due to altered plaintext",
|
||||
"ECDSA P-521 with SHA-512 verification failure due to altered plaintext",
|
||||
"ECDSA P-256 with SHA-1 - The signature was truncated by 1 byte verification",
|
||||
"ECDSA P-256 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification",
|
||||
"ECDSA P-256 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification",
|
||||
|
@ -1586,42 +1442,34 @@
|
|||
"ECDSA P-384 with SHA-512 - Signature has excess padding verification",
|
||||
"ECDSA P-384 with SHA-512 - The signature is empty verification",
|
||||
"ECDSA P-384 with SHA-512 - The signature is all zeroes verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was truncated by 1 byte verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-256 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - Signature has excess padding verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - The signature is empty verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 - The signature is all zeroes verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was truncated by 1 byte verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-384 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - Signature has excess padding verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - The signature is empty verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 - The signature is all zeroes verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was truncated by 1 byte verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-256 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - Signature has excess padding verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - The signature is empty verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 - The signature is all zeroes verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was truncated by 1 byte verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-256 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-384 verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - Signature has excess padding verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is empty verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is all zeroes verification",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 signing with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 signing with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 signing with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 signing with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-1 verifying with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-256 verifying with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-384 verifying with wrong algorithm name",
|
||||
"importVectorKeys step: ECDSA P-521 with SHA-512 verifying with wrong algorithm name"
|
||||
"ECDSA P-521 with SHA-1 - The signature was truncated by 1 byte verification",
|
||||
"ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-256 verification",
|
||||
"ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification",
|
||||
"ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification",
|
||||
"ECDSA P-521 with SHA-1 - Signature has excess padding verification",
|
||||
"ECDSA P-521 with SHA-1 - The signature is empty verification",
|
||||
"ECDSA P-521 with SHA-1 - The signature is all zeroes verification",
|
||||
"ECDSA P-521 with SHA-256 - The signature was truncated by 1 byte verification",
|
||||
"ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification",
|
||||
"ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-384 verification",
|
||||
"ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification",
|
||||
"ECDSA P-521 with SHA-256 - Signature has excess padding verification",
|
||||
"ECDSA P-521 with SHA-256 - The signature is empty verification",
|
||||
"ECDSA P-521 with SHA-256 - The signature is all zeroes verification",
|
||||
"ECDSA P-521 with SHA-384 - The signature was truncated by 1 byte verification",
|
||||
"ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification",
|
||||
"ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-256 verification",
|
||||
"ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification",
|
||||
"ECDSA P-521 with SHA-384 - Signature has excess padding verification",
|
||||
"ECDSA P-521 with SHA-384 - The signature is empty verification",
|
||||
"ECDSA P-521 with SHA-384 - The signature is all zeroes verification",
|
||||
"ECDSA P-521 with SHA-512 - The signature was truncated by 1 byte verification",
|
||||
"ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification",
|
||||
"ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-256 verification",
|
||||
"ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-384 verification",
|
||||
"ECDSA P-521 with SHA-512 - Signature has excess padding verification",
|
||||
"ECDSA P-521 with SHA-512 - The signature is empty verification",
|
||||
"ECDSA P-521 with SHA-512 - The signature is all zeroes verification"
|
||||
],
|
||||
"hmac.https.any.html": true,
|
||||
"hmac.https.any.worker.html": true,
|
||||
|
@ -1642,13 +1490,7 @@
|
|||
"EdDSA Ed448 verification failure due to altered signature",
|
||||
"EdDSA Ed448 verification failure due to shortened signature",
|
||||
"EdDSA Ed448 verification failure due to altered data",
|
||||
"Sign and verify using generated Ed448 keys.",
|
||||
"Ed25519 Verification checks with small-order key of order - Test 0",
|
||||
"Ed25519 Verification checks with small-order key of order - Test 1",
|
||||
"Ed25519 Verification checks with small-order key of order - Test 2",
|
||||
"Ed25519 Verification checks with small-order key of order - Test 11",
|
||||
"Ed25519 Verification checks with small-order key of order - Test 12",
|
||||
"Ed25519 Verification checks with small-order key of order - Test 13"
|
||||
"Sign and verify using generated Ed448 keys."
|
||||
],
|
||||
"eddsa.https.any.worker.html": [
|
||||
"EdDSA Ed448 verification",
|
||||
|
@ -1663,7 +1505,17 @@
|
|||
"EdDSA Ed448 verification failure due to altered signature",
|
||||
"EdDSA Ed448 verification failure due to shortened signature",
|
||||
"EdDSA Ed448 verification failure due to altered data",
|
||||
"Sign and verify using generated Ed448 keys.",
|
||||
"Sign and verify using generated Ed448 keys."
|
||||
],
|
||||
"eddsa_small_order_points.https.any.html": [
|
||||
"Ed25519 Verification checks with small-order key of order - Test 0",
|
||||
"Ed25519 Verification checks with small-order key of order - Test 1",
|
||||
"Ed25519 Verification checks with small-order key of order - Test 2",
|
||||
"Ed25519 Verification checks with small-order key of order - Test 11",
|
||||
"Ed25519 Verification checks with small-order key of order - Test 12",
|
||||
"Ed25519 Verification checks with small-order key of order - Test 13"
|
||||
],
|
||||
"eddsa_small_order_points.https.any.worker.html": [
|
||||
"Ed25519 Verification checks with small-order key of order - Test 0",
|
||||
"Ed25519 Verification checks with small-order key of order - Test 1",
|
||||
"Ed25519 Verification checks with small-order key of order - Test 2",
|
||||
|
|
100
tools/generate_types_deno.ts
Executable file
100
tools/generate_types_deno.ts
Executable file
|
@ -0,0 +1,100 @@
|
|||
#!/usr/bin/env -S deno run -A
|
||||
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
||||
|
||||
// This script is used to generate the @types/deno package on DefinitelyTyped.
|
||||
|
||||
import $ from "jsr:@david/dax@0.42.0";
|
||||
import { Node, Project } from "jsr:@ts-morph/ts-morph@23.0.0";
|
||||
import * as semver from "jsr:@std/semver@1.0.3";
|
||||
|
||||
const rootDir = $.path(import.meta.dirname!).parentOrThrow();
|
||||
const definitelyTypedDir = rootDir.join(
|
||||
"../DefinitelyTyped/types/deno/",
|
||||
);
|
||||
|
||||
if (!definitelyTypedDir.existsSync()) {
|
||||
throw new Error(`Makes sure ${definitelyTypedDir} exists.`);
|
||||
}
|
||||
|
||||
const denoExec = rootDir.join(
|
||||
"target/debug/deno" + (Deno.build.os === "windows" ? ".exe" : ""),
|
||||
);
|
||||
|
||||
$.logStep("Building Deno executable...");
|
||||
await $`cargo build`;
|
||||
|
||||
$.logStep("Creating declaration file...");
|
||||
await createDenoDtsFile();
|
||||
$.logStep("Updating package.json...");
|
||||
await updatePkgJson();
|
||||
$.logStep("Formatting...");
|
||||
await $`pnpm dprint fmt`.cwd(definitelyTypedDir);
|
||||
|
||||
async function createDenoDtsFile() {
|
||||
function matchesAny(text: string | undefined, patterns: string[]): boolean {
|
||||
if (text == null) {
|
||||
return false;
|
||||
}
|
||||
for (const pattern of patterns) {
|
||||
if (text.includes(pattern)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
const text = await $`${denoExec} types`.text();
|
||||
const project = new Project();
|
||||
const file = project.createSourceFile(
|
||||
definitelyTypedDir.join("index.d.ts").toString(),
|
||||
text,
|
||||
{
|
||||
overwrite: true,
|
||||
},
|
||||
);
|
||||
|
||||
for (const statement of file.getStatementsWithComments()) {
|
||||
if (Node.isCommentStatement(statement)) {
|
||||
const statementText = statement.getText();
|
||||
if (statementText.includes("<reference")) {
|
||||
statement.remove();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
const shouldKeepKeep = (Node.isModuleDeclaration(statement) ||
|
||||
Node.isInterfaceDeclaration(statement) ||
|
||||
Node.isTypeAliasDeclaration(statement) ||
|
||||
Node.isClassDeclaration(statement)) &&
|
||||
(matchesAny(statement.getName(), [
|
||||
"Deno",
|
||||
]) || statement.getName()?.startsWith("GPU"));
|
||||
if (!shouldKeepKeep) {
|
||||
statement.remove();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
file.insertStatements(
|
||||
0,
|
||||
"// Copyright 2018-2024 the Deno authors. MIT license.\n\n",
|
||||
);
|
||||
|
||||
file.saveSync();
|
||||
}
|
||||
|
||||
async function updatePkgJson() {
|
||||
const pkgJsonFile = definitelyTypedDir.join("package.json");
|
||||
const obj = pkgJsonFile.readJsonSync();
|
||||
const version = semver.parse(await getDenoVersion());
|
||||
version.patch = 9999;
|
||||
version.prerelease = undefined;
|
||||
version.build = undefined;
|
||||
// deno-lint-ignore no-explicit-any
|
||||
(obj as any).version = semver.format(version);
|
||||
pkgJsonFile.writeTextSync(JSON.stringify(obj, undefined, 4) + "\n"); // 4 spaces indent
|
||||
}
|
||||
|
||||
async function getDenoVersion() {
|
||||
const text = await $`${denoExec} -v`.text();
|
||||
return text.match(/deno (.*)/)![1];
|
||||
}
|
|
@ -45,33 +45,39 @@ for (const file of project.getSourceFiles()) {
|
|||
}
|
||||
|
||||
const parent = node.getFirstAncestorByKind(ts.SyntaxKind.ModuleDeclaration);
|
||||
const isInterfaceOrType =
|
||||
node.getKind() === ts.SyntaxKind.InterfaceDeclaration ||
|
||||
node.getKind() === ts.SyntaxKind.TypeAliasDeclaration;
|
||||
|
||||
if (parent) {
|
||||
if (!node.isExported()) {
|
||||
errors.push(getErrorPrefix(node) + "export keyword");
|
||||
errors.push(getMissingErrorPrefix(node) + "export keyword");
|
||||
continue;
|
||||
}
|
||||
} else if (!node.hasDeclareKeyword()) {
|
||||
errors.push(getErrorPrefix(node) + "declare keyword");
|
||||
} else if (!isInterfaceOrType && !node.hasDeclareKeyword()) {
|
||||
errors.push(getMissingErrorPrefix(node) + "declare keyword");
|
||||
continue;
|
||||
} else if (isInterfaceOrType && node.hasDeclareKeyword()) {
|
||||
errors.push(getErrorPrefix(node) + "has incorrect declare keyword");
|
||||
continue;
|
||||
}
|
||||
|
||||
const jsDoc = node.getFirstChildIfKind(ts.SyntaxKind.JSDoc);
|
||||
if (!jsDoc) {
|
||||
errors.push(getErrorPrefix(node) + "JSDoc comment");
|
||||
errors.push(getMissingErrorPrefix(node) + "JSDoc comment");
|
||||
continue;
|
||||
}
|
||||
|
||||
const tags = jsDoc.getTags();
|
||||
|
||||
if (!tags.find((tag) => tag.getTagName() === "category")) {
|
||||
errors.push(getErrorPrefix(node) + "JSDoc @category tag");
|
||||
errors.push(getMissingErrorPrefix(node) + "JSDoc @category tag");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (unstableFiles.includes(file)) {
|
||||
if (!tags.find((tag) => tag.getTagName() === "experimental")) {
|
||||
errors.push(getErrorPrefix(node) + "JSDoc @experimental tag");
|
||||
errors.push(getMissingErrorPrefix(node) + "JSDoc @experimental tag");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -81,6 +87,10 @@ if (errors.length > 0) {
|
|||
throw new AggregateError(errors);
|
||||
}
|
||||
|
||||
function getErrorPrefix(node) {
|
||||
return `Symbol at file://${node.getSourceFile().getFilePath()}:${node.getStartLineNumber()} is missing a `;
|
||||
function getMissingErrorPrefix(node) {
|
||||
return getErrorPrefix(node) + `is missing a `;
|
||||
}
|
||||
|
||||
function getErrorPrefix(node) {
|
||||
return `Symbol at file://${node.getSourceFile().getFilePath()}:${node.getStartLineNumber()} `;
|
||||
}
|
||||
|
|
|
@ -220,7 +220,7 @@ async function ensureNoNewITests() {
|
|||
"repl_tests.rs": 0,
|
||||
"run_tests.rs": 331,
|
||||
"shared_library_tests.rs": 0,
|
||||
"task_tests.rs": 4,
|
||||
"task_tests.rs": 3,
|
||||
"test_tests.rs": 0,
|
||||
"upgrade_tests.rs": 0,
|
||||
"vendor_tests.rs": 1,
|
||||
|
|
Loading…
Add table
Reference in a new issue