diff --git a/Cargo.lock b/Cargo.lock index 4460fc06cf9a..53b65d620619 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4679,6 +4679,7 @@ dependencies = [ "swc_ecma_transforms_base", "swc_ecma_transforms_compat", "swc_ecma_transforms_testing", + "swc_ecma_transforms_typescript", "swc_ecma_utils", "swc_ecma_visit", "testing", @@ -4855,6 +4856,7 @@ dependencies = [ name = "swc_ecma_visit" version = "0.101.0" dependencies = [ + "new_debug_unreachable", "num-bigint", "serde", "swc_atoms", diff --git a/crates/dbg-swc/src/util/minifier.rs b/crates/dbg-swc/src/util/minifier.rs index 09d3874ba5ff..3df7f8714a77 100644 --- a/crates/dbg-swc/src/util/minifier.rs +++ b/crates/dbg-swc/src/util/minifier.rs @@ -9,7 +9,7 @@ use swc_common::{FileName, SourceMap}; use swc_ecma_ast::*; use swc_ecma_minifier::option::{CompressOptions, MangleOptions, MinifyOptions}; use swc_ecma_transforms_base::fixer::fixer; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use super::{parse_js, print_js, wrap_task, ModuleRecord}; @@ -136,7 +136,7 @@ pub fn get_esbuild_output(file: &Path, mangle: bool) -> Result { struct Normalizer {} impl VisitMut for Normalizer { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_prop(&mut self, p: &mut Prop) { p.visit_mut_children_with(self); diff --git a/crates/swc/benches/typescript.rs b/crates/swc/benches/typescript.rs index 353f434b77a0..14a6ca769f23 100644 --- a/crates/swc/benches/typescript.rs +++ b/crates/swc/benches/typescript.rs @@ -53,7 +53,7 @@ fn as_es(c: &swc::Compiler) -> Program { program .fold_with(&mut resolver(unresolved_mark, top_level_mark, true)) - .fold_with(&mut typescript::strip(top_level_mark)) + .fold_with(&mut typescript::strip(unresolved_mark, top_level_mark)) } fn base_tr_group(c: &mut Criterion) { diff --git a/crates/swc/src/builder.rs b/crates/swc/src/builder.rs index b3564486d2b7..40944087a143 100644 --- a/crates/swc/src/builder.rs +++ b/crates/swc/src/builder.rs @@ -22,7 +22,7 @@ use swc_ecma_transforms::{ pass::Optional, resolver, Assumptions, }; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, VisitMut, VisitMutWith}; use crate::config::{CompiledPaths, GlobalPassOption, JsMinifyOptions, ModuleConfig}; @@ -382,7 +382,7 @@ struct MinifierPass<'a> { } impl VisitMut for MinifierPass<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module(&mut self, m: &mut Module) { if let Some(options) = &self.options { diff --git a/crates/swc/src/config/mod.rs b/crates/swc/src/config/mod.rs index f79927fa0fbd..feece772d8b4 100644 --- a/crates/swc/src/config/mod.rs +++ b/crates/swc/src/config/mod.rs @@ -732,6 +732,7 @@ impl Options { ), }, comments.map(|v| v as _), + unresolved_mark, top_level_mark ), syntax.typescript() diff --git a/crates/swc/src/dropped_comments_preserver.rs b/crates/swc/src/dropped_comments_preserver.rs index b0c15a55b131..1554a27ad166 100644 --- a/crates/swc/src/dropped_comments_preserver.rs +++ b/crates/swc/src/dropped_comments_preserver.rs @@ -3,7 +3,7 @@ use swc_common::{ BytePos, Span, DUMMY_SP, }; use swc_ecma_ast::{Module, Script}; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; /// Preserves comments that would otherwise be dropped. /// @@ -36,7 +36,7 @@ struct DroppedCommentsPreserver { type CommentEntries = Vec<(BytePos, Vec)>; impl VisitMut for DroppedCommentsPreserver { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module(&mut self, module: &mut Module) { module.visit_mut_children_with(self); diff --git a/crates/swc/tests/rust_api.rs b/crates/swc/tests/rust_api.rs index bbb7d8cca1e5..f876923b9902 100644 --- a/crates/swc/tests/rust_api.rs +++ b/crates/swc/tests/rust_api.rs @@ -6,12 +6,12 @@ use swc_common::{comments::SingleThreadedComments, FileName}; use swc_ecma_ast::*; use swc_ecma_parser::{EsSyntax, Syntax, TsSyntax}; use swc_ecma_transforms::pass::noop; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, VisitMut}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, VisitMut}; struct PanicOnVisit; impl VisitMut for PanicOnVisit { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_number(&mut self, n: &mut Number) { panic!("Expected {:?}", n.value) diff --git a/crates/swc_bundler/src/bundler/chunk/cjs.rs b/crates/swc_bundler/src/bundler/chunk/cjs.rs index b0e315d64bae..04cbd0bbd708 100644 --- a/crates/swc_bundler/src/bundler/chunk/cjs.rs +++ b/crates/swc_bundler/src/bundler/chunk/cjs.rs @@ -4,7 +4,7 @@ use anyhow::Error; use swc_common::{collections::AHashMap, Span, SyntaxContext, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_utils::{quote_ident, ExprFactory}; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use crate::{ bundler::{chunk::merge::Ctx, load::TransformedModule}, @@ -192,7 +192,7 @@ where L: Load, R: Resolve, { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_call_expr(&mut self, node: &mut CallExpr) { node.visit_mut_children_with(self); @@ -350,7 +350,7 @@ struct DefaultHandler { } impl VisitMut for DefaultHandler { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, e: &mut Expr) { e.visit_mut_children_with(self); @@ -375,7 +375,7 @@ struct Remapper { } impl VisitMut for Remapper { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_ident(&mut self, i: &mut Ident) { if let Some(v) = self.vars.get(&i.to_id()).copied() { diff --git a/crates/swc_bundler/src/bundler/export.rs b/crates/swc_bundler/src/bundler/export.rs index e397adceee82..de302120b318 100644 --- a/crates/swc_bundler/src/bundler/export.rs +++ b/crates/swc_bundler/src/bundler/export.rs @@ -3,7 +3,7 @@ use swc_atoms::JsWord; use swc_common::{collections::ARandomState, FileName, SyntaxContext}; use swc_ecma_ast::*; use swc_ecma_utils::find_pat_ids; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use super::{ load::{Source, Specifier}, @@ -115,7 +115,7 @@ where L: Load, R: Resolve, { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module_item(&mut self, item: &mut ModuleItem) { match item { diff --git a/crates/swc_bundler/src/bundler/import/mod.rs b/crates/swc_bundler/src/bundler/import/mod.rs index b3ff4db49d40..846ddb38386a 100644 --- a/crates/swc_bundler/src/bundler/import/mod.rs +++ b/crates/swc_bundler/src/bundler/import/mod.rs @@ -7,7 +7,7 @@ use swc_common::{ }; use swc_ecma_ast::*; use swc_ecma_utils::find_pat_ids; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use super::Bundler; use crate::{load::Load, resolve::Resolve}; @@ -368,7 +368,7 @@ where L: Load, R: Resolve, { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_export_named_specifier(&mut self, s: &mut ExportNamedSpecifier) { let orig = match &s.orig { diff --git a/crates/swc_bundler/src/bundler/keywords.rs b/crates/swc_bundler/src/bundler/keywords.rs index b572a0f3dcdd..61af49e9d835 100644 --- a/crates/swc_bundler/src/bundler/keywords.rs +++ b/crates/swc_bundler/src/bundler/keywords.rs @@ -1,7 +1,7 @@ use swc_common::{collections::AHashMap, util::take::Take}; use swc_ecma_ast::*; use swc_ecma_utils::private_ident; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use crate::id::Id; @@ -31,7 +31,7 @@ impl KeywordRenamer { } impl VisitMut for KeywordRenamer { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_binding_ident(&mut self, n: &mut BindingIdent) { if let Some(new) = self.renamed(&n.id) { diff --git a/crates/swc_bundler/src/bundler/load.rs b/crates/swc_bundler/src/bundler/load.rs index adc8c8886dda..8fe3fd595ac6 100644 --- a/crates/swc_bundler/src/bundler/load.rs +++ b/crates/swc_bundler/src/bundler/load.rs @@ -11,7 +11,7 @@ use swc_ecma_ast::{ }; use swc_ecma_transforms_base::resolver; use swc_ecma_visit::{ - noop_visit_mut_type, noop_visit_type, FoldWith, Visit, VisitMut, VisitMutWith, VisitWith, + noop_visit_type, standard_only_visit_mut, FoldWith, Visit, VisitMut, VisitMutWith, VisitWith, }; use super::{export::Exports, helpers::Helpers, Bundler}; @@ -486,7 +486,7 @@ impl Visit for Es6ModuleDetector { #[derive(Clone, Copy)] struct ClearMark; impl VisitMut for ClearMark { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_ident(&mut self, ident: &mut Ident) { ident.span.ctxt = SyntaxContext::empty(); diff --git a/crates/swc_bundler/src/inline.rs b/crates/swc_bundler/src/inline.rs index 84165f2c0ea1..309f2b47f1e5 100644 --- a/crates/swc_bundler/src/inline.rs +++ b/crates/swc_bundler/src/inline.rs @@ -1,7 +1,7 @@ use swc_common::{collections::AHashMap, SyntaxContext, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_visit::{ - noop_visit_mut_type, noop_visit_type, visit_mut_obj_and_computed, Visit, VisitMut, + noop_visit_type, standard_only_visit_mut, visit_mut_obj_and_computed, Visit, VisitMut, VisitMutWith, VisitWith, }; @@ -84,7 +84,7 @@ impl Visit for Analyzer<'_> { } impl VisitMut for Inliner { - noop_visit_mut_type!(); + standard_only_visit_mut!(); visit_mut_obj_and_computed!(); diff --git a/crates/swc_bundler/src/util.rs b/crates/swc_bundler/src/util.rs index 752835a4c3e5..5ee86a60ba6c 100644 --- a/crates/swc_bundler/src/util.rs +++ b/crates/swc_bundler/src/util.rs @@ -5,7 +5,7 @@ use std::hash::Hash; use swc_common::{Span, SyntaxContext, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_utils::ident::IdentLike; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut}; #[cfg(feature = "concurrent")] pub(crate) type Readonly = std::sync::Arc; @@ -147,7 +147,7 @@ where pub(crate) struct HygieneRemover; impl VisitMut for HygieneRemover { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_span(&mut self, s: &mut Span) { *s = s.with_ctxt(SyntaxContext::empty()) diff --git a/crates/swc_bundler/tests/common/mod.rs b/crates/swc_bundler/tests/common/mod.rs index ef11846feeec..d5bae1a3996a 100644 --- a/crates/swc_bundler/tests/common/mod.rs +++ b/crates/swc_bundler/tests/common/mod.rs @@ -141,7 +141,7 @@ impl Load for Loader { emit_metadata: Default::default(), use_define_for_class_fields: false, })) - .fold_with(&mut strip(top_level_mark)) + .fold_with(&mut strip(unresolved_mark, top_level_mark)) .fold_with(&mut react::( self.cm.clone(), None, diff --git a/crates/swc_ecma_compat_bugfixes/src/async_arrows_in_class.rs b/crates/swc_ecma_compat_bugfixes/src/async_arrows_in_class.rs index 45c7d5022d24..e2330ba84788 100644 --- a/crates/swc_ecma_compat_bugfixes/src/async_arrows_in_class.rs +++ b/crates/swc_ecma_compat_bugfixes/src/async_arrows_in_class.rs @@ -2,7 +2,7 @@ use swc_common::{util::take::Take, Mark, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_compat_es2015::arrow; use swc_ecma_utils::prepend_stmt; -use swc_ecma_visit::{noop_fold_type, Fold, FoldWith, InjectVars}; +use swc_ecma_visit::{standard_only_fold, Fold, FoldWith, InjectVars}; use swc_trace_macro::swc_trace; /// Safari 10.3 had an issue where async arrow function expressions within any @@ -26,7 +26,7 @@ struct AsyncArrowsInClass { /// TODO: VisitMut #[swc_trace] impl Fold for AsyncArrowsInClass { - noop_fold_type!(); + standard_only_fold!(); fn fold_class_method(&mut self, n: ClassMethod) -> ClassMethod { self.in_class_method = true; diff --git a/crates/swc_ecma_compat_bugfixes/src/edge_default_param.rs b/crates/swc_ecma_compat_bugfixes/src/edge_default_param.rs index 3aff4c55f0cd..7e841a12e943 100644 --- a/crates/swc_ecma_compat_bugfixes/src/edge_default_param.rs +++ b/crates/swc_ecma_compat_bugfixes/src/edge_default_param.rs @@ -1,5 +1,5 @@ use swc_ecma_ast::*; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; /// Converts destructured parameters with default values to non-shorthand @@ -16,7 +16,7 @@ struct EdgeDefaultParam { #[swc_trace] impl VisitMut for EdgeDefaultParam { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_arrow_expr(&mut self, n: &mut ArrowExpr) { self.in_arrow = true; diff --git a/crates/swc_ecma_compat_bugfixes/src/safari_id_destructuring_collision_in_function_expression.rs b/crates/swc_ecma_compat_bugfixes/src/safari_id_destructuring_collision_in_function_expression.rs index e649fa2989cc..75a043951373 100644 --- a/crates/swc_ecma_compat_bugfixes/src/safari_id_destructuring_collision_in_function_expression.rs +++ b/crates/swc_ecma_compat_bugfixes/src/safari_id_destructuring_collision_in_function_expression.rs @@ -4,7 +4,7 @@ use swc_atoms::JsWord; use swc_common::{collections::AHashSet, Span}; use swc_ecma_ast::*; use swc_ecma_transforms_base::hygiene::rename; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; pub fn safari_id_destructuring_collision_in_function_expression() -> impl Fold + VisitMut { @@ -31,7 +31,7 @@ impl SafariIdDestructuringCollisionInFunctionExpression { #[swc_trace] impl VisitMut for SafariIdDestructuringCollisionInFunctionExpression { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_assign_pat_prop(&mut self, n: &mut AssignPatProp) { self.visit_mut_pat_id(&n.key); diff --git a/crates/swc_ecma_compat_bugfixes/src/template_literal_caching.rs b/crates/swc_ecma_compat_bugfixes/src/template_literal_caching.rs index 34f5fcb3f499..5a157ed4704b 100644 --- a/crates/swc_ecma_compat_bugfixes/src/template_literal_caching.rs +++ b/crates/swc_ecma_compat_bugfixes/src/template_literal_caching.rs @@ -1,7 +1,7 @@ use swc_common::DUMMY_SP; use swc_ecma_ast::*; use swc_ecma_utils::{prepend_stmt, private_ident, ExprFactory}; -use swc_ecma_visit::{noop_fold_type, Fold, FoldWith}; +use swc_ecma_visit::{standard_only_fold, Fold, FoldWith}; use swc_trace_macro::swc_trace; // Converts destructured parameters with default values to non-shorthand syntax. @@ -55,7 +55,7 @@ impl TemplateLiteralCaching { /// TODO: VisitMut #[swc_trace] impl Fold for TemplateLiteralCaching { - noop_fold_type!(); + standard_only_fold!(); fn fold_expr(&mut self, n: Expr) -> Expr { let n = n.fold_children_with(self); diff --git a/crates/swc_ecma_compat_common/src/regexp.rs b/crates/swc_ecma_compat_common/src/regexp.rs index 7c24107baf05..001f4257ef57 100644 --- a/crates/swc_ecma_compat_common/src/regexp.rs +++ b/crates/swc_ecma_compat_common/src/regexp.rs @@ -1,7 +1,7 @@ use swc_common::util::take::Take; use swc_ecma_ast::{CallExpr, Expr, Lit, Regex}; use swc_ecma_utils::{quote_ident, ExprFactory}; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; pub fn regexp(config: Config) -> impl Fold + VisitMut { as_folder(RegExp { config }) @@ -32,7 +32,7 @@ struct RegExp { } impl VisitMut for RegExp { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, expr: &mut Expr) { expr.visit_mut_children_with(self); diff --git a/crates/swc_ecma_compat_es2015/src/arrow.rs b/crates/swc_ecma_compat_es2015/src/arrow.rs index 8337405b6741..f3d36d6883a0 100644 --- a/crates/swc_ecma_compat_es2015/src/arrow.rs +++ b/crates/swc_ecma_compat_es2015/src/arrow.rs @@ -6,7 +6,9 @@ use swc_ecma_utils::{ function::{init_this, FnEnvHoister}, prepend_stmt, }; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, InjectVars, VisitMut, VisitMutWith}; +use swc_ecma_visit::{ + as_folder, standard_only_visit_mut, Fold, InjectVars, VisitMut, VisitMutWith, +}; use swc_trace_macro::swc_trace; /// Compile ES2015 arrow functions to ES5 @@ -72,7 +74,7 @@ struct Arrow { #[swc_trace] impl VisitMut for Arrow { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_class(&mut self, c: &mut Class) { if c.super_class.is_some() { diff --git a/crates/swc_ecma_compat_es2015/src/block_scoped_fn.rs b/crates/swc_ecma_compat_es2015/src/block_scoped_fn.rs index 3793bb353bc9..9e0edee55ad9 100644 --- a/crates/swc_ecma_compat_es2015/src/block_scoped_fn.rs +++ b/crates/swc_ecma_compat_es2015/src/block_scoped_fn.rs @@ -1,7 +1,7 @@ use swc_common::{util::take::Take, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_utils::IdentUsageFinder; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; pub fn block_scoped_functions() -> impl Fold + VisitMut { @@ -13,7 +13,7 @@ struct BlockScopedFns; #[swc_trace] impl VisitMut for BlockScopedFns { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_function(&mut self, n: &mut Function) { let Some(body) = &mut n.body else { return }; diff --git a/crates/swc_ecma_compat_es2015/src/block_scoping/mod.rs b/crates/swc_ecma_compat_es2015/src/block_scoping/mod.rs index 0307eea8562f..2f9bae142ada 100644 --- a/crates/swc_ecma_compat_es2015/src/block_scoping/mod.rs +++ b/crates/swc_ecma_compat_es2015/src/block_scoping/mod.rs @@ -16,7 +16,7 @@ use swc_ecma_utils::{ ExprFactory, StmtLike, }; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, visit_mut_obj_and_computed, Fold, VisitMut, VisitMutWith, + as_folder, standard_only_visit_mut, visit_mut_obj_and_computed, Fold, VisitMut, VisitMutWith, }; use swc_trace_macro::swc_trace; @@ -425,7 +425,7 @@ impl BlockScoping { #[swc_trace] impl VisitMut for BlockScoping { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_arrow_expr(&mut self, n: &mut ArrowExpr) { n.params.visit_mut_with(self); @@ -674,7 +674,7 @@ impl<'a> FlowHelper<'a> { #[swc_trace] impl VisitMut for FlowHelper<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); /// noop fn visit_mut_arrow_expr(&mut self, _n: &mut ArrowExpr) {} @@ -887,7 +887,7 @@ impl MutationHandler<'_> { #[swc_trace] impl VisitMut for MutationHandler<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); visit_mut_obj_and_computed!(); diff --git a/crates/swc_ecma_compat_es2015/src/block_scoping/vars.rs b/crates/swc_ecma_compat_es2015/src/block_scoping/vars.rs index 75b4cc7f3a44..d5ffbf2123c3 100644 --- a/crates/swc_ecma_compat_es2015/src/block_scoping/vars.rs +++ b/crates/swc_ecma_compat_es2015/src/block_scoping/vars.rs @@ -6,7 +6,7 @@ use swc_common::{ }; use swc_ecma_ast::*; use swc_ecma_transforms_base::{rename::remap, scope::ScopeKind}; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; pub(super) fn block_scoped_vars() -> impl VisitMut { @@ -236,7 +236,7 @@ impl ParentScope<'_> { #[swc_trace] impl VisitMut for BlockScopedVars { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_arrow_expr(&mut self, n: &mut ArrowExpr) { self.with_scope(ScopeKind::Fn, |v| { diff --git a/crates/swc_ecma_compat_es2015/src/classes/constructor.rs b/crates/swc_ecma_compat_es2015/src/classes/constructor.rs index 354f6e6769d9..3619550daaa4 100644 --- a/crates/swc_ecma_compat_es2015/src/classes/constructor.rs +++ b/crates/swc_ecma_compat_es2015/src/classes/constructor.rs @@ -6,7 +6,7 @@ use swc_ecma_transforms_base::helper; use swc_ecma_transforms_classes::{get_prototype_of, visit_mut_only_key}; use swc_ecma_utils::{quote_ident, ExprFactory}; use swc_ecma_visit::{ - noop_visit_mut_type, noop_visit_type, Visit, VisitMut, VisitMutWith, VisitWith, + standard_only_visit, standard_only_visit_mut, Visit, VisitMut, VisitMutWith, VisitWith, }; use swc_trace_macro::swc_trace; @@ -66,7 +66,7 @@ macro_rules! mark_as_complex { #[swc_trace] impl Visit for SuperCallFinder { - noop_visit_type!(); + standard_only_visit!(); mark_as_complex!(visit_arrow_expr, ArrowExpr); @@ -176,7 +176,7 @@ pub(super) enum SuperFoldingMode { #[swc_trace] impl VisitMut for ConstructorFolder<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); visit_mut_only_key!(); @@ -460,7 +460,7 @@ pub(super) fn replace_this_in_constructor(mark: Mark, c: &mut Constructor) -> bo } impl VisitMut for Replacer { - noop_visit_mut_type!(); + standard_only_visit_mut!(); // let computed keys be visited fn visit_mut_constructor(&mut self, _: &mut Constructor) {} diff --git a/crates/swc_ecma_compat_es2015/src/classes/mod.rs b/crates/swc_ecma_compat_es2015/src/classes/mod.rs index 4b6d5850af17..2321109d2063 100644 --- a/crates/swc_ecma_compat_es2015/src/classes/mod.rs +++ b/crates/swc_ecma_compat_es2015/src/classes/mod.rs @@ -15,7 +15,8 @@ use swc_ecma_utils::{ quote_str, replace_ident, ExprFactory, ModuleItemLike, StmtLike, }; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, noop_visit_type, Fold, Visit, VisitMut, VisitMutWith, VisitWith, + as_folder, standard_only_visit, standard_only_visit_mut, Fold, Visit, VisitMut, VisitMutWith, + VisitWith, }; use swc_trace_macro::swc_trace; use tracing::debug; @@ -220,7 +221,7 @@ impl VisitMut for Classes where C: Comments, { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module_items(&mut self, items: &mut Vec) { self.visit_mut_stmt_like(items) @@ -1229,7 +1230,7 @@ fn is_always_initialized(body: &[Stmt]) -> bool { } impl Visit for SuperFinder { - noop_visit_type!(); + standard_only_visit!(); fn visit_callee(&mut self, node: &Callee) { match *node { @@ -1284,7 +1285,7 @@ struct ClassFinder { } impl Visit for ClassFinder { - noop_visit_type!(); + standard_only_visit!(); fn visit_class(&mut self, _: &Class) { self.found = true diff --git a/crates/swc_ecma_compat_es2015/src/computed_props.rs b/crates/swc_ecma_compat_es2015/src/computed_props.rs index ec9a5f61b414..f06fbe7f1ab2 100644 --- a/crates/swc_ecma_compat_es2015/src/computed_props.rs +++ b/crates/swc_ecma_compat_es2015/src/computed_props.rs @@ -4,7 +4,8 @@ use swc_ecma_ast::*; use swc_ecma_transforms_base::helper; use swc_ecma_utils::{quote_ident, ExprFactory, StmtLike}; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, noop_visit_type, Fold, Visit, VisitMut, VisitMutWith, VisitWith, + as_folder, standard_only_visit, standard_only_visit_mut, Fold, Visit, VisitMut, VisitMutWith, + VisitWith, }; use swc_trace_macro::swc_trace; @@ -62,7 +63,7 @@ struct ComputedProps { #[swc_trace] impl VisitMut for ComputedProps { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, expr: &mut Expr) { expr.visit_mut_children_with(self); @@ -327,7 +328,7 @@ struct ComplexVisitor { } impl Visit for ComplexVisitor { - noop_visit_type!(); + standard_only_visit!(); fn visit_prop_name(&mut self, pn: &PropName) { if let PropName::Computed(..) = *pn { @@ -414,7 +415,7 @@ struct ShouldWork { } impl Visit for ShouldWork { - noop_visit_type!(); + standard_only_visit!(); fn visit_prop_name(&mut self, node: &PropName) { if let PropName::Computed(_) = *node { diff --git a/crates/swc_ecma_compat_es2015/src/destructuring.rs b/crates/swc_ecma_compat_es2015/src/destructuring.rs index f348395ea6ce..dff3ebf3ee56 100644 --- a/crates/swc_ecma_compat_es2015/src/destructuring.rs +++ b/crates/swc_ecma_compat_es2015/src/destructuring.rs @@ -11,7 +11,8 @@ use swc_ecma_utils::{ prop_name_to_expr, quote_ident, ExprFactory, StmtLike, }; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, noop_visit_type, Fold, Visit, VisitMut, VisitMutWith, VisitWith, + as_folder, standard_only_visit, standard_only_visit_mut, Fold, Visit, VisitMut, VisitMutWith, + VisitWith, }; use swc_trace_macro::swc_trace; @@ -462,7 +463,7 @@ impl AssignFolder { #[swc_trace] #[fast_path(DestructuringVisitor)] impl VisitMut for Destructuring { - noop_visit_mut_type!(); + standard_only_visit_mut!(); impl_for_for_stmt!(visit_mut_for_in_stmt, ForInStmt); @@ -586,7 +587,7 @@ impl AssignFolder { #[swc_trace] #[fast_path(DestructuringVisitor)] impl VisitMut for AssignFolder { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_export_decl(&mut self, decl: &mut ExportDecl) { let old = self.exporting; @@ -1246,7 +1247,7 @@ struct DestructuringVisitor { } impl Visit for DestructuringVisitor { - noop_visit_type!(); + standard_only_visit!(); fn visit_assign_target_pat(&mut self, _: &AssignTargetPat) { self.found = true; diff --git a/crates/swc_ecma_compat_es2015/src/duplicate_keys.rs b/crates/swc_ecma_compat_es2015/src/duplicate_keys.rs index d25e350979e1..9f99cde890c2 100644 --- a/crates/swc_ecma_compat_es2015/src/duplicate_keys.rs +++ b/crates/swc_ecma_compat_es2015/src/duplicate_keys.rs @@ -3,7 +3,7 @@ use swc_common::{collections::AHashSet, Spanned}; use swc_ecma_ast::*; use swc_ecma_transforms_base::perf::Parallel; use swc_ecma_utils::quote_str; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; pub fn duplicate_keys() -> impl Fold + VisitMut { @@ -22,7 +22,7 @@ impl Parallel for DuplicateKeys { #[swc_trace] impl VisitMut for DuplicateKeys { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, expr: &mut Expr) { expr.visit_mut_children_with(self); @@ -42,7 +42,7 @@ struct PropFolder { #[swc_trace] impl VisitMut for PropFolder { - noop_visit_mut_type!(); + standard_only_visit_mut!(); /// Noop fn visit_mut_expr(&mut self, _: &mut Expr) {} @@ -90,7 +90,7 @@ struct PropNameFolder<'a> { #[swc_trace] impl<'a> VisitMut for PropNameFolder<'a> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, _: &mut Expr) {} diff --git a/crates/swc_ecma_compat_es2015/src/for_of.rs b/crates/swc_ecma_compat_es2015/src/for_of.rs index e59732b6e118..af66fa70fdf0 100644 --- a/crates/swc_ecma_compat_es2015/src/for_of.rs +++ b/crates/swc_ecma_compat_es2015/src/for_of.rs @@ -11,7 +11,7 @@ use swc_ecma_transforms_macros::parallel; use swc_ecma_utils::{ alias_if_required, member_expr, prepend_stmt, private_ident, quote_ident, ExprFactory, }; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; /// `@babel/plugin-transform-for-of` @@ -656,7 +656,7 @@ impl ParExplode for ForOf { #[swc_trace] #[parallel(explode)] impl VisitMut for ForOf { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_stmt(&mut self, s: &mut Stmt) { match s { diff --git a/crates/swc_ecma_compat_es2015/src/function_name.rs b/crates/swc_ecma_compat_es2015/src/function_name.rs index 0ad7421deac0..61e061c547bf 100644 --- a/crates/swc_ecma_compat_es2015/src/function_name.rs +++ b/crates/swc_ecma_compat_es2015/src/function_name.rs @@ -2,7 +2,7 @@ use swc_common::{util::take::Take, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_transforms_base::perf::Parallel; use swc_ecma_utils::{private_ident, IdentUsageFinder}; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; /// `@babel/plugin-transform-function-name` @@ -52,7 +52,7 @@ fn prepare(i: Ident) -> Ident { #[swc_trace] impl VisitMut for FnName { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_assign_expr(&mut self, expr: &mut AssignExpr) { expr.visit_mut_children_with(self); @@ -134,7 +134,7 @@ macro_rules! noop { } impl VisitMut for Rename { - noop_visit_mut_type!(); + standard_only_visit_mut!(); impl_for!(visit_mut_fn_expr, FnExpr); diff --git a/crates/swc_ecma_compat_es2015/src/generator.rs b/crates/swc_ecma_compat_es2015/src/generator.rs index 0840202238e2..a290969c09ed 100644 --- a/crates/swc_ecma_compat_es2015/src/generator.rs +++ b/crates/swc_ecma_compat_es2015/src/generator.rs @@ -17,7 +17,8 @@ use swc_ecma_utils::{ function::FnEnvHoister, private_ident, prop_name_to_expr_value, quote_ident, ExprFactory, }; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, noop_visit_type, Fold, Visit, VisitMut, VisitMutWith, VisitWith, + as_folder, standard_only_visit, standard_only_visit_mut, Fold, Visit, VisitMut, VisitMutWith, + VisitWith, }; use tracing::debug; @@ -47,7 +48,7 @@ macro_rules! dev_span { } impl VisitMut for Wrapper { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_function(&mut self, f: &mut Function) { f.visit_mut_children_with(self); @@ -391,7 +392,7 @@ impl Default for Generator { } impl VisitMut for Generator { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_arrow_expr(&mut self, e: &mut ArrowExpr) { e.params.visit_mut_with(self); @@ -3505,7 +3506,7 @@ struct YieldFinder { } impl Visit for YieldFinder { - noop_visit_type!(); + standard_only_visit!(); fn visit_yield_expr(&mut self, _: &YieldExpr) { self.found = true; @@ -3534,7 +3535,7 @@ struct InvalidToLit<'a> { } impl VisitMut for InvalidToLit<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, e: &mut Expr) { e.visit_mut_children_with(self); diff --git a/crates/swc_ecma_compat_es2015/src/instanceof.rs b/crates/swc_ecma_compat_es2015/src/instanceof.rs index 3a49332bf09d..459651492d00 100644 --- a/crates/swc_ecma_compat_es2015/src/instanceof.rs +++ b/crates/swc_ecma_compat_es2015/src/instanceof.rs @@ -2,7 +2,7 @@ use swc_common::{util::take::Take, Span, Spanned}; use swc_ecma_ast::*; use swc_ecma_transforms_base::{helper, perf::Parallel}; use swc_ecma_utils::ExprFactory; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; /// `@babel/plugin-transform-instanceof` @@ -45,7 +45,7 @@ impl Parallel for InstanceOf { #[swc_trace] impl VisitMut for InstanceOf { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, expr: &mut Expr) { expr.visit_mut_children_with(self); diff --git a/crates/swc_ecma_compat_es2015/src/new_target.rs b/crates/swc_ecma_compat_es2015/src/new_target.rs index 5cb4a59b9f57..f27331a24f68 100644 --- a/crates/swc_ecma_compat_es2015/src/new_target.rs +++ b/crates/swc_ecma_compat_es2015/src/new_target.rs @@ -5,7 +5,7 @@ use swc_ecma_ast::*; use swc_ecma_transforms_base::perf::{should_work, Check}; use swc_ecma_utils::{private_ident, quote_ident, ExprFactory}; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, noop_visit_type, Fold, Visit, VisitMut, VisitMutWith, + as_folder, standard_only_visit, standard_only_visit_mut, Fold, Visit, VisitMut, VisitMutWith, }; use swc_trace_macro::swc_trace; @@ -37,7 +37,7 @@ impl NewTarget { #[swc_trace] impl VisitMut for NewTarget { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_class_method(&mut self, c: &mut ClassMethod) { c.key.visit_mut_with(self); @@ -147,7 +147,7 @@ struct ShouldWork { } impl Visit for ShouldWork { - noop_visit_type!(); + standard_only_visit!(); fn visit_meta_prop_expr(&mut self, n: &MetaPropExpr) { if let MetaPropExpr { diff --git a/crates/swc_ecma_compat_es2015/src/object_super.rs b/crates/swc_ecma_compat_es2015/src/object_super.rs index 26863ec8f75c..6fe6b93271cf 100644 --- a/crates/swc_ecma_compat_es2015/src/object_super.rs +++ b/crates/swc_ecma_compat_es2015/src/object_super.rs @@ -6,7 +6,7 @@ use swc_ecma_transforms_base::helper; use swc_ecma_utils::{ alias_ident_for, is_rest_arguments, prepend_stmt, private_ident, quote_ident, ExprFactory, }; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; struct ObjectSuper { @@ -21,7 +21,7 @@ pub fn object_super() -> impl Fold + VisitMut { #[swc_trace] impl VisitMut for ObjectSuper { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module_items(&mut self, n: &mut Vec) { n.visit_mut_children_with(self); @@ -131,7 +131,7 @@ struct SuperReplacer { #[swc_trace] impl VisitMut for SuperReplacer { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_object_lit(&mut self, obj: &mut ObjectLit) { for prop_or_spread in obj.props.iter_mut() { diff --git a/crates/swc_ecma_compat_es2015/src/parameters.rs b/crates/swc_ecma_compat_es2015/src/parameters.rs index e2360384871d..bddded21b687 100644 --- a/crates/swc_ecma_compat_es2015/src/parameters.rs +++ b/crates/swc_ecma_compat_es2015/src/parameters.rs @@ -10,7 +10,7 @@ use swc_ecma_utils::{ function::{init_this, FnEnvHoister}, member_expr, prepend_stmt, prepend_stmts, private_ident, quote_ident, ExprFactory, }; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; use tracing::trace; @@ -423,7 +423,7 @@ impl Params { #[swc_trace] impl VisitMut for Params { - noop_visit_mut_type!(); + standard_only_visit_mut!(); // generally speaking, there won't be class field in here, but Safari 14.1 // still has bugs in parameters diff --git a/crates/swc_ecma_compat_es2015/src/shorthand_property.rs b/crates/swc_ecma_compat_es2015/src/shorthand_property.rs index 1d3106aab5a5..1fe577d5d6dd 100644 --- a/crates/swc_ecma_compat_es2015/src/shorthand_property.rs +++ b/crates/swc_ecma_compat_es2015/src/shorthand_property.rs @@ -1,7 +1,7 @@ use swc_common::util::take::Take; use swc_ecma_ast::*; use swc_ecma_transforms_base::perf::Parallel; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; /// Compile ES2015 shorthand properties to ES5 @@ -55,7 +55,7 @@ impl Parallel for Shorthand { #[swc_trace] impl VisitMut for Shorthand { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_prop(&mut self, prop: &mut Prop) { prop.visit_mut_children_with(self); diff --git a/crates/swc_ecma_compat_es2015/src/spread.rs b/crates/swc_ecma_compat_es2015/src/spread.rs index 391c5f722414..8196f4b7d293 100644 --- a/crates/swc_ecma_compat_es2015/src/spread.rs +++ b/crates/swc_ecma_compat_es2015/src/spread.rs @@ -9,7 +9,8 @@ use swc_ecma_utils::{ alias_ident_for, member_expr, prepend_stmt, quote_ident, ExprFactory, StmtLike, }; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, noop_visit_type, Fold, Visit, VisitMut, VisitMutWith, VisitWith, + as_folder, standard_only_visit, standard_only_visit_mut, Fold, Visit, VisitMut, VisitMutWith, + VisitWith, }; use swc_trace_macro::swc_trace; @@ -36,7 +37,7 @@ struct Spread { #[swc_trace] #[fast_path(SpreadFinder)] impl VisitMut for Spread { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module_items(&mut self, n: &mut Vec) { self.visit_mut_stmt_like(n); @@ -488,7 +489,7 @@ struct SpreadFinder { } impl Visit for SpreadFinder { - noop_visit_type!(); + standard_only_visit!(); fn visit_expr_or_spread(&mut self, n: &ExprOrSpread) { n.visit_children_with(self); diff --git a/crates/swc_ecma_compat_es2015/src/sticky_regex.rs b/crates/swc_ecma_compat_es2015/src/sticky_regex.rs index 415e767c6f2f..49f41d859e16 100644 --- a/crates/swc_ecma_compat_es2015/src/sticky_regex.rs +++ b/crates/swc_ecma_compat_es2015/src/sticky_regex.rs @@ -1,7 +1,7 @@ use swc_ecma_ast::*; use swc_ecma_transforms_base::perf::Parallel; use swc_ecma_utils::{quote_ident, ExprFactory}; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; /// Compile ES2015 sticky regex to an ES5 RegExp constructor @@ -34,7 +34,7 @@ impl Parallel for StickyRegex { #[swc_trace] impl VisitMut for StickyRegex { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, e: &mut Expr) { e.visit_mut_children_with(self); diff --git a/crates/swc_ecma_compat_es2015/src/template_literal.rs b/crates/swc_ecma_compat_es2015/src/template_literal.rs index 4fe627900f83..538600c8d1e3 100644 --- a/crates/swc_ecma_compat_es2015/src/template_literal.rs +++ b/crates/swc_ecma_compat_es2015/src/template_literal.rs @@ -8,7 +8,7 @@ use swc_ecma_transforms_base::{helper, perf::Parallel}; use swc_ecma_utils::{ is_literal, prepend_stmts, private_ident, quote_ident, ExprFactory, StmtLike, }; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; pub fn template_literal(c: Config) -> impl Fold + VisitMut { @@ -45,7 +45,7 @@ impl Parallel for TemplateLiteral { #[swc_trace] impl VisitMut for TemplateLiteral { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, e: &mut Expr) { e.visit_mut_children_with(self); diff --git a/crates/swc_ecma_compat_es2015/src/typeof_symbol.rs b/crates/swc_ecma_compat_es2015/src/typeof_symbol.rs index d103a569f726..e12cfa1cc72a 100644 --- a/crates/swc_ecma_compat_es2015/src/typeof_symbol.rs +++ b/crates/swc_ecma_compat_es2015/src/typeof_symbol.rs @@ -2,7 +2,7 @@ use swc_common::{util::take::Take, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_transforms_base::{helper, perf::Parallel}; use swc_ecma_utils::{quote_str, ExprFactory}; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; pub fn typeof_symbol() -> impl VisitMut + Fold { @@ -23,7 +23,7 @@ impl Parallel for TypeOfSymbol { #[swc_trace] impl VisitMut for TypeOfSymbol { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_bin_expr(&mut self, expr: &mut BinExpr) { match expr.op { diff --git a/crates/swc_ecma_compat_es2016/src/exponentiation.rs b/crates/swc_ecma_compat_es2016/src/exponentiation.rs index 1101d55178e1..db0fd2c55b33 100644 --- a/crates/swc_ecma_compat_es2016/src/exponentiation.rs +++ b/crates/swc_ecma_compat_es2016/src/exponentiation.rs @@ -3,7 +3,7 @@ use swc_ecma_ast::*; use swc_ecma_transforms_base::perf::{ParExplode, Parallel}; use swc_ecma_transforms_macros::parallel; use swc_ecma_utils::{member_expr, private_ident, ExprFactory}; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; /// `@babel/plugin-transform-exponentiation-operator` @@ -78,7 +78,7 @@ impl ParExplode for Exponentiation { #[swc_trace] #[parallel(explode)] impl VisitMut for Exponentiation { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, e: &mut Expr) { e.visit_mut_children_with(self); diff --git a/crates/swc_ecma_compat_es2017/src/async_to_generator.rs b/crates/swc_ecma_compat_es2017/src/async_to_generator.rs index 0a5058cad642..d19eb4301fcc 100644 --- a/crates/swc_ecma_compat_es2017/src/async_to_generator.rs +++ b/crates/swc_ecma_compat_es2017/src/async_to_generator.rs @@ -13,7 +13,8 @@ use swc_ecma_utils::{ private_ident, quote_ident, ExprFactory, Remapper, StmtLike, }; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, noop_visit_type, Fold, Visit, VisitMut, VisitMutWith, VisitWith, + as_folder, standard_only_visit, standard_only_visit_mut, Fold, Visit, VisitMut, VisitMutWith, + VisitWith, }; use swc_trace_macro::swc_trace; @@ -77,7 +78,7 @@ struct Actual { #[swc_trace] #[fast_path(ShouldWork)] impl VisitMut for AsyncToGenerator { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module_items(&mut self, n: &mut Vec) { self.visit_mut_stmt_like(n); @@ -120,7 +121,7 @@ impl AsyncToGenerator { #[swc_trace] #[fast_path(ShouldWork)] impl VisitMut for Actual { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_class_method(&mut self, m: &mut ClassMethod) { if m.function.body.is_none() { @@ -452,7 +453,7 @@ macro_rules! noop { #[swc_trace] impl VisitMut for AsyncFnBodyHandler { - noop_visit_mut_type!(); + standard_only_visit_mut!(); noop!(visit_mut_fn_expr, FnExpr); @@ -534,7 +535,7 @@ struct ShouldWork { #[swc_trace] impl Visit for ShouldWork { - noop_visit_type!(); + standard_only_visit!(); fn visit_function(&mut self, f: &Function) { if f.is_async { diff --git a/crates/swc_ecma_compat_es2018/src/object_rest.rs b/crates/swc_ecma_compat_es2018/src/object_rest.rs index 7c6a052f6f74..f48f537df8dc 100644 --- a/crates/swc_ecma_compat_es2018/src/object_rest.rs +++ b/crates/swc_ecma_compat_es2018/src/object_rest.rs @@ -13,7 +13,7 @@ use swc_ecma_utils::{ var::VarCollector, ExprFactory, StmtLike, }; use swc_ecma_visit::{ - noop_visit_mut_type, noop_visit_type, Visit, VisitMut, VisitMutWith, VisitWith, + standard_only_visit, standard_only_visit_mut, Visit, VisitMut, VisitMutWith, VisitWith, }; use swc_trace_macro::swc_trace; @@ -164,7 +164,7 @@ struct RestVisitor { #[swc_trace] impl Visit for RestVisitor { - noop_visit_type!(); + standard_only_visit!(); fn visit_object_pat_prop(&mut self, prop: &ObjectPatProp) { match *prop { @@ -192,7 +192,7 @@ where #[swc_trace] #[fast_path(RestVisitor)] impl VisitMut for ObjectRest { - noop_visit_mut_type!(); + standard_only_visit_mut!(); impl_for_for_stmt!(visit_mut_for_in_stmt, ForInStmt); @@ -1006,7 +1006,7 @@ struct PatSimplifier; #[swc_trace] impl VisitMut for PatSimplifier { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_pat(&mut self, pat: &mut Pat) { pat.visit_mut_children_with(self); diff --git a/crates/swc_ecma_compat_es2018/src/object_spread.rs b/crates/swc_ecma_compat_es2018/src/object_spread.rs index 10e61c6dc3a0..dd8574a4df21 100644 --- a/crates/swc_ecma_compat_es2018/src/object_spread.rs +++ b/crates/swc_ecma_compat_es2018/src/object_spread.rs @@ -2,7 +2,7 @@ use swc_common::{util::take::Take, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_transforms_base::{helper, perf::Parallel}; use swc_ecma_utils::ExprFactory; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; use super::object_rest_spread::Config; @@ -24,7 +24,7 @@ impl Parallel for ObjectSpread { #[swc_trace] impl VisitMut for ObjectSpread { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, expr: &mut Expr) { expr.visit_mut_children_with(self); diff --git a/crates/swc_ecma_compat_es2019/src/optional_catch_binding.rs b/crates/swc_ecma_compat_es2019/src/optional_catch_binding.rs index e62aa7a3b213..bfb0f9cd6d46 100644 --- a/crates/swc_ecma_compat_es2019/src/optional_catch_binding.rs +++ b/crates/swc_ecma_compat_es2019/src/optional_catch_binding.rs @@ -1,6 +1,6 @@ use swc_ecma_ast::*; use swc_ecma_utils::private_ident; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; struct OptionalCatchBinding; @@ -11,7 +11,7 @@ pub fn optional_catch_binding() -> impl Fold + VisitMut { #[swc_trace] impl VisitMut for OptionalCatchBinding { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_catch_clause(&mut self, cc: &mut CatchClause) { cc.visit_mut_children_with(self); diff --git a/crates/swc_ecma_compat_es2020/src/export_namespace_from.rs b/crates/swc_ecma_compat_es2020/src/export_namespace_from.rs index 5cd22d3f4e04..e77bc5279e67 100644 --- a/crates/swc_ecma_compat_es2020/src/export_namespace_from.rs +++ b/crates/swc_ecma_compat_es2020/src/export_namespace_from.rs @@ -1,7 +1,7 @@ use swc_atoms::JsWord; use swc_ecma_ast::*; use swc_ecma_utils::private_ident; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut}; use swc_trace_macro::swc_trace; pub fn export_namespace_from() -> impl Fold + VisitMut { @@ -12,7 +12,7 @@ struct ExportNamespaceFrom; #[swc_trace] impl VisitMut for ExportNamespaceFrom { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module_items(&mut self, items: &mut Vec) { let count = items diff --git a/crates/swc_ecma_compat_es2020/src/nullish_coalescing.rs b/crates/swc_ecma_compat_es2020/src/nullish_coalescing.rs index c4b14e5113e8..4b01a7b2716d 100644 --- a/crates/swc_ecma_compat_es2020/src/nullish_coalescing.rs +++ b/crates/swc_ecma_compat_es2020/src/nullish_coalescing.rs @@ -4,7 +4,7 @@ use serde::Deserialize; use swc_common::{util::take::Take, Span, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_utils::{alias_ident_for_simple_assign_tatget, alias_if_required, StmtLike}; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; pub fn nullish_coalescing(c: Config) -> impl Fold + VisitMut + 'static { @@ -59,7 +59,7 @@ impl NullishCoalescing { #[swc_trace] impl VisitMut for NullishCoalescing { - noop_visit_mut_type!(); + standard_only_visit_mut!(); /// Prevents #1123 fn visit_mut_block_stmt(&mut self, s: &mut BlockStmt) { diff --git a/crates/swc_ecma_compat_es2021/src/logical_assignments.rs b/crates/swc_ecma_compat_es2021/src/logical_assignments.rs index b3cb93b69a1c..dfd99ff2e961 100644 --- a/crates/swc_ecma_compat_es2021/src/logical_assignments.rs +++ b/crates/swc_ecma_compat_es2021/src/logical_assignments.rs @@ -4,7 +4,7 @@ use swc_common::{util::take::Take, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_transforms_base::perf::Parallel; use swc_ecma_utils::{alias_ident_for, prepend_stmt}; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; pub fn logical_assignments() -> impl Fold + VisitMut { @@ -58,7 +58,7 @@ impl Parallel for Operators { #[swc_trace] impl VisitMut for Operators { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, e: &mut Expr) { e.visit_mut_children_with(self); diff --git a/crates/swc_ecma_compat_es2022/src/class_properties/class_name_tdz.rs b/crates/swc_ecma_compat_es2022/src/class_properties/class_name_tdz.rs index 98609fb28169..614236c91366 100644 --- a/crates/swc_ecma_compat_es2022/src/class_properties/class_name_tdz.rs +++ b/crates/swc_ecma_compat_es2022/src/class_properties/class_name_tdz.rs @@ -2,7 +2,7 @@ use swc_common::DUMMY_SP; use swc_ecma_ast::*; use swc_ecma_transforms_base::helper; use swc_ecma_utils::ExprFactory; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; pub(super) struct ClassNameTdzFolder<'a> { @@ -11,7 +11,7 @@ pub(super) struct ClassNameTdzFolder<'a> { #[swc_trace] impl<'a> VisitMut for ClassNameTdzFolder<'a> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, expr: &mut Expr) { match expr { diff --git a/crates/swc_ecma_compat_es2022/src/class_properties/mod.rs b/crates/swc_ecma_compat_es2022/src/class_properties/mod.rs index 796b0d709a6b..b198a6adf5f4 100644 --- a/crates/swc_ecma_compat_es2022/src/class_properties/mod.rs +++ b/crates/swc_ecma_compat_es2022/src/class_properties/mod.rs @@ -12,7 +12,8 @@ use swc_ecma_utils::{ ModuleItemLike, StmtLike, }; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, noop_visit_type, Fold, Visit, VisitMut, VisitMutWith, VisitWith, + as_folder, standard_only_visit, standard_only_visit_mut, Fold, Visit, VisitMut, VisitMutWith, + VisitWith, }; use swc_trace_macro::swc_trace; @@ -164,7 +165,7 @@ impl Take for ClassExtra { #[swc_trace] #[fast_path(ShouldWork)] impl VisitMut for ClassProperties { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module_items(&mut self, n: &mut Vec) { self.visit_mut_stmt_like(n); @@ -1068,7 +1069,7 @@ struct ShouldWork { #[swc_trace] impl Visit for ShouldWork { - noop_visit_type!(); + standard_only_visit!(); fn visit_class_method(&mut self, _: &ClassMethod) { self.found = true; @@ -1103,7 +1104,7 @@ struct SuperVisitor { } impl Visit for SuperVisitor { - noop_visit_type!(); + standard_only_visit!(); /// Don't recurse into constructor fn visit_constructor(&mut self, _: &Constructor) {} diff --git a/crates/swc_ecma_compat_es2022/src/class_properties/private_field.rs b/crates/swc_ecma_compat_es2022/src/class_properties/private_field.rs index 2f96a111ae04..8f89850aa8ad 100644 --- a/crates/swc_ecma_compat_es2022/src/class_properties/private_field.rs +++ b/crates/swc_ecma_compat_es2022/src/class_properties/private_field.rs @@ -8,7 +8,7 @@ use swc_common::{ use swc_ecma_ast::*; use swc_ecma_transforms_base::helper; use swc_ecma_utils::{alias_ident_for, alias_if_required, prepend_stmt, quote_ident, ExprFactory}; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; use super::Config; @@ -86,7 +86,7 @@ pub(super) struct BrandCheckHandler<'a> { #[swc_trace] impl VisitMut for BrandCheckHandler<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, e: &mut Expr) { e.visit_mut_children_with(self); @@ -198,7 +198,7 @@ macro_rules! take_vars { // super.#sdsa is invalid #[swc_trace] impl<'a> VisitMut for PrivateAccessVisitor<'a> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); take_vars!(visit_mut_function, Function); diff --git a/crates/swc_ecma_compat_es2022/src/class_properties/this_in_static.rs b/crates/swc_ecma_compat_es2022/src/class_properties/this_in_static.rs index e4cc1885e654..57a7c5d6bdc7 100644 --- a/crates/swc_ecma_compat_es2022/src/class_properties/this_in_static.rs +++ b/crates/swc_ecma_compat_es2022/src/class_properties/this_in_static.rs @@ -1,5 +1,5 @@ use swc_ecma_ast::*; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; pub(super) struct ThisInStaticFolder { @@ -8,7 +8,7 @@ pub(super) struct ThisInStaticFolder { #[swc_trace] impl VisitMut for ThisInStaticFolder { - noop_visit_mut_type!(); + standard_only_visit_mut!(); // once again, for computed props fn visit_mut_constructor(&mut self, _: &mut Constructor) {} @@ -28,7 +28,7 @@ pub(super) struct NewTargetInProp; #[swc_trace] impl VisitMut for NewTargetInProp { - noop_visit_mut_type!(); + standard_only_visit_mut!(); // once again, for computed props fn visit_mut_constructor(&mut self, _: &mut Constructor) {} diff --git a/crates/swc_ecma_compat_es2022/src/class_properties/used_name.rs b/crates/swc_ecma_compat_es2022/src/class_properties/used_name.rs index 2b8b24129958..4413093d9844 100644 --- a/crates/swc_ecma_compat_es2022/src/class_properties/used_name.rs +++ b/crates/swc_ecma_compat_es2022/src/class_properties/used_name.rs @@ -1,6 +1,6 @@ use swc_atoms::JsWord; use swc_ecma_ast::*; -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, Visit, VisitWith}; use swc_trace_macro::swc_trace; pub(super) struct UsedNameCollector<'a> { @@ -16,7 +16,7 @@ macro_rules! noop { #[swc_trace] impl<'a> Visit for UsedNameCollector<'a> { - noop_visit_type!(); + standard_only_visit!(); noop!(visit_arrow_expr, ArrowExpr); diff --git a/crates/swc_ecma_compat_es2022/src/optional_chaining_impl.rs b/crates/swc_ecma_compat_es2022/src/optional_chaining_impl.rs index 3b25de2ab060..7b5aedfaba7d 100644 --- a/crates/swc_ecma_compat_es2022/src/optional_chaining_impl.rs +++ b/crates/swc_ecma_compat_es2022/src/optional_chaining_impl.rs @@ -3,7 +3,7 @@ use std::mem; use swc_common::{util::take::Take, Mark, SyntaxContext, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_utils::{alias_ident_for, prepend_stmt, quote_ident, ExprFactory, StmtLike}; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; /// Not a public API and may break any time. Don't use it directly. pub fn optional_chaining_impl(c: Config, unresolved_mark: Mark) -> OptionalChaining { @@ -35,7 +35,7 @@ pub struct Config { } impl VisitMut for OptionalChaining { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_block_stmt_or_expr(&mut self, expr: &mut BlockStmtOrExpr) { if let BlockStmtOrExpr::Expr(e) = expr { diff --git a/crates/swc_ecma_compat_es2022/src/private_in_object.rs b/crates/swc_ecma_compat_es2022/src/private_in_object.rs index 4dcd8c744f28..7127f32972d2 100644 --- a/crates/swc_ecma_compat_es2022/src/private_in_object.rs +++ b/crates/swc_ecma_compat_es2022/src/private_in_object.rs @@ -11,7 +11,8 @@ use swc_ecma_ast::*; use swc_ecma_transforms_base::pass::JsPass; use swc_ecma_utils::{default_constructor, prepend_stmt, private_ident, quote_ident, ExprFactory}; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, noop_visit_type, Visit, VisitMut, VisitMutWith, VisitWith, + as_folder, standard_only_visit, standard_only_visit_mut, Visit, VisitMut, VisitMutWith, + VisitWith, }; /// https://github.com/tc39/proposal-private-fields-in-in @@ -125,7 +126,7 @@ impl PrivateInObject { } impl VisitMut for PrivateInObject { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_class(&mut self, n: &mut Class) { { @@ -465,7 +466,7 @@ struct ClassAnalyzer<'a> { } impl Visit for ClassAnalyzer<'_> { - noop_visit_type!(); + standard_only_visit!(); fn visit_bin_expr(&mut self, n: &BinExpr) { n.visit_children_with(self); diff --git a/crates/swc_ecma_compat_es2022/src/static_blocks.rs b/crates/swc_ecma_compat_es2022/src/static_blocks.rs index 291083caa379..ca09fa116624 100644 --- a/crates/swc_ecma_compat_es2022/src/static_blocks.rs +++ b/crates/swc_ecma_compat_es2022/src/static_blocks.rs @@ -2,7 +2,7 @@ use swc_atoms::JsWord; use swc_common::{collections::AHashSet, util::take::Take, Mark, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_utils::ExprFactory; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use swc_trace_macro::swc_trace; struct ClassStaticBlock { @@ -76,7 +76,7 @@ impl ClassStaticBlock { #[swc_trace] impl VisitMut for ClassStaticBlock { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_class(&mut self, class: &mut Class) { class.visit_mut_children_with(self); diff --git a/crates/swc_ecma_compat_es3/src/member_expr_lits.rs b/crates/swc_ecma_compat_es3/src/member_expr_lits.rs index 6afe99b8b84c..81867440a864 100644 --- a/crates/swc_ecma_compat_es3/src/member_expr_lits.rs +++ b/crates/swc_ecma_compat_es3/src/member_expr_lits.rs @@ -1,6 +1,6 @@ use swc_ecma_ast::*; use swc_ecma_utils::is_valid_ident; -use swc_ecma_visit::{noop_fold_type, Fold, FoldWith}; +use swc_ecma_visit::{standard_only_fold, Fold, FoldWith}; use swc_trace_macro::swc_trace; /// babel: `transform-member-expression-literals` @@ -28,7 +28,7 @@ struct MemberExprLit; #[swc_trace] impl Fold for MemberExprLit { - noop_fold_type!(); + standard_only_fold!(); fn fold_member_expr(&mut self, e: MemberExpr) -> MemberExpr { let e = e.fold_children_with(self); diff --git a/crates/swc_ecma_compat_es3/src/prop_lits.rs b/crates/swc_ecma_compat_es3/src/prop_lits.rs index eac62633f6cb..12d731cb0857 100644 --- a/crates/swc_ecma_compat_es3/src/prop_lits.rs +++ b/crates/swc_ecma_compat_es3/src/prop_lits.rs @@ -1,6 +1,6 @@ use swc_ecma_ast::*; use swc_ecma_utils::is_valid_ident; -use swc_ecma_visit::{noop_fold_type, Fold, FoldWith}; +use swc_ecma_visit::{standard_only_fold, Fold, FoldWith}; use swc_trace_macro::swc_trace; /// babel: `transform-property-literals` @@ -38,7 +38,7 @@ struct PropertyLiteral; #[swc_trace] impl Fold for PropertyLiteral { - noop_fold_type!(); + standard_only_fold!(); fn fold_prop_name(&mut self, n: PropName) -> PropName { let n = n.fold_children_with(self); diff --git a/crates/swc_ecma_compat_es3/src/reserved_word.rs b/crates/swc_ecma_compat_es3/src/reserved_word.rs index f4c6826d4db9..fa2e3c21ccbc 100644 --- a/crates/swc_ecma_compat_es3/src/reserved_word.rs +++ b/crates/swc_ecma_compat_es3/src/reserved_word.rs @@ -1,6 +1,6 @@ use swc_common::{util::take::Take, DUMMY_SP}; use swc_ecma_ast::*; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; /// babel: `@babel/plugin-transform-reserved-words` /// @@ -27,7 +27,7 @@ struct ReservedWord { } impl VisitMut for ReservedWord { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module_items(&mut self, n: &mut Vec) { let mut extra_exports = vec![]; diff --git a/crates/swc_ecma_minifier/src/compress/hoist_decls.rs b/crates/swc_ecma_minifier/src/compress/hoist_decls.rs index e53da4d05c0c..8b7d23389f53 100644 --- a/crates/swc_ecma_minifier/src/compress/hoist_decls.rs +++ b/crates/swc_ecma_minifier/src/compress/hoist_decls.rs @@ -4,7 +4,7 @@ use swc_common::{collections::AHashSet, pass::Repeated, util::take::Take, DUMMY_ use swc_ecma_ast::*; use swc_ecma_usage_analyzer::analyzer::UsageAnalyzer; use swc_ecma_utils::{find_pat_ids, StmtLike}; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith, VisitWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith, VisitWith}; use super::util::drop_invalid_stmts; use crate::{ @@ -270,7 +270,7 @@ impl Hoister<'_> { } impl VisitMut for Hoister<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module_items(&mut self, stmts: &mut Vec) { self.handle_stmt_likes(stmts); diff --git a/crates/swc_ecma_minifier/src/compress/mod.rs b/crates/swc_ecma_minifier/src/compress/mod.rs index e63d784d294b..6362dd829a2f 100644 --- a/crates/swc_ecma_minifier/src/compress/mod.rs +++ b/crates/swc_ecma_minifier/src/compress/mod.rs @@ -15,7 +15,7 @@ use swc_ecma_transforms_optimization::simplify::{ dead_branch_remover, expr_simplifier, ExprSimplifierConfig, }; use swc_ecma_usage_analyzer::{analyzer::UsageAnalyzer, marks::Marks}; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, VisitMut, VisitMutWith, VisitWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, VisitMut, VisitMutWith, VisitWith}; use swc_timer::timer; use tracing::{debug, error}; @@ -325,7 +325,7 @@ impl Compressor<'_> { } impl VisitMut for Compressor<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_script(&mut self, n: &mut Script) { self.optimize_unit_repeatedly(n); diff --git a/crates/swc_ecma_minifier/src/compress/optimize/arguments.rs b/crates/swc_ecma_minifier/src/compress/optimize/arguments.rs index 5ff65f23e575..a679000b3721 100644 --- a/crates/swc_ecma_minifier/src/compress/optimize/arguments.rs +++ b/crates/swc_ecma_minifier/src/compress/optimize/arguments.rs @@ -3,7 +3,7 @@ use std::iter::repeat_with; use swc_common::{util::take::Take, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_utils::{find_pat_ids, is_valid_prop_ident, private_ident}; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use super::Optimizer; use crate::compress::optimize::is_left_access_to_arguments; @@ -148,7 +148,7 @@ impl ArgReplacer<'_> { } impl VisitMut for ArgReplacer<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); /// Noop. fn visit_mut_arrow_expr(&mut self, _: &mut ArrowExpr) {} diff --git a/crates/swc_ecma_minifier/src/compress/optimize/if_return.rs b/crates/swc_ecma_minifier/src/compress/optimize/if_return.rs index 60778e2a2d8c..73c566553594 100644 --- a/crates/swc_ecma_minifier/src/compress/optimize/if_return.rs +++ b/crates/swc_ecma_minifier/src/compress/optimize/if_return.rs @@ -2,7 +2,7 @@ use swc_common::{util::take::Take, Spanned, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_transforms_optimization::debug_assert_valid; use swc_ecma_utils::{StmtExt, StmtLike}; -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, Visit, VisitWith}; use super::Optimizer; #[cfg(feature = "debug")] @@ -510,7 +510,7 @@ pub(super) struct ReturnFinder { } impl Visit for ReturnFinder { - noop_visit_type!(); + standard_only_visit!(); fn visit_return_stmt(&mut self, n: &ReturnStmt) { n.visit_children_with(self); diff --git a/crates/swc_ecma_minifier/src/compress/optimize/mod.rs b/crates/swc_ecma_minifier/src/compress/optimize/mod.rs index 93fa0200b3a5..4c691053bc96 100644 --- a/crates/swc_ecma_minifier/src/compress/optimize/mod.rs +++ b/crates/swc_ecma_minifier/src/compress/optimize/mod.rs @@ -14,7 +14,7 @@ use swc_ecma_usage_analyzer::{analyzer::UsageAnalyzer, marks::Marks}; use swc_ecma_utils::{ prepend_stmts, ExprCtx, ExprExt, ExprFactory, IsEmpty, ModuleItemLike, StmtLike, Type, Value, }; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith, VisitWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith, VisitWith}; #[cfg(feature = "debug")] use tracing::{debug, span, Level}; use Value::Known; @@ -1468,7 +1468,7 @@ impl Optimizer<'_> { } impl VisitMut for Optimizer<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); #[cfg_attr(feature = "debug", tracing::instrument(skip_all))] fn visit_mut_arrow_expr(&mut self, n: &mut ArrowExpr) { diff --git a/crates/swc_ecma_minifier/src/compress/optimize/sequences.rs b/crates/swc_ecma_minifier/src/compress/optimize/sequences.rs index 4bc47d99c907..29445e809612 100644 --- a/crates/swc_ecma_minifier/src/compress/optimize/sequences.rs +++ b/crates/swc_ecma_minifier/src/compress/optimize/sequences.rs @@ -9,7 +9,7 @@ use swc_ecma_usage_analyzer::{ use swc_ecma_utils::{ contains_arguments, contains_this_expr, prepend_stmts, ExprExt, IdentUsageFinder, StmtLike, }; -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, Visit, VisitWith}; #[cfg(feature = "debug")] use tracing::{span, Level}; @@ -2582,7 +2582,7 @@ struct UsageCounter<'a> { } impl Visit for UsageCounter<'_> { - noop_visit_type!(); + standard_only_visit!(); fn visit_ident(&mut self, i: &Ident) { if self.target.sym == i.sym && self.target.span.ctxt == i.span.ctxt { diff --git a/crates/swc_ecma_minifier/src/compress/optimize/switches.rs b/crates/swc_ecma_minifier/src/compress/optimize/switches.rs index 0e5791f89467..5e14f05ae80e 100644 --- a/crates/swc_ecma_minifier/src/compress/optimize/switches.rs +++ b/crates/swc_ecma_minifier/src/compress/optimize/switches.rs @@ -1,7 +1,7 @@ use swc_common::{util::take::Take, EqIgnoreSpan, Spanned, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_utils::{prepend_stmt, ExprExt, ExprFactory, StmtExt}; -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, Visit, VisitWith}; use super::Optimizer; use crate::{compress::util::is_primitive, util::idents_used_by}; @@ -533,7 +533,7 @@ struct BreakFinder { } impl Visit for BreakFinder { - noop_visit_type!(); + standard_only_visit!(); fn visit_break_stmt(&mut self, s: &BreakStmt) { if !self.top_level && s.label.is_none() { diff --git a/crates/swc_ecma_minifier/src/compress/optimize/unused.rs b/crates/swc_ecma_minifier/src/compress/optimize/unused.rs index 2f2e91f4d5ee..3395ec5e6a97 100644 --- a/crates/swc_ecma_minifier/src/compress/optimize/unused.rs +++ b/crates/swc_ecma_minifier/src/compress/optimize/unused.rs @@ -4,7 +4,7 @@ use swc_common::{util::take::Take, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_usage_analyzer::util::is_global_var_with_pure_property_access; use swc_ecma_utils::{contains_ident_ref, contains_this_expr, ExprExt}; -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, Visit, VisitWith}; use super::Optimizer; #[cfg(feature = "debug")] @@ -938,7 +938,7 @@ struct ThisPropertyVisitor { } impl Visit for ThisPropertyVisitor { - noop_visit_type!(); + standard_only_visit!(); fn visit_assign_expr(&mut self, e: &AssignExpr) { if self.should_abort { diff --git a/crates/swc_ecma_minifier/src/compress/optimize/util.rs b/crates/swc_ecma_minifier/src/compress/optimize/util.rs index 7ae6087aeae3..08b35bb3e6ef 100644 --- a/crates/swc_ecma_minifier/src/compress/optimize/util.rs +++ b/crates/swc_ecma_minifier/src/compress/optimize/util.rs @@ -9,7 +9,7 @@ use swc_common::{collections::AHashSet, util::take::Take, Mark, Span, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_transforms_base::perf::{Parallel, ParallelExt}; use swc_ecma_utils::{collect_decls, ExprCtx, ExprExt, Remapper}; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use tracing::debug; use super::{Ctx, Optimizer}; @@ -306,7 +306,7 @@ enum FinalizerMode { } impl VisitMut for Finalizer<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_callee(&mut self, e: &mut Callee) { e.visit_mut_children_with(self); @@ -481,7 +481,7 @@ impl<'a> NormalMultiReplacer<'a> { } impl VisitMut for NormalMultiReplacer<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, e: &mut Expr) { if self.vars.is_empty() { @@ -568,7 +568,7 @@ impl ExprReplacer { } impl VisitMut for ExprReplacer { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, e: &mut Expr) { e.visit_mut_children_with(self); diff --git a/crates/swc_ecma_minifier/src/compress/pure/dead_code.rs b/crates/swc_ecma_minifier/src/compress/pure/dead_code.rs index 8baf7b8ca2f5..98da28017937 100644 --- a/crates/swc_ecma_minifier/src/compress/pure/dead_code.rs +++ b/crates/swc_ecma_minifier/src/compress/pure/dead_code.rs @@ -3,7 +3,7 @@ use rayon::prelude::*; use swc_common::{util::take::Take, EqIgnoreSpan, Spanned, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_utils::{extract_var_ids, ExprCtx, ExprExt, StmtExt, StmtLike, Value}; -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, Visit, VisitWith}; use super::Pure; use crate::{compress::util::is_fine_for_if_cons, maybe_par, util::ModuleItemExt}; @@ -599,7 +599,7 @@ struct LabelFinder<'a> { found: bool, } impl Visit for LabelFinder<'_> { - noop_visit_type!(); + standard_only_visit!(); fn visit_break_stmt(&mut self, s: &BreakStmt) { match &s.label { diff --git a/crates/swc_ecma_minifier/src/compress/pure/mod.rs b/crates/swc_ecma_minifier/src/compress/pure/mod.rs index 4a4dcfc90dbf..b5a80efef73a 100644 --- a/crates/swc_ecma_minifier/src/compress/pure/mod.rs +++ b/crates/swc_ecma_minifier/src/compress/pure/mod.rs @@ -7,7 +7,7 @@ use swc_ecma_ast::*; use swc_ecma_transforms_optimization::debug_assert_valid; use swc_ecma_usage_analyzer::marks::Marks; use swc_ecma_utils::ExprCtx; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith, VisitWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith, VisitWith}; #[cfg(feature = "debug")] use tracing::{debug, span, Level}; @@ -254,7 +254,7 @@ impl Pure<'_> { } impl VisitMut for Pure<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_assign_expr(&mut self, e: &mut AssignExpr) { { diff --git a/crates/swc_ecma_minifier/src/compress/pure/vars.rs b/crates/swc_ecma_minifier/src/compress/pure/vars.rs index e7e80fb06d8a..50dd68f0a96d 100644 --- a/crates/swc_ecma_minifier/src/compress/pure/vars.rs +++ b/crates/swc_ecma_minifier/src/compress/pure/vars.rs @@ -3,7 +3,7 @@ use swc_common::{util::take::Take, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_utils::{prepend_stmt, StmtLike}; use swc_ecma_visit::{ - noop_visit_mut_type, noop_visit_type, Visit, VisitMut, VisitMutWith, VisitWith, + standard_only_visit, standard_only_visit_mut, Visit, VisitMut, VisitMutWith, VisitWith, }; use super::Pure; @@ -299,7 +299,7 @@ pub(super) struct VarWithOutInitCounter { } impl Visit for VarWithOutInitCounter { - noop_visit_type!(); + standard_only_visit!(); fn visit_arrow_expr(&mut self, _: &ArrowExpr) {} @@ -367,7 +367,7 @@ pub(super) struct VarMover { } impl VisitMut for VarMover { - noop_visit_mut_type!(); + standard_only_visit_mut!(); /// Noop fn visit_mut_arrow_expr(&mut self, _: &mut ArrowExpr) {} @@ -485,7 +485,7 @@ pub(super) struct VarPrepender { } impl VisitMut for VarPrepender { - noop_visit_mut_type!(); + standard_only_visit_mut!(); /// Noop fn visit_mut_arrow_expr(&mut self, _: &mut ArrowExpr) {} diff --git a/crates/swc_ecma_minifier/src/compress/util/mod.rs b/crates/swc_ecma_minifier/src/compress/util/mod.rs index 1c5810af032f..da418b6462d7 100644 --- a/crates/swc_ecma_minifier/src/compress/util/mod.rs +++ b/crates/swc_ecma_minifier/src/compress/util/mod.rs @@ -8,7 +8,7 @@ use swc_ecma_utils::{ExprCtx, ExprExt, IdentUsageFinder, Value}; #[cfg(feature = "debug")] use swc_ecma_visit::{as_folder, FoldWith}; use swc_ecma_visit::{ - noop_visit_mut_type, noop_visit_type, Visit, VisitMut, VisitMutWith, VisitWith, + standard_only_visit, standard_only_visit_mut, Visit, VisitMut, VisitMutWith, VisitWith, }; #[cfg(feature = "debug")] @@ -566,7 +566,7 @@ impl VisitMut for ExprReplacer where F: FnMut(&mut Expr), { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, e: &mut Expr) { e.visit_mut_children_with(self); @@ -684,7 +684,7 @@ impl UnreachableHandler { } impl VisitMut for UnreachableHandler { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_arrow_expr(&mut self, _: &mut ArrowExpr) {} @@ -734,7 +734,7 @@ pub struct SuperFinder { } impl Visit for SuperFinder { - noop_visit_type!(); + standard_only_visit!(); /// Don't recurse into constructor fn visit_constructor(&mut self, _: &Constructor) {} diff --git a/crates/swc_ecma_minifier/src/compress/util/tests.rs b/crates/swc_ecma_minifier/src/compress/util/tests.rs index 79220b179833..f5514db0ab38 100644 --- a/crates/swc_ecma_minifier/src/compress/util/tests.rs +++ b/crates/swc_ecma_minifier/src/compress/util/tests.rs @@ -3,7 +3,7 @@ use swc_ecma_ast::*; use swc_ecma_parser::parse_file_as_expr; use swc_ecma_transforms_base::fixer::fixer; use swc_ecma_utils::ExprCtx; -use swc_ecma_visit::{noop_visit_mut_type, FoldWith, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, FoldWith, VisitMut, VisitMutWith}; use tracing::{info, warn}; use super::negate_cost; @@ -11,7 +11,7 @@ use crate::{compress::util::negate, debug::dump}; struct UnwrapParen; impl VisitMut for UnwrapParen { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, e: &mut Expr) { e.visit_mut_children_with(self); diff --git a/crates/swc_ecma_minifier/src/debug.rs b/crates/swc_ecma_minifier/src/debug.rs index 8decb9502cb2..02209e3bc5eb 100644 --- a/crates/swc_ecma_minifier/src/debug.rs +++ b/crates/swc_ecma_minifier/src/debug.rs @@ -9,13 +9,13 @@ use swc_ecma_codegen::{text_writer::JsWriter, Emitter}; use swc_ecma_transforms_base::{fixer::fixer, hygiene::hygiene}; pub use swc_ecma_transforms_optimization::{debug_assert_valid, AssertValid}; use swc_ecma_utils::{drop_span, DropSpan}; -use swc_ecma_visit::{noop_visit_mut_type, FoldWith, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, FoldWith, VisitMut, VisitMutWith}; use tracing::debug; pub(crate) struct Debugger {} impl VisitMut for Debugger { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_ident(&mut self, n: &mut Ident) { if !cfg!(feature = "debug") { diff --git a/crates/swc_ecma_minifier/src/lib.rs b/crates/swc_ecma_minifier/src/lib.rs index 5839e5cf6a3e..30874cce1b83 100644 --- a/crates/swc_ecma_minifier/src/lib.rs +++ b/crates/swc_ecma_minifier/src/lib.rs @@ -53,7 +53,6 @@ use crate::{ mode::{Minification, Mode}, option::{CompressOptions, ExtraOptions, MinifyOptions}, pass::{ - expand_names::name_expander, global_defs, mangle_names::{idents_to_preserve, name_mangler}, mangle_props::mangle_properties, @@ -172,7 +171,7 @@ pub fn optimize( if options.rename && DISABLE_BUGGY_PASSES { // toplevel.figure_out_scope(options.mangle); // TODO: Pass `options.mangle` to name expander. - n.visit_mut_with(&mut name_expander()); + // n.visit_mut_with(&mut name_expander()); } if let Some(ref mut t) = timings { diff --git a/crates/swc_ecma_minifier/src/metadata/mod.rs b/crates/swc_ecma_minifier/src/metadata/mod.rs index eac05979bf82..d41f49cb423e 100644 --- a/crates/swc_ecma_minifier/src/metadata/mod.rs +++ b/crates/swc_ecma_minifier/src/metadata/mod.rs @@ -7,7 +7,7 @@ use swc_ecma_ast::*; use swc_ecma_usage_analyzer::marks::Marks; use swc_ecma_utils::NodeIgnoringSpan; use swc_ecma_visit::{ - noop_visit_mut_type, noop_visit_type, Visit, VisitMut, VisitMutWith, VisitWith, + standard_only_visit, standard_only_visit_mut, Visit, VisitMut, VisitMutWith, VisitWith, }; use crate::option::CompressOptions; @@ -92,7 +92,7 @@ impl InfoMarker<'_> { } impl VisitMut for InfoMarker<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_call_expr(&mut self, n: &mut CallExpr) { n.visit_mut_children_with(self); @@ -249,7 +249,7 @@ struct InfoCollector<'a> { } impl Visit for InfoCollector<'_> { - noop_visit_type!(); + standard_only_visit!(); fn visit_export_decl(&mut self, f: &ExportDecl) { f.visit_children_with(self); diff --git a/crates/swc_ecma_minifier/src/pass/expand_names.rs b/crates/swc_ecma_minifier/src/pass/expand_names.rs deleted file mode 100644 index f53646567d6c..000000000000 --- a/crates/swc_ecma_minifier/src/pass/expand_names.rs +++ /dev/null @@ -1,15 +0,0 @@ -use swc_ecma_visit::{noop_visit_mut_type, VisitMut}; - -/// Currently noop. -/// -/// See: https://github.com/terser/terser/blob/0c5fde1f6951c70b2dfc91f6960dfedbf0e84fef/lib/minify.js#L177-L182 -pub fn name_expander() -> impl VisitMut { - Expander {} -} - -#[derive(Debug)] -struct Expander {} - -impl VisitMut for Expander { - noop_visit_mut_type!(); -} diff --git a/crates/swc_ecma_minifier/src/pass/global_defs.rs b/crates/swc_ecma_minifier/src/pass/global_defs.rs index 9d9cf4d5e1ee..53fa1a8b158c 100644 --- a/crates/swc_ecma_minifier/src/pass/global_defs.rs +++ b/crates/swc_ecma_minifier/src/pass/global_defs.rs @@ -2,7 +2,7 @@ use std::borrow::Cow; use swc_common::{pass::CompilerPass, EqIgnoreSpan, Mark, SyntaxContext}; use swc_ecma_ast::*; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; pub fn globals_defs( defs: Vec<(Box, Box)>, @@ -35,7 +35,7 @@ impl CompilerPass for GlobalDefs { /// We use [VisitMut] instead of [swc_ecma_visit::Fold] because it's faster. impl VisitMut for GlobalDefs { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_assign_expr(&mut self, n: &mut AssignExpr) { let old = self.in_lhs_of_assign; diff --git a/crates/swc_ecma_minifier/src/pass/hygiene/vars.rs b/crates/swc_ecma_minifier/src/pass/hygiene/vars.rs index 8642103c8da0..ffb6a6c89847 100644 --- a/crates/swc_ecma_minifier/src/pass/hygiene/vars.rs +++ b/crates/swc_ecma_minifier/src/pass/hygiene/vars.rs @@ -86,7 +86,7 @@ macro_rules! scoped { } impl Visit for VarAnalyzer<'_> { - noop_visit_type!(); + standard_only_visit!(); fn visit_arrow_expr(&mut self, n: &ArrowExpr) { scoped!(self, n); diff --git a/crates/swc_ecma_minifier/src/pass/mangle_names/mod.rs b/crates/swc_ecma_minifier/src/pass/mangle_names/mod.rs index 31bc4aa7e38e..3e25cc754d6d 100644 --- a/crates/swc_ecma_minifier/src/pass/mangle_names/mod.rs +++ b/crates/swc_ecma_minifier/src/pass/mangle_names/mod.rs @@ -3,7 +3,7 @@ use swc_atoms::JsWord; use swc_common::{chain, Mark}; use swc_ecma_ast::*; use swc_ecma_transforms_base::rename::{renamer, Renamer}; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; pub(crate) use self::preserver::idents_to_preserve; use crate::{option::MangleOptions, util::base54::Base54Chars}; @@ -77,7 +77,7 @@ impl LabelMangler { } impl VisitMut for LabelMangler { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_labeled_stmt(&mut self, s: &mut LabeledStmt) { self.mangle(&mut s.label); diff --git a/crates/swc_ecma_minifier/src/pass/mangle_names/preserver.rs b/crates/swc_ecma_minifier/src/pass/mangle_names/preserver.rs index ac7984075e24..d9caacadbbd5 100644 --- a/crates/swc_ecma_minifier/src/pass/mangle_names/preserver.rs +++ b/crates/swc_ecma_minifier/src/pass/mangle_names/preserver.rs @@ -1,7 +1,7 @@ use rustc_hash::FxHashSet; use swc_ecma_ast::*; use swc_ecma_utils::find_pat_ids; -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, Visit, VisitWith}; use crate::option::MangleOptions; @@ -35,7 +35,7 @@ impl Preserver { } impl Visit for Preserver { - noop_visit_type!(); + standard_only_visit!(); fn visit_block_stmt(&mut self, n: &BlockStmt) { let old_top_level = self.in_top_level; diff --git a/crates/swc_ecma_minifier/src/pass/mangle_names/private_name.rs b/crates/swc_ecma_minifier/src/pass/mangle_names/private_name.rs index 5a728beb7c28..cb8f2b558d6f 100644 --- a/crates/swc_ecma_minifier/src/pass/mangle_names/private_name.rs +++ b/crates/swc_ecma_minifier/src/pass/mangle_names/private_name.rs @@ -1,7 +1,7 @@ use swc_atoms::JsWord; use swc_common::collections::AHashMap; use swc_ecma_ast::*; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use super::Base54Chars; @@ -44,7 +44,7 @@ impl PrivateNameMangler { } impl VisitMut for PrivateNameMangler { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_member_expr(&mut self, n: &mut MemberExpr) { n.obj.visit_mut_with(self); diff --git a/crates/swc_ecma_minifier/src/pass/mangle_props.rs b/crates/swc_ecma_minifier/src/pass/mangle_props.rs index 49fe53a09e94..ec9ae6820f48 100644 --- a/crates/swc_ecma_minifier/src/pass/mangle_props.rs +++ b/crates/swc_ecma_minifier/src/pass/mangle_props.rs @@ -7,7 +7,7 @@ use swc_ecma_ast::{ CallExpr, Callee, Expr, Ident, KeyValueProp, Lit, MemberExpr, MemberProp, Program, Prop, PropName, Str, SuperProp, SuperPropExpr, }; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use crate::{ option::ManglePropertiesOptions, @@ -238,7 +238,7 @@ impl Mangler<'_> { } impl VisitMut for Mangler<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_call_expr(&mut self, call: &mut CallExpr) { call.visit_mut_children_with(self); diff --git a/crates/swc_ecma_minifier/src/pass/merge_exports.rs b/crates/swc_ecma_minifier/src/pass/merge_exports.rs index 7e9b0bf5c59d..7cf00547451a 100644 --- a/crates/swc_ecma_minifier/src/pass/merge_exports.rs +++ b/crates/swc_ecma_minifier/src/pass/merge_exports.rs @@ -1,6 +1,6 @@ use swc_common::{util::take::Take, DUMMY_SP}; use swc_ecma_ast::*; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use crate::maybe_par; @@ -16,7 +16,7 @@ struct Merger { } impl VisitMut for Merger { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module_items(&mut self, stmts: &mut Vec) { let was_module = maybe_par!( diff --git a/crates/swc_ecma_minifier/src/pass/mod.rs b/crates/swc_ecma_minifier/src/pass/mod.rs index 17e07ec819aa..6f3eca4421e4 100644 --- a/crates/swc_ecma_minifier/src/pass/mod.rs +++ b/crates/swc_ecma_minifier/src/pass/mod.rs @@ -1,4 +1,3 @@ -pub mod expand_names; pub mod global_defs; pub mod mangle_names; pub mod mangle_props; diff --git a/crates/swc_ecma_minifier/src/pass/postcompress.rs b/crates/swc_ecma_minifier/src/pass/postcompress.rs index 16643890c480..e0ad23c04367 100644 --- a/crates/swc_ecma_minifier/src/pass/postcompress.rs +++ b/crates/swc_ecma_minifier/src/pass/postcompress.rs @@ -1,7 +1,7 @@ use swc_common::util::take::Take; use swc_ecma_ast::*; use swc_ecma_transforms_base::perf::{Parallel, ParallelExt}; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use crate::{maybe_par, option::CompressOptions, LIGHT_TASK_PARALLELS}; @@ -36,7 +36,7 @@ impl Parallel for PostcompressOptimizer<'_> { } impl VisitMut for PostcompressOptimizer<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_export_decl(&mut self, export: &mut ExportDecl) { match &mut export.decl { diff --git a/crates/swc_ecma_minifier/src/pass/precompress.rs b/crates/swc_ecma_minifier/src/pass/precompress.rs index 7d414993802f..74f6c8e28efa 100644 --- a/crates/swc_ecma_minifier/src/pass/precompress.rs +++ b/crates/swc_ecma_minifier/src/pass/precompress.rs @@ -1,6 +1,8 @@ +use std::vec::Vec; + use swc_ecma_ast::*; use swc_ecma_transforms_base::perf::{Parallel, ParallelExt}; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use crate::HEAVY_TASK_PARALLELS; @@ -24,7 +26,7 @@ impl Parallel for PrecompressOptimizer { } impl VisitMut for PrecompressOptimizer { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_stmts(&mut self, n: &mut Vec) { self.maybe_par(*HEAVY_TASK_PARALLELS, n, |v, n| { diff --git a/crates/swc_ecma_minifier/src/util/base54.rs b/crates/swc_ecma_minifier/src/util/base54.rs index b6895731f4e5..2c58cf59e9cb 100644 --- a/crates/swc_ecma_minifier/src/util/base54.rs +++ b/crates/swc_ecma_minifier/src/util/base54.rs @@ -8,7 +8,7 @@ use swc_common::{ }; use swc_ecma_ast::*; use swc_ecma_codegen::{text_writer::WriteJs, Emitter}; -use swc_ecma_visit::{noop_visit_type, visit_obj_and_computed, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, visit_obj_and_computed, Visit, VisitWith}; #[derive(Clone, Copy)] @@ -296,7 +296,7 @@ struct CharFreqAnalyzer<'a> { } impl Visit for CharFreqAnalyzer<'_> { - noop_visit_type!(); + standard_only_visit!(); visit_obj_and_computed!(); diff --git a/crates/swc_ecma_minifier/src/util/mod.rs b/crates/swc_ecma_minifier/src/util/mod.rs index d54cc73d5e53..321151218f5c 100644 --- a/crates/swc_ecma_minifier/src/util/mod.rs +++ b/crates/swc_ecma_minifier/src/util/mod.rs @@ -6,7 +6,7 @@ use rustc_hash::FxHashSet; use swc_common::{util::take::Take, Mark, Span, Spanned, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_utils::{stack_size::maybe_grow_default, ModuleItemLike, StmtLike, Value}; -use swc_ecma_visit::{noop_visit_type, visit_obj_and_computed, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, visit_obj_and_computed, Visit, VisitWith}; pub(crate) mod base54; pub(crate) mod size; @@ -219,7 +219,7 @@ pub(crate) struct LeapFinder { } impl Visit for LeapFinder { - noop_visit_type!(); + standard_only_visit!(); fn visit_await_expr(&mut self, n: &AwaitExpr) { n.visit_children_with(self); @@ -311,7 +311,7 @@ pub struct DeepThisExprVisitor { } impl Visit for DeepThisExprVisitor { - noop_visit_type!(); + standard_only_visit!(); fn visit_this_expr(&mut self, _: &ThisExpr) { self.found = true; @@ -334,7 +334,7 @@ pub(crate) struct IdentUsageCollector { } impl Visit for IdentUsageCollector { - noop_visit_type!(); + standard_only_visit!(); visit_obj_and_computed!(); @@ -402,7 +402,7 @@ pub(crate) struct CapturedIdCollector { } impl Visit for CapturedIdCollector { - noop_visit_type!(); + standard_only_visit!(); visit_obj_and_computed!(); @@ -506,7 +506,7 @@ pub(crate) struct EvalFinder { } impl Visit for EvalFinder { - noop_visit_type!(); + standard_only_visit!(); visit_obj_and_computed!(); diff --git a/crates/swc_ecma_minifier/tests/eval.rs b/crates/swc_ecma_minifier/tests/eval.rs index 401ce68dc56e..60ec729211fd 100644 --- a/crates/swc_ecma_minifier/tests/eval.rs +++ b/crates/swc_ecma_minifier/tests/eval.rs @@ -10,7 +10,7 @@ use swc_ecma_minifier::{ }; use swc_ecma_parser::{parse_file_as_expr, parse_file_as_module, EsSyntax, Syntax}; use swc_ecma_transforms_base::resolver; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use testing::{assert_eq, DebugUsingDisplay}; fn eval(module: &str, expr: &str) -> Option { @@ -169,7 +169,7 @@ impl PartialInliner { } impl VisitMut for PartialInliner { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, e: &mut Expr) { e.visit_mut_children_with(self); diff --git a/crates/swc_ecma_preset_env/src/corejs2/entry.rs b/crates/swc_ecma_preset_env/src/corejs2/entry.rs index 6ca8ffc89974..f5faa2486f32 100644 --- a/crates/swc_ecma_preset_env/src/corejs2/entry.rs +++ b/crates/swc_ecma_preset_env/src/corejs2/entry.rs @@ -3,7 +3,7 @@ use preset_env_base::{version::should_enable, Versions}; use swc_atoms::js_word; use swc_common::{collections::ARandomState, DUMMY_SP}; use swc_ecma_ast::*; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use super::builtin::BUILTINS; @@ -65,7 +65,7 @@ impl Entry { } impl VisitMut for Entry { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_import_decl(&mut self, i: &mut ImportDecl) { let remove = i.specifiers.is_empty() && self.add_all(&i.src.value); diff --git a/crates/swc_ecma_preset_env/src/corejs2/mod.rs b/crates/swc_ecma_preset_env/src/corejs2/mod.rs index 02a2e095f580..78ed02fca44a 100644 --- a/crates/swc_ecma_preset_env/src/corejs2/mod.rs +++ b/crates/swc_ecma_preset_env/src/corejs2/mod.rs @@ -3,7 +3,7 @@ use preset_env_base::{version::should_enable, Versions}; use swc_atoms::{js_word, JsWord}; use swc_common::{collections::ARandomState, DUMMY_SP}; use swc_ecma_ast::*; -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, Visit, VisitWith}; pub(crate) use self::entry::Entry; use self::{ @@ -124,7 +124,7 @@ impl UsageVisitor { /// Detects usage of types impl Visit for UsageVisitor { - noop_visit_type!(); + standard_only_visit!(); fn visit_ident(&mut self, node: &Ident) { node.visit_children_with(self); diff --git a/crates/swc_ecma_preset_env/src/corejs3/usage.rs b/crates/swc_ecma_preset_env/src/corejs3/usage.rs index 420d3a5cec82..6a6ba3eb20fc 100644 --- a/crates/swc_ecma_preset_env/src/corejs3/usage.rs +++ b/crates/swc_ecma_preset_env/src/corejs3/usage.rs @@ -3,7 +3,7 @@ use preset_env_base::version::{should_enable, Version}; use swc_atoms::{js_word, JsWord}; use swc_common::{collections::ARandomState, DUMMY_SP}; use swc_ecma_ast::*; -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, Visit, VisitWith}; use super::{ builtin::{ @@ -154,7 +154,7 @@ impl UsageVisitor { } impl Visit for UsageVisitor { - noop_visit_type!(); + standard_only_visit!(); /// `[a, b] = c` fn visit_array_pat(&mut self, p: &ArrayPat) { diff --git a/crates/swc_ecma_preset_env/src/lib.rs b/crates/swc_ecma_preset_env/src/lib.rs index cb19217b090d..223c49cc87f6 100644 --- a/crates/swc_ecma_preset_env/src/lib.rs +++ b/crates/swc_ecma_preset_env/src/lib.rs @@ -6,7 +6,6 @@ use std::path::PathBuf; use preset_env_base::query::targets_to_versions; pub use preset_env_base::{query::Targets, version::Version, BrowserData, Versions}; -use regenerator::RegeneratorVisitor; use serde::Deserialize; use swc_atoms::{js_word, JsWord}; use swc_common::{chain, collections::AHashSet, comments::Comments, FromVariant, Mark, DUMMY_SP}; @@ -378,8 +377,7 @@ impl Polyfills { T: VisitWith + VisitWith + VisitMutWith - + VisitMutWith - + VisitWith, + + VisitMutWith, { let required = match self.mode { None => Default::default(), diff --git a/crates/swc_ecma_preset_env/src/regenerator/mod.rs b/crates/swc_ecma_preset_env/src/regenerator/mod.rs index 63cc7cdb8f48..3dcf1585d8ff 100644 --- a/crates/swc_ecma_preset_env/src/regenerator/mod.rs +++ b/crates/swc_ecma_preset_env/src/regenerator/mod.rs @@ -1,16 +1,3 @@ -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; - -pub(super) fn is_required>(node: &T) -> bool { - let mut v = RegeneratorVisitor { found: false }; - node.visit_with(&mut v); - v.found -} - -pub(super) struct RegeneratorVisitor { - found: bool, -} - -/// TODO -impl Visit for RegeneratorVisitor { - noop_visit_type!(); +pub(super) fn is_required(_: &T) -> bool { + false } diff --git a/crates/swc_ecma_transforms/tests/decorators.rs b/crates/swc_ecma_transforms/tests/decorators.rs index 2004ddb8c20b..e128e5490d00 100644 --- a/crates/swc_ecma_transforms/tests/decorators.rs +++ b/crates/swc_ecma_transforms/tests/decorators.rs @@ -74,6 +74,7 @@ fn simple_strip(t: &Tester, config: Config) -> impl Fold { no_empty_export: true, ..Default::default() }, + unresolved_mark, top_level_mark ), class_fields_use_set(true), @@ -4045,7 +4046,7 @@ fn fixture_exec(input: PathBuf) { emit_metadata: true, use_define_for_class_fields: false, }), - strip(top_level_mark), + strip(unresolved_mark, top_level_mark), class_fields_use_set(true), ) }, diff --git a/crates/swc_ecma_transforms/tests/deno.rs b/crates/swc_ecma_transforms/tests/deno.rs index fe9ecb12a27a..6d1573dd40f6 100644 --- a/crates/swc_ecma_transforms/tests/deno.rs +++ b/crates/swc_ecma_transforms/tests/deno.rs @@ -42,6 +42,7 @@ fn run_test(input: PathBuf) { typescript::TsImportExportAssignConfig::Preserve, ts_enum_is_mutable: true, }, + unresolved_mark, top_level_mark ), fixer(None), diff --git a/crates/swc_ecma_transforms_base/tests/fixture.rs b/crates/swc_ecma_transforms_base/tests/fixture.rs index 216ac1092ff6..e9b9624bdf1f 100644 --- a/crates/swc_ecma_transforms_base/tests/fixture.rs +++ b/crates/swc_ecma_transforms_base/tests/fixture.rs @@ -123,6 +123,10 @@ impl VisitMut for TsHygiene { i.span = i.span.with_ctxt(SyntaxContext::empty()); } + fn visit_mut_jsx_member_expr(&mut self, n: &mut JSXMemberExpr) { + n.obj.visit_mut_with(self); + } + fn visit_mut_prop_name(&mut self, n: &mut PropName) { if let PropName::Computed(n) = n { n.visit_mut_with(self); diff --git a/crates/swc_ecma_transforms_classes/src/super_field.rs b/crates/swc_ecma_transforms_classes/src/super_field.rs index d68bb36d90fd..2e09d8ee6a35 100644 --- a/crates/swc_ecma_transforms_classes/src/super_field.rs +++ b/crates/swc_ecma_transforms_classes/src/super_field.rs @@ -4,7 +4,7 @@ use swc_common::{util::take::Take, Mark, Span, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_transforms_base::helper; use swc_ecma_utils::{is_rest_arguments, quote_ident, ExprFactory}; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use super::get_prototype_of; @@ -65,7 +65,7 @@ macro_rules! mark_nested { } impl<'a> VisitMut for SuperFieldAccessFolder<'a> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); // mark_nested!(fold_function, Function); mark_nested!(visit_mut_class, Class); diff --git a/crates/swc_ecma_transforms_compat/src/class_fields_use_set.rs b/crates/swc_ecma_transforms_compat/src/class_fields_use_set.rs index 345877a132b7..a6bab0d40290 100644 --- a/crates/swc_ecma_transforms_compat/src/class_fields_use_set.rs +++ b/crates/swc_ecma_transforms_compat/src/class_fields_use_set.rs @@ -6,7 +6,7 @@ use swc_ecma_utils::{ constructor::inject_after_super, default_constructor, is_literal, is_simple_pure_expr, private_ident, prop_name_to_member_prop, ExprFactory, ModuleItemLike, StmtLike, }; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; /// # What does this module do? /// @@ -93,7 +93,7 @@ struct ClassFieldsUseSet { } impl VisitMut for ClassFieldsUseSet { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module_items(&mut self, n: &mut Vec) { self.visit_mut_stmts_like(n); @@ -163,7 +163,7 @@ struct FieldsHandler { } impl VisitMut for FieldsHandler { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_class(&mut self, _: &mut Class) { // skip inner classes @@ -266,7 +266,7 @@ struct ComputedFieldsHandler { } impl VisitMut for ComputedFieldsHandler { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_class_prop(&mut self, n: &mut ClassProp) { match &mut n.key { diff --git a/crates/swc_ecma_transforms_compat/src/reserved_words.rs b/crates/swc_ecma_transforms_compat/src/reserved_words.rs index af60ecea1ebd..bcdef34189ad 100644 --- a/crates/swc_ecma_transforms_compat/src/reserved_words.rs +++ b/crates/swc_ecma_transforms_compat/src/reserved_words.rs @@ -2,7 +2,7 @@ use swc_atoms::JsWord; use swc_ecma_ast::*; use swc_ecma_transforms_base::perf::Parallel; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, visit_mut_obj_and_computed, Fold, VisitMut, VisitMutWith, + as_folder, standard_only_visit_mut, visit_mut_obj_and_computed, Fold, VisitMut, VisitMutWith, }; pub fn reserved_words() -> impl 'static + Fold + VisitMut { @@ -21,7 +21,7 @@ impl Parallel for EsReservedWord { } impl VisitMut for EsReservedWord { - noop_visit_mut_type!(); + standard_only_visit_mut!(); visit_mut_obj_and_computed!(); diff --git a/crates/swc_ecma_transforms_module/Cargo.toml b/crates/swc_ecma_transforms_module/Cargo.toml index dd08efe935dd..576443ed5423 100644 --- a/crates/swc_ecma_transforms_module/Cargo.toml +++ b/crates/swc_ecma_transforms_module/Cargo.toml @@ -46,4 +46,5 @@ swc_ecma_loader = { version = "0.46.0", path = "../swc_ecma_loader", features = ] } swc_ecma_transforms_compat = { version = "0.166.1", path = "../swc_ecma_transforms_compat" } swc_ecma_transforms_testing = { version = "0.143.1", path = "../swc_ecma_transforms_testing" } +swc_ecma_transforms_typescript = { version = "0.191.2", path = "../swc_ecma_transforms_typescript" } testing = { version = "0.36.0", path = "../testing/" } diff --git a/crates/swc_ecma_transforms_module/src/amd.rs b/crates/swc_ecma_transforms_module/src/amd.rs index d7093e113f87..57cfe7cf3ebf 100644 --- a/crates/swc_ecma_transforms_module/src/amd.rs +++ b/crates/swc_ecma_transforms_module/src/amd.rs @@ -12,7 +12,7 @@ use swc_ecma_transforms_base::{feature::FeatureFlag, helper_expr}; use swc_ecma_utils::{ member_expr, private_ident, quote_ident, quote_str, ExprFactory, FunctionFactory, IsDirective, }; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; pub use super::util::Config as InnerConfig; use crate::{ @@ -128,7 +128,7 @@ impl VisitMut for Amd where C: Comments, { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module(&mut self, n: &mut Module) { if self.module_id.is_none() { diff --git a/crates/swc_ecma_transforms_module/src/common_js.rs b/crates/swc_ecma_transforms_module/src/common_js.rs index c258f1ee2d7d..d90d70bdde62 100644 --- a/crates/swc_ecma_transforms_module/src/common_js.rs +++ b/crates/swc_ecma_transforms_module/src/common_js.rs @@ -6,7 +6,7 @@ use swc_ecma_transforms_base::{feature::FeatureFlag, helper_expr}; use swc_ecma_utils::{ member_expr, private_ident, quote_expr, quote_ident, ExprFactory, FunctionFactory, IsDirective, }; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; pub use super::util::Config; use crate::{ @@ -89,7 +89,7 @@ impl VisitMut for Cjs where C: Comments, { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module(&mut self, n: &mut Module) { let mut stmts: Vec = Vec::with_capacity(n.body.len() + 6); diff --git a/crates/swc_ecma_transforms_module/src/import_analysis.rs b/crates/swc_ecma_transforms_module/src/import_analysis.rs index 3b4a3974549e..04dfb0c88261 100644 --- a/crates/swc_ecma_transforms_module/src/import_analysis.rs +++ b/crates/swc_ecma_transforms_module/src/import_analysis.rs @@ -3,7 +3,7 @@ use swc_common::collections::AHashMap; use swc_ecma_ast::*; use swc_ecma_transforms_base::enable_helper; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, noop_visit_type, Fold, Visit, VisitMut, VisitWith, + as_folder, standard_only_visit, standard_only_visit_mut, Fold, Visit, VisitMut, VisitWith, }; use crate::{module_decl_strip::LinkFlag, util::ImportInterop}; @@ -30,7 +30,7 @@ pub struct ImportAnalyzer { /// Inject required helpers methods **for** module transform passes. impl VisitMut for ImportAnalyzer { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module(&mut self, module: &mut Module) { self.visit_module(&*module); @@ -38,7 +38,7 @@ impl VisitMut for ImportAnalyzer { } impl Visit for ImportAnalyzer { - noop_visit_type!(); + standard_only_visit!(); fn visit_module_items(&mut self, n: &[ModuleItem]) { for item in n.iter() { diff --git a/crates/swc_ecma_transforms_module/src/module_decl_strip.rs b/crates/swc_ecma_transforms_module/src/module_decl_strip.rs index c4c6c6e0cb45..f4208ec21d1e 100644 --- a/crates/swc_ecma_transforms_module/src/module_decl_strip.rs +++ b/crates/swc_ecma_transforms_module/src/module_decl_strip.rs @@ -7,7 +7,7 @@ use swc_common::{ }; use swc_ecma_ast::*; use swc_ecma_utils::{find_pat_ids, ident::IdentLike, private_ident, quote_ident, ExprFactory}; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use crate::module_ref_rewriter::ImportMap; @@ -52,7 +52,7 @@ impl ModuleDeclStrip { } impl VisitMut for ModuleDeclStrip { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module_items(&mut self, n: &mut Vec) { let mut list = Vec::with_capacity(n.len()); diff --git a/crates/swc_ecma_transforms_module/src/rewriter.rs b/crates/swc_ecma_transforms_module/src/rewriter.rs index da055adda4e4..36f8e15b00d8 100644 --- a/crates/swc_ecma_transforms_module/src/rewriter.rs +++ b/crates/swc_ecma_transforms_module/src/rewriter.rs @@ -1,7 +1,7 @@ use anyhow::Context; use swc_common::FileName; use swc_ecma_ast::*; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use crate::path::ImportResolver; @@ -25,7 +25,7 @@ impl VisitMut for Rewriter where R: ImportResolver, { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_call_expr(&mut self, e: &mut CallExpr) { e.visit_mut_children_with(self); diff --git a/crates/swc_ecma_transforms_module/src/system_js.rs b/crates/swc_ecma_transforms_module/src/system_js.rs index db44cfb9dfda..28203224e030 100644 --- a/crates/swc_ecma_transforms_module/src/system_js.rs +++ b/crates/swc_ecma_transforms_module/src/system_js.rs @@ -6,7 +6,7 @@ use swc_ecma_ast::*; use swc_ecma_utils::{ member_expr, private_ident, quote_ident, quote_str, var::VarCollector, ExprFactory, }; -use swc_ecma_visit::{noop_fold_type, Fold, FoldWith, VisitWith}; +use swc_ecma_visit::{standard_only_fold, Fold, FoldWith, VisitWith}; use crate::{ path::{ImportResolver, Resolver}, @@ -510,7 +510,7 @@ impl SystemJs { } impl Fold for SystemJs { - noop_fold_type!(); + standard_only_fold!(); fn fold_call_expr(&mut self, expr: CallExpr) -> CallExpr { let expr = expr.fold_children_with(self); diff --git a/crates/swc_ecma_transforms_module/src/top_level_this.rs b/crates/swc_ecma_transforms_module/src/top_level_this.rs index 412d568ab5fd..93b52f708dbf 100644 --- a/crates/swc_ecma_transforms_module/src/top_level_this.rs +++ b/crates/swc_ecma_transforms_module/src/top_level_this.rs @@ -1,5 +1,5 @@ use swc_ecma_ast::*; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{noop_visit_mut_type, standard_only_visit_mut, VisitMut, VisitMutWith}; pub struct TopLevelThis { found: bool, @@ -19,7 +19,7 @@ where } impl VisitMut for TopLevelThis { - noop_visit_mut_type!(); + standard_only_visit_mut!(); noop_visit_mut_type!(visit_mut_function, Function); diff --git a/crates/swc_ecma_transforms_module/src/umd.rs b/crates/swc_ecma_transforms_module/src/umd.rs index 89cc71ea27de..84814940bb3f 100644 --- a/crates/swc_ecma_transforms_module/src/umd.rs +++ b/crates/swc_ecma_transforms_module/src/umd.rs @@ -8,7 +8,7 @@ use swc_ecma_transforms_base::{feature::FeatureFlag, helper_expr}; use swc_ecma_utils::{ is_valid_prop_ident, private_ident, quote_ident, quote_str, ExprFactory, IsDirective, }; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; use self::config::BuiltConfig; pub use self::config::Config; @@ -105,7 +105,7 @@ impl VisitMut for Umd where C: Comments, { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module(&mut self, module: &mut Module) { let module_items = &mut module.body; diff --git a/crates/swc_ecma_transforms_module/tests/amd.rs b/crates/swc_ecma_transforms_module/tests/amd.rs index 448ffe3d5fbb..3df29ebfbc6a 100644 --- a/crates/swc_ecma_transforms_module/tests/amd.rs +++ b/crates/swc_ecma_transforms_module/tests/amd.rs @@ -6,6 +6,7 @@ use swc_ecma_transforms_base::{feature::FeatureFlag, resolver}; use swc_ecma_transforms_compat::es2015::for_of; use swc_ecma_transforms_module::amd::{self, amd}; use swc_ecma_transforms_testing::{test, test_fixture}; +use swc_ecma_transforms_typescript::typescript; use swc_ecma_visit::Fold; fn syntax() -> Syntax { @@ -16,14 +17,15 @@ fn ts_syntax() -> Syntax { Syntax::Typescript(TsSyntax::default()) } -fn tr(config: amd::Config, typescript: bool, comments: Rc) -> impl Fold { +fn tr(config: amd::Config, is_ts: bool, comments: Rc) -> impl Fold { let unresolved_mark = Mark::new(); let top_level_mark = Mark::new(); let avalible_set = FeatureFlag::all(); chain!( - resolver(unresolved_mark, top_level_mark, typescript), + resolver(unresolved_mark, top_level_mark, is_ts), + typescript::typescript(Default::default(), unresolved_mark, top_level_mark), amd(unresolved_mark, config, avalible_set, Some(comments)), ) } diff --git a/crates/swc_ecma_transforms_module/tests/common_js.rs b/crates/swc_ecma_transforms_module/tests/common_js.rs index fbda100887e8..5b40ace2378e 100644 --- a/crates/swc_ecma_transforms_module/tests/common_js.rs +++ b/crates/swc_ecma_transforms_module/tests/common_js.rs @@ -6,6 +6,7 @@ use swc_ecma_transforms_base::{feature::FeatureFlag, resolver}; use swc_ecma_transforms_compat::es2015::for_of; use swc_ecma_transforms_module::common_js::{self, common_js}; use swc_ecma_transforms_testing::{test, test_fixture, FixtureTestConfig}; +use swc_ecma_transforms_typescript::typescript; use swc_ecma_visit::Fold; fn syntax() -> Syntax { @@ -16,18 +17,15 @@ fn ts_syntax() -> Syntax { Syntax::Typescript(TsSyntax::default()) } -fn tr( - config: common_js::Config, - typescript: bool, - comments: Rc, -) -> impl Fold { +fn tr(config: common_js::Config, is_ts: bool, comments: Rc) -> impl Fold { let unresolved_mark = Mark::new(); let top_level_mark = Mark::new(); let available_set = FeatureFlag::all(); chain!( - resolver(unresolved_mark, top_level_mark, typescript), + resolver(unresolved_mark, top_level_mark, is_ts), + typescript::typescript(Default::default(), unresolved_mark, top_level_mark), common_js(unresolved_mark, config, available_set, Some(comments)), ) } diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/1/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/1/output.amd.ts index d2da424bf254..d50d12392617 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/1/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/1/output.amd.ts @@ -1,13 +1,17 @@ /// define("NamedModule", [ - "require" -], function(require) { + "require", + "exports" +], function(require, exports) { "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); class Foo { - x: number; + x; constructor(){ this.x = 5; } } - return Foo; + module.exports = Foo; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/1/output.cts b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/1/output.cts index 7d0129e3d868..820ab95ff051 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/1/output.cts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/1/output.cts @@ -1,7 +1,10 @@ /// "use strict"; +Object.defineProperty(exports, "__esModule", { + value: true +}); class Foo { - x: number; + x; constructor(){ this.x = 5; } diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/1/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/1/output.umd.ts index 7f88ad5ad7e4..4c4f3bce4b00 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/1/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/1/output.umd.ts @@ -1,15 +1,20 @@ /// (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") module.exports = factory(); - else if (typeof define === "function" && define.amd) define([], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) module.exports = factory(); -})(this, function() { + if (typeof module === "object" && typeof module.exports === "object") factory(exports); + else if (typeof define === "function" && define.amd) define([ + "exports" + ], factory); + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); class Foo { - x: number; + x; constructor(){ this.x = 5; } } - return Foo; + module.exports = Foo; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/2/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/2/output.amd.ts index ab0379f6a463..419e23cd1f31 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/2/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/2/output.amd.ts @@ -1,14 +1,18 @@ /// /// define("SecondModuleName", [ - "require" -], function(require) { + "require", + "exports" +], function(require, exports) { "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); class Foo { - x: number; + x; constructor(){ this.x = 5; } } - return Foo; + module.exports = Foo; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/2/output.cts b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/2/output.cts index 9fe74ef3031a..e3eaa58d9894 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/2/output.cts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/2/output.cts @@ -1,8 +1,11 @@ /// /// "use strict"; +Object.defineProperty(exports, "__esModule", { + value: true +}); class Foo { - x: number; + x; constructor(){ this.x = 5; } diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/2/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/2/output.umd.ts index 51b93eb85517..4ec09637c08f 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/2/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/2/output.umd.ts @@ -1,16 +1,21 @@ /// /// (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") module.exports = factory(); - else if (typeof define === "function" && define.amd) define([], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) module.exports = factory(); -})(this, function() { + if (typeof module === "object" && typeof module.exports === "object") factory(exports); + else if (typeof define === "function" && define.amd) define([ + "exports" + ], factory); + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); class Foo { - x: number; + x; constructor(){ this.x = 5; } } - return Foo; + module.exports = Foo; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/3/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/3/output.amd.ts index 82c39bf2e6a7..76f7ec0436ff 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/3/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/3/output.amd.ts @@ -1,13 +1,17 @@ /// define("NamedModule", [ - "require" -], function(require) { + "require", + "exports" +], function(require, exports) { "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); class Foo { - x: number; + x; constructor(){ this.x = 5; } } - return Foo; + module.exports = Foo; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/3/output.cts b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/3/output.cts index d664425b8491..118b25897bc0 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/3/output.cts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/3/output.cts @@ -1,7 +1,10 @@ /// "use strict"; +Object.defineProperty(exports, "__esModule", { + value: true +}); class Foo { - x: number; + x; constructor(){ this.x = 5; } diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/3/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/3/output.umd.ts index 1d154a68cc0b..79d59bc2e068 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/3/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/3/output.umd.ts @@ -1,15 +1,20 @@ /// (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") module.exports = factory(); - else if (typeof define === "function" && define.amd) define([], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) module.exports = factory(); -})(this, function() { + if (typeof module === "object" && typeof module.exports === "object") factory(exports); + else if (typeof define === "function" && define.amd) define([ + "exports" + ], factory); + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); class Foo { - x: number; + x; constructor(){ this.x = 5; } } - return Foo; + module.exports = Foo; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/4/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/4/output.amd.ts index 49b4e1fa6794..ef002e3b344c 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/4/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/4/output.amd.ts @@ -1,12 +1,16 @@ /*/ */ define([ - "require" -], function(require) { + "require", + "exports" +], function(require, exports) { "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); class Foo { - x: number; + x; constructor(){ this.x = 5; } } - return Foo; + module.exports = Foo; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/4/output.cts b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/4/output.cts index eb924755e133..4ba42901ff6e 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/4/output.cts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/4/output.cts @@ -1,6 +1,9 @@ /*/ */ "use strict"; +Object.defineProperty(exports, "__esModule", { + value: true +}); class Foo { - x: number; + x; constructor(){ this.x = 5; } diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/4/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/4/output.umd.ts index 3dbdea595764..796defc78f91 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/4/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/amd-triple-slash-directive/4/output.umd.ts @@ -1,14 +1,19 @@ /*/ */ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") module.exports = factory(); - else if (typeof define === "function" && define.amd) define([], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) module.exports = factory(); -})(this, function() { + if (typeof module === "object" && typeof module.exports === "object") factory(exports); + else if (typeof define === "function" && define.amd) define([ + "exports" + ], factory); + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); class Foo { - x: number; + x; constructor(){ this.x = 5; } } - return Foo; + module.exports = Foo; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-assign/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-assign/output.amd.ts index 1556db75f59d..99522009e7a0 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-assign/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-assign/output.amd.ts @@ -1,7 +1,11 @@ define([ "require", - "foo" -], function(require, _foo) { + "exports" +], function(require, exports) { "use strict"; - return _foo; + Object.defineProperty(exports, "__esModule", { + value: true + }); + const foo = require("foo"); + module.exports = foo; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-assign/output.cts b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-assign/output.cts index e642ef8d7dec..dc5b8b77802e 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-assign/output.cts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-assign/output.cts @@ -1,3 +1,6 @@ "use strict"; +Object.defineProperty(exports, "__esModule", { + value: true +}); const foo = require("foo"); module.exports = foo; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-assign/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-assign/output.umd.ts index 33922044464d..69ce3fce035c 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-assign/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-assign/output.umd.ts @@ -1,10 +1,14 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") module.exports = factory(require("foo")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "foo" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) module.exports = factory(global.foo); -})(this, function(_foo) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; - return _foo; + Object.defineProperty(exports, "__esModule", { + value: true + }); + const foo = require("foo"); + module.exports = foo; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-import/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-import/output.amd.ts index f13a6810770f..9f47466d42d0 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-import/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-import/output.amd.ts @@ -1,16 +1,10 @@ define([ "require", - "exports", - "foo" -], function(require, exports, _foo) { + "exports" +], function(require, exports1) { "use strict"; - Object.defineProperty(exports, "__esModule", { + Object.defineProperty(exports1, "__esModule", { value: true }); - Object.defineProperty(exports, "foo", { - enumerable: true, - get: function() { - return _foo; - } - }); + const foo = exports.foo = require("foo"); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-import/output.cts b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-import/output.cts index 6a27ca6eca4f..0f47a30c5279 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-import/output.cts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-import/output.cts @@ -2,4 +2,4 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.foo = require("foo"); +const foo = exports.foo = require("foo"); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-import/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-import/output.umd.ts index c59bd4242730..b9fb7c6fa407 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-import/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/export-import/output.umd.ts @@ -1,19 +1,13 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("foo")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "exports", - "foo" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo); -})(this, function(exports, _foo) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports1) { "use strict"; - Object.defineProperty(exports, "__esModule", { + Object.defineProperty(exports1, "__esModule", { value: true }); - Object.defineProperty(exports, "foo", { - enumerable: true, - get: function() { - return _foo; - } - }); + const foo = exports.foo = require("foo"); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/mixed/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/mixed/output.amd.ts index 14d4d77e592c..4eec0701af86 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/mixed/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/mixed/output.amd.ts @@ -7,7 +7,8 @@ define([ Object.defineProperty(exports, "__esModule", { value: true }); - const _foo1 = /*#__PURE__*/ _interop_require_default(_foo); - (0, _foo1.default)(); - _foo(); + _foo = /*#__PURE__*/ _interop_require_default(_foo); + const bar = require("foo"); + (0, _foo.default)(); + bar(); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/mixed/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/mixed/output.umd.ts index dfa010841664..103c853f28b7 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/mixed/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/cts-import-export/mixed/output.umd.ts @@ -10,7 +10,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); - const _foo1 = /*#__PURE__*/ _interop_require_default(_foo); - (0, _foo1.default)(); - _foo(); + _foo = /*#__PURE__*/ _interop_require_default(_foo); + const bar = require("foo"); + (0, _foo.default)(); + bar(); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/ignore-dynamic/1/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/ignore-dynamic/1/output.amd.js index 94f63082771c..e60d89883fa7 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/ignore-dynamic/1/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/ignore-dynamic/1/output.amd.js @@ -1,13 +1,11 @@ define([ "require", - "exports", - "foo" -], function(require, exports, _foo) { + "exports" +], function(require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _foo = /*#__PURE__*/ _interop_require_default(_foo); async function foo() { await import("foo"); callback(()=>import("foo")); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/ignore-dynamic/1/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/ignore-dynamic/1/output.cjs index 638af740f13d..489a8cd6d39e 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/ignore-dynamic/1/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/ignore-dynamic/1/output.cjs @@ -2,7 +2,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); -const _foo = /*#__PURE__*/ _interop_require_default(require("foo")); async function foo() { await import("foo"); callback(()=>import("foo")); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/ignore-dynamic/1/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/ignore-dynamic/1/output.umd.js index f84f8d5a15bc..21c526c3fa0c 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/ignore-dynamic/1/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/ignore-dynamic/1/output.umd.js @@ -1,16 +1,14 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("foo")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "exports", - "foo" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo); -})(this, function(exports, _foo) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _foo = /*#__PURE__*/ _interop_require_default(_foo); async function foo() { await import("foo"); callback(()=>import("foo")); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-glob/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-glob/output.amd.js index c744a948919f..9ef9840f8b9f 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-glob/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-glob/output.amd.js @@ -1,11 +1,9 @@ define([ "require", - "exports", - "foo" -], function(require, exports, _foo) { + "exports" +], function(require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _foo = /*#__PURE__*/ _interop_require_wildcard(_foo, true); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-glob/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-glob/output.cjs index 3e9e5e8e6fc9..b62a6d552c31 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-glob/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-glob/output.cjs @@ -2,4 +2,3 @@ Object.defineProperty(exports, "__esModule", { value: true }); -const _foo = /*#__PURE__*/ _interop_require_wildcard(require("foo"), true); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-glob/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-glob/output.umd.js index a0d04a76fdfa..912a624cc67a 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-glob/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-glob/output.umd.js @@ -1,14 +1,12 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("foo")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "exports", - "foo" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo); -})(this, function(exports, _foo) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _foo = /*#__PURE__*/ _interop_require_wildcard(_foo, true); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-ordering/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-ordering/output.amd.js index 62ce7d8b82a0..1ddc83f6847e 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-ordering/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-ordering/output.amd.js @@ -2,13 +2,10 @@ define([ "require", "exports", "./foo", - "./bar", - "./derp", - "./qux" -], function(require, exports, _foo, _bar, _derp, _qux) { + "./derp" +], function(require, exports, _foo, _derp) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _bar = _bar; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-ordering/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-ordering/output.cjs index 0ced927f8fe8..fe8dd9c60d6d 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-ordering/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-ordering/output.cjs @@ -3,6 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true }); require("./foo"); -const _bar = require("./bar"); require("./derp"); -const _qux = require("./qux"); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-ordering/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-ordering/output.umd.js index f9f2cf66bfc0..a012abe3423b 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-ordering/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/imports-ordering/output.umd.js @@ -1,17 +1,14 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("./foo"), require("./bar"), require("./derp"), require("./qux")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("./foo"), require("./derp")); else if (typeof define === "function" && define.amd) define([ "exports", "./foo", - "./bar", - "./derp", - "./qux" + "./derp" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo, global.bar, global.derp, global.qux); -})(this, function(exports, _foo, _bar, _derp, _qux) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo, global.derp); +})(this, function(exports, _foo, _derp) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _bar = _bar; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/overview/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/overview/output.amd.js index 75fad6a9d49b..3fa3b8558600 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/overview/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/overview/output.amd.js @@ -5,10 +5,9 @@ define([ "foo-bar", "./directory/foo-bar", "foo2", - "foo3", "foo4", "foo5" -], function(require, exports, _foo, _foobar, _foobar1, _foo2, _foo3, _foo4, _foo5) { +], function(require, exports, _foo, _foobar, _foobar1, _foo2, _foo4, _foo5) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true @@ -28,7 +27,6 @@ define([ } }); _foo2 = _foo2; - _foo3 = /*#__PURE__*/ _interop_require_wildcard(_foo3, true); var test; var test2 = 5; _foo4.bar; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/overview/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/overview/output.cjs index 7ea7387a6bb2..e1c526da4fe4 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/overview/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/overview/output.cjs @@ -24,7 +24,6 @@ require("foo"); require("foo-bar"); require("./directory/foo-bar"); const _foo2 = require("foo2"); -const _foo3 = /*#__PURE__*/ _interop_require_wildcard(require("foo3"), true); const _foo4 = require("foo4"); const _foo5 = require("foo5"); var test; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/overview/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/overview/output.umd.js index f6ef0c110633..27dda1f24b9a 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/overview/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop-node/overview/output.umd.js @@ -1,17 +1,16 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("foo"), require("foo-bar"), require("./directory/foo-bar"), require("foo2"), require("foo3"), require("foo4"), require("foo5")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("foo"), require("foo-bar"), require("./directory/foo-bar"), require("foo2"), require("foo4"), require("foo5")); else if (typeof define === "function" && define.amd) define([ "exports", "foo", "foo-bar", "./directory/foo-bar", "foo2", - "foo3", "foo4", "foo5" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo, global.fooBar, global.fooBar, global.foo2, global.foo3, global.foo4, global.foo5); -})(this, function(exports, _foo, _foobar, _foobar1, _foo2, _foo3, _foo4, _foo5) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo, global.fooBar, global.fooBar, global.foo2, global.foo4, global.foo5); +})(this, function(exports, _foo, _foobar, _foobar1, _foo2, _foo4, _foo5) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true @@ -31,7 +30,6 @@ } }); _foo2 = _foo2; - _foo3 = /*#__PURE__*/ _interop_require_wildcard(_foo3, true); var test; var test2 = 5; _foo4.bar; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-glob/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-glob/output.amd.js index 50c0de539791..9ef9840f8b9f 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-glob/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-glob/output.amd.js @@ -1,11 +1,9 @@ define([ "require", - "exports", - "foo" -], function(require, exports, _foo) { + "exports" +], function(require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _foo = /*#__PURE__*/ _interop_require_wildcard(_foo); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-glob/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-glob/output.cjs index 14d925afe7f2..b62a6d552c31 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-glob/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-glob/output.cjs @@ -2,4 +2,3 @@ Object.defineProperty(exports, "__esModule", { value: true }); -const _foo = /*#__PURE__*/ _interop_require_wildcard(require("foo")); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-glob/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-glob/output.umd.js index 410cbac665ba..912a624cc67a 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-glob/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-glob/output.umd.js @@ -1,14 +1,12 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("foo")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "exports", - "foo" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo); -})(this, function(exports, _foo) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _foo = /*#__PURE__*/ _interop_require_wildcard(_foo); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-ordering/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-ordering/output.amd.js index 03b76c84d8ca..1ddc83f6847e 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-ordering/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-ordering/output.amd.js @@ -2,13 +2,10 @@ define([ "require", "exports", "./foo", - "./bar", - "./derp", - "./qux" -], function(require, exports, _foo, _bar, _derp, _qux) { + "./derp" +], function(require, exports, _foo, _derp) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _bar = /*#__PURE__*/ _interop_require_default(_bar); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-ordering/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-ordering/output.cjs index d54269cf3df6..fe8dd9c60d6d 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-ordering/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-ordering/output.cjs @@ -3,6 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true }); require("./foo"); -const _bar = /*#__PURE__*/ _interop_require_default(require("./bar")); require("./derp"); -const _qux = require("./qux"); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-ordering/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-ordering/output.umd.js index 418b963f3939..a012abe3423b 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-ordering/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/imports-ordering/output.umd.js @@ -1,17 +1,14 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("./foo"), require("./bar"), require("./derp"), require("./qux")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("./foo"), require("./derp")); else if (typeof define === "function" && define.amd) define([ "exports", "./foo", - "./bar", - "./derp", - "./qux" + "./derp" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo, global.bar, global.derp, global.qux); -})(this, function(exports, _foo, _bar, _derp, _qux) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo, global.derp); +})(this, function(exports, _foo, _derp) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _bar = /*#__PURE__*/ _interop_require_default(_bar); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/overview/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/overview/output.amd.js index 2d53eedd83c0..f204a5d7f59a 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/overview/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/overview/output.amd.js @@ -5,10 +5,9 @@ define([ "foo-bar", "./directory/foo-bar", "foo2", - "foo3", "foo4", "foo5" -], function(require, exports, _foo, _foobar, _foobar1, _foo2, _foo3, _foo4, _foo5) { +], function(require, exports, _foo, _foobar, _foobar1, _foo2, _foo4, _foo5) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true @@ -28,7 +27,6 @@ define([ } }); _foo2 = /*#__PURE__*/ _interop_require_default(_foo2); - _foo3 = /*#__PURE__*/ _interop_require_wildcard(_foo3); var test; var test2 = 5; _foo4.bar; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/overview/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/overview/output.cjs index d2b6e047139e..0f25edd1774d 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/overview/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/overview/output.cjs @@ -20,7 +20,6 @@ require("foo"); require("foo-bar"); require("./directory/foo-bar"); const _foo2 = /*#__PURE__*/ _interop_require_default(require("foo2")); -const _foo3 = /*#__PURE__*/ _interop_require_wildcard(require("foo3")); const _foo4 = require("foo4"); const _foo5 = require("foo5"); var test; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/overview/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/overview/output.umd.js index 9a29cb9861e8..30833b76f8f2 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/interop/overview/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/interop/overview/output.umd.js @@ -1,17 +1,16 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("foo"), require("foo-bar"), require("./directory/foo-bar"), require("foo2"), require("foo3"), require("foo4"), require("foo5")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("foo"), require("foo-bar"), require("./directory/foo-bar"), require("foo2"), require("foo4"), require("foo5")); else if (typeof define === "function" && define.amd) define([ "exports", "foo", "foo-bar", "./directory/foo-bar", "foo2", - "foo3", "foo4", "foo5" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo, global.fooBar, global.fooBar, global.foo2, global.foo3, global.foo4, global.foo5); -})(this, function(exports, _foo, _foobar, _foobar1, _foo2, _foo3, _foo4, _foo5) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo, global.fooBar, global.fooBar, global.foo2, global.foo4, global.foo5); +})(this, function(exports, _foo, _foobar, _foobar1, _foo2, _foo4, _foo5) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true @@ -31,7 +30,6 @@ } }); _foo2 = /*#__PURE__*/ _interop_require_default(_foo2); - _foo3 = /*#__PURE__*/ _interop_require_wildcard(_foo3); var test; var test2 = 5; _foo4.bar; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1480/2/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1480/2/output.amd.js index b6dc8ef83bb0..9ef9840f8b9f 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1480/2/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1480/2/output.amd.js @@ -1,11 +1,9 @@ define([ "require", - "exports", - "ora" -], function(require, exports, _ora) { + "exports" +], function(require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _ora = /*#__PURE__*/ _interop_require_wildcard(_ora); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1480/2/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1480/2/output.cjs index 619f917c6a05..b62a6d552c31 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1480/2/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1480/2/output.cjs @@ -2,4 +2,3 @@ Object.defineProperty(exports, "__esModule", { value: true }); -const _ora = /*#__PURE__*/ _interop_require_wildcard(require("ora")); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1480/2/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1480/2/output.umd.js index 8ce699f779d3..912a624cc67a 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1480/2/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1480/2/output.umd.js @@ -1,14 +1,12 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("ora")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "exports", - "ora" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.ora); -})(this, function(exports, _ora) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _ora = /*#__PURE__*/ _interop_require_wildcard(_ora); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1686/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1686/output.amd.ts index 5ba04db2c54b..843601ef02cd 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1686/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1686/output.amd.ts @@ -1,9 +1,7 @@ define([ "require", - "exports", - "a", - "b" -], function(require, exports, _a, _b) { + "exports" +], function(require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1686/output.cts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1686/output.cts index e4f064b69bf4..13efd0de4e2b 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1686/output.cts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1686/output.cts @@ -2,6 +2,5 @@ Object.defineProperty(exports, "__esModule", { value: true }); -const A = require("a"); // print a console.log(1); -const B = require("b"); // print b + // print b diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1686/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1686/output.umd.ts index b6b3c11014ea..d81597a63c11 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1686/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1686/output.umd.ts @@ -1,12 +1,10 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("a"), require("b")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "exports", - "a", - "b" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.a, global.b); -})(this, function(exports, _a, _b) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1786/1/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1786/1/output.amd.js index 563d5aa71539..89d001f04e79 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1786/1/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1786/1/output.amd.js @@ -13,5 +13,4 @@ define([ return _foo.Foo; } }); - _foo = /*#__PURE__*/ _interop_require_wildcard(_foo); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1786/1/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1786/1/output.cjs index d649f4e2e28a..15685d3515d6 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1786/1/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1786/1/output.cjs @@ -8,4 +8,4 @@ Object.defineProperty(exports, "Foo", { return _foo.Foo; } }); -const _foo = /*#__PURE__*/ _interop_require_wildcard(require("foo")); +const _foo = require("foo"); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1786/1/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1786/1/output.umd.js index f4005a7a6b56..73f4ca6c30ef 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1786/1/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-1786/1/output.umd.js @@ -16,5 +16,4 @@ return _foo.Foo; } }); - _foo = /*#__PURE__*/ _interop_require_wildcard(_foo); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4456/1/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4456/1/output.amd.ts index 79823a781b99..534d427995a5 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4456/1/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4456/1/output.amd.ts @@ -34,9 +34,6 @@ define([ } }); _styled = /*#__PURE__*/ _interop_require_default(_styled); - interface IStyledProp { - className?: string; - } const breakpoints = _breakpoints.breakpoinstUtils; const styled = _styled.default; const _default = styled; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4456/1/output.cts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4456/1/output.cts index 628b9758d0bf..f7b0d4f3e046 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4456/1/output.cts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4456/1/output.cts @@ -29,9 +29,6 @@ require("."); const _styled = /*#__PURE__*/ _interop_require_default(require("@emotion/styled")); const _breakpoints = require("@eduzz/houston-tokens/variables/breakpoints"); const _css = require("@emotion/css"); -interface IStyledProp { - className?: string; -} const breakpoints = _breakpoints.breakpoinstUtils; const styled = _styled.default; const _default = styled; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4456/1/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4456/1/output.umd.ts index 9148896c8104..aac4d431c3dd 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4456/1/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4456/1/output.umd.ts @@ -37,9 +37,6 @@ } }); _styled = /*#__PURE__*/ _interop_require_default(_styled); - interface IStyledProp { - className?: string; - } const breakpoints = _breakpoints.breakpoinstUtils; const styled = _styled.default; const _default = styled; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/1/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/1/output.amd.js index c1b3f7ff507a..68f9f3bc2442 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/1/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/1/output.amd.js @@ -1,8 +1,7 @@ define([ "require", - "exports", - "path" -], function(require, exports, _path) { + "exports" +], function(require, exports) { "use strict"; Object.defineProperty(exports, "foo", { enumerable: true, diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/1/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/1/output.cjs index 1882d7a77fe6..66ebb30c96f4 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/1/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/1/output.cjs @@ -5,7 +5,6 @@ Object.defineProperty(exports, "foo", { return foo; } }); -const _path = require("path"); const foo = function() { function e(t) {} return A(e, {}), e; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/1/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/1/output.umd.js index 9922d3e4d011..9e07bebb92c6 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/1/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/1/output.umd.js @@ -1,11 +1,10 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("path")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "exports", - "path" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.path); -})(this, function(exports, _path) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; Object.defineProperty(exports, "foo", { enumerable: true, diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/2/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/2/output.amd.js index 43a98cb51b3a..86ee35b6532d 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/2/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/2/output.amd.js @@ -1,8 +1,7 @@ define([ "require", - "exports", - "path" -], function(require, exports, _path) { + "exports" +], function(require, exports) { "use strict"; Object.defineProperty(exports, "foo", { enumerable: true, diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/2/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/2/output.cjs index 65d8d7084676..b16d265146a9 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/2/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/2/output.cjs @@ -5,7 +5,6 @@ Object.defineProperty(exports, "foo", { return foo; } }); -const _path = require("path"); const foo = function() { var e = 1; return A(e, {}), e; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/2/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/2/output.umd.js index 68805163d28c..757131559342 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/2/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-456/2/output.umd.js @@ -1,11 +1,10 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("path")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "exports", - "path" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.path); -})(this, function(exports, _path) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; Object.defineProperty(exports, "foo", { enumerable: true, diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4864/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4864/output.amd.ts index 3d89797c0165..323ad31f41c0 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4864/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4864/output.amd.ts @@ -60,7 +60,7 @@ define([ } }); const SETs = { - [_ST.S_E_T]: _ST.S_E_T as typeof SSET + [_ST.S_E_T]: _ST.S_E_T }; const SI = { [SETs[_ST.S_E_T]]: _SS.SI diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4864/output.cts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4864/output.cts index ae5578248aa0..ccad19dd59b8 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4864/output.cts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4864/output.cts @@ -92,7 +92,7 @@ function _SDUs() { return data; } const SETs = { - [_ST().S_E_T]: _ST().S_E_T as typeof SSET + [_ST().S_E_T]: _ST().S_E_T }; const SI = { [SETs[_ST().S_E_T]]: _SS().SI diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4864/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4864/output.umd.ts index 223c0088c808..8f6a15bf3ded 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4864/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4864/output.umd.ts @@ -63,7 +63,7 @@ } }); const SETs = { - [_ST.S_E_T]: _ST.S_E_T as typeof SSET + [_ST.S_E_T]: _ST.S_E_T }; const SI = { [SETs[_ST.S_E_T]]: _SS.SI diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/1/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/1/output.amd.ts index d9079d463a80..aad6c13cbdbd 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/1/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/1/output.amd.ts @@ -1,11 +1,11 @@ define([ "require", - "exports", - "assert" -], function(require, exports, _assert) { + "exports" +], function(require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _assert(true); + const assert = require("assert"); + assert(true); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/1/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/1/output.umd.ts index 35356e2f1a9c..2245e16a64c0 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/1/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/1/output.umd.ts @@ -1,14 +1,14 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("assert")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "exports", - "assert" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.assert); -})(this, function(exports, _assert) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _assert(true); + const assert = require("assert"); + assert(true); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/2/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/2/output.amd.ts index 648feccfc59d..73b07bec1280 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/2/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/2/output.amd.ts @@ -7,7 +7,8 @@ define([ Object.defineProperty(exports, "__esModule", { value: true }); - const _assert1 = /*#__PURE__*/ _interop_require_default(_assert); - _assert(true); - (0, _assert1.default)(true); + _assert = /*#__PURE__*/ _interop_require_default(_assert); + const assert = require("assert"); + assert(true); + (0, _assert.default)(true); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/2/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/2/output.umd.ts index 11aeca6903ab..8cb9a889e87f 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/2/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-4898/2/output.umd.ts @@ -10,7 +10,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); - const _assert1 = /*#__PURE__*/ _interop_require_default(_assert); - _assert(true); - (0, _assert1.default)(true); + _assert = /*#__PURE__*/ _interop_require_default(_assert); + const assert = require("assert"); + assert(true); + (0, _assert.default)(true); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/1/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/1/output.amd.ts index fc552dff6680..9491d7fe8f75 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/1/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/1/output.amd.ts @@ -1,25 +1,17 @@ define([ "require", - "exports", - "jquery" -], function(require, exports, _jquery) { + "exports" +], function(require, exports1) { "use strict"; - Object.defineProperty(exports, "__esModule", { + Object.defineProperty(exports1, "__esModule", { value: true }); - function _export(target, all) { - for(var name in all)Object.defineProperty(target, name, { - enumerable: true, - get: all[name] - }); - } - _export(exports, { - $: function() { - return _jquery; - }, - jquery: function() { - return _jquery; + Object.defineProperty(exports1, "jquery", { + enumerable: true, + get: function() { + return $; } }); - _jquery(".hello"); + const $ = exports.$ = require("jquery"); + $(".hello"); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/1/output.cts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/1/output.cts index f88d2356a090..3e79e7443feb 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/1/output.cts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/1/output.cts @@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, "jquery", { enumerable: true, get: function() { - return exports.$; + return $; } }); -exports.$ = require("jquery"); -(0, exports.$)(".hello"); +const $ = exports.$ = require("jquery"); +$(".hello"); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/1/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/1/output.umd.ts index cb81987734a7..f30de3343956 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/1/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/1/output.umd.ts @@ -1,28 +1,20 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("jquery")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "exports", - "jquery" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.jquery); -})(this, function(exports, _jquery) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports1) { "use strict"; - Object.defineProperty(exports, "__esModule", { + Object.defineProperty(exports1, "__esModule", { value: true }); - function _export(target, all) { - for(var name in all)Object.defineProperty(target, name, { - enumerable: true, - get: all[name] - }); - } - _export(exports, { - $: function() { - return _jquery; - }, - jquery: function() { - return _jquery; + Object.defineProperty(exports1, "jquery", { + enumerable: true, + get: function() { + return $; } }); - _jquery(".hello"); + const $ = exports.$ = require("jquery"); + $(".hello"); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/2/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/2/output.amd.ts index 49523228ced3..da46b4703c87 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/2/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/2/output.amd.ts @@ -1,9 +1,13 @@ define([ "require", - "foo" -], function(require, _foo) { + "exports" +], function(require, exports) { "use strict"; - _foo.bar = 1; - _foo.bar = 2; - return _foo; + Object.defineProperty(exports, "__esModule", { + value: true + }); + const foo = require("foo"); + foo.bar = 1; + foo.bar = 2; + module.exports = foo; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/2/output.cts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/2/output.cts index 4cc5fe3da901..bcc6da9507ed 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/2/output.cts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/2/output.cts @@ -1,4 +1,7 @@ "use strict"; +Object.defineProperty(exports, "__esModule", { + value: true +}); const foo = require("foo"); foo.bar = 1; foo.bar = 2; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/2/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/2/output.umd.ts index afd50cda083c..25d8e5a71bcf 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/2/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-5042/2/output.umd.ts @@ -1,12 +1,16 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") module.exports = factory(require("foo")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "foo" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) module.exports = factory(global.foo); -})(this, function(_foo) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; - _foo.bar = 1; - _foo.bar = 2; - return _foo; + Object.defineProperty(exports, "__esModule", { + value: true + }); + const foo = require("foo"); + foo.bar = 1; + foo.bar = 2; + module.exports = foo; }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-578/2/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-578/2/output.amd.js index 3c48673a9264..beee97b8748c 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-578/2/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-578/2/output.amd.js @@ -1,8 +1,7 @@ define([ "require", - "exports", - "./dep.js" -], function(require, exports, _dep) { + "exports" +], function(require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true @@ -12,7 +11,7 @@ define([ this.props = properties; } call() { - const { myFunction } = this.props; + const { myFunction } = this.props; if (myFunction) { myFunction(); } else { diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-578/2/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-578/2/output.cjs index 3a99e2156604..df503cce29e1 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-578/2/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-578/2/output.cjs @@ -2,13 +2,12 @@ Object.defineProperty(exports, "__esModule", { value: true }); -const _dep = require("./dep.js"); class SomeClass { constructor(properties){ this.props = properties; } call() { - const { myFunction } = this.props; + const { myFunction } = this.props; if (myFunction) { myFunction(); } else { diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-578/2/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-578/2/output.umd.js index 5ca019977e70..a1267a9c1a43 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-578/2/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-578/2/output.umd.js @@ -1,11 +1,10 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("./dep.js")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "exports", - "./dep.js" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.depJs); -})(this, function(exports, _dep) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true @@ -15,7 +14,7 @@ this.props = properties; } call() { - const { myFunction } = this.props; + const { myFunction } = this.props; if (myFunction) { myFunction(); } else { diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-724/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-724/output.amd.js index cfc59ae546d4..8f69cba6df5e 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-724/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-724/output.amd.js @@ -1,7 +1,6 @@ define([ - "require", - "mongodb" -], function(require, _mongodb) { + "require" +], function(require) { "use strict"; require("foo"); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-724/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-724/output.cjs index 7ea92822910a..965045600903 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-724/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-724/output.cjs @@ -1,3 +1,2 @@ "use strict"; -const _mongodb = require("mongodb"); require("foo"); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-724/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-724/output.umd.js index 2fe7d28e81de..73ef42ea1d6b 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-724/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-724/output.umd.js @@ -1,10 +1,8 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(require("mongodb")); - else if (typeof define === "function" && define.amd) define([ - "mongodb" - ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.mongodb); -})(this, function(_mongodb) { + if (typeof module === "object" && typeof module.exports === "object") factory(); + else if (typeof define === "function" && define.amd) define([], factory); + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(); +})(this, function() { "use strict"; require("foo"); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-895/output.amd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-895/output.amd.ts index 81bd7667bc84..81631d280a5e 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-895/output.amd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-895/output.amd.ts @@ -13,7 +13,7 @@ define([ return setup; } }); - function setup(url: string, obj: any) { + function setup(url, obj) { const _queryString = (0, _url.queryString)(obj); const _url1 = url + "?" + _queryString; return _url1; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-895/output.cts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-895/output.cts index a6dad1afe441..a154288c66ea 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-895/output.cts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-895/output.cts @@ -9,7 +9,7 @@ Object.defineProperty(exports, "setup", { } }); const _url = require("./url"); -function setup(url: string, obj: any) { +function setup(url, obj) { const _queryString = (0, _url.queryString)(obj); const _url1 = url + "?" + _queryString; return _url1; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-895/output.umd.ts b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-895/output.umd.ts index 77409b964958..24c54d05fced 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/issue-895/output.umd.ts +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/issue-895/output.umd.ts @@ -16,7 +16,7 @@ return setup; } }); - function setup(url: string, obj: any) { + function setup(url, obj) { const _queryString = (0, _url.queryString)(obj); const _url1 = url + "?" + _queryString; return _url1; diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/misc/import-const-throw/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/misc/import-const-throw/output.amd.js index 3886e9ffd735..e31df1a17f0c 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/misc/import-const-throw/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/misc/import-const-throw/output.amd.js @@ -1,23 +1,18 @@ define([ "require", - "exports", - "foo", - "bar", - "baz" -], function(require, exports, _foo, _bar, _baz) { + "exports" +], function(require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _foo = /*#__PURE__*/ _interop_require_default(_foo); - _bar = /*#__PURE__*/ _interop_require_wildcard(_bar); Foo = 42; Bar = 43; Baz = 44; - ({ Foo } = {}); - ({ Bar } = {}); - ({ Baz } = {}); - ({ prop: Foo } = {}); - ({ prop: Bar } = {}); - ({ prop: Baz } = {}); + ({ Foo } = {}); + ({ Bar } = {}); + ({ Baz } = {}); + ({ prop: Foo } = {}); + ({ prop: Bar } = {}); + ({ prop: Baz } = {}); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/misc/import-const-throw/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/misc/import-const-throw/output.cjs index 55625de827f7..22375846774e 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/misc/import-const-throw/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/misc/import-const-throw/output.cjs @@ -2,15 +2,12 @@ Object.defineProperty(exports, "__esModule", { value: true }); -const _foo = /*#__PURE__*/ _interop_require_default(require("foo")); -const _bar = /*#__PURE__*/ _interop_require_wildcard(require("bar")); -const _baz = require("baz"); Foo = 42; Bar = 43; Baz = 44; -({ Foo } = {}); -({ Bar } = {}); -({ Baz } = {}); -({ prop: Foo } = {}); -({ prop: Bar } = {}); -({ prop: Baz } = {}); +({ Foo } = {}); +({ Bar } = {}); +({ Baz } = {}); +({ prop: Foo } = {}); +({ prop: Bar } = {}); +({ prop: Baz } = {}); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/misc/import-const-throw/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/misc/import-const-throw/output.umd.js index 4c88bf54ca0b..7126239621d5 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/misc/import-const-throw/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/misc/import-const-throw/output.umd.js @@ -1,26 +1,21 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("foo"), require("bar"), require("baz")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "exports", - "foo", - "bar", - "baz" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo, global.bar, global.baz); -})(this, function(exports, _foo, _bar, _baz) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - _foo = /*#__PURE__*/ _interop_require_default(_foo); - _bar = /*#__PURE__*/ _interop_require_wildcard(_bar); Foo = 42; Bar = 43; Baz = 44; - ({ Foo } = {}); - ({ Bar } = {}); - ({ Baz } = {}); - ({ prop: Foo } = {}); - ({ prop: Bar } = {}); - ({ prop: Baz } = {}); + ({ Foo } = {}); + ({ Bar } = {}); + ({ Baz } = {}); + ({ prop: Foo } = {}); + ({ prop: Bar } = {}); + ({ prop: Baz } = {}); }); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/strict/export-3/output.amd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/strict/export-3/output.amd.js index ff2bfa7b5646..9ef9840f8b9f 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/strict/export-3/output.amd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/strict/export-3/output.amd.js @@ -1,8 +1,7 @@ define([ "require", - "exports", - "foo" -], function(require, exports, _foo) { + "exports" +], function(require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/strict/export-3/output.cjs b/crates/swc_ecma_transforms_module/tests/fixture/common/strict/export-3/output.cjs index 43930bc84252..b62a6d552c31 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/strict/export-3/output.cjs +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/strict/export-3/output.cjs @@ -2,4 +2,3 @@ Object.defineProperty(exports, "__esModule", { value: true }); -require("foo"); diff --git a/crates/swc_ecma_transforms_module/tests/fixture/common/strict/export-3/output.umd.js b/crates/swc_ecma_transforms_module/tests/fixture/common/strict/export-3/output.umd.js index 713290653750..912a624cc67a 100644 --- a/crates/swc_ecma_transforms_module/tests/fixture/common/strict/export-3/output.umd.js +++ b/crates/swc_ecma_transforms_module/tests/fixture/common/strict/export-3/output.umd.js @@ -1,11 +1,10 @@ (function(global, factory) { - if (typeof module === "object" && typeof module.exports === "object") factory(exports, require("foo")); + if (typeof module === "object" && typeof module.exports === "object") factory(exports); else if (typeof define === "function" && define.amd) define([ - "exports", - "foo" + "exports" ], factory); - else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}, global.foo); -})(this, function(exports, _foo) { + else if (global = typeof globalThis !== "undefined" ? globalThis : global || self) factory(global.input = {}); +})(this, function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true diff --git a/crates/swc_ecma_transforms_module/tests/umd.rs b/crates/swc_ecma_transforms_module/tests/umd.rs index 81279817fd40..8024ccdd8b11 100644 --- a/crates/swc_ecma_transforms_module/tests/umd.rs +++ b/crates/swc_ecma_transforms_module/tests/umd.rs @@ -5,6 +5,7 @@ use swc_ecma_parser::{Syntax, TsSyntax}; use swc_ecma_transforms_base::{feature::FeatureFlag, resolver}; use swc_ecma_transforms_module::umd::{umd, Config}; use swc_ecma_transforms_testing::{test_fixture, Tester}; +use swc_ecma_transforms_typescript::typescript; use swc_ecma_visit::Fold; fn syntax() -> Syntax { @@ -23,6 +24,7 @@ fn tr(tester: &mut Tester<'_>, config: Config, typescript: bool) -> impl Fold { chain!( resolver(unresolved_mark, top_level_mark, typescript), + typescript::typescript(Default::default(), unresolved_mark, top_level_mark), umd( tester.cm.clone(), unresolved_mark, diff --git a/crates/swc_ecma_transforms_optimization/src/const_modules.rs b/crates/swc_ecma_transforms_optimization/src/const_modules.rs index a6b39e95237a..7b87ded09af5 100644 --- a/crates/swc_ecma_transforms_optimization/src/const_modules.rs +++ b/crates/swc_ecma_transforms_optimization/src/const_modules.rs @@ -17,7 +17,7 @@ use swc_common::{ use swc_ecma_ast::*; use swc_ecma_parser::parse_file_as_expr; use swc_ecma_utils::drop_span; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; pub fn const_modules( cm: Lrc, @@ -93,7 +93,7 @@ struct Scope { } impl VisitMut for ConstModules { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_module_items(&mut self, n: &mut Vec) { *n = n.take().move_flat_map(|item| match item { diff --git a/crates/swc_ecma_transforms_optimization/src/debug.rs b/crates/swc_ecma_transforms_optimization/src/debug.rs index 221e9d3e223d..f9b14f567ab5 100644 --- a/crates/swc_ecma_transforms_optimization/src/debug.rs +++ b/crates/swc_ecma_transforms_optimization/src/debug.rs @@ -3,7 +3,7 @@ use std::{fmt::Debug, mem::forget}; use swc_ecma_ast::*; -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; +use swc_ecma_visit::{noop_visit_type, standard_only_visit, Visit, VisitWith}; /// Assert in debug mode. This is noop in release build. pub fn debug_assert_valid(node: &N) @@ -29,7 +29,7 @@ impl Drop for Ctx<'_> { pub struct AssertValid; impl Visit for AssertValid { - noop_visit_type!(); + standard_only_visit!(); #[cfg(debug_assertions)] fn visit_expr(&mut self, n: &Expr) { diff --git a/crates/swc_ecma_transforms_optimization/src/inline_globals.rs b/crates/swc_ecma_transforms_optimization/src/inline_globals.rs index 4d56f737b428..814049416dfd 100644 --- a/crates/swc_ecma_transforms_optimization/src/inline_globals.rs +++ b/crates/swc_ecma_transforms_optimization/src/inline_globals.rs @@ -6,7 +6,7 @@ use swc_common::{ use swc_ecma_ast::*; use swc_ecma_transforms_base::perf::{ParVisitMut, Parallel}; use swc_ecma_utils::{collect_decls, parallel::cpu_count, NodeIgnoringSpan}; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; /// The key will be compared using [EqIgnoreSpan::eq_ignore_span], and matched /// expressions will be replaced with the value. @@ -63,7 +63,7 @@ impl Parallel for InlineGlobals { } impl VisitMut for InlineGlobals { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_expr(&mut self, expr: &mut Expr) { if let Expr::Ident(Ident { ref sym, span, .. }) = expr { diff --git a/crates/swc_ecma_transforms_optimization/src/json_parse.rs b/crates/swc_ecma_transforms_optimization/src/json_parse.rs index e873f59e9704..c201743116f7 100644 --- a/crates/swc_ecma_transforms_optimization/src/json_parse.rs +++ b/crates/swc_ecma_transforms_optimization/src/json_parse.rs @@ -3,7 +3,7 @@ use swc_common::{util::take::Take, Spanned, DUMMY_SP}; use swc_ecma_ast::*; use swc_ecma_transforms_base::perf::Parallel; use swc_ecma_utils::{calc_literal_cost, member_expr, ExprFactory}; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; /// Transform to optimize performance of literals. /// @@ -52,7 +52,7 @@ impl Default for JsonParse { } impl VisitMut for JsonParse { - noop_visit_mut_type!(); + standard_only_visit_mut!(); /// Handles parent expressions before child expressions. fn visit_mut_expr(&mut self, expr: &mut Expr) { diff --git a/crates/swc_ecma_transforms_optimization/src/simplify/branch/mod.rs b/crates/swc_ecma_transforms_optimization/src/simplify/branch/mod.rs index a49daf5ce1a8..5528d121e44f 100644 --- a/crates/swc_ecma_transforms_optimization/src/simplify/branch/mod.rs +++ b/crates/swc_ecma_transforms_optimization/src/simplify/branch/mod.rs @@ -15,7 +15,8 @@ use swc_ecma_utils::{ StmtExt, StmtLike, Value::Known, }; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, noop_visit_type, Visit, VisitMut, VisitMutWith, VisitWith, + as_folder, standard_only_visit, standard_only_visit_mut, Visit, VisitMut, VisitMutWith, + VisitWith, }; use tracing::{debug, trace}; @@ -72,7 +73,7 @@ impl Parallel for Remover { } impl VisitMut for Remover { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_array_pat(&mut self, p: &mut ArrayPat) { p.visit_mut_children_with(self); @@ -1903,7 +1904,7 @@ fn check_for_stopper(s: &[Stmt], only_conditional: bool) -> bool { } impl Visit for Visitor { - noop_visit_type!(); + standard_only_visit!(); fn visit_switch_case(&mut self, node: &SwitchCase) { let old = self.in_cond; diff --git a/crates/swc_ecma_transforms_optimization/src/simplify/const_propagation.rs b/crates/swc_ecma_transforms_optimization/src/simplify/const_propagation.rs index 5ba610926ff0..03eb78800625 100644 --- a/crates/swc_ecma_transforms_optimization/src/simplify/const_propagation.rs +++ b/crates/swc_ecma_transforms_optimization/src/simplify/const_propagation.rs @@ -2,7 +2,7 @@ use swc_common::{collections::AHashMap, util::take::Take}; use swc_ecma_ast::*; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, Fold, VisitMut, VisitMutWith}; /// This pass is kind of inliner, but it's far faster. pub fn constant_propagation() -> impl 'static + Fold + VisitMut { @@ -38,7 +38,7 @@ impl<'a> Scope<'a> { } impl VisitMut for ConstPropagation<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); /// No-op fn visit_mut_assign_expr(&mut self, _: &mut AssignExpr) {} diff --git a/crates/swc_ecma_transforms_optimization/src/simplify/dce/mod.rs b/crates/swc_ecma_transforms_optimization/src/simplify/dce/mod.rs index 9cfb4a5736f0..71e39bd336dc 100644 --- a/crates/swc_ecma_transforms_optimization/src/simplify/dce/mod.rs +++ b/crates/swc_ecma_transforms_optimization/src/simplify/dce/mod.rs @@ -19,7 +19,8 @@ use swc_ecma_utils::{ collect_decls, find_pat_ids, ExprCtx, ExprExt, IsEmpty, ModuleItemLike, StmtLike, }; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, noop_visit_type, Fold, Visit, VisitMut, VisitMutWith, VisitWith, + as_folder, standard_only_visit, standard_only_visit_mut, Fold, Visit, VisitMut, VisitMutWith, + VisitWith, }; use swc_fast_graph::digraph::FastDiGraphMap; use tracing::{debug, span, Level}; @@ -355,7 +356,7 @@ impl Analyzer<'_> { } impl Visit for Analyzer<'_> { - noop_visit_type!(); + standard_only_visit!(); fn visit_callee(&mut self, n: &Callee) { n.visit_children_with(self); @@ -658,7 +659,7 @@ impl TreeShaker { } impl VisitMut for TreeShaker { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_assign_expr(&mut self, n: &mut AssignExpr) { n.visit_mut_children_with(self); diff --git a/crates/swc_ecma_transforms_optimization/src/simplify/expr/mod.rs b/crates/swc_ecma_transforms_optimization/src/simplify/expr/mod.rs index 2712e478dc98..cbe8e3253318 100644 --- a/crates/swc_ecma_transforms_optimization/src/simplify/expr/mod.rs +++ b/crates/swc_ecma_transforms_optimization/src/simplify/expr/mod.rs @@ -16,7 +16,7 @@ use swc_ecma_utils::{ is_literal, prop_name_eq, to_int32, BoolType, ExprCtx, ExprExt, NullType, NumberType, ObjectType, StringType, SymbolType, UndefinedType, Value, }; -use swc_ecma_visit::{as_folder, noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{as_folder, standard_only_visit_mut, VisitMut, VisitMutWith}; use Value::{Known, Unknown}; use crate::debug::debug_assert_valid; @@ -1226,7 +1226,7 @@ impl SimplifyExpr { } impl VisitMut for SimplifyExpr { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_assign_expr(&mut self, n: &mut AssignExpr) { let old = self.is_modifying; diff --git a/crates/swc_ecma_transforms_optimization/src/simplify/inlining/mod.rs b/crates/swc_ecma_transforms_optimization/src/simplify/inlining/mod.rs index 994595d62c46..385f0e2bb13b 100644 --- a/crates/swc_ecma_transforms_optimization/src/simplify/inlining/mod.rs +++ b/crates/swc_ecma_transforms_optimization/src/simplify/inlining/mod.rs @@ -8,8 +8,8 @@ use swc_ecma_ast::*; use swc_ecma_transforms_base::{pass::RepeatedJsPass, scope::IdentType}; use swc_ecma_utils::{contains_this_expr, find_pat_ids}; use swc_ecma_visit::{ - as_folder, noop_visit_mut_type, noop_visit_type, visit_obj_and_computed, Visit, VisitMut, - VisitMutWith, VisitWith, + as_folder, standard_only_visit, standard_only_visit_mut, visit_obj_and_computed, Visit, + VisitMut, VisitMutWith, VisitWith, }; use tracing::{span, Level}; @@ -103,7 +103,7 @@ impl Inlining<'_> { } impl VisitMut for Inlining<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_arrow_expr(&mut self, node: &mut ArrowExpr) { self.visit_with_child(ScopeKind::Fn { named: false }, node) @@ -744,7 +744,7 @@ struct IdentListVisitor<'a, 'b> { } impl Visit for IdentListVisitor<'_, '_> { - noop_visit_type!(); + standard_only_visit!(); visit_obj_and_computed!(); @@ -759,7 +759,7 @@ struct WriteVisitor<'a, 'b> { } impl Visit for WriteVisitor<'_, '_> { - noop_visit_type!(); + standard_only_visit!(); visit_obj_and_computed!(); diff --git a/crates/swc_ecma_transforms_optimization/tests/__swc_snapshots__/tests/simplify_dce.rs/issue_1150_1.js b/crates/swc_ecma_transforms_optimization/tests/__swc_snapshots__/tests/simplify_dce.rs/issue_1150_1.js index 8e3efc894c5f..edb596654fc1 100644 --- a/crates/swc_ecma_transforms_optimization/tests/__swc_snapshots__/tests/simplify_dce.rs/issue_1150_1.js +++ b/crates/swc_ecma_transforms_optimization/tests/__swc_snapshots__/tests/simplify_dce.rs/issue_1150_1.js @@ -1,5 +1,5 @@ class A { - constructor(o: AOptions = {}){ + constructor(o = {}){ const { a = defaultA, c } = o; this.#a = a; this.#c = c; diff --git a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/property/input.js b/crates/swc_ecma_transforms_optimization/tests/dce-jsx/property/input.js deleted file mode 100644 index d69b17010155..000000000000 --- a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/property/input.js +++ /dev/null @@ -1,7 +0,0 @@ -function A() { - return "a"; -} -const b = "b"; -export function c() { - return ; -} diff --git a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/property/output.js b/crates/swc_ecma_transforms_optimization/tests/dce-jsx/property/output.js deleted file mode 100644 index dcc099a5ba65..000000000000 --- a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/property/output.js +++ /dev/null @@ -1,6 +0,0 @@ -function A() { - return "a"; -} -export function c() { - return ; -} diff --git a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/property2/input.js b/crates/swc_ecma_transforms_optimization/tests/dce-jsx/property2/input.js deleted file mode 100644 index 450635316d53..000000000000 --- a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/property2/input.js +++ /dev/null @@ -1,8 +0,0 @@ -function A() { - return "a"; -} -const b = "b"; -const c = "c"; -export function d() { - return ; -} diff --git a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/property2/output.js b/crates/swc_ecma_transforms_optimization/tests/dce-jsx/property2/output.js deleted file mode 100644 index ef1f791b5cf2..000000000000 --- a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/property2/output.js +++ /dev/null @@ -1,6 +0,0 @@ -function A() { - return "a"; -} -export function d() { - return ; -} diff --git a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/spread/input.js b/crates/swc_ecma_transforms_optimization/tests/dce-jsx/spread/input.js deleted file mode 100644 index a5ee2839c7e8..000000000000 --- a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/spread/input.js +++ /dev/null @@ -1,8 +0,0 @@ -function A() { - return "a"; -} -const b = "b"; -const c = "c"; -export function d() { - return {c}; -} diff --git a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/spread/output.js b/crates/swc_ecma_transforms_optimization/tests/dce-jsx/spread/output.js deleted file mode 100644 index a5ee2839c7e8..000000000000 --- a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/spread/output.js +++ /dev/null @@ -1,8 +0,0 @@ -function A() { - return "a"; -} -const b = "b"; -const c = "c"; -export function d() { - return {c}; -} diff --git a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/var/input.js b/crates/swc_ecma_transforms_optimization/tests/dce-jsx/var/input.js deleted file mode 100644 index 819e09994e12..000000000000 --- a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/var/input.js +++ /dev/null @@ -1,8 +0,0 @@ -function A() { - return "a"; -} -const b = "b"; -const c = "c"; -export function d() { - return {c}; -} diff --git a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/var/output.js b/crates/swc_ecma_transforms_optimization/tests/dce-jsx/var/output.js deleted file mode 100644 index 819e09994e12..000000000000 --- a/crates/swc_ecma_transforms_optimization/tests/dce-jsx/var/output.js +++ /dev/null @@ -1,8 +0,0 @@ -function A() { - return "a"; -} -const b = "b"; -const c = "c"; -export function d() { - return {c}; -} diff --git a/crates/swc_ecma_transforms_optimization/tests/fixture.rs b/crates/swc_ecma_transforms_optimization/tests/fixture.rs index 9ecb1adb07f0..3576f0fa1b44 100644 --- a/crates/swc_ecma_transforms_optimization/tests/fixture.rs +++ b/crates/swc_ecma_transforms_optimization/tests/fixture.rs @@ -54,23 +54,6 @@ fn dce_repeated(input: PathBuf) { ); } -#[testing::fixture("tests/dce-jsx/**/input.js")] -fn dce_jsx(input: PathBuf) { - let output = input.with_file_name("output.js"); - - test_fixture( - Syntax::Es(EsSyntax { - decorators: true, - jsx: true, - ..Default::default() - }), - &|t| chain!(remover(t), dce(Default::default(), Mark::new())), - &input, - &output, - Default::default(), - ); -} - #[testing::fixture("tests/expr-simplifier/**/input.js")] fn expr(input: PathBuf) { let output = input.with_file_name("output.js"); diff --git a/crates/swc_ecma_transforms_optimization/tests/simplify.rs b/crates/swc_ecma_transforms_optimization/tests/simplify.rs index eff3c0596ec5..285c9f5d4278 100644 --- a/crates/swc_ecma_transforms_optimization/tests/simplify.rs +++ b/crates/swc_ecma_transforms_optimization/tests/simplify.rs @@ -500,7 +500,7 @@ test!( chain!( resolver(unresolved_mark, top_level_mark, false), - strip(top_level_mark), + strip(unresolved_mark, top_level_mark), class_properties( Some(t.comments.clone()), class_properties::Config { @@ -553,7 +553,7 @@ test!( chain!( decorators(Default::default()), resolver(unresolved_mark, top_level_mark, false), - strip(top_level_mark), + strip(unresolved_mark, top_level_mark), class_properties( Some(t.comments.clone()), Default::default(), diff --git a/crates/swc_ecma_transforms_optimization/tests/simplify_dce.rs b/crates/swc_ecma_transforms_optimization/tests/simplify_dce.rs index 6b2345308dee..064072a09500 100644 --- a/crates/swc_ecma_transforms_optimization/tests/simplify_dce.rs +++ b/crates/swc_ecma_transforms_optimization/tests/simplify_dce.rs @@ -382,7 +382,7 @@ test!( use_define_for_class_fields: false, }), resolver(unresolved_mark, top_level_mark, false), - strip(top_level_mark), + strip(unresolved_mark, top_level_mark), tr() ) }, @@ -414,7 +414,7 @@ test!( use_define_for_class_fields: false, }), resolver(unresolved_mark, top_level_mark, false), - strip(top_level_mark), + strip(unresolved_mark, top_level_mark), tr() ) }, @@ -439,7 +439,7 @@ test!( issue_1150_1, " class A { - constructor(o: AOptions = {}) { + constructor(o = {}) { const { a = defaultA, c, @@ -471,7 +471,7 @@ test!( chain!( resolver(unresolved_mark, top_level_mark, false), - strip(top_level_mark), + strip(unresolved_mark, top_level_mark), class_properties( Some(t.comments.clone()), class_properties::Config { @@ -511,7 +511,7 @@ test!( chain!( resolver(unresolved_mark, top_level_mark, false), - strip(top_level_mark), + strip(unresolved_mark, top_level_mark), class_properties( Some(t.comments.clone()), class_properties::Config { @@ -565,7 +565,7 @@ test!( chain!( resolver(unresolved_mark, top_level_mark, false), - strip(top_level_mark), + strip(unresolved_mark, top_level_mark), tr(), ) }, @@ -594,7 +594,7 @@ test!( chain!( resolver(unresolved_mark, top_level_mark, false), - strip(top_level_mark), + strip(unresolved_mark, top_level_mark), class_properties( Some(t.comments.clone()), class_properties::Config { diff --git a/crates/swc_ecma_transforms_optimization/tests/simplify_inlining.rs b/crates/swc_ecma_transforms_optimization/tests/simplify_inlining.rs index 895222658174..e98a6cc436ff 100644 --- a/crates/swc_ecma_transforms_optimization/tests/simplify_inlining.rs +++ b/crates/swc_ecma_transforms_optimization/tests/simplify_inlining.rs @@ -9,12 +9,13 @@ use swc_ecma_transforms_testing::test; use swc_ecma_transforms_typescript::typescript; use swc_ecma_visit::Fold; -fn simple_strip(top_level_mark: Mark) -> impl Fold { +fn simple_strip(unresolved_mark: Mark, top_level_mark: Mark) -> impl Fold { typescript( typescript::Config { no_empty_export: true, ..Default::default() }, + unresolved_mark, top_level_mark, ) } @@ -2066,7 +2067,7 @@ test!( let top_level_mark = Mark::fresh(Mark::root()); chain!( resolver(unresolved_mark, top_level_mark, false), - simple_strip(top_level_mark), + simple_strip(unresolved_mark, top_level_mark), class_properties( Some(t.comments.clone()), class_properties::Config { @@ -2105,7 +2106,7 @@ test!( let top_level_mark = Mark::new(); chain!( resolver(unresolved_mark, top_level_mark, false), - simple_strip(top_level_mark), + simple_strip(unresolved_mark, top_level_mark), class_properties( Some(t.comments.clone()), class_properties::Config { @@ -2158,7 +2159,7 @@ test!( let top_level_mark = Mark::new(); chain!( resolver(unresolved_mark, top_level_mark, false), - simple_strip(top_level_mark), + simple_strip(unresolved_mark, top_level_mark), inlining(Default::default()) ) }, @@ -2192,7 +2193,7 @@ test!( let top_level_mark = Mark::new(); chain!( resolver(unresolved_mark, top_level_mark, false), - simple_strip(top_level_mark), + simple_strip(unresolved_mark, top_level_mark), inlining(Default::default()) ) }, diff --git a/crates/swc_ecma_transforms_react/src/refresh/tests.rs b/crates/swc_ecma_transforms_react/src/refresh/tests.rs index 4d5575981087..10d4a5ef3978 100644 --- a/crates/swc_ecma_transforms_react/src/refresh/tests.rs +++ b/crates/swc_ecma_transforms_react/src/refresh/tests.rs @@ -4,6 +4,7 @@ use swc_ecma_transforms_module::common_js::common_js; use swc_ecma_transforms_testing::{test, Tester}; use super::*; +use crate::jsx; fn tr(t: &mut Tester) -> impl Fold { let unresolved_mark = Mark::new(); @@ -556,6 +557,13 @@ test!( Some(t.comments.clone()), top_level_mark ), + jsx( + t.cm.clone(), + Some(t.comments.clone()), + Default::default(), + top_level_mark, + unresolved_mark + ), common_js( unresolved_mark, Default::default(), diff --git a/crates/swc_ecma_transforms_react/tests/__swc_snapshots__/src/refresh/tests.rs/include_hook_signature_in_commonjs.js b/crates/swc_ecma_transforms_react/tests/__swc_snapshots__/src/refresh/tests.rs/include_hook_signature_in_commonjs.js index cf5da48c197b..65268f310638 100644 --- a/crates/swc_ecma_transforms_react/tests/__swc_snapshots__/src/refresh/tests.rs/include_hook_signature_in_commonjs.js +++ b/crates/swc_ecma_transforms_react/tests/__swc_snapshots__/src/refresh/tests.rs/include_hook_signature_in_commonjs.js @@ -15,7 +15,7 @@ function App() { _s(); const bar = (0, _hooks.useFancyState)(); const foo = (0, _foo.default)(); - return

{bar}

; + return /*#__PURE__*/ React.createElement("h1", null, bar); } _s(App, "useFancyState{bar}\nuseFoo{foo}", false, function() { return [ diff --git a/crates/swc_ecma_transforms_typescript/benches/compat.rs b/crates/swc_ecma_transforms_typescript/benches/compat.rs index b16230ae6a5b..ec36b6c3677f 100644 --- a/crates/swc_ecma_transforms_typescript/benches/compat.rs +++ b/crates/swc_ecma_transforms_typescript/benches/compat.rs @@ -35,7 +35,7 @@ where let top_level_mark = Mark::fresh(Mark::root()); let module = module .fold_with(&mut resolver(unresolved_mark, top_level_mark, true)) - .fold_with(&mut strip(top_level_mark)); + .fold_with(&mut strip(unresolved_mark, top_level_mark)); b.iter(|| { let module = module.clone(); @@ -78,13 +78,13 @@ fn common_typescript(b: &mut Bencher) { let top_level_mark = Mark::fresh(Mark::root()); let module = module .fold_with(&mut resolver(unresolved_mark, top_level_mark, true)) - .fold_with(&mut strip(top_level_mark)); + .fold_with(&mut strip(unresolved_mark, top_level_mark)); b.iter(|| { let module = module.clone(); helpers::HELPERS.set(&Default::default(), || { - black_box(module.fold_with(&mut strip(top_level_mark))); + black_box(module.fold_with(&mut strip(unresolved_mark, top_level_mark))); }); }); diff --git a/crates/swc_ecma_transforms_typescript/examples/ts_to_js.rs b/crates/swc_ecma_transforms_typescript/examples/ts_to_js.rs index 62efa13b6300..48585b609bd2 100644 --- a/crates/swc_ecma_transforms_typescript/examples/ts_to_js.rs +++ b/crates/swc_ecma_transforms_typescript/examples/ts_to_js.rs @@ -68,7 +68,7 @@ fn main() { let module = module.fold_with(&mut resolver(unresolved_mark, top_level_mark, true)); // Remove typescript types - let module = module.fold_with(&mut strip(top_level_mark)); + let module = module.fold_with(&mut strip(unresolved_mark, top_level_mark)); // Fix up any identifiers with the same name, but different contexts let module = module.fold_with(&mut hygiene()); diff --git a/crates/swc_ecma_transforms_typescript/src/transform.rs b/crates/swc_ecma_transforms_typescript/src/transform.rs index 8015e30295f1..9148f8be5ec3 100644 --- a/crates/swc_ecma_transforms_typescript/src/transform.rs +++ b/crates/swc_ecma_transforms_typescript/src/transform.rs @@ -48,7 +48,8 @@ use crate::{ /// [export and import require]: https://www.typescriptlang.org/docs/handbook/modules.html#export--and-import--require #[derive(Debug, Default)] pub(crate) struct Transform { - top_level_mark: Mark, + unresolved_mark: Mark, + unresolved_ctxt: SyntaxContext, top_level_ctxt: SyntaxContext, import_export_assign_config: TsImportExportAssignConfig, @@ -64,13 +65,15 @@ pub(crate) struct Transform { } pub fn transform( + unresolved_mark: Mark, top_level_mark: Mark, import_export_assign_config: TsImportExportAssignConfig, ts_enum_is_mutable: bool, verbatim_module_syntax: bool, ) -> impl Fold + VisitMut { as_folder(Transform { - top_level_mark, + unresolved_mark, + unresolved_ctxt: SyntaxContext::empty().apply_mark(unresolved_mark), top_level_ctxt: SyntaxContext::empty().apply_mark(top_level_mark), import_export_assign_config, ts_enum_is_mutable, @@ -545,7 +548,7 @@ impl Transform { &id.to_id(), &default_init, record, - self.top_level_mark, + self.unresolved_mark, ); default_init = value.inc(); @@ -982,7 +985,7 @@ impl Transform { // NOTE: This is not correct! // However, all unresolved_span are used in TsImportExportAssignConfig::Classic // which is deprecated and not used in real world. - let unresolved_span = DUMMY_SP.apply_mark(self.top_level_mark); + let unresolved_span = DUMMY_SP.apply_mark(self.unresolved_mark); let cjs_require = quote_ident!(unresolved_span, "require"); let cjs_exports = quote_ident!(unresolved_span, "exports"); @@ -991,7 +994,12 @@ impl Transform { for mut module_item in n.take() { match &mut module_item { ModuleItem::ModuleDecl(ModuleDecl::TsImportEquals(decl)) if !decl.is_type_only => { - debug_assert_eq!(decl.id.span.ctxt(), self.top_level_ctxt); + debug_assert_ne!( + decl.id.span.ctxt(), + self.unresolved_ctxt, + "TsImportEquals has top-level context and it should not be identical to \ + the unresolved mark" + ); match &mut decl.module_ref { // import foo = bar.baz diff --git a/crates/swc_ecma_transforms_typescript/src/typescript.rs b/crates/swc_ecma_transforms_typescript/src/typescript.rs index 4c4c43351858..764a48b989bb 100644 --- a/crates/swc_ecma_transforms_typescript/src/typescript.rs +++ b/crates/swc_ecma_transforms_typescript/src/typescript.rs @@ -11,20 +11,28 @@ use swc_ecma_visit::{as_folder, Fold, VisitMut, VisitMutWith}; pub use crate::config::*; use crate::{strip_import_export::StripImportExport, strip_type::StripType, transform::transform}; -pub fn typescript(config: Config, top_level_mark: Mark) -> impl Fold + VisitMut { +pub fn typescript( + config: Config, + unresolved_mark: Mark, + top_level_mark: Mark, +) -> impl Fold + VisitMut { + debug_assert_ne!(unresolved_mark, top_level_mark); + as_folder(TypeScript { config, + unresolved_mark, top_level_mark, id_usage: Default::default(), }) } -pub fn strip(top_level_mark: Mark) -> impl Fold + VisitMut { - typescript(Config::default(), top_level_mark) +pub fn strip(unresolved_mark: Mark, top_level_mark: Mark) -> impl Fold + VisitMut { + typescript(Config::default(), unresolved_mark, top_level_mark) } pub(crate) struct TypeScript { pub config: Config, + pub unresolved_mark: Mark, pub top_level_mark: Mark, id_usage: AHashSet, @@ -44,6 +52,7 @@ impl VisitMut for TypeScript { n.visit_mut_with(&mut StripType::default()); n.visit_mut_with(&mut transform( + self.unresolved_mark, self.top_level_mark, self.config.import_export_assign_config, self.config.ts_enum_is_mutable, @@ -104,6 +113,7 @@ pub fn tsx( config: Config, tsx_config: TsxConfig, comments: C, + unresolved_mark: Mark, top_level_mark: Mark, ) -> impl Fold + VisitMut where @@ -116,6 +126,7 @@ where comments, cm, top_level_mark, + unresolved_mark, }) } @@ -141,6 +152,7 @@ where comments: C, cm: Lrc, top_level_mark: Mark, + unresolved_mark: Mark, } impl VisitMut for TypeScriptReact @@ -219,6 +231,7 @@ where n.visit_mut_with(&mut TypeScript { config: mem::take(&mut self.config), + unresolved_mark: self.unresolved_mark, top_level_mark: self.top_level_mark, id_usage: mem::take(&mut self.id_usage), }); diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3338/1/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3338/1/output.js index 22bd2e9c0de7..146f67dc2cac 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3338/1/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3338/1/output.js @@ -1,5 +1,5 @@ var Status; -(function (Status) { +(function(Status) { Status["foo"] = "111"; Status["boo"] = "222"; })(Status || (Status = {})); diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-6923/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-6923/output.js index 31cd8e727a7e..6743365e4828 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-6923/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-6923/output.js @@ -1,7 +1,4 @@ import ReactDOM from "react-dom"; import { _Component } from "./Component"; -const App =
- <_Component> -

Hello World

-
; +const App = React.createElement("div", null, React.createElement(_Component, null), React.createElement("p", null, "Hello World")); ReactDOM.render(App, window.document.getElementById("react_root")); diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-7539/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-7539/output.js index d0f3e9c84a29..d2b2afe8389d 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-7539/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-7539/output.js @@ -1 +1 @@ -/* @jsx h */ /* @jsxFrag null */ <>; +/* @jsx h */ /* @jsxFrag null */ React.createElement(React.Fragment, null); diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/namespace/2/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/namespace/2/output.js index 04ed1dc7e343..989116a01449 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/namespace/2/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/namespace/2/output.js @@ -1,17 +1,14 @@ class X1 { } -(function (X1) { +(function(X1) { console.log(1); })(X1 || (X1 = {})); - -function X2() { } -(function (X2) { +function X2() {} +(function(X2) { console.log(2); })(X2 || (X2 = {})); - var X3; -(function (X3) { -})(X3 || (X3 = {})); -(function (X3) { +(function(X3) {})(X3 || (X3 = {})); +(function(X3) { console.log(3); })(X3 || (X3 = {})); diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/next-45561/1/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/next-45561/1/output.js index 2ee2a9881d48..84341e8e32a4 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/next-45561/1/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/next-45561/1/output.js @@ -1,9 +1,8 @@ import { dirname } from "node:path"; export default function IndexPage(props) { - return
- abc: {props.abc} - -
; + return React.createElement("div", null, "abc: ", props.abc, React.createElement("svg", { + viewBox: "0 -85 600 600" + })); } export function getServerSideProps() { return { diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/next-45561/2/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/next-45561/2/output.js index b25bc2779264..99c5a367821c 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/next-45561/2/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/next-45561/2/output.js @@ -1,11 +1,12 @@ import { dirname } from "node:path"; export default function IndexPage(props) { - return
- abc: {props.abc} - - - -
; + return React.createElement("div", null, "abc: ", props.abc, React.createElement("svg", { + viewBox: "0 -85 600 600" + }, React.createElement("path", { + fillRule: "evenodd", + d: "M513 256.5C513 398.161 398.161 513 256.5 513C114.839 513 0 398.161 0 256.5C0 114.839 114.839 0 256.5 0C398.161 0 513 114.839 513 256.5ZM211.146 305.243L369.885 145L412 185.878L253.26 346.122L211.146 387L101 275.811L143.115 234.932L211.146 305.243Z", + fill: "#fff" + }))); } export function getServerSideProps() { return { diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/next/server/render/1/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/next/server/render/1/output.js index f7417cae2fcc..f613ecac0590 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/next/server/render/1/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/next/server/render/1/output.js @@ -232,13 +232,15 @@ export async function renderToHTML(req, res, pathname, query, renderOpts) { locales: renderOpts.locales, defaultLocale: renderOpts.defaultLocale, AppTree: (props)=>{ - return - - ; + return React.createElement(AppContainer, null, React.createElement(App, { + ...props, + Component: Component, + router: router + })); }, defaultGetInitialProps: async (docCtx)=>{ const enhanceApp = (AppComp)=>{ - return (props)=>; + return (props)=>React.createElement(AppComp, props); }; const { html, head } = await docCtx.renderPage({ enhanceApp @@ -262,26 +264,26 @@ export async function renderToHTML(req, res, pathname, query, renderOpts) { let head = defaultHead(inAmpMode); let scriptLoader = {}; const nextExport = !isSSG && (renderOpts.nextExport || dev && (isAutoExport || isFallback)); - const AppContainer = ({ children })=> - - { - head = state; - }, - updateScripts: (scripts)=>{ - scriptLoader = scripts; - }, - scripts: {}, - mountedInstances: new Set() - }}> - reactLoadableModules.push(moduleName)}> - - {children} - - - - - ; + const AppContainer = ({ children })=>React.createElement(RouterContext.Provider, { + value: router + }, React.createElement(AmpStateContext.Provider, { + value: ampState + }, React.createElement(HeadManagerContext.Provider, { + value: { + updateHead: (state)=>{ + head = state; + }, + updateScripts: (scripts)=>{ + scriptLoader = scripts; + }, + scripts: {}, + mountedInstances: new Set() + } + }, React.createElement(LoadableContext.Provider, { + value: (moduleName)=>reactLoadableModules.push(moduleName) + }, React.createElement(StyleRegistry, { + registry: jsxStyleRegistry + }, children))))); props = await loadGetInitialProps(App, { AppTree: ctx.AppTree, Component, @@ -530,7 +532,9 @@ export async function renderToHTML(req, res, pathname, query, renderOpts) { if (Document.getInitialProps) { const renderPage = (options = {})=>{ if (ctx.err && ErrorDebug) { - const html = ReactDOMServer.renderToString(); + const html = ReactDOMServer.renderToString(React.createElement(ErrorDebug, { + error: ctx.err + })); return { html, head @@ -540,9 +544,11 @@ export async function renderToHTML(req, res, pathname, query, renderOpts) { throw new Error(`'router' and 'Component' can not be returned in getInitialProps from _app.js https://nextjs.org/docs/messages/cant-override-next-props`); } const { App: EnhancedApp, Component: EnhancedComponent } = enhanceComponents(options, App, Component); - const html = ReactDOMServer.renderToString( - - ); + const html = ReactDOMServer.renderToString(React.createElement(AppContainer, null, React.createElement(EnhancedApp, { + Component: EnhancedComponent, + router: router, + ...props + }))); return { html, head @@ -563,15 +569,22 @@ export async function renderToHTML(req, res, pathname, query, renderOpts) { bodyResult: piperFromArray([ docProps.html ]), - documentElement: (htmlProps)=>, + documentElement: (htmlProps)=>React.createElement(Document, { + ...htmlProps, + ...docProps + }), head: docProps.head, headTags: await headTags(documentCtx), styles: docProps.styles }; } else { - const content = ctx.err && ErrorDebug ? : - - ; + const content = ctx.err && ErrorDebug ? React.createElement(ErrorDebug, { + error: ctx.err + }) : React.createElement(AppContainer, null, React.createElement(App, { + ...props, + Component: Component, + router: router + })); const bodyResult = concurrentFeatures ? await renderToStream(content, generateStaticHTML) : piperFromArray([ ReactDOMServer.renderToString(content) ]); @@ -648,11 +661,11 @@ export async function renderToHTML(req, res, pathname, query, renderOpts) { styles: documentResult.styles, useMaybeDeferContent }; - const documentHTML = ReactDOMServer.renderToStaticMarkup( - - {documentResult.documentElement(htmlProps)} - - ); + const documentHTML = ReactDOMServer.renderToStaticMarkup(React.createElement(AmpStateContext.Provider, { + value: ampState + }, React.createElement(HtmlContext.Provider, { + value: htmlProps + }, documentResult.documentElement(htmlProps)))); if (process.env.NODE_ENV !== "production") { const nonRenderedComponents = []; const expectedDocComponents = [ diff --git a/crates/swc_ecma_transforms_typescript/tests/strip.rs b/crates/swc_ecma_transforms_typescript/tests/strip.rs index f6e2e79ef613..18d1d62527fe 100644 --- a/crates/swc_ecma_transforms_typescript/tests/strip.rs +++ b/crates/swc_ecma_transforms_typescript/tests/strip.rs @@ -1,6 +1,11 @@ use std::path::PathBuf; -use swc_common::{chain, comments::SingleThreadedComments, pass::Optional, Mark}; +use swc_common::{ + chain, + comments::{NoopComments, SingleThreadedComments}, + pass::Optional, + Mark, +}; use swc_ecma_parser::{Syntax, TsSyntax}; use swc_ecma_transforms_base::resolver; use swc_ecma_transforms_compat::{ @@ -11,17 +16,19 @@ use swc_ecma_transforms_compat::{ es2022::{class_properties, static_blocks}, }; use swc_ecma_transforms_proposal::decorators; +use swc_ecma_transforms_react::jsx; use swc_ecma_transforms_testing::{test, test_exec, test_fixture, Tester}; use swc_ecma_transforms_typescript::{ tsx, typescript, ImportsNotUsedAsValues, TsImportExportAssignConfig, TsxConfig, }; use swc_ecma_visit::Fold; -fn tr() -> impl Fold { - tr_config(None, None, false) +fn tr(t: &mut Tester) -> impl Fold { + tr_config(t, None, None, false) } fn tr_config( + t: &mut Tester, config: Option, decorators_config: Option, use_define_for_class_fields: bool, @@ -40,7 +47,14 @@ fn tr_config( has_decorators, ), resolver(unresolved_mark, top_level_mark, true), - typescript(config, top_level_mark), + typescript(config, unresolved_mark, top_level_mark), + jsx( + t.cm.clone(), + None::, + Default::default(), + top_level_mark, + unresolved_mark + ), Optional::new(class_fields_use_set(true), !use_define_for_class_fields), ) } @@ -60,6 +74,7 @@ fn tsxr(t: &Tester) -> impl Fold { }, TsxConfig::default(), t.comments.clone(), + unresolved_mark, top_level_mark, ), swc_ecma_transforms_react::jsx( @@ -99,7 +114,7 @@ macro_rules! to { decorators: true, ..Default::default() }), - |t| chain!(tr(), properties(t, true)), + |t| chain!(tr(t), properties(t, true)), $name, $from ); @@ -119,7 +134,7 @@ macro_rules! test_with_config { decorators: true, ..Default::default() }), - |_| tr_config(Some($config), None, $use_define), + |t| tr_config(t, Some($config), None, $use_define), $name, $from ); @@ -128,12 +143,12 @@ macro_rules! test_with_config { test!( Syntax::Typescript(Default::default()), - |_| { + |t| { let unresolved_mark = Mark::new(); let top_level_mark = Mark::new(); chain!( resolver(unresolved_mark, top_level_mark, true), - tr(), + tr(t), parameters( parameters::Config { ignore_function_length: true @@ -155,7 +170,7 @@ test!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_392_2, " import { PlainObject } from 'simplytyped'; @@ -165,7 +180,7 @@ const dict: PlainObject = {}; test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_461, "for (let x in ['']) { (x => 0)(x); @@ -174,7 +189,7 @@ test!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_468_1, "tView.firstCreatePass ? getOrCreateTNode(tView, lView[T_HOST], index, TNodeType.Element, null, null) : @@ -183,7 +198,7 @@ test!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_468_2, "tView.firstCreatePass ? getOrCreateTNode(tView, lView[T_HOST], index, TNodeType.Element, null, null) : @@ -192,7 +207,7 @@ test!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_468_3, "tView.firstCreatePass ? getOrCreateTNode() : tView.data[adjustedIndex] as TElementNode" @@ -200,42 +215,42 @@ test!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_468_4, "a ? b : c" ); test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_468_5, "a ? b : c as T" ); test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_468_6, "a.b ? c() : d.e[f] as T" ); test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_468_7, "tView.firstCreatePass ? getOrCreateTNode() : tView.data[adjustedIndex]" ); test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, enum_simple, "enum Foo{ a }" ); test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, enum_str, "enum State { closed = 'closed', @@ -247,7 +262,7 @@ test!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, enum_key_value, "enum StateNum { closed = 'cl0', @@ -258,7 +273,7 @@ test!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, enum_export_str, "export enum State { closed = 'closed', @@ -281,7 +296,7 @@ to!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_640, "import { Handler } from 'aws-lambda'; export const handler: Handler = async (event, context) => {};" @@ -289,7 +304,7 @@ export const handler: Handler = async (event, context) => {};" test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_656, "export const x = { text: 'hello' } as const;" ); @@ -538,7 +553,7 @@ to!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_930_instance, "class A { b = this.a; @@ -549,7 +564,7 @@ test!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |t| chain!(tr(), properties(t, true)), + |t| chain!(tr(t), properties(t, true)), issue_930_static, "class A { static b = 'foo'; @@ -560,7 +575,7 @@ test!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |t| chain!(tr(), properties(t, true)), + |t| chain!(tr(t), properties(t, true)), typescript_001, "class A { foo = new Subject() @@ -573,7 +588,7 @@ test!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, typescript_002, "class A extends B { foo = 'foo' @@ -591,7 +606,7 @@ test!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_958, "export class Test { constructor(readonly test?: string) {} @@ -603,12 +618,12 @@ test!( decorators: true, ..Default::default() }), - |_| chain!( + |t| chain!( decorators(decorators::Config { legacy: true, ..Default::default() }), - tr() + tr(t) ), issue_960_1, " @@ -638,12 +653,12 @@ test_exec!( decorators: true, ..Default::default() }), - |_| chain!( + |t| chain!( decorators(decorators::Config { legacy: true, ..Default::default() }), - tr() + tr(t) ), issue_960_2, "function DefineAction() { return function(_a, _b, c) { return c } } @@ -673,7 +688,7 @@ test_exec!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_1032, r#"import { indent as indentFormatter, @@ -1748,7 +1763,7 @@ test!( decorators: true, ..Default::default() }), - |_| tr(), + tr, deno_7413_1, " import { a } from './foo'; @@ -1761,7 +1776,7 @@ test!( decorators: true, ..Default::default() }), - |_| tr(), + tr, deno_7413_2, " import './foo'; @@ -1773,8 +1788,9 @@ test!( decorators: true, ..Default::default() }), - |_| { + |t| { tr_config( + t, Some(typescript::Config { no_empty_export: true, import_not_used_as_values: ImportsNotUsedAsValues::Preserve, @@ -1831,7 +1847,7 @@ test!( decorators: true, ..Default::default() }), - |_| tr(), + tr, issue_1124, " import { Type } from './types'; @@ -1851,7 +1867,7 @@ test!( chain!( Optional::new(decorators(Default::default()), false,), resolver(unresolved_mark, top_level_mark, true), - typescript(config, top_level_mark), + typescript(config, unresolved_mark, top_level_mark), async_to_generator::(Default::default(), None, unresolved_mark), ) }, @@ -1881,7 +1897,7 @@ test!( chain!( Optional::new(decorators(Default::default()), false,), resolver(unresolved_mark, top_level_mark, true), - typescript(config, top_level_mark), + typescript(config, unresolved_mark, top_level_mark), optional_chaining(Default::default(), unresolved_mark) ) }, @@ -1893,7 +1909,7 @@ test!( test!( Syntax::Typescript(Default::default()), - |_| chain!(tr(), nullish_coalescing(Default::default())), + |t| chain!(tr(t), nullish_coalescing(Default::default())), issue_1123_1, r#" interface SuperSubmission { @@ -1927,7 +1943,8 @@ test!( // compile_to_class_constructor_collision_ignores_types test!( Syntax::Typescript(Default::default()), - |_| tr_config( + |t| tr_config( + t, Some(typescript::Config { no_empty_export: true, ..Default::default() @@ -1952,7 +1969,7 @@ test!( decorators: true, ..Default::default() }), - |_| tr_config(None, Some(Default::default()), false), + |t| tr_config(t, None, Some(Default::default()), false), issue_367, " @@ -2650,7 +2667,7 @@ fn exec(input: PathBuf) { tsx: input.to_string_lossy().ends_with(".tsx"), ..Default::default() }), - &|t| chain!(tr(), properties(t, true)), + &|t| chain!(tr(t), properties(t, true)), &input, &output, Default::default(), @@ -2674,7 +2691,7 @@ let b = class { test!( Syntax::Typescript(TsSyntax::default()), - |_| tr_config(None, None, true), + |t| tr_config(t, None, None, true), export_import_assign, r#" export import foo = require("foo"); @@ -2685,7 +2702,8 @@ test!( test!( Syntax::Typescript(TsSyntax::default()), - |_| tr_config( + |t| tr_config( + t, Some(typescript::Config { import_export_assign_config: TsImportExportAssignConfig::NodeNext, ..Default::default() @@ -2703,7 +2721,8 @@ test!( test!( Syntax::Typescript(TsSyntax::default()), - |_| tr_config( + |t| tr_config( + t, Some(typescript::Config { import_export_assign_config: TsImportExportAssignConfig::NodeNext, ..Default::default() @@ -2732,7 +2751,7 @@ test_with_config!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_6219, "enum A{ a=a, @@ -2741,7 +2760,7 @@ test!( test!( ::swc_ecma_parser::Syntax::Typescript(Default::default()), - |_| tr(), + tr, issue_7106, " export class test { @@ -2757,7 +2776,8 @@ test!( test!( Syntax::Typescript(TsSyntax::default()), - |_| tr_config( + |t| tr_config( + t, Some(typescript::Config { ts_enum_is_mutable: true, ..Default::default() @@ -2814,6 +2834,7 @@ test!( }, TsxConfig::default(), t.comments.clone(), + unresolved_mark, top_level_mark, ) ) diff --git a/crates/swc_ecma_transforms_typescript/tests/strip_correctness.rs b/crates/swc_ecma_transforms_typescript/tests/strip_correctness.rs index 3fb9453bb52c..6e080aa6b942 100644 --- a/crates/swc_ecma_transforms_typescript/tests/strip_correctness.rs +++ b/crates/swc_ecma_transforms_typescript/tests/strip_correctness.rs @@ -108,6 +108,7 @@ fn identity(entry: PathBuf) { no_empty_export: true, ..Default::default() }, + unresolved_mark, top_level_mark, )) .fold_with(&mut hygiene()) diff --git a/crates/swc_ecma_usage_analyzer/src/alias/mod.rs b/crates/swc_ecma_usage_analyzer/src/alias/mod.rs index 29c2d13fa3e9..bc7db73f0aba 100644 --- a/crates/swc_ecma_usage_analyzer/src/alias/mod.rs +++ b/crates/swc_ecma_usage_analyzer/src/alias/mod.rs @@ -4,7 +4,7 @@ use rustc_hash::FxHashSet; use swc_common::{collections::AHashSet, SyntaxContext}; use swc_ecma_ast::*; use swc_ecma_utils::{collect_decls, BindingCollector}; -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, Visit, VisitWith}; pub use self::ctx::Ctx; use crate::{marks::Marks, util::is_global_var_with_pure_property_access}; @@ -120,7 +120,7 @@ impl InfectionCollector<'_> { } impl Visit for InfectionCollector<'_> { - noop_visit_type!(); + standard_only_visit!(); fn visit_bin_expr(&mut self, e: &BinExpr) { match e.op { diff --git a/crates/swc_ecma_usage_analyzer/src/analyzer/mod.rs b/crates/swc_ecma_usage_analyzer/src/analyzer/mod.rs index 76bfb7995209..9e077987b798 100644 --- a/crates/swc_ecma_usage_analyzer/src/analyzer/mod.rs +++ b/crates/swc_ecma_usage_analyzer/src/analyzer/mod.rs @@ -1,7 +1,7 @@ use swc_common::{collections::AHashMap, SyntaxContext}; use swc_ecma_ast::*; use swc_ecma_utils::{find_pat_ids, ExprCtx, ExprExt, IsEmpty, StmtExt}; -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, Visit, VisitWith}; use swc_timer::timer; pub use self::ctx::Ctx; @@ -215,7 +215,7 @@ impl Visit for UsageAnalyzer where S: Storage, { - noop_visit_type!(); + standard_only_visit!(); fn visit_array_lit(&mut self, n: &ArrayLit) { let ctx = Ctx { diff --git a/crates/swc_ecma_utils/src/constructor.rs b/crates/swc_ecma_utils/src/constructor.rs index fa27b9bb3628..a415c0a005e9 100644 --- a/crates/swc_ecma_utils/src/constructor.rs +++ b/crates/swc_ecma_utils/src/constructor.rs @@ -2,7 +2,9 @@ use std::iter; use swc_common::{util::take::Take, DUMMY_SP}; use swc_ecma_ast::*; -use swc_ecma_visit::{noop_fold_type, noop_visit_mut_type, Fold, FoldWith, VisitMut, VisitMutWith}; +use swc_ecma_visit::{ + standard_only_fold, standard_only_visit_mut, Fold, FoldWith, VisitMut, VisitMutWith, +}; use crate::{prepend_stmts, ExprFactory}; @@ -35,7 +37,7 @@ struct Injector<'a> { } impl<'a> Fold for Injector<'a> { - noop_fold_type!(); + standard_only_fold!(); fn fold_class(&mut self, c: Class) -> Class { c @@ -117,7 +119,7 @@ struct ExprInjector<'a> { } impl VisitMut for ExprInjector<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_class(&mut self, c: &mut Class) { c.super_class.visit_mut_with(self); diff --git a/crates/swc_ecma_utils/src/function/fn_env_hoister.rs b/crates/swc_ecma_utils/src/function/fn_env_hoister.rs index 11d9126cf861..128ea299e9af 100644 --- a/crates/swc_ecma_utils/src/function/fn_env_hoister.rs +++ b/crates/swc_ecma_utils/src/function/fn_env_hoister.rs @@ -4,7 +4,7 @@ use indexmap::IndexMap; use swc_atoms::JsWord; use swc_common::{util::take::Take, Span, Spanned, SyntaxContext, DUMMY_SP}; use swc_ecma_ast::*; -use swc_ecma_visit::{noop_visit_mut_type, VisitMut, VisitMutWith}; +use swc_ecma_visit::{standard_only_visit_mut, VisitMut, VisitMutWith}; use crate::ExprFactory; @@ -277,7 +277,7 @@ impl FnEnvHoister { } impl VisitMut for FnEnvHoister { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_assign_target_pat(&mut self, n: &mut AssignTargetPat) { let in_pat = self.in_pat; @@ -595,7 +595,7 @@ struct InitThis<'a> { // babel is skip function and class property impl<'a> VisitMut for InitThis<'a> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_class(&mut self, _: &mut Class) {} diff --git a/crates/swc_ecma_utils/src/lib.rs b/crates/swc_ecma_utils/src/lib.rs index 074b38ac41d0..4b89225f9920 100644 --- a/crates/swc_ecma_utils/src/lib.rs +++ b/crates/swc_ecma_utils/src/lib.rs @@ -21,8 +21,8 @@ use swc_common::{ }; use swc_ecma_ast::*; use swc_ecma_visit::{ - noop_visit_mut_type, noop_visit_type, visit_mut_obj_and_computed, visit_obj_and_computed, - Visit, VisitMut, VisitMutWith, VisitWith, + noop_visit_mut_type, noop_visit_type, standard_only_visit_mut, visit_mut_obj_and_computed, + visit_obj_and_computed, Visit, VisitMut, VisitMutWith, VisitWith, }; use tracing::trace; @@ -1814,26 +1814,6 @@ impl Visit for LiteralVisitor { self.is_lit = false; } - fn visit_jsx_element(&mut self, _: &JSXElement) { - self.is_lit = false - } - - fn visit_jsx_empty_expr(&mut self, _: &JSXEmptyExpr) { - self.is_lit = false - } - - fn visit_jsx_fragment(&mut self, _: &JSXFragment) { - self.is_lit = false - } - - fn visit_jsx_member_expr(&mut self, _: &JSXMemberExpr) { - self.is_lit = false - } - - fn visit_jsx_namespaced_name(&mut self, _: &JSXNamespacedName) { - self.is_lit = false - } - fn visit_member_expr(&mut self, _: &MemberExpr) { self.is_lit = false; } @@ -2348,8 +2328,6 @@ where } impl Visit for DestructuringFinder { - noop_visit_type!(); - /// No-op (we don't care about expressions) fn visit_expr(&mut self, _: &Expr) {} @@ -2357,8 +2335,14 @@ impl Visit for DestructuringFinder { self.found.push(I::from_ident(i)); } + fn visit_jsx_member_expr(&mut self, n: &JSXMemberExpr) { + n.obj.visit_with(self); + } + /// No-op (we don't care about expressions) fn visit_prop_name(&mut self, _: &PropName) {} + + fn visit_ts_type(&mut self, _: &TsType) {} } /// Finds all **binding** idents of variables. @@ -2701,7 +2685,7 @@ pub struct IdentReplacer<'a> { } impl VisitMut for IdentReplacer<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); visit_mut_obj_and_computed!(); @@ -2984,7 +2968,7 @@ impl<'a> Remapper<'a> { } impl VisitMut for Remapper<'_> { - noop_visit_mut_type!(); + standard_only_visit_mut!(); fn visit_mut_ident(&mut self, i: &mut Ident) { if let Some(new_ctxt) = self.vars.get(&i.to_id()).copied() { @@ -3009,6 +2993,10 @@ impl VisitMut for IdentRenamer<'_> { visit_mut_obj_and_computed!(); + fn visit_mut_jsx_member_expr(&mut self, n: &mut JSXMemberExpr) { + n.obj.visit_mut_with(self); + } + fn visit_mut_export_named_specifier(&mut self, node: &mut ExportNamedSpecifier) { if node.exported.is_some() { node.orig.visit_mut_children_with(self); @@ -3127,8 +3115,6 @@ impl VisitMut for RefRewriter where T: QueryRef, { - noop_visit_mut_type!(); - /// replace bar in binding pattern /// input: /// ```JavaScript diff --git a/crates/swc_ecma_utils/src/var.rs b/crates/swc_ecma_utils/src/var.rs index 6e1dce2d81fd..9585d270bc03 100644 --- a/crates/swc_ecma_utils/src/var.rs +++ b/crates/swc_ecma_utils/src/var.rs @@ -1,5 +1,5 @@ use swc_ecma_ast::*; -use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; +use swc_ecma_visit::{standard_only_visit, Visit, VisitWith}; use crate::ident::IdentLike; @@ -10,7 +10,7 @@ pub struct VarCollector<'a, I: IdentLike> { } impl<'a, I: IdentLike> Visit for VarCollector<'a, I> { - noop_visit_type!(); + standard_only_visit!(); fn visit_arrow_expr(&mut self, _: &ArrowExpr) {} diff --git a/crates/swc_ecma_visit/Cargo.toml b/crates/swc_ecma_visit/Cargo.toml index 4da4b9d9f3d4..dc49ae49a9f3 100644 --- a/crates/swc_ecma_visit/Cargo.toml +++ b/crates/swc_ecma_visit/Cargo.toml @@ -21,9 +21,10 @@ default = [] path = [] [dependencies] -num-bigint = { workspace = true, features = ["serde"] } -serde = { workspace = true, optional = true } -tracing = { workspace = true } +new_debug_unreachable = { workspace = true } +num-bigint = { workspace = true, features = ["serde"] } +serde = { workspace = true, optional = true } +tracing = { workspace = true } swc_atoms = { version = "0.6.5", path = "../swc_atoms" } swc_common = { version = "0.34.0", path = "../swc_common" } diff --git a/crates/swc_ecma_visit/src/lib.rs b/crates/swc_ecma_visit/src/lib.rs index 65d7a545b11d..c0df3e3697a7 100644 --- a/crates/swc_ecma_visit/src/lib.rs +++ b/crates/swc_ecma_visit/src/lib.rs @@ -370,7 +370,6 @@ macro_rules! noop_fold_type { noop_fold_type!(fold_ts_module_block, TsModuleBlock); noop_fold_type!(fold_ts_module_decl, TsModuleDecl); noop_fold_type!(fold_ts_module_name, TsModuleName); - noop_fold_type!(fold_ts_module_ref, TsModuleRef); noop_fold_type!(fold_ts_namespace_body, TsNamespaceBody); noop_fold_type!(fold_ts_namespace_decl, TsNamespaceDecl); noop_fold_type!(fold_ts_namespace_export_decl, TsNamespaceExportDecl); @@ -469,6 +468,237 @@ macro_rules! noop_visit_type { }; } +/// NOT A PUBLIC API +#[doc(hidden)] +#[inline(always)] +pub fn fail_not_standard() { + unsafe { + debug_unreachable::debug_unreachable!( + "This visitor supports only standard ECMAScript types" + ) + } +} + +/// Mark visitor as ECMAScript standard only and mark other types as +/// unreachable. +/// +/// Used to reduce the binary size. +#[macro_export] +macro_rules! standard_only_fold { + ($name:ident, $N:ident) => { + fn $name(&mut self, n: $crate::swc_ecma_ast::$N) -> $crate::swc_ecma_ast::$N { + $crate::fail_not_standard(); + n + } + }; + () => { + standard_only_fold!(fold_accessibility, Accessibility); + standard_only_fold!(fold_true_plus_minus, TruePlusMinus); + standard_only_fold!(fold_ts_array_type, TsArrayType); + standard_only_fold!(fold_ts_call_signature_decl, TsCallSignatureDecl); + standard_only_fold!(fold_ts_conditional_type, TsConditionalType); + standard_only_fold!(fold_ts_construct_signature_decl, TsConstructSignatureDecl); + standard_only_fold!(fold_ts_constructor_type, TsConstructorType); + standard_only_fold!(fold_ts_entity_name, TsEntityName); + standard_only_fold!(fold_ts_expr_with_type_args, TsExprWithTypeArgs); + standard_only_fold!(fold_ts_fn_or_constructor_type, TsFnOrConstructorType); + standard_only_fold!(fold_ts_fn_param, TsFnParam); + standard_only_fold!(fold_ts_fn_type, TsFnType); + standard_only_fold!(fold_ts_import_type, TsImportType); + standard_only_fold!(fold_ts_index_signature, TsIndexSignature); + standard_only_fold!(fold_ts_indexed_access_type, TsIndexedAccessType); + standard_only_fold!(fold_ts_infer_type, TsInferType); + standard_only_fold!(fold_ts_interface_body, TsInterfaceBody); + standard_only_fold!(fold_ts_interface_decl, TsInterfaceDecl); + standard_only_fold!(fold_ts_intersection_type, TsIntersectionType); + standard_only_fold!(fold_ts_keyword_type, TsKeywordType); + standard_only_fold!(fold_ts_keyword_type_kind, TsKeywordTypeKind); + standard_only_fold!(fold_ts_mapped_type, TsMappedType); + standard_only_fold!(fold_ts_method_signature, TsMethodSignature); + standard_only_fold!(fold_ts_optional_type, TsOptionalType); + standard_only_fold!(fold_ts_parenthesized_type, TsParenthesizedType); + standard_only_fold!(fold_ts_property_signature, TsPropertySignature); + standard_only_fold!(fold_ts_qualified_name, TsQualifiedName); + standard_only_fold!(fold_ts_rest_type, TsRestType); + standard_only_fold!(fold_ts_this_type, TsThisType); + standard_only_fold!(fold_ts_this_type_or_ident, TsThisTypeOrIdent); + standard_only_fold!(fold_ts_tuple_type, TsTupleType); + standard_only_fold!(fold_ts_type, TsType); + standard_only_fold!(fold_ts_type_alias_decl, TsTypeAliasDecl); + standard_only_fold!(fold_ts_type_ann, TsTypeAnn); + standard_only_fold!(fold_ts_type_element, TsTypeElement); + standard_only_fold!(fold_ts_type_lit, TsTypeLit); + standard_only_fold!(fold_ts_type_operator, TsTypeOperator); + standard_only_fold!(fold_ts_type_operator_op, TsTypeOperatorOp); + standard_only_fold!(fold_ts_type_param, TsTypeParam); + standard_only_fold!(fold_ts_type_param_decl, TsTypeParamDecl); + standard_only_fold!(fold_ts_type_param_instantiation, TsTypeParamInstantiation); + standard_only_fold!(fold_ts_type_predicate, TsTypePredicate); + standard_only_fold!(fold_ts_type_query, TsTypeQuery); + standard_only_fold!(fold_ts_type_query_expr, TsTypeQueryExpr); + standard_only_fold!(fold_ts_type_ref, TsTypeRef); + standard_only_fold!( + fold_ts_union_or_intersection_type, + TsUnionOrIntersectionType + ); + standard_only_fold!(fold_ts_union_type, TsUnionType); + + standard_only_fold!(fold_jsx_element, JSXElement); + standard_only_fold!(fold_jsx_fragment, JSXFragment); + standard_only_fold!(fold_jsx_empty_expr, JSXEmptyExpr); + standard_only_fold!(fold_jsx_member_expr, JSXMemberExpr); + standard_only_fold!(fold_jsx_namespaced_name, JSXNamespacedName); + }; +} + +/// Mark visitor as ECMAScript standard only and mark other types as +/// unreachable. +/// +/// Used to reduce the binary size. +#[macro_export] +macro_rules! standard_only_visit { + ($name:ident, $N:ident) => { + fn $name(&mut self, _: &$crate::swc_ecma_ast::$N) { + $crate::fail_not_standard() + } + }; + () => { + standard_only_visit!(visit_accessibility, Accessibility); + standard_only_visit!(visit_true_plus_minus, TruePlusMinus); + standard_only_visit!(visit_ts_array_type, TsArrayType); + standard_only_visit!(visit_ts_call_signature_decl, TsCallSignatureDecl); + standard_only_visit!(visit_ts_conditional_type, TsConditionalType); + standard_only_visit!(visit_ts_construct_signature_decl, TsConstructSignatureDecl); + standard_only_visit!(visit_ts_constructor_type, TsConstructorType); + standard_only_visit!(visit_ts_entity_name, TsEntityName); + standard_only_visit!(visit_ts_expr_with_type_args, TsExprWithTypeArgs); + standard_only_visit!(visit_ts_fn_or_constructor_type, TsFnOrConstructorType); + standard_only_visit!(visit_ts_fn_param, TsFnParam); + standard_only_visit!(visit_ts_fn_type, TsFnType); + standard_only_visit!(visit_ts_import_type, TsImportType); + standard_only_visit!(visit_ts_index_signature, TsIndexSignature); + standard_only_visit!(visit_ts_indexed_access_type, TsIndexedAccessType); + standard_only_visit!(visit_ts_infer_type, TsInferType); + standard_only_visit!(visit_ts_interface_body, TsInterfaceBody); + standard_only_visit!(visit_ts_interface_decl, TsInterfaceDecl); + standard_only_visit!(visit_ts_intersection_type, TsIntersectionType); + standard_only_visit!(visit_ts_keyword_type, TsKeywordType); + standard_only_visit!(visit_ts_keyword_type_kind, TsKeywordTypeKind); + standard_only_visit!(visit_ts_mapped_type, TsMappedType); + standard_only_visit!(visit_ts_method_signature, TsMethodSignature); + standard_only_visit!(visit_ts_optional_type, TsOptionalType); + standard_only_visit!(visit_ts_parenthesized_type, TsParenthesizedType); + standard_only_visit!(visit_ts_property_signature, TsPropertySignature); + standard_only_visit!(visit_ts_qualified_name, TsQualifiedName); + standard_only_visit!(visit_ts_rest_type, TsRestType); + standard_only_visit!(visit_ts_this_type, TsThisType); + standard_only_visit!(visit_ts_this_type_or_ident, TsThisTypeOrIdent); + standard_only_visit!(visit_ts_tuple_type, TsTupleType); + standard_only_visit!(visit_ts_type, TsType); + standard_only_visit!(visit_ts_type_alias_decl, TsTypeAliasDecl); + standard_only_visit!(visit_ts_type_ann, TsTypeAnn); + standard_only_visit!(visit_ts_type_element, TsTypeElement); + standard_only_visit!(visit_ts_type_lit, TsTypeLit); + standard_only_visit!(visit_ts_type_operator, TsTypeOperator); + standard_only_visit!(visit_ts_type_operator_op, TsTypeOperatorOp); + standard_only_visit!(visit_ts_type_param, TsTypeParam); + standard_only_visit!(visit_ts_type_param_decl, TsTypeParamDecl); + standard_only_visit!(visit_ts_type_param_instantiation, TsTypeParamInstantiation); + standard_only_visit!(visit_ts_type_predicate, TsTypePredicate); + standard_only_visit!(visit_ts_type_query, TsTypeQuery); + standard_only_visit!(visit_ts_type_query_expr, TsTypeQueryExpr); + standard_only_visit!(visit_ts_type_ref, TsTypeRef); + standard_only_visit!( + visit_ts_union_or_intersection_type, + TsUnionOrIntersectionType + ); + standard_only_visit!(visit_ts_union_type, TsUnionType); + + standard_only_visit!(visit_jsx_element, JSXElement); + standard_only_visit!(visit_jsx_fragment, JSXFragment); + standard_only_visit!(visit_jsx_empty_expr, JSXEmptyExpr); + standard_only_visit!(visit_jsx_member_expr, JSXMemberExpr); + standard_only_visit!(visit_jsx_namespaced_name, JSXNamespacedName); + }; +} + +/// Mark visitor as ECMAScript standard only and mark other types as +/// unreachable. +/// +/// Used to reduce the binary size. +#[macro_export] +macro_rules! standard_only_visit_mut { + ($name:ident, $N:ident) => { + fn $name(&mut self, _: &mut $crate::swc_ecma_ast::$N) { + $crate::fail_not_standard() + } + }; + () => { + standard_only_visit_mut!(visit_mut_accessibility, Accessibility); + standard_only_visit_mut!(visit_mut_true_plus_minus, TruePlusMinus); + standard_only_visit_mut!(visit_mut_ts_array_type, TsArrayType); + standard_only_visit_mut!(visit_mut_ts_call_signature_decl, TsCallSignatureDecl); + standard_only_visit_mut!(visit_mut_ts_conditional_type, TsConditionalType); + standard_only_visit_mut!( + visit_mut_ts_construct_signature_decl, + TsConstructSignatureDecl + ); + standard_only_visit_mut!(visit_mut_ts_constructor_type, TsConstructorType); + standard_only_visit_mut!(visit_mut_ts_entity_name, TsEntityName); + standard_only_visit_mut!(visit_mut_ts_expr_with_type_args, TsExprWithTypeArgs); + standard_only_visit_mut!(visit_mut_ts_fn_or_constructor_type, TsFnOrConstructorType); + standard_only_visit_mut!(visit_mut_ts_fn_param, TsFnParam); + standard_only_visit_mut!(visit_mut_ts_fn_type, TsFnType); + standard_only_visit_mut!(visit_mut_ts_import_type, TsImportType); + standard_only_visit_mut!(visit_mut_ts_index_signature, TsIndexSignature); + standard_only_visit_mut!(visit_mut_ts_indexed_access_type, TsIndexedAccessType); + standard_only_visit_mut!(visit_mut_ts_infer_type, TsInferType); + standard_only_visit_mut!(visit_mut_ts_interface_body, TsInterfaceBody); + standard_only_visit_mut!(visit_mut_ts_interface_decl, TsInterfaceDecl); + standard_only_visit_mut!(visit_mut_ts_intersection_type, TsIntersectionType); + standard_only_visit_mut!(visit_mut_ts_keyword_type, TsKeywordType); + standard_only_visit_mut!(visit_mut_ts_keyword_type_kind, TsKeywordTypeKind); + standard_only_visit_mut!(visit_mut_ts_mapped_type, TsMappedType); + standard_only_visit_mut!(visit_mut_ts_method_signature, TsMethodSignature); + standard_only_visit_mut!(visit_mut_ts_optional_type, TsOptionalType); + standard_only_visit_mut!(visit_mut_ts_parenthesized_type, TsParenthesizedType); + standard_only_visit_mut!(visit_mut_ts_property_signature, TsPropertySignature); + standard_only_visit_mut!(visit_mut_ts_qualified_name, TsQualifiedName); + standard_only_visit_mut!(visit_mut_ts_rest_type, TsRestType); + standard_only_visit_mut!(visit_mut_ts_this_type, TsThisType); + standard_only_visit_mut!(visit_mut_ts_this_type_or_ident, TsThisTypeOrIdent); + standard_only_visit_mut!(visit_mut_ts_tuple_type, TsTupleType); + standard_only_visit_mut!(visit_mut_ts_type, TsType); + standard_only_visit_mut!(visit_mut_ts_type_alias_decl, TsTypeAliasDecl); + standard_only_visit_mut!(visit_mut_ts_type_ann, TsTypeAnn); + standard_only_visit_mut!(visit_mut_ts_type_element, TsTypeElement); + standard_only_visit_mut!(visit_mut_ts_type_lit, TsTypeLit); + standard_only_visit_mut!(visit_mut_ts_type_operator, TsTypeOperator); + standard_only_visit_mut!(visit_mut_ts_type_operator_op, TsTypeOperatorOp); + standard_only_visit_mut!(visit_mut_ts_type_param, TsTypeParam); + standard_only_visit_mut!(visit_mut_ts_type_param_decl, TsTypeParamDecl); + standard_only_visit_mut!( + visit_mut_ts_type_param_instantiation, + TsTypeParamInstantiation + ); + standard_only_visit_mut!(visit_mut_ts_type_predicate, TsTypePredicate); + standard_only_visit_mut!(visit_mut_ts_type_query, TsTypeQuery); + standard_only_visit_mut!(visit_mut_ts_type_query_expr, TsTypeQueryExpr); + standard_only_visit_mut!(visit_mut_ts_type_ref, TsTypeRef); + standard_only_visit_mut!( + visit_mut_ts_union_or_intersection_type, + TsUnionOrIntersectionType + ); + standard_only_visit_mut!(visit_mut_ts_union_type, TsUnionType); + + standard_only_visit_mut!(visit_mut_jsx_element, JSXElement); + standard_only_visit_mut!(visit_mut_jsx_fragment, JSXFragment); + standard_only_visit_mut!(visit_mut_jsx_empty_expr, JSXEmptyExpr); + standard_only_visit_mut!(visit_mut_jsx_member_expr, JSXMemberExpr); + standard_only_visit_mut!(visit_mut_jsx_namespaced_name, JSXNamespacedName); + }; +} + /// Note: Ignoring more types is not considered as a breaking change. #[macro_export] macro_rules! noop_visit_mut_type { @@ -1945,10 +2175,6 @@ macro_rules! visit_mut_obj_and_computed { } } - fn visit_mut_jsx_member_expr(&mut self, n: &mut $crate::swc_ecma_ast::JSXMemberExpr) { - n.obj.visit_mut_with(self); - } - fn visit_mut_super_prop_expr(&mut self, n: &mut $crate::swc_ecma_ast::SuperPropExpr) { if let $crate::swc_ecma_ast::SuperProp::Computed(c) = &mut n.prop { c.visit_mut_with(self); diff --git a/crates/swc_estree_compat/benches/babelify.rs b/crates/swc_estree_compat/benches/babelify.rs index afd6071c5522..18f4db2cb37c 100644 --- a/crates/swc_estree_compat/benches/babelify.rs +++ b/crates/swc_estree_compat/benches/babelify.rs @@ -54,7 +54,7 @@ fn babelify_only(b: &mut Bencher) { module .fold_with(&mut resolver(unresolved_mark, top_level_mark, true)) - .fold_with(&mut typescript::strip(top_level_mark)) + .fold_with(&mut typescript::strip(unresolved_mark, top_level_mark)) .fold_with(&mut es2020(Default::default(), unresolved_mark)) }); diff --git a/crates/swc_node_bundler/src/loaders/swc.rs b/crates/swc_node_bundler/src/loaders/swc.rs index c943286b7b00..bc6c2bdee33f 100644 --- a/crates/swc_node_bundler/src/loaders/swc.rs +++ b/crates/swc_node_bundler/src/loaders/swc.rs @@ -10,7 +10,7 @@ use swc_atoms::JsWord; use swc_bundler::{Load, ModuleData}; use swc_common::{ collections::AHashMap, - comments::SingleThreadedComments, + comments::{NoopComments, SingleThreadedComments}, errors::{Handler, HANDLER}, sync::Lrc, FileName, Mark, DUMMY_SP, @@ -24,7 +24,9 @@ use swc_ecma_transforms::{ simplify::{dead_branch_remover, expr_simplifier}, }, pass::noop, + react::jsx, resolver, + typescript::typescript, }; use swc_ecma_visit::{FoldWith, VisitMutWith}; @@ -154,7 +156,7 @@ impl SwcLoader { let program = if fm.name.to_string().contains("node_modules") { let comments = self.compiler.comments().clone(); - let program = self.compiler.parse_js( + let mut program = self.compiler.parse_js( fm.clone(), handler, EsVersion::Es2020, @@ -165,15 +167,30 @@ impl SwcLoader { helpers::HELPERS.set(&helpers, || { HANDLER.set(handler, || { - let mut program = program.fold_with(&mut inline_globals( + let unresolved_mark = Mark::new(); + let top_level_mark = Mark::new(); + + program.visit_mut_with(&mut resolver(unresolved_mark, top_level_mark, false)); + program.visit_mut_with(&mut typescript( + Default::default(), + unresolved_mark, + top_level_mark, + )); + + program.visit_mut_with(&mut jsx( + self.compiler.cm.clone(), + None::, + Default::default(), + top_level_mark, + unresolved_mark, + )); + + program.visit_mut_with(&mut inline_globals( self.env_map(), Default::default(), Default::default(), )); - let unresolved_mark = Mark::new(); - let top_level_mark = Mark::new(); - program.visit_mut_with(&mut resolver(unresolved_mark, top_level_mark, false)); let program = program .fold_with(&mut expr_simplifier(unresolved_mark, Default::default())); @@ -239,16 +256,11 @@ impl SwcLoader { // // Note that we don't apply compat transform at loading phase. let program = if let Some(config) = config { - let program = config.program; + let mut program = config.program; let mut pass = config.pass; helpers::HELPERS.set(&helpers, || { HANDLER.set(handler, || { - let mut program = program.fold_with(&mut inline_globals( - self.env_map(), - Default::default(), - Default::default(), - )); let unresolved_mark = Mark::new(); let top_level_mark = Mark::new(); @@ -257,6 +269,26 @@ impl SwcLoader { top_level_mark, false, )); + program.visit_mut_with(&mut typescript( + Default::default(), + unresolved_mark, + top_level_mark, + )); + + program.visit_mut_with(&mut jsx( + self.compiler.cm.clone(), + None::, + Default::default(), + top_level_mark, + unresolved_mark, + )); + + let program = program.fold_with(&mut inline_globals( + self.env_map(), + Default::default(), + Default::default(), + )); + let program = program .fold_with(&mut expr_simplifier(unresolved_mark, Default::default())); let program = program.fold_with(&mut dead_branch_remover(unresolved_mark)); diff --git a/crates/swc_node_bundler/tests/pass/deno-001/full/output/entry.js b/crates/swc_node_bundler/tests/pass/deno-001/full/output/entry.js index 5459cf0b7a2e..a3e6e347535a 100644 --- a/crates/swc_node_bundler/tests/pass/deno-001/full/output/entry.js +++ b/crates/swc_node_bundler/tests/pass/deno-001/full/output/entry.js @@ -366,8 +366,8 @@ class TextProtoReader { return n; } } -var Status; -(function(Status) {})(Status || (Status = {})); +let Status; +Status || (Status = {}); const STATUS_TEXT = new Map([]); function deferred() { let methods; diff --git a/crates/swc_node_bundler/tests/pass/resolve-name-fix/output/entry.js b/crates/swc_node_bundler/tests/pass/resolve-name-fix/output/entry.js index 8809b109becf..e69de29bb2d1 100644 --- a/crates/swc_node_bundler/tests/pass/resolve-name-fix/output/entry.js +++ b/crates/swc_node_bundler/tests/pass/resolve-name-fix/output/entry.js @@ -1,7398 +0,0 @@ -function __swcpack_require__(mod) { - function interop(obj) { - if (obj && obj.__esModule) { - return obj; - } else { - var newObj = {}; - if (obj != null) { - for(var key in obj){ - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; - if (desc.get || desc.set) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - newObj.default = obj; - return newObj; - } - } - var cache; - if (cache) { - return cache; - } - var module = { - exports: {} - }; - mod(module, module.exports); - cache = interop(module.exports); - return cache; -} -var load = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); - if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef -}); -var load1 = __swcpack_require__.bind(void 0, function(module, exports) { - var hasOwnProperty = {}.hasOwnProperty; - module.exports = function(it, key) { - return hasOwnProperty.call(it, key); - }; -}); -var load2 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = function(exec) { - try { - return !!exec(); - } catch (e) { - return true; - } - }; -}); -var load3 = __swcpack_require__.bind(void 0, function(module, exports) { - // Thank's IE8 for his funny defineProperty - module.exports = !load2()(function() { - return Object.defineProperty({}, 'a', { - get: function() { - return 7; - } - }).a != 7; - }); -}); -var load4 = __swcpack_require__.bind(void 0, function(module, exports) { - var core = module.exports = { - version: '2.6.12' - }; - if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef -}); -var load5 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = function(it) { - return typeof it === 'object' ? it !== null : typeof it === 'function'; - }; -}); -var load6 = __swcpack_require__.bind(void 0, function(module, exports) { - var isObject = load5(); - module.exports = function(it) { - if (!isObject(it)) throw TypeError(it + ' is not an object!'); - return it; - }; -}); -var load7 = __swcpack_require__.bind(void 0, function(module, exports) { - var isObject = load5(); - var document1 = load().document; - // typeof document.createElement is 'object' in old IE - var is = isObject(document1) && isObject(document1.createElement); - module.exports = function(it) { - return is ? document1.createElement(it) : {}; - }; -}); -var load8 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = !load3() && !load2()(function() { - return Object.defineProperty(load7()('div'), 'a', { - get: function() { - return 7; - } - }).a != 7; - }); -}); -var load9 = __swcpack_require__.bind(void 0, function(module, exports) { - // 7.1.1 ToPrimitive(input [, PreferredType]) - var isObject = load5(); - // instead of the ES6 spec version, we didn't implement @@toPrimitive case - // and the second argument - flag - preferred type is a string - module.exports = function(it, S) { - if (!isObject(it)) return it; - var fn, val; - if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; - if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - throw TypeError("Can't convert object to primitive value"); - }; -}); -var load10 = __swcpack_require__.bind(void 0, function(module, exports) { - var anObject = load6(); - var IE8_DOM_DEFINE = load8(); - var toPrimitive = load9(); - var dP = Object.defineProperty; - exports.f = load3() ? Object.defineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if (IE8_DOM_DEFINE) try { - return dP(O, P, Attributes); - } catch (e) {} - if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); - if ('value' in Attributes) O[P] = Attributes.value; - return O; - }; -}); -var load11 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = function(bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; - }; -}); -var load12 = __swcpack_require__.bind(void 0, function(module, exports) { - var dP = load10(); - var createDesc = load11(); - module.exports = load3() ? function(object, key, value) { - return dP.f(object, key, createDesc(1, value)); - } : function(object, key, value) { - object[key] = value; - return object; - }; -}); -var load13 = __swcpack_require__.bind(void 0, function(module, exports) { - var id = 0; - var px = Math.random(); - module.exports = function(key) { - return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); - }; -}); -var load14 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = false; -}); -var load15 = __swcpack_require__.bind(void 0, function(module, exports) { - var core = load4(); - var global = load(); - var SHARED = '__core-js_shared__'; - var store = global[SHARED] || (global[SHARED] = {}); - (module.exports = function(key, value) { - return store[key] || (store[key] = value !== undefined ? value : {}); - })('versions', []).push({ - version: core.version, - mode: load14() ? 'pure' : 'global', - copyright: '© 2020 Denis Pushkarev (zloirock.ru)' - }); -}); -var load16 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = load15()('native-function-to-string', Function.toString); -}); -var load17 = __swcpack_require__.bind(void 0, function(module, exports) { - var global = load(); - var hide = load12(); - var has = load1(); - var SRC = load13()('src'); - var $toString = load16(); - var TO_STRING = 'toString'; - var TPL = ('' + $toString).split(TO_STRING); - load4().inspectSource = function(it) { - return $toString.call(it); - }; - (module.exports = function(O, key, val, safe) { - var isFunction = typeof val == 'function'; - if (isFunction) has(val, 'name') || hide(val, 'name', key); - if (O[key] === val) return; - if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); - if (O === global) O[key] = val; - else if (!safe) { - delete O[key]; - hide(O, key, val); - } else if (O[key]) O[key] = val; - else hide(O, key, val); - // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative - })(Function.prototype, TO_STRING, function toString() { - return typeof this == 'function' && this[SRC] || $toString.call(this); - }); -}); -var load18 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = function(it) { - if (typeof it != 'function') throw TypeError(it + ' is not a function!'); - return it; - }; -}); -var load19 = __swcpack_require__.bind(void 0, function(module, exports) { - // optional / simple context binding - var aFunction = load18(); - module.exports = function(fn, that, length) { - aFunction(fn); - if (that === undefined) return fn; - switch(length){ - case 1: - return function(a) { - return fn.call(that, a); - }; - case 2: - return function(a, b) { - return fn.call(that, a, b); - }; - case 3: - return function(a, b, c) { - return fn.call(that, a, b, c); - }; - } - return function() { - return fn.apply(that, arguments); - }; - }; -}); -var load20 = __swcpack_require__.bind(void 0, function(module, exports) { - var global = load(); - var core = load4(); - var hide = load12(); - var redefine = load17(); - var ctx = load19(); - var PROTOTYPE = 'prototype'; - var $export = function(type, name, source) { - var IS_FORCED = type & $export.F; - var IS_GLOBAL = type & $export.G; - var IS_STATIC = type & $export.S; - var IS_PROTO = type & $export.P; - var IS_BIND = type & $export.B; - var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; - var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); - var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); - var key, own, out, exp; - if (IS_GLOBAL) source = name; - for(key in source){ - // contains in native - own = !IS_FORCED && target && target[key] !== undefined; - // export native or passed - out = (own ? target : source)[key]; - // bind timers to global for call from export context - exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; - // extend global - if (target) redefine(target, key, out, type & $export.U); - // export - if (exports[key] != out) hide(exports, key, exp); - if (IS_PROTO && expProto[key] != out) expProto[key] = out; - } - }; - global.core = core; - // type bitmap - $export.F = 1; // forced - $export.G = 2; // global - $export.S = 4; // static - $export.P = 8; // proto - $export.B = 16; // bind - $export.W = 32; // wrap - $export.U = 64; // safe - $export.R = 128; // real proto method for `library` - module.exports = $export; -}); -var load21 = __swcpack_require__.bind(void 0, function(module, exports) { - var META = load13()('meta'); - var isObject = load5(); - var has = load1(); - var setDesc = load10().f; - var id = 0; - var isExtensible = Object.isExtensible || function() { - return true; - }; - var FREEZE = !load2()(function() { - return isExtensible(Object.preventExtensions({})); - }); - var setMeta = function(it) { - setDesc(it, META, { - value: { - i: 'O' + ++id, - w: {} // weak collections IDs - } - }); - }; - var fastKey = function(it, create) { - // return primitive with prefix - if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if (!has(it, META)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return 'F'; - // not necessary to add metadata - if (!create) return 'E'; - // add missing metadata - setMeta(it); - // return object ID - } - return it[META].i; - }; - var getWeak = function(it, create) { - if (!has(it, META)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return true; - // not necessary to add metadata - if (!create) return false; - // add missing metadata - setMeta(it); - // return hash weak collections IDs - } - return it[META].w; - }; - // add metadata on freeze-family methods calling - var onFreeze = function(it) { - if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); - return it; - }; - var meta = module.exports = { - KEY: META, - NEED: false, - fastKey: fastKey, - getWeak: getWeak, - onFreeze: onFreeze - }; -}); -var load22 = __swcpack_require__.bind(void 0, function(module, exports) { - var store = load15()('wks'); - var uid = load13(); - var Symbol1 = load().Symbol; - var USE_SYMBOL = typeof Symbol1 == 'function'; - var $exports = module.exports = function(name) { - return store[name] || (store[name] = USE_SYMBOL && Symbol1[name] || (USE_SYMBOL ? Symbol1 : uid)('Symbol.' + name)); - }; - $exports.store = store; -}); -var load23 = __swcpack_require__.bind(void 0, function(module, exports) { - var def = load10().f; - var has = load1(); - var TAG = load22()('toStringTag'); - module.exports = function(it, tag, stat) { - if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { - configurable: true, - value: tag - }); - }; -}); -var load24 = __swcpack_require__.bind(void 0, function(module, exports) { - exports.f = load22(); -}); -var load25 = __swcpack_require__.bind(void 0, function(module, exports) { - var global = load(); - var core = load4(); - var LIBRARY = load14(); - var wksExt = load24(); - var defineProperty = load10().f; - module.exports = function(name) { - var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); - if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { - value: wksExt.f(name) - }); - }; -}); -var load26 = __swcpack_require__.bind(void 0, function(module, exports) { - var toString = {}.toString; - module.exports = function(it) { - return toString.call(it).slice(8, -1); - }; -}); -var load27 = __swcpack_require__.bind(void 0, function(module, exports) { - // fallback for non-array-like ES3 and non-enumerable old V8 strings - var cof = load26(); - // eslint-disable-next-line no-prototype-builtins - module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it) { - return cof(it) == 'String' ? it.split('') : Object(it); - }; -}); -var load28 = __swcpack_require__.bind(void 0, function(module, exports) { - // 7.2.1 RequireObjectCoercible(argument) - module.exports = function(it) { - if (it == undefined) throw TypeError("Can't call method on " + it); - return it; - }; -}); -var load29 = __swcpack_require__.bind(void 0, function(module, exports) { - // to indexed object, toObject with fallback for non-array-like ES3 strings - var IObject = load27(); - var defined = load28(); - module.exports = function(it) { - return IObject(defined(it)); - }; -}); -var load30 = __swcpack_require__.bind(void 0, function(module, exports) { - // 7.1.4 ToInteger - var ceil = Math.ceil; - var floor = Math.floor; - module.exports = function(it) { - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); - }; -}); -var load31 = __swcpack_require__.bind(void 0, function(module, exports) { - // 7.1.15 ToLength - var toInteger = load30(); - var min = Math.min; - module.exports = function(it) { - return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 - }; -}); -var load32 = __swcpack_require__.bind(void 0, function(module, exports) { - var toInteger = load30(); - var max = Math.max; - var min = Math.min; - module.exports = function(index, length) { - index = toInteger(index); - return index < 0 ? max(index + length, 0) : min(index, length); - }; -}); -var load33 = __swcpack_require__.bind(void 0, function(module, exports) { - // false -> Array#indexOf - // true -> Array#includes - var toIObject = load29(); - var toLength = load31(); - var toAbsoluteIndex = load32(); - module.exports = function(IS_INCLUDES) { - return function($this, el, fromIndex) { - var O = toIObject($this); - var length = toLength(O.length); - var index = toAbsoluteIndex(fromIndex, length); - var value; - // Array#includes uses SameValueZero equality algorithm - // eslint-disable-next-line no-self-compare - if (IS_INCLUDES && el != el) while(length > index){ - value = O[index++]; - // eslint-disable-next-line no-self-compare - if (value != value) return true; - // Array#indexOf ignores holes, Array#includes - not - } - else for(; length > index; index++)if (IS_INCLUDES || index in O) { - if (O[index] === el) return IS_INCLUDES || index || 0; - } - return !IS_INCLUDES && -1; - }; - }; -}); -var load34 = __swcpack_require__.bind(void 0, function(module, exports) { - var shared = load15()('keys'); - var uid = load13(); - module.exports = function(key) { - return shared[key] || (shared[key] = uid(key)); - }; -}); -var load35 = __swcpack_require__.bind(void 0, function(module, exports) { - var has = load1(); - var toIObject = load29(); - var arrayIndexOf = load33()(false); - var IE_PROTO = load34()('IE_PROTO'); - module.exports = function(object, names) { - var O = toIObject(object); - var i = 0; - var result = []; - var key; - for(key in O)if (key != IE_PROTO) has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while(names.length > i)if (has(O, key = names[i++])) ~arrayIndexOf(result, key) || result.push(key); - return result; - }; -}); -var load36 = __swcpack_require__.bind(void 0, function(module, exports) { - // IE 8- don't enum bug keys - module.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(','); -}); -var load37 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.14 / 15.2.3.14 Object.keys(O) - var $keys = load35(); - var enumBugKeys = load36(); - module.exports = Object.keys || function keys(O) { - return $keys(O, enumBugKeys); - }; -}); -var load38 = __swcpack_require__.bind(void 0, function(module, exports) { - exports.f = Object.getOwnPropertySymbols; -}); -var load39 = __swcpack_require__.bind(void 0, function(module, exports) { - exports.f = ({}).propertyIsEnumerable; -}); -var load40 = __swcpack_require__.bind(void 0, function(module, exports) { - // all enumerable object keys, includes symbols - var getKeys = load37(); - var gOPS = load38(); - var pIE = load39(); - module.exports = function(it) { - var result = getKeys(it); - var getSymbols = gOPS.f; - if (getSymbols) { - var symbols = getSymbols(it); - var isEnum = pIE.f; - var i = 0; - var key; - while(symbols.length > i)if (isEnum.call(it, key = symbols[i++])) result.push(key); - } - return result; - }; -}); -var load41 = __swcpack_require__.bind(void 0, function(module, exports) { - // 7.2.2 IsArray(argument) - var cof = load26(); - module.exports = Array.isArray || function isArray(arg) { - return cof(arg) == 'Array'; - }; -}); -var load42 = __swcpack_require__.bind(void 0, function(module, exports) { - // 7.1.13 ToObject(argument) - var defined = load28(); - module.exports = function(it) { - return Object(defined(it)); - }; -}); -var load43 = __swcpack_require__.bind(void 0, function(module, exports) { - var dP = load10(); - var anObject = load6(); - var getKeys = load37(); - module.exports = load3() ? Object.defineProperties : function defineProperties(O, Properties) { - anObject(O); - var keys = getKeys(Properties); - var length = keys.length; - var i = 0; - var P; - while(length > i)dP.f(O, P = keys[i++], Properties[P]); - return O; - }; -}); -var load44 = __swcpack_require__.bind(void 0, function(module, exports) { - var document1 = load().document; - module.exports = document1 && document1.documentElement; -}); -var load45 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) - var anObject = load6(); - var dPs = load43(); - var enumBugKeys = load36(); - var IE_PROTO = load34()('IE_PROTO'); - var Empty = function() {}; - var PROTOTYPE = 'prototype'; - // Create object with fake `null` prototype: use iframe Object with cleared prototype - var createDict = function() { - // Thrash, waste and sodomy: IE GC bug - var iframe = load7()('iframe'); - var i = enumBugKeys.length; - var lt = '<'; - var gt = '>'; - var iframeDocument; - iframe.style.display = 'none'; - load44().appendChild(iframe); - iframe.src = 'javascript:'; // eslint-disable-line no-script-url - // createDict = iframe.contentWindow.Object; - // html.removeChild(iframe); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]]; - return createDict(); - }; - module.exports = Object.create || function create(O, Properties) { - var result; - if (O !== null) { - Empty[PROTOTYPE] = anObject(O); - result = new Empty(); - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : dPs(result, Properties); - }; -}); -var load46 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) - var $keys = load35(); - var hiddenKeys = load36().concat('length', 'prototype'); - exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { - return $keys(O, hiddenKeys); - }; -}); -var load47 = __swcpack_require__.bind(void 0, function(module, exports) { - // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window - var toIObject = load29(); - var gOPN = load46().f; - var toString = {}.toString; - var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; - var getWindowNames = function(it) { - try { - return gOPN(it); - } catch (e) { - return windowNames.slice(); - } - }; - module.exports.f = function getOwnPropertyNames(it) { - return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); - }; -}); -var load48 = __swcpack_require__.bind(void 0, function(module, exports) { - var pIE = load39(); - var createDesc = load11(); - var toIObject = load29(); - var toPrimitive = load9(); - var has = load1(); - var IE8_DOM_DEFINE = load8(); - var gOPD = Object.getOwnPropertyDescriptor; - exports.f = load3() ? gOPD : function getOwnPropertyDescriptor(O, P) { - O = toIObject(O); - P = toPrimitive(P, true); - if (IE8_DOM_DEFINE) try { - return gOPD(O, P); - } catch (e) {} - if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); - }; -}); -var load49 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // ECMAScript 6 symbols shim - var global = load(); - var has = load1(); - var DESCRIPTORS = load3(); - var $export = load20(); - var redefine = load17(); - var META = load21().KEY; - var $fails = load2(); - var shared = load15(); - var setToStringTag = load23(); - var uid = load13(); - var wks = load22(); - var wksExt = load24(); - var wksDefine = load25(); - var enumKeys = load40(); - var isArray = load41(); - var anObject = load6(); - var isObject = load5(); - var toObject = load42(); - var toIObject = load29(); - var toPrimitive = load9(); - var createDesc = load11(); - var _create = load45(); - var gOPNExt = load47(); - var $GOPD = load48(); - var $GOPS = load38(); - var $DP = load10(); - var $keys = load37(); - var gOPD = $GOPD.f; - var dP = $DP.f; - var gOPN = gOPNExt.f; - var $Symbol = global.Symbol; - var $JSON = global.JSON; - var _stringify = $JSON && $JSON.stringify; - var PROTOTYPE = 'prototype'; - var HIDDEN = wks('_hidden'); - var TO_PRIMITIVE = wks('toPrimitive'); - var isEnum = {}.propertyIsEnumerable; - var SymbolRegistry = shared('symbol-registry'); - var AllSymbols = shared('symbols'); - var OPSymbols = shared('op-symbols'); - var ObjectProto = Object[PROTOTYPE]; - var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f; - var QObject = global.QObject; - // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 - var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; - // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 - var setSymbolDesc = DESCRIPTORS && $fails(function() { - return _create(dP({}, 'a', { - get: function() { - return dP(this, 'a', { - value: 7 - }).a; - } - })).a != 7; - }) ? function(it, key, D) { - var protoDesc = gOPD(ObjectProto, key); - if (protoDesc) delete ObjectProto[key]; - dP(it, key, D); - if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); - } : dP; - var wrap = function(tag) { - var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); - sym._k = tag; - return sym; - }; - var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it) { - return typeof it == 'symbol'; - } : function(it) { - return it instanceof $Symbol; - }; - var $defineProperty = function defineProperty(it, key, D) { - if (it === ObjectProto) $defineProperty(OPSymbols, key, D); - anObject(it); - key = toPrimitive(key, true); - anObject(D); - if (has(AllSymbols, key)) { - if (!D.enumerable) { - if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); - it[HIDDEN][key] = true; - } else { - if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; - D = _create(D, { - enumerable: createDesc(0, false) - }); - } - return setSymbolDesc(it, key, D); - } - return dP(it, key, D); - }; - var $defineProperties = function defineProperties(it, P) { - anObject(it); - var keys = enumKeys(P = toIObject(P)); - var i = 0; - var l = keys.length; - var key; - while(l > i)$defineProperty(it, key = keys[i++], P[key]); - return it; - }; - var $create = function create(it, P) { - return P === undefined ? _create(it) : $defineProperties(_create(it), P); - }; - var $propertyIsEnumerable = function propertyIsEnumerable(key) { - var E = isEnum.call(this, key = toPrimitive(key, true)); - if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; - return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; - }; - var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { - it = toIObject(it); - key = toPrimitive(key, true); - if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; - var D = gOPD(it, key); - if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; - return D; - }; - var $getOwnPropertyNames = function getOwnPropertyNames(it) { - var names = gOPN(toIObject(it)); - var result = []; - var i = 0; - var key; - while(names.length > i)if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); - return result; - }; - var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { - var IS_OP = it === ObjectProto; - var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); - var result = []; - var i = 0; - var key; - while(names.length > i)if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); - return result; - }; - // 19.4.1.1 Symbol([description]) - if (!USE_NATIVE) { - $Symbol = function Symbol1() { - if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); - var tag = uid(arguments.length > 0 ? arguments[0] : undefined); - var $set = function(value) { - if (this === ObjectProto) $set.call(OPSymbols, value); - if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; - setSymbolDesc(this, tag, createDesc(1, value)); - }; - if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { - configurable: true, - set: $set - }); - return wrap(tag); - }; - redefine($Symbol[PROTOTYPE], 'toString', function toString() { - return this._k; - }); - $GOPD.f = $getOwnPropertyDescriptor; - $DP.f = $defineProperty; - load46().f = gOPNExt.f = $getOwnPropertyNames; - load39().f = $propertyIsEnumerable; - $GOPS.f = $getOwnPropertySymbols; - if (DESCRIPTORS && !load14()) redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); - wksExt.f = function(name) { - return wrap(wks(name)); - }; - } - $export($export.G + $export.W + $export.F * !USE_NATIVE, { - Symbol: $Symbol - }); - for(var es6Symbols = // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 - 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); - for(var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;)wksDefine(wellKnownSymbols[k++]); - $export($export.S + $export.F * !USE_NATIVE, 'Symbol', { - // 19.4.2.1 Symbol.for(key) - 'for': function(key) { - return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key); - }, - // 19.4.2.5 Symbol.keyFor(sym) - keyFor: function keyFor(sym) { - if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); - for(var key in SymbolRegistry)if (SymbolRegistry[key] === sym) return key; - }, - useSetter: function() { - setter = true; - }, - useSimple: function() { - setter = false; - } - }); - $export($export.S + $export.F * !USE_NATIVE, 'Object', { - // 19.1.2.2 Object.create(O [, Properties]) - create: $create, - // 19.1.2.4 Object.defineProperty(O, P, Attributes) - defineProperty: $defineProperty, - // 19.1.2.3 Object.defineProperties(O, Properties) - defineProperties: $defineProperties, - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - getOwnPropertyDescriptor: $getOwnPropertyDescriptor, - // 19.1.2.7 Object.getOwnPropertyNames(O) - getOwnPropertyNames: $getOwnPropertyNames, - // 19.1.2.8 Object.getOwnPropertySymbols(O) - getOwnPropertySymbols: $getOwnPropertySymbols - }); - // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives - // https://bugs.chromium.org/p/v8/issues/detail?id=3443 - var FAILS_ON_PRIMITIVES = $fails(function() { - $GOPS.f(1); - }); - $export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', { - getOwnPropertySymbols: function getOwnPropertySymbols(it) { - return $GOPS.f(toObject(it)); - } - }); - // 24.3.2 JSON.stringify(value [, replacer [, space]]) - $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function() { - var S = $Symbol(); - // MS Edge converts symbol values to JSON as {} - // WebKit converts symbol values to JSON as null - // V8 throws on boxed symbols - return _stringify([ - S - ]) != '[null]' || _stringify({ - a: S - }) != '{}' || _stringify(Object(S)) != '{}'; - })), 'JSON', { - stringify: function stringify(it) { - var args = [ - it - ]; - var i = 1; - var replacer, $replacer; - while(arguments.length > i)args.push(arguments[i++]); - $replacer = replacer = args[1]; - if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined - if (!isArray(replacer)) replacer = function(key, value) { - if (typeof $replacer == 'function') value = $replacer.call(this, key, value); - if (!isSymbol(value)) return value; - }; - args[1] = replacer; - return _stringify.apply($JSON, args); - } - }); - // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) - $Symbol[PROTOTYPE][TO_PRIMITIVE] || load12()($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); - // 19.4.3.5 Symbol.prototype[@@toStringTag] - setToStringTag($Symbol, 'Symbol'); - // 20.2.1.9 Math[@@toStringTag] - setToStringTag(Math, 'Math', true); - // 24.3.3 JSON[@@toStringTag] - setToStringTag(global.JSON, 'JSON', true); -}); -var load50 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) - $export($export.S, 'Object', { - create: load45() - }); -}); -var load51 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) - $export($export.S + $export.F * !load3(), 'Object', { - defineProperty: load10().f - }); -}); -var load52 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) - $export($export.S + $export.F * !load3(), 'Object', { - defineProperties: load43() - }); -}); -var load53 = __swcpack_require__.bind(void 0, function(module, exports) { - // most Object methods by ES6 should accept primitives - var $export = load20(); - var core = load4(); - var fails = load2(); - module.exports = function(KEY, exec) { - var fn = (core.Object || {})[KEY] || Object[KEY]; - var exp = {}; - exp[KEY] = exec(fn); - $export($export.S + $export.F * fails(function() { - fn(1); - }), 'Object', exp); - }; -}); -var load54 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - var toIObject = load29(); - var $getOwnPropertyDescriptor = load48().f; - load53()('getOwnPropertyDescriptor', function() { - return function getOwnPropertyDescriptor(it, key) { - return $getOwnPropertyDescriptor(toIObject(it), key); - }; - }); -}); -var load55 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) - var has = load1(); - var toObject = load42(); - var IE_PROTO = load34()('IE_PROTO'); - var ObjectProto = Object.prototype; - module.exports = Object.getPrototypeOf || function(O) { - O = toObject(O); - if (has(O, IE_PROTO)) return O[IE_PROTO]; - if (typeof O.constructor == 'function' && O instanceof O.constructor) return O.constructor.prototype; - return O instanceof Object ? ObjectProto : null; - }; -}); -var load56 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.9 Object.getPrototypeOf(O) - var toObject = load42(); - var $getPrototypeOf = load55(); - load53()('getPrototypeOf', function() { - return function getPrototypeOf(it) { - return $getPrototypeOf(toObject(it)); - }; - }); -}); -var load57 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.14 Object.keys(O) - var toObject = load42(); - var $keys = load37(); - load53()('keys', function() { - return function keys(it) { - return $keys(toObject(it)); - }; - }); -}); -var load58 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.7 Object.getOwnPropertyNames(O) - load53()('getOwnPropertyNames', function() { - return load47().f; - }); -}); -var load59 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.5 Object.freeze(O) - var isObject = load5(); - var meta = load21().onFreeze; - load53()('freeze', function($freeze) { - return function freeze(it) { - return $freeze && isObject(it) ? $freeze(meta(it)) : it; - }; - }); -}); -var load60 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.17 Object.seal(O) - var isObject = load5(); - var meta = load21().onFreeze; - load53()('seal', function($seal) { - return function seal(it) { - return $seal && isObject(it) ? $seal(meta(it)) : it; - }; - }); -}); -var load61 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.15 Object.preventExtensions(O) - var isObject = load5(); - var meta = load21().onFreeze; - load53()('preventExtensions', function($preventExtensions) { - return function preventExtensions(it) { - return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; - }; - }); -}); -var load62 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.12 Object.isFrozen(O) - var isObject = load5(); - load53()('isFrozen', function($isFrozen) { - return function isFrozen(it) { - return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; - }; - }); -}); -var load63 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.13 Object.isSealed(O) - var isObject = load5(); - load53()('isSealed', function($isSealed) { - return function isSealed(it) { - return isObject(it) ? $isSealed ? $isSealed(it) : false : true; - }; - }); -}); -var load64 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.2.11 Object.isExtensible(O) - var isObject = load5(); - load53()('isExtensible', function($isExtensible) { - return function isExtensible(it) { - return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; - }; - }); -}); -var load65 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // 19.1.2.1 Object.assign(target, source, ...) - var DESCRIPTORS = load3(); - var getKeys = load37(); - var gOPS = load38(); - var pIE = load39(); - var toObject = load42(); - var IObject = load27(); - var $assign = Object.assign; - // should work with symbols and should have deterministic property order (V8 bug) - module.exports = !$assign || load2()(function() { - var A = {}; - var B = {}; - // eslint-disable-next-line no-undef - var S = Symbol(); - var K = 'abcdefghijklmnopqrst'; - A[S] = 7; - K.split('').forEach(function(k) { - B[k] = k; - }); - return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; - }) ? function assign(target, source) { - var T = toObject(target); - var aLen = arguments.length; - var index = 1; - var getSymbols = gOPS.f; - var isEnum = pIE.f; - while(aLen > index){ - var S = IObject(arguments[index++]); - var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); - var length = keys.length; - var j = 0; - var key; - while(length > j){ - key = keys[j++]; - if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key]; - } - } - return T; - } : $assign; -}); -var load66 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.3.1 Object.assign(target, source) - var $export = load20(); - $export($export.S + $export.F, 'Object', { - assign: load65() - }); -}); -var load67 = __swcpack_require__.bind(void 0, function(module, exports) { - // 7.2.9 SameValue(x, y) - module.exports = Object.is || function is(x, y) { - // eslint-disable-next-line no-self-compare - return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; - }; -}); -var load68 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.3.10 Object.is(value1, value2) - var $export = load20(); - $export($export.S, 'Object', { - is: load67() - }); -}); -var load69 = __swcpack_require__.bind(void 0, function(module, exports) { - // Works with __proto__ only. Old v8 can't work with null proto objects. - /* eslint-disable no-proto */ var isObject = load5(); - var anObject = load6(); - var check = function(O, proto) { - anObject(O); - if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); - }; - module.exports = { - set: Object.setPrototypeOf || ('__proto__' in {} ? function(test, buggy, set) { - try { - set = load19()(Function.call, load48().f(Object.prototype, '__proto__').set, 2); - set(test, []); - buggy = !(test instanceof Array); - } catch (e) { - buggy = true; - } - return function setPrototypeOf(O, proto) { - check(O, proto); - if (buggy) O.__proto__ = proto; - else set(O, proto); - return O; - }; - }({}, false) : undefined), - check: check - }; -}); -var load70 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.1.3.19 Object.setPrototypeOf(O, proto) - var $export = load20(); - $export($export.S, 'Object', { - setPrototypeOf: load69().set - }); -}); -var load71 = __swcpack_require__.bind(void 0, function(module, exports) { - // getting tag from 19.1.3.6 Object.prototype.toString() - var cof = load26(); - var TAG = load22()('toStringTag'); - // ES3 wrong here - var ARG = cof(function() { - return arguments; - }()) == 'Arguments'; - // fallback for IE11 Script Access Denied error - var tryGet = function(it, key) { - try { - return it[key]; - } catch (e) {} - }; - module.exports = function(it) { - var O, T, B; - return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T : ARG ? cof(O) : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; - }; -}); -var load72 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // 19.1.3.6 Object.prototype.toString() - var classof = load71(); - var test = {}; - test[load22()('toStringTag')] = 'z'; - if (test + '' != '[object z]') load17()(Object.prototype, 'toString', function toString() { - return '[object ' + classof(this) + ']'; - }, true); -}); -var load73 = __swcpack_require__.bind(void 0, function(module, exports) { - // fast apply, http://jsperf.lnkit.com/fast-apply/5 - module.exports = function(fn, args, that) { - var un = that === undefined; - switch(args.length){ - case 0: - return un ? fn() : fn.call(that); - case 1: - return un ? fn(args[0]) : fn.call(that, args[0]); - case 2: - return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]); - case 3: - return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]); - case 4: - return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]); - } - return fn.apply(that, args); - }; -}); -var load74 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var aFunction = load18(); - var isObject = load5(); - var invoke = load73(); - var arraySlice = [].slice; - var factories = {}; - var construct = function(F, len, args) { - if (!(len in factories)) { - for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']'; - // eslint-disable-next-line no-new-func - factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); - } - return factories[len](F, args); - }; - module.exports = Function.bind || function bind(that /* , ...args */ ) { - var fn = aFunction(this); - var partArgs = arraySlice.call(arguments, 1); - var bound = function() { - var args = partArgs.concat(arraySlice.call(arguments)); - return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); - }; - if (isObject(fn.prototype)) bound.prototype = fn.prototype; - return bound; - }; -}); -var load75 = __swcpack_require__.bind(void 0, function(module, exports) { - // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) - var $export = load20(); - $export($export.P, 'Function', { - bind: load74() - }); -}); -var load76 = __swcpack_require__.bind(void 0, function(module, exports) { - var dP = load10().f; - var FProto = Function.prototype; - var nameRE = /^\s*function ([^ (]*)/; - var NAME = 'name'; - // 19.2.4.2 name - NAME in FProto || load3() && dP(FProto, NAME, { - configurable: true, - get: function() { - try { - return ('' + this).match(nameRE)[1]; - } catch (e) { - return ''; - } - } - }); -}); -var load77 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var isObject = load5(); - var getPrototypeOf = load55(); - var HAS_INSTANCE = load22()('hasInstance'); - var FunctionProto = Function.prototype; - // 19.2.3.6 Function.prototype[@@hasInstance](V) - if (!(HAS_INSTANCE in FunctionProto)) load10().f(FunctionProto, HAS_INSTANCE, { - value: function(O) { - if (typeof this != 'function' || !isObject(O)) return false; - if (!isObject(this.prototype)) return O instanceof this; - // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: - while(O = getPrototypeOf(O))if (this.prototype === O) return true; - return false; - } - }); -}); -var load78 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = " \n\v\f\r   ᠎              \u2028\u2029\uFEFF"; -}); -var load79 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - var defined = load28(); - var fails = load2(); - var spaces = load78(); - var space = '[' + spaces + ']'; - var non = '\u200b\u0085'; - var ltrim = RegExp('^' + space + space + '*'); - var rtrim = RegExp(space + space + '*$'); - var exporter = function(KEY, exec, ALIAS) { - var exp = {}; - var FORCE = fails(function() { - return !!spaces[KEY]() || non[KEY]() != non; - }); - var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; - if (ALIAS) exp[ALIAS] = fn; - $export($export.P + $export.F * FORCE, 'String', exp); - }; - // 1 -> String#trimLeft - // 2 -> String#trimRight - // 3 -> String#trim - var trim = exporter.trim = function(string, TYPE) { - string = String(defined(string)); - if (TYPE & 1) string = string.replace(ltrim, ''); - if (TYPE & 2) string = string.replace(rtrim, ''); - return string; - }; - module.exports = exporter; -}); -var load80 = __swcpack_require__.bind(void 0, function(module, exports) { - var $parseInt = load().parseInt; - var $trim = load79().trim; - var ws = load78(); - var hex = /^[-+]?0[xX]/; - module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt1(str, radix) { - var string = $trim(String(str), 3); - return $parseInt(string, radix >>> 0 || (hex.test(string) ? 16 : 10)); - } : $parseInt; -}); -var load81 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - var $parseInt = load80(); - // 18.2.5 parseInt(string, radix) - $export($export.G + $export.F * (parseInt != $parseInt), { - parseInt: $parseInt - }); -}); -var load82 = __swcpack_require__.bind(void 0, function(module, exports) { - var $parseFloat = load().parseFloat; - var $trim = load79().trim; - module.exports = 1 / $parseFloat(load78() + '-0') !== -Infinity ? function parseFloat1(str) { - var string = $trim(String(str), 3); - var result = $parseFloat(string); - return result === 0 && string.charAt(0) == '-' ? -0 : result; - } : $parseFloat; -}); -var load83 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - var $parseFloat = load82(); - // 18.2.4 parseFloat(string) - $export($export.G + $export.F * (parseFloat != $parseFloat), { - parseFloat: $parseFloat - }); -}); -var load84 = __swcpack_require__.bind(void 0, function(module, exports) { - var isObject = load5(); - var setPrototypeOf = load69().set; - module.exports = function(that, target, C) { - var S = target.constructor; - var P; - if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) setPrototypeOf(that, P); - return that; - }; -}); -var load85 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var global = load(); - var has = load1(); - var cof = load26(); - var inheritIfRequired = load84(); - var toPrimitive = load9(); - var fails = load2(); - var gOPN = load46().f; - var gOPD = load48().f; - var dP = load10().f; - var $trim = load79().trim; - var NUMBER = 'Number'; - var $Number = global[NUMBER]; - var Base = $Number; - var proto = $Number.prototype; - // Opera ~12 has broken Object#toString - var BROKEN_COF = cof(load45()(proto)) == NUMBER; - var TRIM = 'trim' in String.prototype; - // 7.1.3 ToNumber(argument) - var toNumber = function(argument) { - var it = toPrimitive(argument, false); - if (typeof it == 'string' && it.length > 2) { - it = TRIM ? it.trim() : $trim(it, 3); - var first = it.charCodeAt(0); - var third, radix, maxCode; - if (first === 43 || first === 45) { - third = it.charCodeAt(2); - if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix - } else if (first === 48) { - switch(it.charCodeAt(1)){ - case 66: - case 98: - radix = 2; - maxCode = 49; - break; // fast equal /^0b[01]+$/i - case 79: - case 111: - radix = 8; - maxCode = 55; - break; // fast equal /^0o[0-7]+$/i - default: - return +it; - } - for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){ - code = digits.charCodeAt(i); - // parseInt parses a string to a first unavailable symbol - // but ToNumber should return NaN if a string contains unavailable symbols - if (code < 48 || code > maxCode) return NaN; - } - return parseInt(digits, radix); - } - } - return +it; - }; - if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { - $Number = function Number1(value) { - var it = arguments.length < 1 ? 0 : value; - var that = this; - return that instanceof $Number && (BROKEN_COF ? fails(function() { - proto.valueOf.call(that); - }) : cof(that) != NUMBER) ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); - }; - for(var keys = load3() ? gOPN(Base) : // ES3: - "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(','), j = 0, key; keys.length > j; j++)if (has(Base, key = keys[j]) && !has($Number, key)) dP($Number, key, gOPD(Base, key)); - $Number.prototype = proto; - proto.constructor = $Number; - load17()(global, NUMBER, $Number); - } -}); -var load86 = __swcpack_require__.bind(void 0, function(module, exports) { - var cof = load26(); - module.exports = function(it, msg) { - if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg); - return +it; - }; -}); -var load87 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var toInteger = load30(); - var defined = load28(); - module.exports = function repeat(count) { - var str = String(defined(this)); - var res = ''; - var n = toInteger(count); - if (n < 0 || n == Infinity) throw RangeError("Count can't be negative"); - for(; n > 0; (n >>>= 1) && (str += str))if (n & 1) res += str; - return res; - }; -}); -var load88 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var toInteger = load30(); - var aNumberValue = load86(); - var repeat = load87(); - var $toFixed = 1.0.toFixed; - var floor = Math.floor; - var data = [ - 0, - 0, - 0, - 0, - 0, - 0 - ]; - var ERROR = 'Number.toFixed: incorrect invocation!'; - var ZERO = '0'; - var multiply = function(n, c) { - var i = -1; - var c2 = c; - while(++i < 6){ - c2 += n * data[i]; - data[i] = c2 % 1e7; - c2 = floor(c2 / 1e7); - } - }; - var divide = function(n) { - var i = 6; - var c = 0; - while(--i >= 0){ - c += data[i]; - data[i] = floor(c / n); - c = c % n * 1e7; - } - }; - var numToString = function() { - var i = 6; - var s = ''; - while(--i >= 0)if (s !== '' || i === 0 || data[i] !== 0) { - var t = String(data[i]); - s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; - } - return s; - }; - var pow = function(x, n, acc) { - return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); - }; - var log = function(x) { - var n = 0; - var x2 = x; - while(x2 >= 4096){ - n += 12; - x2 /= 4096; - } - while(x2 >= 2){ - n += 1; - x2 /= 2; - } - return n; - }; - $export($export.P + $export.F * (!!$toFixed && (0.00008.toFixed(3) !== '0.000' || 0.9.toFixed(0) !== '1' || 1.255.toFixed(2) !== '1.25' || 1000000000000000128.0.toFixed(0) !== '1000000000000000128') || !load2()(function() { - // V8 ~ Android 4.3- - $toFixed.call({}); - })), 'Number', { - toFixed: function toFixed(fractionDigits) { - var x = aNumberValue(this, ERROR); - var f = toInteger(fractionDigits); - var s = ''; - var m = ZERO; - var e, z, j, k; - if (f < 0 || f > 20) throw RangeError(ERROR); - // eslint-disable-next-line no-self-compare - if (x != x) return 'NaN'; - if (x <= -1000000000000000000000 || x >= 1e21) return String(x); - if (x < 0) { - s = '-'; - x = -x; - } - if (x > 1e-21) { - e = log(x * pow(2, 69, 1)) - 69; - z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); - z *= 0x10000000000000; - e = 52 - e; - if (e > 0) { - multiply(0, z); - j = f; - while(j >= 7){ - multiply(1e7, 0); - j -= 7; - } - multiply(pow(10, j, 1), 0); - j = e - 1; - while(j >= 23){ - divide(8388608); - j -= 23; - } - divide(1 << j); - multiply(1, 1); - divide(2); - m = numToString(); - } else { - multiply(0, z); - multiply(1 << -e, 0); - m = numToString() + repeat.call(ZERO, f); - } - } - if (f > 0) { - k = m.length; - m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); - } else m = s + m; - return m; - } - }); -}); -var load89 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var $fails = load2(); - var aNumberValue = load86(); - var $toPrecision = 1.0.toPrecision; - $export($export.P + $export.F * ($fails(function() { - // IE7- - return $toPrecision.call(1, undefined) !== '1'; - }) || !$fails(function() { - // V8 ~ Android 4.3- - $toPrecision.call({}); - })), 'Number', { - toPrecision: function toPrecision(precision) { - var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); - return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); - } - }); -}); -var load90 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.1.2.1 Number.EPSILON - var $export = load20(); - $export($export.S, 'Number', { - EPSILON: Math.pow(2, -52) - }); -}); -var load91 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.1.2.2 Number.isFinite(number) - var $export = load20(); - var _isFinite = load().isFinite; - $export($export.S, 'Number', { - isFinite: function isFinite1(it) { - return typeof it == 'number' && _isFinite(it); - } - }); -}); -var load92 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.1.2.3 Number.isInteger(number) - var isObject = load5(); - var floor = Math.floor; - module.exports = function isInteger(it) { - return !isObject(it) && isFinite(it) && floor(it) === it; - }; -}); -var load93 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.1.2.3 Number.isInteger(number) - var $export = load20(); - $export($export.S, 'Number', { - isInteger: load92() - }); -}); -var load94 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.1.2.4 Number.isNaN(number) - var $export = load20(); - $export($export.S, 'Number', { - isNaN: function isNaN1(number) { - // eslint-disable-next-line no-self-compare - return number != number; - } - }); -}); -var load95 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.1.2.5 Number.isSafeInteger(number) - var $export = load20(); - var isInteger = load92(); - var abs = Math.abs; - $export($export.S, 'Number', { - isSafeInteger: function isSafeInteger(number) { - return isInteger(number) && abs(number) <= 0x1fffffffffffff; - } - }); -}); -var load96 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.1.2.6 Number.MAX_SAFE_INTEGER - var $export = load20(); - $export($export.S, 'Number', { - MAX_SAFE_INTEGER: 0x1fffffffffffff - }); -}); -var load97 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.1.2.10 Number.MIN_SAFE_INTEGER - var $export = load20(); - $export($export.S, 'Number', { - MIN_SAFE_INTEGER: -9007199254740991 - }); -}); -var load98 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - var $parseFloat = load82(); - // 20.1.2.12 Number.parseFloat(string) - $export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { - parseFloat: $parseFloat - }); -}); -var load99 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - var $parseInt = load80(); - // 20.1.2.13 Number.parseInt(string, radix) - $export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { - parseInt: $parseInt - }); -}); -var load100 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.20 Math.log1p(x) - module.exports = Math.log1p || function log1p(x) { - return (x = +x) > -0.00000001 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); - }; -}); -var load101 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.3 Math.acosh(x) - var $export = load20(); - var log1p = load100(); - var sqrt = Math.sqrt; - var $acosh = Math.acosh; - $export($export.S + $export.F * !($acosh && Math.floor($acosh(Number.MAX_VALUE)) == 710 && $acosh(Infinity) == Infinity), 'Math', { - acosh: function acosh(x) { - return (x = +x) < 1 ? NaN : x > 94906265.62425156 ? Math.log(x) + Math.LN2 : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); - } - }); -}); -var load102 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.5 Math.asinh(x) - var $export = load20(); - var $asinh = Math.asinh; - function asinh(x) { - return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); - } - // Tor Browser bug: Math.asinh(0) -> -0 - $export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { - asinh: asinh - }); -}); -var load103 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.7 Math.atanh(x) - var $export = load20(); - var $atanh = Math.atanh; - // Tor Browser bug: Math.atanh(-0) -> 0 - $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { - atanh: function atanh(x) { - return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; - } - }); -}); -var load104 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.28 Math.sign(x) - module.exports = Math.sign || function sign(x) { - // eslint-disable-next-line no-self-compare - return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; - }; -}); -var load105 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.9 Math.cbrt(x) - var $export = load20(); - var sign = load104(); - $export($export.S, 'Math', { - cbrt: function cbrt(x) { - return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); - } - }); -}); -var load106 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.11 Math.clz32(x) - var $export = load20(); - $export($export.S, 'Math', { - clz32: function clz32(x) { - return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; - } - }); -}); -var load107 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.12 Math.cosh(x) - var $export = load20(); - var exp = Math.exp; - $export($export.S, 'Math', { - cosh: function cosh(x) { - return (exp(x = +x) + exp(-x)) / 2; - } - }); -}); -var load108 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.14 Math.expm1(x) - var $expm1 = Math.expm1; - module.exports = !$expm1 || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 || $expm1(-0.00000000000000002) != -0.00000000000000002 ? function expm1(x) { - return (x = +x) == 0 ? x : x > -0.000001 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; - } : $expm1; -}); -var load109 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.14 Math.expm1(x) - var $export = load20(); - var $expm1 = load108(); - $export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { - expm1: $expm1 - }); -}); -var load110 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.16 Math.fround(x) - var sign = load104(); - var pow = Math.pow; - var EPSILON = pow(2, -52); - var EPSILON32 = pow(2, -23); - var MAX32 = pow(2, 127) * (2 - EPSILON32); - var MIN32 = pow(2, -126); - var roundTiesToEven = function(n) { - return n + 1 / EPSILON - 1 / EPSILON; - }; - module.exports = Math.fround || function fround(x) { - var $abs = Math.abs(x); - var $sign = sign(x); - var a, result; - if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; - a = (1 + EPSILON32 / EPSILON) * $abs; - result = a - (a - $abs); - // eslint-disable-next-line no-self-compare - if (result > MAX32 || result != result) return $sign * Infinity; - return $sign * result; - }; -}); -var load111 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.16 Math.fround(x) - var $export = load20(); - $export($export.S, 'Math', { - fround: load110() - }); -}); -var load112 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) - var $export = load20(); - var abs = Math.abs; - $export($export.S, 'Math', { - hypot: function hypot(value1, value2) { - var sum = 0; - var i = 0; - var aLen = arguments.length; - var larg = 0; - var arg, div; - while(i < aLen){ - arg = abs(arguments[i++]); - if (larg < arg) { - div = larg / arg; - sum = sum * div * div + 1; - larg = arg; - } else if (arg > 0) { - div = arg / larg; - sum += div * div; - } else sum += arg; - } - return larg === Infinity ? Infinity : larg * Math.sqrt(sum); - } - }); -}); -var load113 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.18 Math.imul(x, y) - var $export = load20(); - var $imul = Math.imul; - // some WebKit versions fails with big numbers, some has wrong arity - $export($export.S + $export.F * load2()(function() { - return $imul(0xffffffff, 5) != -5 || $imul.length != 2; - }), 'Math', { - imul: function imul(x, y) { - var UINT16 = 0xffff; - var xn = +x; - var yn = +y; - var xl = UINT16 & xn; - var yl = UINT16 & yn; - return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); - } - }); -}); -var load114 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.21 Math.log10(x) - var $export = load20(); - $export($export.S, 'Math', { - log10: function log10(x) { - return Math.log(x) * Math.LOG10E; - } - }); -}); -var load115 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.20 Math.log1p(x) - var $export = load20(); - $export($export.S, 'Math', { - log1p: load100() - }); -}); -var load116 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.22 Math.log2(x) - var $export = load20(); - $export($export.S, 'Math', { - log2: function log2(x) { - return Math.log(x) / Math.LN2; - } - }); -}); -var load117 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.28 Math.sign(x) - var $export = load20(); - $export($export.S, 'Math', { - sign: load104() - }); -}); -var load118 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.30 Math.sinh(x) - var $export = load20(); - var expm1 = load108(); - var exp = Math.exp; - // V8 near Chromium 38 has a problem with very small numbers - $export($export.S + $export.F * load2()(function() { - return !Math.sinh(-0.00000000000000002) != -0.00000000000000002; - }), 'Math', { - sinh: function sinh(x) { - return Math.abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); - } - }); -}); -var load119 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.33 Math.tanh(x) - var $export = load20(); - var expm1 = load108(); - var exp = Math.exp; - $export($export.S, 'Math', { - tanh: function tanh(x) { - var a = expm1(x = +x); - var b = expm1(-x); - return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); - } - }); -}); -var load120 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.2.2.34 Math.trunc(x) - var $export = load20(); - $export($export.S, 'Math', { - trunc: function trunc(it) { - return (it > 0 ? Math.floor : Math.ceil)(it); - } - }); -}); -var load121 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - var toAbsoluteIndex = load32(); - var fromCharCode = String.fromCharCode; - var $fromCodePoint = String.fromCodePoint; - // length should be 1, old FF problem - $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { - // 21.1.2.2 String.fromCodePoint(...codePoints) - fromCodePoint: function fromCodePoint(x) { - var res = []; - var aLen = arguments.length; - var i = 0; - var code; - while(aLen > i){ - code = +arguments[i++]; - if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); - res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)); - } - return res.join(''); - } - }); -}); -var load122 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - var toIObject = load29(); - var toLength = load31(); - $export($export.S, 'String', { - // 21.1.2.4 String.raw(callSite, ...substitutions) - raw: function raw(callSite) { - var tpl = toIObject(callSite.raw); - var len = toLength(tpl.length); - var aLen = arguments.length; - var res = []; - var i = 0; - while(len > i){ - res.push(String(tpl[i++])); - if (i < aLen) res.push(String(arguments[i])); - } - return res.join(''); - } - }); -}); -var load123 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // 21.1.3.25 String.prototype.trim() - load79()('trim', function($trim) { - return function trim() { - return $trim(this, 3); - }; - }); -}); -var load124 = __swcpack_require__.bind(void 0, function(module, exports) { - var toInteger = load30(); - var defined = load28(); - // true -> String#at - // false -> String#codePointAt - module.exports = function(TO_STRING) { - return function(that, pos) { - var s = String(defined(that)); - var i = toInteger(pos); - var l = s.length; - var a, b; - if (i < 0 || i >= l) return TO_STRING ? '' : undefined; - a = s.charCodeAt(i); - return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; - }; - }; -}); -var load125 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = {}; -}); -var load126 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var create = load45(); - var descriptor = load11(); - var setToStringTag = load23(); - var IteratorPrototype = {}; - // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() - load12()(IteratorPrototype, load22()('iterator'), function() { - return this; - }); - module.exports = function(Constructor, NAME, next) { - Constructor.prototype = create(IteratorPrototype, { - next: descriptor(1, next) - }); - setToStringTag(Constructor, NAME + ' Iterator'); - }; -}); -var load127 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var LIBRARY = load14(); - var $export = load20(); - var redefine = load17(); - var hide = load12(); - var Iterators = load125(); - var $iterCreate = load126(); - var setToStringTag = load23(); - var getPrototypeOf = load55(); - var ITERATOR = load22()('iterator'); - var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` - var FF_ITERATOR = '@@iterator'; - var KEYS = 'keys'; - var VALUES = 'values'; - var returnThis = function() { - return this; - }; - module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { - $iterCreate(Constructor, NAME, next); - var getMethod = function(kind) { - if (!BUGGY && kind in proto) return proto[kind]; - switch(kind){ - case KEYS: - return function keys() { - return new Constructor(this, kind); - }; - case VALUES: - return function values() { - return new Constructor(this, kind); - }; - } - return function entries() { - return new Constructor(this, kind); - }; - }; - var TAG = NAME + ' Iterator'; - var DEF_VALUES = DEFAULT == VALUES; - var VALUES_BUG = false; - var proto = Base.prototype; - var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; - var $default = $native || getMethod(DEFAULT); - var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; - var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; - var methods, key, IteratorPrototype; - // Fix native - if ($anyNative) { - IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); - if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { - // Set @@toStringTag to native iterators - setToStringTag(IteratorPrototype, TAG, true); - // fix for some old engines - if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); - } - } - // fix Array#{values, @@iterator}.name in V8 / FF - if (DEF_VALUES && $native && $native.name !== VALUES) { - VALUES_BUG = true; - $default = function values() { - return $native.call(this); - }; - } - // Define iterator - if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) hide(proto, ITERATOR, $default); - // Plug for library - Iterators[NAME] = $default; - Iterators[TAG] = returnThis; - if (DEFAULT) { - methods = { - values: DEF_VALUES ? $default : getMethod(VALUES), - keys: IS_SET ? $default : getMethod(KEYS), - entries: $entries - }; - if (FORCED) { - for(key in methods)if (!(key in proto)) redefine(proto, key, methods[key]); - } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); - } - return methods; - }; -}); -var load128 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $at = load124()(true); - // 21.1.3.27 String.prototype[@@iterator]() - load127()(String, 'String', function(iterated) { - this._t = String(iterated); // target - this._i = 0; // next index - // 21.1.5.2.1 %StringIteratorPrototype%.next() - }, function() { - var O = this._t; - var index = this._i; - var point; - if (index >= O.length) return { - value: undefined, - done: true - }; - point = $at(O, index); - this._i += point.length; - return { - value: point, - done: false - }; - }); -}); -var load129 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var $at = load124()(false); - $export($export.P, 'String', { - // 21.1.3.3 String.prototype.codePointAt(pos) - codePointAt: function codePointAt(pos) { - return $at(this, pos); - } - }); -}); -var load130 = __swcpack_require__.bind(void 0, function(module, exports) { - // 7.2.8 IsRegExp(argument) - var isObject = load5(); - var cof = load26(); - var MATCH = load22()('match'); - module.exports = function(it) { - var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); - }; -}); -var load131 = __swcpack_require__.bind(void 0, function(module, exports) { - // helper for String#{startsWith, endsWith, includes} - var isRegExp = load130(); - var defined = load28(); - module.exports = function(that, searchString, NAME) { - if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); - return String(defined(that)); - }; -}); -var load132 = __swcpack_require__.bind(void 0, function(module, exports) { - var MATCH = load22()('match'); - module.exports = function(KEY) { - var re = /./; - try { - '/./'[KEY](re); - } catch (e) { - try { - re[MATCH] = false; - return !'/./'[KEY](re); - } catch (f) {} - } - return true; - }; -}); -var load133 = __swcpack_require__.bind(void 0, function(module, exports) { - // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) - 'use strict'; - var $export = load20(); - var toLength = load31(); - var context = load131(); - var ENDS_WITH = 'endsWith'; - var $endsWith = ''[ENDS_WITH]; - $export($export.P + $export.F * load132()(ENDS_WITH), 'String', { - endsWith: function endsWith(searchString /* , endPosition = @length */ ) { - var that = context(this, searchString, ENDS_WITH); - var endPosition = arguments.length > 1 ? arguments[1] : undefined; - var len = toLength(that.length); - var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len); - var search = String(searchString); - return $endsWith ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search; - } - }); -}); -var load134 = __swcpack_require__.bind(void 0, function(module, exports) { - // 21.1.3.7 String.prototype.includes(searchString, position = 0) - 'use strict'; - var $export = load20(); - var context = load131(); - var INCLUDES = 'includes'; - $export($export.P + $export.F * load132()(INCLUDES), 'String', { - includes: function includes(searchString /* , position = 0 */ ) { - return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); - } - }); -}); -var load135 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - $export($export.P, 'String', { - // 21.1.3.13 String.prototype.repeat(count) - repeat: load87() - }); -}); -var load136 = __swcpack_require__.bind(void 0, function(module, exports) { - // 21.1.3.18 String.prototype.startsWith(searchString [, position ]) - 'use strict'; - var $export = load20(); - var toLength = load31(); - var context = load131(); - var STARTS_WITH = 'startsWith'; - var $startsWith = ''[STARTS_WITH]; - $export($export.P + $export.F * load132()(STARTS_WITH), 'String', { - startsWith: function startsWith(searchString /* , position = 0 */ ) { - var that = context(this, searchString, STARTS_WITH); - var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)); - var search = String(searchString); - return $startsWith ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search; - } - }); -}); -var load137 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - var fails = load2(); - var defined = load28(); - var quot = /"/g; - // B.2.3.2.1 CreateHTML(string, tag, attribute, value) - var createHTML = function(string, tag, attribute, value) { - var S = String(defined(string)); - var p1 = '<' + tag; - if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; - return p1 + '>' + S + ''; - }; - module.exports = function(NAME, exec) { - var O = {}; - O[NAME] = exec(createHTML); - $export($export.P + $export.F * fails(function() { - var test = ''[NAME]('"'); - return test !== test.toLowerCase() || test.split('"').length > 3; - }), 'String', O); - }; -}); -var load138 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // B.2.3.2 String.prototype.anchor(name) - load137()('anchor', function(createHTML) { - return function anchor(name) { - return createHTML(this, 'a', 'name', name); - }; - }); -}); -var load139 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // B.2.3.3 String.prototype.big() - load137()('big', function(createHTML) { - return function big() { - return createHTML(this, 'big', '', ''); - }; - }); -}); -var load140 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // B.2.3.4 String.prototype.blink() - load137()('blink', function(createHTML) { - return function blink() { - return createHTML(this, 'blink', '', ''); - }; - }); -}); -var load141 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // B.2.3.5 String.prototype.bold() - load137()('bold', function(createHTML) { - return function bold() { - return createHTML(this, 'b', '', ''); - }; - }); -}); -var load142 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // B.2.3.6 String.prototype.fixed() - load137()('fixed', function(createHTML) { - return function fixed() { - return createHTML(this, 'tt', '', ''); - }; - }); -}); -var load143 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // B.2.3.7 String.prototype.fontcolor(color) - load137()('fontcolor', function(createHTML) { - return function fontcolor(color) { - return createHTML(this, 'font', 'color', color); - }; - }); -}); -var load144 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // B.2.3.8 String.prototype.fontsize(size) - load137()('fontsize', function(createHTML) { - return function fontsize(size) { - return createHTML(this, 'font', 'size', size); - }; - }); -}); -var load145 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // B.2.3.9 String.prototype.italics() - load137()('italics', function(createHTML) { - return function italics() { - return createHTML(this, 'i', '', ''); - }; - }); -}); -var load146 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // B.2.3.10 String.prototype.link(url) - load137()('link', function(createHTML) { - return function link(url) { - return createHTML(this, 'a', 'href', url); - }; - }); -}); -var load147 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // B.2.3.11 String.prototype.small() - load137()('small', function(createHTML) { - return function small() { - return createHTML(this, 'small', '', ''); - }; - }); -}); -var load148 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // B.2.3.12 String.prototype.strike() - load137()('strike', function(createHTML) { - return function strike() { - return createHTML(this, 'strike', '', ''); - }; - }); -}); -var load149 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // B.2.3.13 String.prototype.sub() - load137()('sub', function(createHTML) { - return function sub() { - return createHTML(this, 'sub', '', ''); - }; - }); -}); -var load150 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // B.2.3.14 String.prototype.sup() - load137()('sup', function(createHTML) { - return function sup() { - return createHTML(this, 'sup', '', ''); - }; - }); -}); -var load151 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.3.3.1 / 15.9.4.4 Date.now() - var $export = load20(); - $export($export.S, 'Date', { - now: function() { - return new Date().getTime(); - } - }); -}); -var load152 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var toObject = load42(); - var toPrimitive = load9(); - $export($export.P + $export.F * load2()(function() { - return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({ - toISOString: function() { - return 1; - } - }) !== 1; - }), 'Date', { - // eslint-disable-next-line no-unused-vars - toJSON: function toJSON(key) { - var O = toObject(this); - var pv = toPrimitive(O); - return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); - } - }); -}); -var load153 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() - var fails = load2(); - var getTime = Date.prototype.getTime; - var $toISOString = Date.prototype.toISOString; - var lz = function(num) { - return num > 9 ? num : '0' + num; - }; - // PhantomJS / old WebKit has a broken implementations - module.exports = fails(function() { - return $toISOString.call(new Date(-50000000000000 - 1)) != '0385-07-25T07:06:39.999Z'; - }) || !fails(function() { - $toISOString.call(new Date(NaN)); - }) ? function toISOString() { - if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); - var d = this; - var y = d.getUTCFullYear(); - var m = d.getUTCMilliseconds(); - var s = y < 0 ? '-' : y > 9999 ? '+' : ''; - return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; - } : $toISOString; -}); -var load154 = __swcpack_require__.bind(void 0, function(module, exports) { - // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() - var $export = load20(); - var toISOString = load153(); - // PhantomJS / old WebKit has a broken implementations - $export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', { - toISOString: toISOString - }); -}); -var load155 = __swcpack_require__.bind(void 0, function(module, exports) { - var DateProto = Date.prototype; - var INVALID_DATE = 'Invalid Date'; - var TO_STRING = 'toString'; - var $toString = DateProto[TO_STRING]; - var getTime = DateProto.getTime; - if (new Date(NaN) + '' != INVALID_DATE) load17()(DateProto, TO_STRING, function toString() { - var value = getTime.call(this); - // eslint-disable-next-line no-self-compare - return value === value ? $toString.call(this) : INVALID_DATE; - }); -}); -var load156 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var anObject = load6(); - var toPrimitive = load9(); - var NUMBER = 'number'; - module.exports = function(hint) { - if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint'); - return toPrimitive(anObject(this), hint != NUMBER); - }; -}); -var load157 = __swcpack_require__.bind(void 0, function(module, exports) { - var TO_PRIMITIVE = load22()('toPrimitive'); - var proto = Date.prototype; - if (!(TO_PRIMITIVE in proto)) load12()(proto, TO_PRIMITIVE, load156()); -}); -var load158 = __swcpack_require__.bind(void 0, function(module, exports) { - // 22.1.2.2 / 15.4.3.2 Array.isArray(arg) - var $export = load20(); - $export($export.S, 'Array', { - isArray: load41() - }); -}); -var load159 = __swcpack_require__.bind(void 0, function(module, exports) { - // call something on iterator step with safe closing on error - var anObject = load6(); - module.exports = function(iterator, fn, value, entries) { - try { - return entries ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch (e) { - var ret = iterator['return']; - if (ret !== undefined) anObject(ret.call(iterator)); - throw e; - } - }; -}); -var load160 = __swcpack_require__.bind(void 0, function(module, exports) { - // check on default Array iterator - var Iterators = load125(); - var ITERATOR = load22()('iterator'); - var ArrayProto = Array.prototype; - module.exports = function(it) { - return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); - }; -}); -var load161 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $defineProperty = load10(); - var createDesc = load11(); - module.exports = function(object, index, value) { - if (index in object) $defineProperty.f(object, index, createDesc(0, value)); - else object[index] = value; - }; -}); -var load162 = __swcpack_require__.bind(void 0, function(module, exports) { - var classof = load71(); - var ITERATOR = load22()('iterator'); - var Iterators = load125(); - module.exports = load4().getIteratorMethod = function(it) { - if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)]; - }; -}); -var load163 = __swcpack_require__.bind(void 0, function(module, exports) { - var ITERATOR = load22()('iterator'); - var SAFE_CLOSING = false; - try { - var riter = [ - 7 - ][ITERATOR](); - riter['return'] = function() { - SAFE_CLOSING = true; - }; - // eslint-disable-next-line no-throw-literal - Array.from(riter, function() { - throw 2; - }); - } catch (e) {} - module.exports = function(exec, skipClosing) { - if (!skipClosing && !SAFE_CLOSING) return false; - var safe = false; - try { - var arr = [ - 7 - ]; - var iter = arr[ITERATOR](); - iter.next = function() { - return { - done: safe = true - }; - }; - arr[ITERATOR] = function() { - return iter; - }; - exec(arr); - } catch (e) {} - return safe; - }; -}); -var load164 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var ctx = load19(); - var $export = load20(); - var toObject = load42(); - var call = load159(); - var isArrayIter = load160(); - var toLength = load31(); - var createProperty = load161(); - var getIterFn = load162(); - $export($export.S + $export.F * !load163()(function(iter) { - Array.from(iter); - }), 'Array', { - // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) - from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */ ) { - var O = toObject(arrayLike); - var C = typeof this == 'function' ? this : Array; - var aLen = arguments.length; - var mapfn = aLen > 1 ? arguments[1] : undefined; - var mapping = mapfn !== undefined; - var index = 0; - var iterFn = getIterFn(O); - var length, result, step, iterator; - if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); - // if object isn't iterable or it's array with default iterator - use simple case - if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) for(iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++)createProperty(result, index, mapping ? call(iterator, mapfn, [ - step.value, - index - ], true) : step.value); - else { - length = toLength(O.length); - for(result = new C(length); length > index; index++)createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); - } - result.length = index; - return result; - } - }); -}); -var load165 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var createProperty = load161(); - // WebKit Array.of isn't generic - $export($export.S + $export.F * load2()(function() { - function F() {} - return !(Array.of.call(F) instanceof F); - }), 'Array', { - // 22.1.2.3 Array.of( ...items) - of: function of() { - var index = 0; - var aLen = arguments.length; - var result = new (typeof this == 'function' ? this : Array)(aLen); - while(aLen > index)createProperty(result, index, arguments[index++]); - result.length = aLen; - return result; - } - }); -}); -var load166 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var fails = load2(); - module.exports = function(method, arg) { - return !!method && fails(function() { - // eslint-disable-next-line no-useless-call - arg ? method.call(null, function() {}, 1) : method.call(null); - }); - }; -}); -var load167 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // 22.1.3.13 Array.prototype.join(separator) - var $export = load20(); - var toIObject = load29(); - var arrayJoin = [].join; - // fallback for not array-like strings - $export($export.P + $export.F * (load27() != Object || !load166()(arrayJoin)), 'Array', { - join: function join(separator) { - return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); - } - }); -}); -var load168 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var html = load44(); - var cof = load26(); - var toAbsoluteIndex = load32(); - var toLength = load31(); - var arraySlice = [].slice; - // fallback for not array-like ES3 strings and DOM objects - $export($export.P + $export.F * load2()(function() { - if (html) arraySlice.call(html); - }), 'Array', { - slice: function slice(begin, end) { - var len = toLength(this.length); - var klass = cof(this); - end = end === undefined ? len : end; - if (klass == 'Array') return arraySlice.call(this, begin, end); - var start = toAbsoluteIndex(begin, len); - var upTo = toAbsoluteIndex(end, len); - var size = toLength(upTo - start); - var cloned = new Array(size); - var i = 0; - for(; i < size; i++)cloned[i] = klass == 'String' ? this.charAt(start + i) : this[start + i]; - return cloned; - } - }); -}); -var load169 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var aFunction = load18(); - var toObject = load42(); - var fails = load2(); - var $sort = [].sort; - var test = [ - 1, - 2, - 3 - ]; - $export($export.P + $export.F * (fails(function() { - // IE8- - test.sort(undefined); - }) || !fails(function() { - // V8 bug - test.sort(null); - // Old WebKit - }) || !load166()($sort)), 'Array', { - // 22.1.3.25 Array.prototype.sort(comparefn) - sort: function sort(comparefn) { - return comparefn === undefined ? $sort.call(toObject(this)) : $sort.call(toObject(this), aFunction(comparefn)); - } - }); -}); -var load170 = __swcpack_require__.bind(void 0, function(module, exports) { - var isObject = load5(); - var isArray = load41(); - var SPECIES = load22()('species'); - module.exports = function(original) { - var C; - if (isArray(original)) { - C = original.constructor; - // cross-realm fallback - if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; - if (isObject(C)) { - C = C[SPECIES]; - if (C === null) C = undefined; - } - } - return C === undefined ? Array : C; - }; -}); -var load171 = __swcpack_require__.bind(void 0, function(module, exports) { - // 9.4.2.3 ArraySpeciesCreate(originalArray, length) - var speciesConstructor = load170(); - module.exports = function(original, length) { - return new (speciesConstructor(original))(length); - }; -}); -var load172 = __swcpack_require__.bind(void 0, function(module, exports) { - // 0 -> Array#forEach - // 1 -> Array#map - // 2 -> Array#filter - // 3 -> Array#some - // 4 -> Array#every - // 5 -> Array#find - // 6 -> Array#findIndex - var ctx = load19(); - var IObject = load27(); - var toObject = load42(); - var toLength = load31(); - var asc = load171(); - module.exports = function(TYPE, $create) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; - var create = $create || asc; - return function($this, callbackfn, that) { - var O = toObject($this); - var self1 = IObject(O); - var f = ctx(callbackfn, that, 3); - var length = toLength(self1.length); - var index = 0; - var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; - var val, res; - for(; length > index; index++)if (NO_HOLES || index in self1) { - val = self1[index]; - res = f(val, index, O); - if (TYPE) { - if (IS_MAP) result[index] = res; // map - else if (res) switch(TYPE){ - case 3: - return true; // some - case 5: - return val; // find - case 6: - return index; // findIndex - case 2: - result.push(val); // filter - } - else if (IS_EVERY) return false; // every - } - } - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; - }; - }; -}); -var load173 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var $forEach = load172()(0); - var STRICT = load166()([].forEach, true); - $export($export.P + $export.F * !STRICT, 'Array', { - // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) - forEach: function forEach(callbackfn /* , thisArg */ ) { - return $forEach(this, callbackfn, arguments[1]); - } - }); -}); -var load174 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var $map = load172()(1); - $export($export.P + $export.F * !load166()([].map, true), 'Array', { - // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) - map: function map(callbackfn /* , thisArg */ ) { - return $map(this, callbackfn, arguments[1]); - } - }); -}); -var load175 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var $filter = load172()(2); - $export($export.P + $export.F * !load166()([].filter, true), 'Array', { - // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) - filter: function filter(callbackfn /* , thisArg */ ) { - return $filter(this, callbackfn, arguments[1]); - } - }); -}); -var load176 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var $some = load172()(3); - $export($export.P + $export.F * !load166()([].some, true), 'Array', { - // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) - some: function some(callbackfn /* , thisArg */ ) { - return $some(this, callbackfn, arguments[1]); - } - }); -}); -var load177 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var $every = load172()(4); - $export($export.P + $export.F * !load166()([].every, true), 'Array', { - // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) - every: function every(callbackfn /* , thisArg */ ) { - return $every(this, callbackfn, arguments[1]); - } - }); -}); -var load178 = __swcpack_require__.bind(void 0, function(module, exports) { - var aFunction = load18(); - var toObject = load42(); - var IObject = load27(); - var toLength = load31(); - module.exports = function(that, callbackfn, aLen, memo, isRight) { - aFunction(callbackfn); - var O = toObject(that); - var self1 = IObject(O); - var length = toLength(O.length); - var index = isRight ? length - 1 : 0; - var i = isRight ? -1 : 1; - if (aLen < 2) for(;;){ - if (index in self1) { - memo = self1[index]; - index += i; - break; - } - index += i; - if (isRight ? index < 0 : length <= index) throw TypeError('Reduce of empty array with no initial value'); - } - for(; isRight ? index >= 0 : length > index; index += i)if (index in self1) memo = callbackfn(memo, self1[index], index, O); - return memo; - }; -}); -var load179 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var $reduce = load178(); - $export($export.P + $export.F * !load166()([].reduce, true), 'Array', { - // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) - reduce: function reduce(callbackfn /* , initialValue */ ) { - return $reduce(this, callbackfn, arguments.length, arguments[1], false); - } - }); -}); -var load180 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var $reduce = load178(); - $export($export.P + $export.F * !load166()([].reduceRight, true), 'Array', { - // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) - reduceRight: function reduceRight(callbackfn /* , initialValue */ ) { - return $reduce(this, callbackfn, arguments.length, arguments[1], true); - } - }); -}); -var load181 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var $indexOf = load33()(false); - var $native = [].indexOf; - var NEGATIVE_ZERO = !!$native && 1 / [ - 1 - ].indexOf(1, -0) < 0; - $export($export.P + $export.F * (NEGATIVE_ZERO || !load166()($native)), 'Array', { - // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) - indexOf: function indexOf(searchElement /* , fromIndex = 0 */ ) { - return NEGATIVE_ZERO ? $native.apply(this, arguments) || 0 : $indexOf(this, searchElement, arguments[1]); - } - }); -}); -var load182 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var toIObject = load29(); - var toInteger = load30(); - var toLength = load31(); - var $native = [].lastIndexOf; - var NEGATIVE_ZERO = !!$native && 1 / [ - 1 - ].lastIndexOf(1, -0) < 0; - $export($export.P + $export.F * (NEGATIVE_ZERO || !load166()($native)), 'Array', { - // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) - lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */ ) { - // convert -0 to +0 - if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0; - var O = toIObject(this); - var length = toLength(O.length); - var index = length - 1; - if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1])); - if (index < 0) index = length + index; - for(; index >= 0; index--)if (index in O) { - if (O[index] === searchElement) return index || 0; - } - return -1; - } - }); -}); -var load183 = __swcpack_require__.bind(void 0, function(module, exports) { - // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) - 'use strict'; - var toObject = load42(); - var toAbsoluteIndex = load32(); - var toLength = load31(); - module.exports = [].copyWithin || function copyWithin(target /* = 0 */ , start /* = 0, end = @length */ ) { - var O = toObject(this); - var len = toLength(O.length); - var to = toAbsoluteIndex(target, len); - var from = toAbsoluteIndex(start, len); - var end = arguments.length > 2 ? arguments[2] : undefined; - var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); - var inc = 1; - if (from < to && to < from + count) { - inc = -1; - from += count - 1; - to += count - 1; - } - while(count-- > 0){ - if (from in O) O[to] = O[from]; - else delete O[to]; - to += inc; - from += inc; - } - return O; - }; -}); -var load184 = __swcpack_require__.bind(void 0, function(module, exports) { - // 22.1.3.31 Array.prototype[@@unscopables] - var UNSCOPABLES = load22()('unscopables'); - var ArrayProto = Array.prototype; - if (ArrayProto[UNSCOPABLES] == undefined) load12()(ArrayProto, UNSCOPABLES, {}); - module.exports = function(key) { - ArrayProto[UNSCOPABLES][key] = true; - }; -}); -var load185 = __swcpack_require__.bind(void 0, function(module, exports) { - // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) - var $export = load20(); - $export($export.P, 'Array', { - copyWithin: load183() - }); - load184()('copyWithin'); -}); -var load186 = __swcpack_require__.bind(void 0, function(module, exports) { - // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) - 'use strict'; - var toObject = load42(); - var toAbsoluteIndex = load32(); - var toLength = load31(); - module.exports = function fill(value /* , start = 0, end = @length */ ) { - var O = toObject(this); - var length = toLength(O.length); - var aLen = arguments.length; - var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length); - var end = aLen > 2 ? arguments[2] : undefined; - var endPos = end === undefined ? length : toAbsoluteIndex(end, length); - while(endPos > index)O[index++] = value; - return O; - }; -}); -var load187 = __swcpack_require__.bind(void 0, function(module, exports) { - // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) - var $export = load20(); - $export($export.P, 'Array', { - fill: load186() - }); - load184()('fill'); -}); -var load188 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) - var $export = load20(); - var $find = load172()(5); - var KEY = 'find'; - var forced = true; - // Shouldn't skip holes - if (KEY in []) Array(1)[KEY](function() { - forced = false; - }); - $export($export.P + $export.F * forced, 'Array', { - find: function find(callbackfn /* , that = undefined */ ) { - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - load184()(KEY); -}); -var load189 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) - var $export = load20(); - var $find = load172()(6); - var KEY = 'findIndex'; - var forced = true; - // Shouldn't skip holes - if (KEY in []) Array(1)[KEY](function() { - forced = false; - }); - $export($export.P + $export.F * forced, 'Array', { - findIndex: function findIndex(callbackfn /* , that = undefined */ ) { - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - load184()(KEY); -}); -var load190 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var global = load(); - var dP = load10(); - var DESCRIPTORS = load3(); - var SPECIES = load22()('species'); - module.exports = function(KEY) { - var C = global[KEY]; - if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { - configurable: true, - get: function() { - return this; - } - }); - }; -}); -var load191 = __swcpack_require__.bind(void 0, function(module, exports) { - load190()('Array'); -}); -var load192 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = function(done, value) { - return { - value: value, - done: !!done - }; - }; -}); -var load193 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var addToUnscopables = load184(); - var step = load192(); - var Iterators = load125(); - var toIObject = load29(); - // 22.1.3.4 Array.prototype.entries() - // 22.1.3.13 Array.prototype.keys() - // 22.1.3.29 Array.prototype.values() - // 22.1.3.30 Array.prototype[@@iterator]() - module.exports = load127()(Array, 'Array', function(iterated, kind) { - this._t = toIObject(iterated); // target - this._i = 0; // next index - this._k = kind; // kind - // 22.1.5.2.1 %ArrayIteratorPrototype%.next() - }, function() { - var O = this._t; - var kind = this._k; - var index = this._i++; - if (!O || index >= O.length) { - this._t = undefined; - return step(1); - } - if (kind == 'keys') return step(0, index); - if (kind == 'values') return step(0, O[index]); - return step(0, [ - index, - O[index] - ]); - }, 'values'); - // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) - Iterators.Arguments = Iterators.Array; - addToUnscopables('keys'); - addToUnscopables('values'); - addToUnscopables('entries'); -}); -var load194 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // 21.2.5.3 get RegExp.prototype.flags - var anObject = load6(); - module.exports = function() { - var that = anObject(this); - var result = ''; - if (that.global) result += 'g'; - if (that.ignoreCase) result += 'i'; - if (that.multiline) result += 'm'; - if (that.unicode) result += 'u'; - if (that.sticky) result += 'y'; - return result; - }; -}); -var load195 = __swcpack_require__.bind(void 0, function(module, exports) { - var global = load(); - var inheritIfRequired = load84(); - var dP = load10().f; - var gOPN = load46().f; - var isRegExp = load130(); - var $flags = load194(); - var $RegExp = global.RegExp; - var Base = $RegExp; - var proto = $RegExp.prototype; - var re1 = /a/g; - var re2 = /a/g; - // "new" creates a new object, old webkit buggy here - var CORRECT_NEW = new $RegExp(re1) !== re1; - if (load3() && (!CORRECT_NEW || load2()(function() { - re2[load22()('match')] = false; - // RegExp constructor can alter flags and IsRegExp works correct with @@match - return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; - }))) { - $RegExp = function RegExp1(p, f) { - var tiRE = this instanceof $RegExp; - var piRE = isRegExp(p); - var fiU = f === undefined; - return !tiRE && piRE && p.constructor === $RegExp && fiU ? p : inheritIfRequired(CORRECT_NEW ? new Base(piRE && !fiU ? p.source : p, f) : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f), tiRE ? this : proto, $RegExp); - }; - var proxy = function(key) { - key in $RegExp || dP($RegExp, key, { - configurable: true, - get: function() { - return Base[key]; - }, - set: function(it) { - Base[key] = it; - } - }); - }; - for(var keys = gOPN(Base), i = 0; keys.length > i;)proxy(keys[i++]); - proto.constructor = $RegExp; - $RegExp.prototype = proto; - load17()(global, 'RegExp', $RegExp); - } - load190()('RegExp'); -}); -var load196 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var regexpFlags = load194(); - var nativeExec = RegExp.prototype.exec; - // This always refers to the native implementation, because the - // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, - // which loads this file before patching the method. - var nativeReplace = String.prototype.replace; - var patchedExec = nativeExec; - var LAST_INDEX = 'lastIndex'; - var UPDATES_LAST_INDEX_WRONG = function() { - var re1 = /a/, re2 = /b*/g; - nativeExec.call(re1, 'a'); - nativeExec.call(re2, 'a'); - return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0; - }(); - // nonparticipating capturing group, copied from es5-shim's String#split patch. - var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; - var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED; - if (PATCH) patchedExec = function exec(str) { - var re = this; - var lastIndex, reCopy, match, i; - if (NPCG_INCLUDED) reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re)); - if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX]; - match = nativeExec.call(re, str); - if (UPDATES_LAST_INDEX_WRONG && match) re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex; - if (NPCG_INCLUDED && match && match.length > 1) // Fix browsers whose `exec` methods don't consistently return `undefined` - // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ - // eslint-disable-next-line no-loop-func - nativeReplace.call(match[0], reCopy, function() { - for(i = 1; i < arguments.length - 2; i++)if (arguments[i] === undefined) match[i] = undefined; - }); - return match; - }; - module.exports = patchedExec; -}); -var load197 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var regexpExec = load196(); - load20()({ - target: 'RegExp', - proto: true, - forced: regexpExec !== /./.exec - }, { - exec: regexpExec - }); -}); -var load198 = __swcpack_require__.bind(void 0, function(module, exports) { - // 21.2.5.3 get RegExp.prototype.flags() - if (load3() && /./g.flags != 'g') load10().f(RegExp.prototype, 'flags', { - configurable: true, - get: load194() - }); -}); -var load199 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - load198(); - var anObject = load6(); - var $flags = load194(); - var DESCRIPTORS = load3(); - var TO_STRING = 'toString'; - var $toString = /./[TO_STRING]; - var define = function(fn) { - load17()(RegExp.prototype, TO_STRING, fn, true); - }; - // 21.2.5.14 RegExp.prototype.toString() - if (load2()(function() { - return $toString.call({ - source: 'a', - flags: 'b' - }) != '/a/b'; - })) define(function toString() { - var R = anObject(this); - return '/'.concat(R.source, '/', 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); - }); - else if ($toString.name != TO_STRING) define(function toString() { - return $toString.call(this); - }); -}); -var load200 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var at = load124()(true); - // `AdvanceStringIndex` abstract operation - // https://tc39.github.io/ecma262/#sec-advancestringindex - module.exports = function(S, index, unicode) { - return index + (unicode ? at(S, index).length : 1); - }; -}); -var load201 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var classof = load71(); - var builtinExec = RegExp.prototype.exec; - // `RegExpExec` abstract operation - // https://tc39.github.io/ecma262/#sec-regexpexec - module.exports = function(R, S) { - var exec = R.exec; - if (typeof exec === 'function') { - var result = exec.call(R, S); - if (typeof result !== 'object') throw new TypeError('RegExp exec method returned something other than an Object or null'); - return result; - } - if (classof(R) !== 'RegExp') throw new TypeError('RegExp#exec called on incompatible receiver'); - return builtinExec.call(R, S); - }; -}); -var load202 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - load197(); - var redefine = load17(); - var hide = load12(); - var fails = load2(); - var defined = load28(); - var wks = load22(); - var regexpExec = load196(); - var SPECIES = wks('species'); - var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function() { - // #replace needs built-in support for named groups. - // #match works fine because it just return the exec results, even if it has - // a "grops" property. - var re = /./; - re.exec = function() { - var result = []; - result.groups = { - a: '7' - }; - return result; - }; - return ''.replace(re, '$') !== '7'; - }); - var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = function() { - // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec - var re = /(?:)/; - var originalExec = re.exec; - re.exec = function() { - return originalExec.apply(this, arguments); - }; - var result = 'ab'.split(re); - return result.length === 2 && result[0] === 'a' && result[1] === 'b'; - }(); - module.exports = function(KEY, length, exec) { - var SYMBOL = wks(KEY); - var DELEGATES_TO_SYMBOL = !fails(function() { - // String methods call symbol-named RegEp methods - var O = {}; - O[SYMBOL] = function() { - return 7; - }; - return ''[KEY](O) != 7; - }); - var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function() { - // Symbol-named RegExp methods call .exec - var execCalled = false; - var re = /a/; - re.exec = function() { - execCalled = true; - return null; - }; - if (KEY === 'split') { - // RegExp[@@split] doesn't call the regex's exec method, but first creates - // a new one. We need to return the patched regex when creating the new one. - re.constructor = {}; - re.constructor[SPECIES] = function() { - return re; - }; - } - re[SYMBOL](''); - return !execCalled; - }) : undefined; - if (!DELEGATES_TO_SYMBOL || !DELEGATES_TO_EXEC || KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS || KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) { - var nativeRegExpMethod = /./[SYMBOL]; - var fns = exec(defined, SYMBOL, ''[KEY], function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) { - if (regexp.exec === regexpExec) { - if (DELEGATES_TO_SYMBOL && !forceStringMethod) // The native String method already delegates to @@method (this - // polyfilled function), leasing to infinite recursion. - // We avoid it by directly calling the native @@method method. - return { - done: true, - value: nativeRegExpMethod.call(regexp, str, arg2) - }; - return { - done: true, - value: nativeMethod.call(str, regexp, arg2) - }; - } - return { - done: false - }; - }); - var strfn = fns[0]; - var rxfn = fns[1]; - redefine(String.prototype, KEY, strfn); - hide(RegExp.prototype, SYMBOL, length == 2 ? function(string, arg) { - return rxfn.call(string, this, arg); - } : function(string) { - return rxfn.call(string, this); - }); - } - }; -}); -var load203 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var anObject = load6(); - var toLength = load31(); - var advanceStringIndex = load200(); - var regExpExec = load201(); - // @@match logic - load202()('match', 1, function(defined, MATCH, $match, maybeCallNative) { - return [ - // `String.prototype.match` method - // https://tc39.github.io/ecma262/#sec-string.prototype.match - function match(regexp) { - var O = defined(this); - var fn = regexp == undefined ? undefined : regexp[MATCH]; - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); - }, - // `RegExp.prototype[@@match]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match - function(regexp) { - var res = maybeCallNative($match, regexp, this); - if (res.done) return res.value; - var rx = anObject(regexp); - var S = String(this); - if (!rx.global) return regExpExec(rx, S); - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - var A = []; - var n = 0; - var result; - while((result = regExpExec(rx, S)) !== null){ - var matchStr = String(result[0]); - A[n] = matchStr; - if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); - n++; - } - return n === 0 ? null : A; - } - ]; - }); -}); -var load204 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var anObject = load6(); - var toObject = load42(); - var toLength = load31(); - var toInteger = load30(); - var advanceStringIndex = load200(); - var regExpExec = load201(); - var max = Math.max; - var min = Math.min; - var floor = Math.floor; - var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g; - var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g; - var maybeToString = function(it) { - return it === undefined ? it : String(it); - }; - // @@replace logic - load202()('replace', 2, function(defined, REPLACE, $replace, maybeCallNative) { - return [ - // `String.prototype.replace` method - // https://tc39.github.io/ecma262/#sec-string.prototype.replace - function replace(searchValue, replaceValue) { - var O = defined(this); - var fn = searchValue == undefined ? undefined : searchValue[REPLACE]; - return fn !== undefined ? fn.call(searchValue, O, replaceValue) : $replace.call(String(O), searchValue, replaceValue); - }, - // `RegExp.prototype[@@replace]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace - function(regexp, replaceValue) { - var res = maybeCallNative($replace, regexp, this, replaceValue); - if (res.done) return res.value; - var rx = anObject(regexp); - var S = String(this); - var functionalReplace = typeof replaceValue === 'function'; - if (!functionalReplace) replaceValue = String(replaceValue); - var global = rx.global; - if (global) { - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - } - var results = []; - while(true){ - var result = regExpExec(rx, S); - if (result === null) break; - results.push(result); - if (!global) break; - var matchStr = String(result[0]); - if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); - } - var accumulatedResult = ''; - var nextSourcePosition = 0; - for(var i = 0; i < results.length; i++){ - result = results[i]; - var matched = String(result[0]); - var position = max(min(toInteger(result.index), S.length), 0); - var captures = []; - // NOTE: This is equivalent to - // captures = result.slice(1).map(maybeToString) - // but for some reason `nativeSlice.call(result, 1, result.length)` (called in - // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and - // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. - for(var j = 1; j < result.length; j++)captures.push(maybeToString(result[j])); - var namedCaptures = result.groups; - if (functionalReplace) { - var replacerArgs = [ - matched - ].concat(captures, position, S); - if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); - var replacement = String(replaceValue.apply(undefined, replacerArgs)); - } else replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); - if (position >= nextSourcePosition) { - accumulatedResult += S.slice(nextSourcePosition, position) + replacement; - nextSourcePosition = position + matched.length; - } - } - return accumulatedResult + S.slice(nextSourcePosition); - } - ]; - // https://tc39.github.io/ecma262/#sec-getsubstitution - function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { - var tailPos = position + matched.length; - var m = captures.length; - var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; - if (namedCaptures !== undefined) { - namedCaptures = toObject(namedCaptures); - symbols = SUBSTITUTION_SYMBOLS; - } - return $replace.call(replacement, symbols, function(match, ch) { - var capture; - switch(ch.charAt(0)){ - case '$': - return '$'; - case '&': - return matched; - case '`': - return str.slice(0, position); - case "'": - return str.slice(tailPos); - case '<': - capture = namedCaptures[ch.slice(1, -1)]; - break; - default: - var n = +ch; - if (n === 0) return match; - if (n > m) { - var f = floor(n / 10); - if (f === 0) return match; - if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); - return match; - } - capture = captures[n - 1]; - } - return capture === undefined ? '' : capture; - }); - } - }); -}); -var load205 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var anObject = load6(); - var sameValue = load67(); - var regExpExec = load201(); - // @@search logic - load202()('search', 1, function(defined, SEARCH, $search, maybeCallNative) { - return [ - // `String.prototype.search` method - // https://tc39.github.io/ecma262/#sec-string.prototype.search - function search(regexp) { - var O = defined(this); - var fn = regexp == undefined ? undefined : regexp[SEARCH]; - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); - }, - // `RegExp.prototype[@@search]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search - function(regexp) { - var res = maybeCallNative($search, regexp, this); - if (res.done) return res.value; - var rx = anObject(regexp); - var S = String(this); - var previousLastIndex = rx.lastIndex; - if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; - var result = regExpExec(rx, S); - if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; - return result === null ? -1 : result.index; - } - ]; - }); -}); -var load206 = __swcpack_require__.bind(void 0, function(module, exports) { - // 7.3.20 SpeciesConstructor(O, defaultConstructor) - var anObject = load6(); - var aFunction = load18(); - var SPECIES = load22()('species'); - module.exports = function(O, D) { - var C = anObject(O).constructor; - var S; - return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); - }; -}); -var load207 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var isRegExp = load130(); - var anObject = load6(); - var speciesConstructor = load206(); - var advanceStringIndex = load200(); - var toLength = load31(); - var callRegExpExec = load201(); - var regexpExec = load196(); - var fails = load2(); - var $min = Math.min; - var $push = [].push; - var $SPLIT = 'split'; - var LENGTH = 'length'; - var LAST_INDEX = 'lastIndex'; - var MAX_UINT32 = 0xffffffff; - // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError - var SUPPORTS_Y = !fails(function() { - RegExp(MAX_UINT32, 'y'); - }); - // @@split logic - load202()('split', 2, function(defined, SPLIT, $split, maybeCallNative) { - var internalSplit; - if ('abbc'[$SPLIT](/(b)*/)[1] == 'c' || 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || '.'[$SPLIT](/()()/)[LENGTH] > 1 || ''[$SPLIT](/.?/)[LENGTH]) // based on es5-shim implementation, need to rework it - internalSplit = function(separator, limit) { - var string = String(this); - if (separator === undefined && limit === 0) return []; - // If `separator` is not a regex, use native split - if (!isRegExp(separator)) return $split.call(string, separator, limit); - var output = []; - var flags = (separator.ignoreCase ? 'i' : '') + (separator.multiline ? 'm' : '') + (separator.unicode ? 'u' : '') + (separator.sticky ? 'y' : ''); - var lastLastIndex = 0; - var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0; - // Make `global` and avoid `lastIndex` issues by working with a copy - var separatorCopy = new RegExp(separator.source, flags + 'g'); - var match, lastIndex, lastLength; - while(match = regexpExec.call(separatorCopy, string)){ - lastIndex = separatorCopy[LAST_INDEX]; - if (lastIndex > lastLastIndex) { - output.push(string.slice(lastLastIndex, match.index)); - if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1)); - lastLength = match[0][LENGTH]; - lastLastIndex = lastIndex; - if (output[LENGTH] >= splitLimit) break; - } - if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop - } - if (lastLastIndex === string[LENGTH]) { - if (lastLength || !separatorCopy.test('')) output.push(''); - } else output.push(string.slice(lastLastIndex)); - return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; - }; - else if ('0'[$SPLIT](undefined, 0)[LENGTH]) internalSplit = function(separator, limit) { - return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit); - }; - else internalSplit = $split; - return [ - // `String.prototype.split` method - // https://tc39.github.io/ecma262/#sec-string.prototype.split - function split(separator, limit) { - var O = defined(this); - var splitter = separator == undefined ? undefined : separator[SPLIT]; - return splitter !== undefined ? splitter.call(separator, O, limit) : internalSplit.call(String(O), separator, limit); - }, - // `RegExp.prototype[@@split]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split - // - // NOTE: This cannot be properly polyfilled in engines that don't support - // the 'y' flag. - function(regexp, limit) { - var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split); - if (res.done) return res.value; - var rx = anObject(regexp); - var S = String(this); - var C = speciesConstructor(rx, RegExp); - var unicodeMatching = rx.unicode; - var flags = (rx.ignoreCase ? 'i' : '') + (rx.multiline ? 'm' : '') + (rx.unicode ? 'u' : '') + (SUPPORTS_Y ? 'y' : 'g'); - // ^(? + rx + ) is needed, in combination with some S slicing, to - // simulate the 'y' flag. - var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); - var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; - if (lim === 0) return []; - if (S.length === 0) return callRegExpExec(splitter, S) === null ? [ - S - ] : []; - var p = 0; - var q = 0; - var A = []; - while(q < S.length){ - splitter.lastIndex = SUPPORTS_Y ? q : 0; - var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); - var e; - if (z === null || (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p) q = advanceStringIndex(S, q, unicodeMatching); - else { - A.push(S.slice(p, q)); - if (A.length === lim) return A; - for(var i = 1; i <= z.length - 1; i++){ - A.push(z[i]); - if (A.length === lim) return A; - } - q = p = e; - } - } - A.push(S.slice(p)); - return A; - } - ]; - }); -}); -var load208 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = function(it, Constructor, name, forbiddenField) { - if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) throw TypeError(name + ': incorrect invocation!'); - return it; - }; -}); -var load209 = __swcpack_require__.bind(void 0, function(module, exports) { - var ctx = load19(); - var call = load159(); - var isArrayIter = load160(); - var anObject = load6(); - var toLength = load31(); - var getIterFn = load162(); - var BREAK = {}; - var RETURN = {}; - var exports = module.exports = function(iterable, entries, fn, that, ITERATOR) { - var iterFn = ITERATOR ? function() { - return iterable; - } : getIterFn(iterable); - var f = ctx(fn, that, entries ? 2 : 1); - var index = 0; - var length, step, iterator, result; - if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); - // fast case for arrays with default iterator - if (isArrayIter(iterFn)) for(length = toLength(iterable.length); length > index; index++){ - result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); - if (result === BREAK || result === RETURN) return result; - } - else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done;){ - result = call(iterator, f, step.value, entries); - if (result === BREAK || result === RETURN) return result; - } - }; - exports.BREAK = BREAK; - exports.RETURN = RETURN; -}); -var load210 = __swcpack_require__.bind(void 0, function(module, exports) { - var ctx = load19(); - var invoke = load73(); - var html = load44(); - var cel = load7(); - var global = load(); - var process = global.process; - var setTask = global.setImmediate; - var clearTask = global.clearImmediate; - var MessageChannel = global.MessageChannel; - var Dispatch = global.Dispatch; - var counter = 0; - var queue = {}; - var ONREADYSTATECHANGE = 'onreadystatechange'; - var defer, channel, port; - var run = function() { - var id = +this; - // eslint-disable-next-line no-prototype-builtins - if (queue.hasOwnProperty(id)) { - var fn = queue[id]; - delete queue[id]; - fn(); - } - }; - var listener = function(event) { - run.call(event.data); - }; - // Node.js 0.9+ & IE10+ has setImmediate, otherwise: - if (!setTask || !clearTask) { - setTask = function setImmediate(fn) { - var args = []; - var i = 1; - while(arguments.length > i)args.push(arguments[i++]); - queue[++counter] = function() { - // eslint-disable-next-line no-new-func - invoke(typeof fn == 'function' ? fn : Function(fn), args); - }; - defer(counter); - return counter; - }; - clearTask = function clearImmediate(id) { - delete queue[id]; - }; - // Node.js 0.8- - if (load26()(process) == 'process') defer = function(id) { - process.nextTick(ctx(run, id, 1)); - }; - else if (Dispatch && Dispatch.now) defer = function(id) { - Dispatch.now(ctx(run, id, 1)); - }; - else if (MessageChannel) { - channel = new MessageChannel(); - port = channel.port2; - channel.port1.onmessage = listener; - defer = ctx(port.postMessage, port, 1); - // Browsers with postMessage, skip WebWorkers - // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { - defer = function(id) { - global.postMessage(id + '', '*'); - }; - global.addEventListener('message', listener, false); - // IE8- - } else if (ONREADYSTATECHANGE in cel('script')) defer = function(id) { - html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function() { - html.removeChild(this); - run.call(id); - }; - }; - else defer = function(id) { - setTimeout(ctx(run, id, 1), 0); - }; - } - module.exports = { - set: setTask, - clear: clearTask - }; -}); -var load211 = __swcpack_require__.bind(void 0, function(module, exports) { - var global = load(); - var macrotask = load210().set; - var Observer = global.MutationObserver || global.WebKitMutationObserver; - var process = global.process; - var Promise = global.Promise; - var isNode = load26()(process) == 'process'; - module.exports = function() { - var head, last, notify; - var flush = function() { - var parent, fn; - if (isNode && (parent = process.domain)) parent.exit(); - while(head){ - fn = head.fn; - head = head.next; - try { - fn(); - } catch (e) { - if (head) notify(); - else last = undefined; - throw e; - } - } - last = undefined; - if (parent) parent.enter(); - }; - // Node.js - if (isNode) notify = function() { - process.nextTick(flush); - }; - else if (Observer && !(global.navigator && global.navigator.standalone)) { - var toggle = true; - var node = document.createTextNode(''); - new Observer(flush).observe(node, { - characterData: true - }); // eslint-disable-line no-new - notify = function() { - node.data = toggle = !toggle; - }; - // environments with maybe non-completely correct, but existent Promise - } else if (Promise && Promise.resolve) { - // Promise.resolve without an argument throws an error in LG WebOS 2 - var promise = Promise.resolve(undefined); - notify = function() { - promise.then(flush); - }; - // for other environments - macrotask based on: - // - setImmediate - // - MessageChannel - // - window.postMessag - // - onreadystatechange - // - setTimeout - } else notify = function() { - // strange IE + webpack dev server bug - use .call(global) - macrotask.call(global, flush); - }; - return function(fn) { - var task = { - fn: fn, - next: undefined - }; - if (last) last.next = task; - if (!head) { - head = task; - notify(); - } - last = task; - }; - }; -}); -var load212 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // 25.4.1.5 NewPromiseCapability(C) - var aFunction = load18(); - function PromiseCapability(C) { - var resolve, reject; - this.promise = new C(function($$resolve, $$reject) { - if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); - resolve = $$resolve; - reject = $$reject; - }); - this.resolve = aFunction(resolve); - this.reject = aFunction(reject); - } - module.exports.f = function(C) { - return new PromiseCapability(C); - }; -}); -var load213 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = function(exec) { - try { - return { - e: false, - v: exec() - }; - } catch (e) { - return { - e: true, - v: e - }; - } - }; -}); -var load214 = __swcpack_require__.bind(void 0, function(module, exports) { - var global = load(); - var navigator = global.navigator; - module.exports = navigator && navigator.userAgent || ''; -}); -var load215 = __swcpack_require__.bind(void 0, function(module, exports) { - var anObject = load6(); - var isObject = load5(); - var newPromiseCapability = load212(); - module.exports = function(C, x) { - anObject(C); - if (isObject(x) && x.constructor === C) return x; - var promiseCapability = newPromiseCapability.f(C); - var resolve = promiseCapability.resolve; - resolve(x); - return promiseCapability.promise; - }; -}); -var load216 = __swcpack_require__.bind(void 0, function(module, exports) { - var redefine = load17(); - module.exports = function(target, src, safe) { - for(var key in src)redefine(target, key, src[key], safe); - return target; - }; -}); -var load217 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var LIBRARY = load14(); - var global = load(); - var ctx = load19(); - var classof = load71(); - var $export = load20(); - var isObject = load5(); - var aFunction = load18(); - var anInstance = load208(); - var forOf = load209(); - var speciesConstructor = load206(); - var task = load210().set; - var microtask = load211()(); - var newPromiseCapabilityModule = load212(); - var perform = load213(); - var userAgent = load214(); - var promiseResolve = load215(); - var PROMISE = 'Promise'; - var TypeError1 = global.TypeError; - var process = global.process; - var versions = process && process.versions; - var v8 = versions && versions.v8 || ''; - var $Promise = global[PROMISE]; - var isNode = classof(process) == 'process'; - var empty = function() {}; - var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; - var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; - var USE_NATIVE = !!function() { - try { - // correct subclassing with @@species support - var promise = $Promise.resolve(1); - var FakePromise = (promise.constructor = {})[load22()('species')] = function(exec) { - exec(empty, empty); - }; - // unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1; - } catch (e) {} - }(); - // helpers - var isThenable = function(it) { - var then; - return isObject(it) && typeof (then = it.then) == 'function' ? then : false; - }; - var notify = function(promise, isReject) { - if (promise._n) return; - promise._n = true; - var chain = promise._c; - microtask(function() { - var value = promise._v; - var ok = promise._s == 1; - var i = 0; - var run = function(reaction) { - var handler = ok ? reaction.ok : reaction.fail; - var resolve = reaction.resolve; - var reject = reaction.reject; - var domain = reaction.domain; - var result, then, exited; - try { - if (handler) { - if (!ok) { - if (promise._h == 2) onHandleUnhandled(promise); - promise._h = 1; - } - if (handler === true) result = value; - else { - if (domain) domain.enter(); - result = handler(value); // may throw - if (domain) { - domain.exit(); - exited = true; - } - } - if (result === reaction.promise) reject(TypeError1('Promise-chain cycle')); - else if (then = isThenable(result)) then.call(result, resolve, reject); - else resolve(result); - } else reject(value); - } catch (e) { - if (domain && !exited) domain.exit(); - reject(e); - } - }; - while(chain.length > i)run(chain[i++]); // variable length - can't use forEach - promise._c = []; - promise._n = false; - if (isReject && !promise._h) onUnhandled(promise); - }); - }; - var onUnhandled = function(promise) { - task.call(global, function() { - var value = promise._v; - var unhandled = isUnhandled(promise); - var result, handler, console; - if (unhandled) { - result = perform(function() { - if (isNode) process.emit('unhandledRejection', value, promise); - else if (handler = global.onunhandledrejection) handler({ - promise: promise, - reason: value - }); - else if ((console = global.console) && console.error) console.error('Unhandled promise rejection', value); - }); - // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - promise._h = isNode || isUnhandled(promise) ? 2 : 1; - } - promise._a = undefined; - if (unhandled && result.e) throw result.v; - }); - }; - var isUnhandled = function(promise) { - return promise._h !== 1 && (promise._a || promise._c).length === 0; - }; - var onHandleUnhandled = function(promise) { - task.call(global, function() { - var handler; - if (isNode) process.emit('rejectionHandled', promise); - else if (handler = global.onrejectionhandled) handler({ - promise: promise, - reason: promise._v - }); - }); - }; - var $reject = function(value) { - var promise = this; - if (promise._d) return; - promise._d = true; - promise = promise._w || promise; // unwrap - promise._v = value; - promise._s = 2; - if (!promise._a) promise._a = promise._c.slice(); - notify(promise, true); - }; - var $resolve = function(value) { - var promise = this; - var then; - if (promise._d) return; - promise._d = true; - promise = promise._w || promise; // unwrap - try { - if (promise === value) throw TypeError1("Promise can't be resolved itself"); - if (then = isThenable(value)) microtask(function() { - var wrapper = { - _w: promise, - _d: false - }; // wrap - try { - then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); - } catch (e) { - $reject.call(wrapper, e); - } - }); - else { - promise._v = value; - promise._s = 1; - notify(promise, false); - } - } catch (e) { - $reject.call({ - _w: promise, - _d: false - }, e); // wrap - } - }; - // constructor polyfill - if (!USE_NATIVE) { - // 25.4.3.1 Promise(executor) - $Promise = function Promise(executor) { - anInstance(this, $Promise, PROMISE, '_h'); - aFunction(executor); - Internal.call(this); - try { - executor(ctx($resolve, this, 1), ctx($reject, this, 1)); - } catch (err) { - $reject.call(this, err); - } - }; - // eslint-disable-next-line no-unused-vars - Internal = function Promise(executor) { - this._c = []; // <- awaiting reactions - this._a = undefined; // <- checked in isUnhandled reactions - this._s = 0; // <- state - this._d = false; // <- done - this._v = undefined; // <- value - this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled - this._n = false; // <- notify - }; - Internal.prototype = load216()($Promise.prototype, { - // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) - then: function then(onFulfilled, onRejected) { - var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; - reaction.domain = isNode ? process.domain : undefined; - this._c.push(reaction); - if (this._a) this._a.push(reaction); - if (this._s) notify(this, false); - return reaction.promise; - }, - // 25.4.5.1 Promise.prototype.catch(onRejected) - 'catch': function(onRejected) { - return this.then(undefined, onRejected); - } - }); - OwnPromiseCapability = function() { - var promise = new Internal(); - this.promise = promise; - this.resolve = ctx($resolve, promise, 1); - this.reject = ctx($reject, promise, 1); - }; - newPromiseCapabilityModule.f = newPromiseCapability = function(C) { - return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C); - }; - } - $export($export.G + $export.W + $export.F * !USE_NATIVE, { - Promise: $Promise - }); - load23()($Promise, PROMISE); - load190()(PROMISE); - Wrapper = load4()[PROMISE]; - // statics - $export($export.S + $export.F * !USE_NATIVE, PROMISE, { - // 25.4.4.5 Promise.reject(r) - reject: function reject(r) { - var capability = newPromiseCapability(this); - var $$reject = capability.reject; - $$reject(r); - return capability.promise; - } - }); - $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { - // 25.4.4.6 Promise.resolve(x) - resolve: function resolve(x) { - return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); - } - }); - $export($export.S + $export.F * !(USE_NATIVE && load163()(function(iter) { - $Promise.all(iter)['catch'](empty); - })), PROMISE, { - // 25.4.4.1 Promise.all(iterable) - all: function all(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function() { - var values = []; - var index = 0; - var remaining = 1; - forOf(iterable, false, function(promise) { - var $index = index++; - var alreadyCalled = false; - values.push(undefined); - remaining++; - C.resolve(promise).then(function(value) { - if (alreadyCalled) return; - alreadyCalled = true; - values[$index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if (result.e) reject(result.v); - return capability.promise; - }, - // 25.4.4.4 Promise.race(iterable) - race: function race(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var reject = capability.reject; - var result = perform(function() { - forOf(iterable, false, function(promise) { - C.resolve(promise).then(capability.resolve, reject); - }); - }); - if (result.e) reject(result.v); - return capability.promise; - } - }); -}); -var load218 = __swcpack_require__.bind(void 0, function(module, exports) { - var isObject = load5(); - module.exports = function(it, TYPE) { - if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); - return it; - }; -}); -var load219 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var dP = load10().f; - var create = load45(); - var redefineAll = load216(); - var ctx = load19(); - var anInstance = load208(); - var forOf = load209(); - var $iterDefine = load127(); - var step = load192(); - var setSpecies = load190(); - var DESCRIPTORS = load3(); - var fastKey = load21().fastKey; - var validate = load218(); - var SIZE = DESCRIPTORS ? '_s' : 'size'; - var getEntry = function(that, key) { - // fast case - var index = fastKey(key); - var entry; - if (index !== 'F') return that._i[index]; - // frozen object case - for(entry = that._f; entry; entry = entry.n){ - if (entry.k == key) return entry; - } - }; - module.exports = { - getConstructor: function(wrapper, NAME, IS_MAP, ADDER) { - var C = wrapper(function(that, iterable) { - anInstance(that, C, NAME, '_i'); - that._t = NAME; // collection type - that._i = create(null); // index - that._f = undefined; // first entry - that._l = undefined; // last entry - that[SIZE] = 0; // size - if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.1.3.1 Map.prototype.clear() - // 23.2.3.2 Set.prototype.clear() - clear: function clear() { - for(var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n){ - entry.r = true; - if (entry.p) entry.p = entry.p.n = undefined; - delete data[entry.i]; - } - that._f = that._l = undefined; - that[SIZE] = 0; - }, - // 23.1.3.3 Map.prototype.delete(key) - // 23.2.3.4 Set.prototype.delete(value) - 'delete': function(key) { - var that = validate(this, NAME); - var entry = getEntry(that, key); - if (entry) { - var next = entry.n; - var prev = entry.p; - delete that._i[entry.i]; - entry.r = true; - if (prev) prev.n = next; - if (next) next.p = prev; - if (that._f == entry) that._f = next; - if (that._l == entry) that._l = prev; - that[SIZE]--; - } - return !!entry; - }, - // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) - // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) - forEach: function forEach(callbackfn /* , that = undefined */ ) { - validate(this, NAME); - var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var entry; - while(entry = entry ? entry.n : this._f){ - f(entry.v, entry.k, this); - // revert to the last existing entry - while(entry && entry.r)entry = entry.p; - } - }, - // 23.1.3.7 Map.prototype.has(key) - // 23.2.3.7 Set.prototype.has(value) - has: function has(key) { - return !!getEntry(validate(this, NAME), key); - } - }); - if (DESCRIPTORS) dP(C.prototype, 'size', { - get: function() { - return validate(this, NAME)[SIZE]; - } - }); - return C; - }, - def: function(that, key, value) { - var entry = getEntry(that, key); - var prev, index; - // change existing entry - if (entry) entry.v = value; - else { - that._l = entry = { - i: index = fastKey(key, true), - k: key, - v: value, - p: prev = that._l, - n: undefined, - r: false // <- removed - }; - if (!that._f) that._f = entry; - if (prev) prev.n = entry; - that[SIZE]++; - // add to index - if (index !== 'F') that._i[index] = entry; - } - return that; - }, - getEntry: getEntry, - setStrong: function(C, NAME, IS_MAP) { - // add .keys, .values, .entries, [@@iterator] - // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 - $iterDefine(C, NAME, function(iterated, kind) { - this._t = validate(iterated, NAME); // target - this._k = kind; // kind - this._l = undefined; // previous - }, function() { - var that = this; - var kind = that._k; - var entry = that._l; - // revert to the last existing entry - while(entry && entry.r)entry = entry.p; - // get next entry - if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { - // or finish the iteration - that._t = undefined; - return step(1); - } - // return step by kind - if (kind == 'keys') return step(0, entry.k); - if (kind == 'values') return step(0, entry.v); - return step(0, [ - entry.k, - entry.v - ]); - }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); - // add [@@species], 23.1.2.2, 23.2.2.2 - setSpecies(NAME); - } - }; -}); -var load220 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var global = load(); - var $export = load20(); - var redefine = load17(); - var redefineAll = load216(); - var meta = load21(); - var forOf = load209(); - var anInstance = load208(); - var isObject = load5(); - var fails = load2(); - var $iterDetect = load163(); - var setToStringTag = load23(); - var inheritIfRequired = load84(); - module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { - var Base = global[NAME]; - var C = Base; - var ADDER = IS_MAP ? 'set' : 'add'; - var proto = C && C.prototype; - var O = {}; - var fixMethod = function(KEY) { - var fn = proto[KEY]; - redefine(proto, KEY, KEY == 'delete' ? function(a) { - return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'has' ? function has(a) { - return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'get' ? function get(a) { - return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'add' ? function add(a) { - fn.call(this, a === 0 ? 0 : a); - return this; - } : function set(a, b) { - fn.call(this, a === 0 ? 0 : a, b); - return this; - }); - }; - if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function() { - new C().entries().next(); - }))) { - // create collection constructor - C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); - redefineAll(C.prototype, methods); - meta.NEED = true; - } else { - var instance = new C(); - // early implementations not supports chaining - var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; - // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false - var THROWS_ON_PRIMITIVES = fails(function() { - instance.has(1); - }); - // most early implementations doesn't supports iterables, most modern - not close it correctly - var ACCEPT_ITERABLES = $iterDetect(function(iter) { - new C(iter); - }); // eslint-disable-line no-new - // for early implementations -0 and +0 not the same - var BUGGY_ZERO = !IS_WEAK && fails(function() { - // V8 ~ Chromium 42- fails only with 5+ elements - var $instance = new C(); - var index = 5; - while(index--)$instance[ADDER](index, index); - return !$instance.has(-0); - }); - if (!ACCEPT_ITERABLES) { - C = wrapper(function(target, iterable) { - anInstance(target, C, NAME); - var that = inheritIfRequired(new Base(), target, C); - if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); - return that; - }); - C.prototype = proto; - proto.constructor = C; - } - if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { - fixMethod('delete'); - fixMethod('has'); - IS_MAP && fixMethod('get'); - } - if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); - // weak collections should not contains .clear method - if (IS_WEAK && proto.clear) delete proto.clear; - } - setToStringTag(C, NAME); - O[NAME] = C; - $export($export.G + $export.W + $export.F * (C != Base), O); - if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); - return C; - }; -}); -var load221 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var strong = load219(); - var validate = load218(); - var MAP = 'Map'; - // 23.1 Map Objects - module.exports = load220()(MAP, function(get) { - return function Map() { - return get(this, arguments.length > 0 ? arguments[0] : undefined); - }; - }, { - // 23.1.3.6 Map.prototype.get(key) - get: function get(key) { - var entry = strong.getEntry(validate(this, MAP), key); - return entry && entry.v; - }, - // 23.1.3.9 Map.prototype.set(key, value) - set: function set(key, value) { - return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); - } - }, strong, true); -}); -var load222 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var strong = load219(); - var validate = load218(); - var SET = 'Set'; - // 23.2 Set Objects - module.exports = load220()(SET, function(get) { - return function Set() { - return get(this, arguments.length > 0 ? arguments[0] : undefined); - }; - }, { - // 23.2.3.1 Set.prototype.add(value) - add: function add(value) { - return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); - } - }, strong); -}); -var load223 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var redefineAll = load216(); - var getWeak = load21().getWeak; - var anObject = load6(); - var isObject = load5(); - var anInstance = load208(); - var forOf = load209(); - var createArrayMethod = load172(); - var $has = load1(); - var validate = load218(); - var arrayFind = createArrayMethod(5); - var arrayFindIndex = createArrayMethod(6); - var id = 0; - // fallback for uncaught frozen keys - var uncaughtFrozenStore = function(that) { - return that._l || (that._l = new UncaughtFrozenStore()); - }; - var UncaughtFrozenStore = function() { - this.a = []; - }; - var findUncaughtFrozen = function(store, key) { - return arrayFind(store.a, function(it) { - return it[0] === key; - }); - }; - UncaughtFrozenStore.prototype = { - get: function(key) { - var entry = findUncaughtFrozen(this, key); - if (entry) return entry[1]; - }, - has: function(key) { - return !!findUncaughtFrozen(this, key); - }, - set: function(key, value) { - var entry = findUncaughtFrozen(this, key); - if (entry) entry[1] = value; - else this.a.push([ - key, - value - ]); - }, - 'delete': function(key) { - var index = arrayFindIndex(this.a, function(it) { - return it[0] === key; - }); - if (~index) this.a.splice(index, 1); - return !!~index; - } - }; - module.exports = { - getConstructor: function(wrapper, NAME, IS_MAP, ADDER) { - var C = wrapper(function(that, iterable) { - anInstance(that, C, NAME, '_i'); - that._t = NAME; // collection type - that._i = id++; // collection id - that._l = undefined; // leak store for uncaught frozen objects - if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.3.3.2 WeakMap.prototype.delete(key) - // 23.4.3.3 WeakSet.prototype.delete(value) - 'delete': function(key) { - if (!isObject(key)) return false; - var data = getWeak(key); - if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); - return data && $has(data, this._i) && delete data[this._i]; - }, - // 23.3.3.4 WeakMap.prototype.has(key) - // 23.4.3.4 WeakSet.prototype.has(value) - has: function has(key) { - if (!isObject(key)) return false; - var data = getWeak(key); - if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); - return data && $has(data, this._i); - } - }); - return C; - }, - def: function(that, key, value) { - var data = getWeak(anObject(key), true); - if (data === true) uncaughtFrozenStore(that).set(key, value); - else data[that._i] = value; - return that; - }, - ufstore: uncaughtFrozenStore - }; -}); -var load224 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var global = load(); - var each = load172()(0); - var redefine = load17(); - var meta = load21(); - var assign = load65(); - var weak = load223(); - var isObject = load5(); - var validate = load218(); - var NATIVE_WEAK_MAP = load218(); - var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global; - var WEAK_MAP = 'WeakMap'; - var getWeak = meta.getWeak; - var isExtensible = Object.isExtensible; - var uncaughtFrozenStore = weak.ufstore; - var InternalMap; - var wrapper = function(get) { - return function WeakMap() { - return get(this, arguments.length > 0 ? arguments[0] : undefined); - }; - }; - var methods = { - // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key) { - if (isObject(key)) { - var data = getWeak(key); - if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); - return data ? data[this._i] : undefined; - } - }, - // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value) { - return weak.def(validate(this, WEAK_MAP), key, value); - } - }; - // 23.3 WeakMap Objects - var $WeakMap = module.exports = load220()(WEAK_MAP, wrapper, methods, weak, true, true); - // IE11 WeakMap frozen keys fix - if (NATIVE_WEAK_MAP && IS_IE11) { - InternalMap = weak.getConstructor(wrapper, WEAK_MAP); - assign(InternalMap.prototype, methods); - meta.NEED = true; - each([ - 'delete', - 'has', - 'get', - 'set' - ], function(key) { - var proto = $WeakMap.prototype; - var method = proto[key]; - redefine(proto, key, function(a, b) { - // store frozen objects on internal weakmap shim - if (isObject(a) && !isExtensible(a)) { - if (!this._f) this._f = new InternalMap(); - var result = this._f[key](a, b); - return key == 'set' ? this : result; - // store all the rest on native weakmap - } - return method.call(this, a, b); - }); - }); - } -}); -var load225 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var weak = load223(); - var validate = load218(); - var WEAK_SET = 'WeakSet'; - // 23.4 WeakSet Objects - load220()(WEAK_SET, function(get) { - return function WeakSet() { - return get(this, arguments.length > 0 ? arguments[0] : undefined); - }; - }, { - // 23.4.3.1 WeakSet.prototype.add(value) - add: function add(value) { - return weak.def(validate(this, WEAK_SET), value, true); - } - }, weak, false, true); -}); -var load226 = __swcpack_require__.bind(void 0, function(module, exports) { - var global = load(); - var hide = load12(); - var uid = load13(); - var TYPED = uid('typed_array'); - var VIEW = uid('view'); - var ABV = !!(global.ArrayBuffer && global.DataView); - var CONSTR = ABV; - var i = 0; - var l = 9; - var Typed; - var TypedArrayConstructors = 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'.split(','); - while(i < l)if (Typed = global[TypedArrayConstructors[i++]]) { - hide(Typed.prototype, TYPED, true); - hide(Typed.prototype, VIEW, true); - } else CONSTR = false; - module.exports = { - ABV: ABV, - CONSTR: CONSTR, - TYPED: TYPED, - VIEW: VIEW - }; -}); -var load227 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://tc39.github.io/ecma262/#sec-toindex - var toInteger = load30(); - var toLength = load31(); - module.exports = function(it) { - if (it === undefined) return 0; - var number = toInteger(it); - var length = toLength(number); - if (number !== length) throw RangeError('Wrong length!'); - return length; - }; -}); -var load228 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var global = load(); - var DESCRIPTORS = load3(); - var LIBRARY = load14(); - var $typed = load226(); - var hide = load12(); - var redefineAll = load216(); - var fails = load2(); - var anInstance = load208(); - var toInteger = load30(); - var toLength = load31(); - var toIndex = load227(); - var gOPN = load46().f; - var dP = load10().f; - var arrayFill = load186(); - var setToStringTag = load23(); - var ARRAY_BUFFER = 'ArrayBuffer'; - var DATA_VIEW = 'DataView'; - var PROTOTYPE = 'prototype'; - var WRONG_LENGTH = 'Wrong length!'; - var WRONG_INDEX = 'Wrong index!'; - var $ArrayBuffer = global[ARRAY_BUFFER]; - var $DataView = global[DATA_VIEW]; - var Math1 = global.Math; - var RangeError1 = global.RangeError; - // eslint-disable-next-line no-shadow-restricted-names - var Infinity1 = global.Infinity; - var BaseBuffer = $ArrayBuffer; - var abs = Math1.abs; - var pow = Math1.pow; - var floor = Math1.floor; - var log = Math1.log; - var LN2 = Math1.LN2; - var BUFFER = 'buffer'; - var BYTE_LENGTH = 'byteLength'; - var BYTE_OFFSET = 'byteOffset'; - var $BUFFER = DESCRIPTORS ? '_b' : BUFFER; - var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH; - var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; - // IEEE754 conversions based on https://github.com/feross/ieee754 - function packIEEE754(value, mLen, nBytes) { - var buffer = new Array(nBytes); - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0; - var i = 0; - var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; - var e, m, c; - value = abs(value); - // eslint-disable-next-line no-self-compare - if (value != value || value === Infinity1) { - // eslint-disable-next-line no-self-compare - m = value != value ? 1 : 0; - e = eMax; - } else { - e = floor(log(value) / LN2); - if (value * (c = pow(2, -e)) < 1) { - e--; - c *= 2; - } - if (e + eBias >= 1) value += rt / c; - else value += rt * pow(2, 1 - eBias); - if (value * c >= 2) { - e++; - c /= 2; - } - if (e + eBias >= eMax) { - m = 0; - e = eMax; - } else if (e + eBias >= 1) { - m = (value * c - 1) * pow(2, mLen); - e = e + eBias; - } else { - m = value * pow(2, eBias - 1) * pow(2, mLen); - e = 0; - } - } - for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); - e = e << mLen | m; - eLen += mLen; - for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); - buffer[--i] |= s * 128; - return buffer; - } - function unpackIEEE754(buffer, mLen, nBytes) { - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var nBits = eLen - 7; - var i = nBytes - 1; - var s = buffer[i--]; - var e = s & 127; - var m; - s >>= 7; - for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); - m = e & (1 << -nBits) - 1; - e >>= -nBits; - nBits += mLen; - for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); - if (e === 0) e = 1 - eBias; - else if (e === eMax) return m ? NaN : s ? -Infinity1 : Infinity1; - else { - m = m + pow(2, mLen); - e = e - eBias; - } - return (s ? -1 : 1) * m * pow(2, e - mLen); - } - function unpackI32(bytes) { - return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; - } - function packI8(it) { - return [ - it & 0xff - ]; - } - function packI16(it) { - return [ - it & 0xff, - it >> 8 & 0xff - ]; - } - function packI32(it) { - return [ - it & 0xff, - it >> 8 & 0xff, - it >> 16 & 0xff, - it >> 24 & 0xff - ]; - } - function packF64(it) { - return packIEEE754(it, 52, 8); - } - function packF32(it) { - return packIEEE754(it, 23, 4); - } - function addGetter(C, key, internal) { - dP(C[PROTOTYPE], key, { - get: function() { - return this[internal]; - } - }); - } - function get(view, bytes, index, isLittleEndian) { - var numIndex = +index; - var intIndex = toIndex(numIndex); - if (intIndex + bytes > view[$LENGTH]) throw RangeError1(WRONG_INDEX); - var store = view[$BUFFER]._b; - var start = intIndex + view[$OFFSET]; - var pack = store.slice(start, start + bytes); - return isLittleEndian ? pack : pack.reverse(); - } - function set(view, bytes, index, conversion, value, isLittleEndian) { - var numIndex = +index; - var intIndex = toIndex(numIndex); - if (intIndex + bytes > view[$LENGTH]) throw RangeError1(WRONG_INDEX); - var store = view[$BUFFER]._b; - var start = intIndex + view[$OFFSET]; - var pack = conversion(+value); - for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; - } - if (!$typed.ABV) { - $ArrayBuffer = function ArrayBuffer(length) { - anInstance(this, $ArrayBuffer, ARRAY_BUFFER); - var byteLength = toIndex(length); - this._b = arrayFill.call(new Array(byteLength), 0); - this[$LENGTH] = byteLength; - }; - $DataView = function DataView(buffer, byteOffset, byteLength) { - anInstance(this, $DataView, DATA_VIEW); - anInstance(buffer, $ArrayBuffer, DATA_VIEW); - var bufferLength = buffer[$LENGTH]; - var offset = toInteger(byteOffset); - if (offset < 0 || offset > bufferLength) throw RangeError1('Wrong offset!'); - byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); - if (offset + byteLength > bufferLength) throw RangeError1(WRONG_LENGTH); - this[$BUFFER] = buffer; - this[$OFFSET] = offset; - this[$LENGTH] = byteLength; - }; - if (DESCRIPTORS) { - addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); - addGetter($DataView, BUFFER, '_b'); - addGetter($DataView, BYTE_LENGTH, '_l'); - addGetter($DataView, BYTE_OFFSET, '_o'); - } - redefineAll($DataView[PROTOTYPE], { - getInt8: function getInt8(byteOffset) { - return get(this, 1, byteOffset)[0] << 24 >> 24; - }, - getUint8: function getUint8(byteOffset) { - return get(this, 1, byteOffset)[0]; - }, - getInt16: function getInt16(byteOffset /* , littleEndian */ ) { - var bytes = get(this, 2, byteOffset, arguments[1]); - return (bytes[1] << 8 | bytes[0]) << 16 >> 16; - }, - getUint16: function getUint16(byteOffset /* , littleEndian */ ) { - var bytes = get(this, 2, byteOffset, arguments[1]); - return bytes[1] << 8 | bytes[0]; - }, - getInt32: function getInt32(byteOffset /* , littleEndian */ ) { - return unpackI32(get(this, 4, byteOffset, arguments[1])); - }, - getUint32: function getUint32(byteOffset /* , littleEndian */ ) { - return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; - }, - getFloat32: function getFloat32(byteOffset /* , littleEndian */ ) { - return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); - }, - getFloat64: function getFloat64(byteOffset /* , littleEndian */ ) { - return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); - }, - setInt8: function setInt8(byteOffset, value) { - set(this, 1, byteOffset, packI8, value); - }, - setUint8: function setUint8(byteOffset, value) { - set(this, 1, byteOffset, packI8, value); - }, - setInt16: function setInt16(byteOffset, value /* , littleEndian */ ) { - set(this, 2, byteOffset, packI16, value, arguments[2]); - }, - setUint16: function setUint16(byteOffset, value /* , littleEndian */ ) { - set(this, 2, byteOffset, packI16, value, arguments[2]); - }, - setInt32: function setInt32(byteOffset, value /* , littleEndian */ ) { - set(this, 4, byteOffset, packI32, value, arguments[2]); - }, - setUint32: function setUint32(byteOffset, value /* , littleEndian */ ) { - set(this, 4, byteOffset, packI32, value, arguments[2]); - }, - setFloat32: function setFloat32(byteOffset, value /* , littleEndian */ ) { - set(this, 4, byteOffset, packF32, value, arguments[2]); - }, - setFloat64: function setFloat64(byteOffset, value /* , littleEndian */ ) { - set(this, 8, byteOffset, packF64, value, arguments[2]); - } - }); - } else { - if (!fails(function() { - $ArrayBuffer(1); - }) || !fails(function() { - new $ArrayBuffer(-1); // eslint-disable-line no-new - }) || fails(function() { - new $ArrayBuffer(); // eslint-disable-line no-new - new $ArrayBuffer(1.5); // eslint-disable-line no-new - new $ArrayBuffer(NaN); // eslint-disable-line no-new - return $ArrayBuffer.name != ARRAY_BUFFER; - })) { - $ArrayBuffer = function ArrayBuffer(length) { - anInstance(this, $ArrayBuffer); - return new BaseBuffer(toIndex(length)); - }; - var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; - for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;)if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]); - if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer; - } - // iOS Safari 7.x bug - var view = new $DataView(new $ArrayBuffer(2)); - var $setInt8 = $DataView[PROTOTYPE].setInt8; - view.setInt8(0, 2147483648); - view.setInt8(1, 2147483649); - if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], { - setInt8: function setInt8(byteOffset, value) { - $setInt8.call(this, byteOffset, value << 24 >> 24); - }, - setUint8: function setUint8(byteOffset, value) { - $setInt8.call(this, byteOffset, value << 24 >> 24); - } - }, true); - } - setToStringTag($ArrayBuffer, ARRAY_BUFFER); - setToStringTag($DataView, DATA_VIEW); - hide($DataView[PROTOTYPE], $typed.VIEW, true); - exports[ARRAY_BUFFER] = $ArrayBuffer; - exports[DATA_VIEW] = $DataView; -}); -var load229 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var $typed = load226(); - var buffer = load228(); - var anObject = load6(); - var toAbsoluteIndex = load32(); - var toLength = load31(); - var isObject = load5(); - var ArrayBuffer = load().ArrayBuffer; - var speciesConstructor = load206(); - var $ArrayBuffer = buffer.ArrayBuffer; - var $DataView = buffer.DataView; - var $isView = $typed.ABV && ArrayBuffer.isView; - var $slice = $ArrayBuffer.prototype.slice; - var VIEW = $typed.VIEW; - var ARRAY_BUFFER = 'ArrayBuffer'; - $export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { - ArrayBuffer: $ArrayBuffer - }); - $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { - // 24.1.3.1 ArrayBuffer.isView(arg) - isView: function isView(it) { - return $isView && $isView(it) || isObject(it) && VIEW in it; - } - }); - $export($export.P + $export.U + $export.F * load2()(function() { - return !new $ArrayBuffer(2).slice(1, undefined).byteLength; - }), ARRAY_BUFFER, { - // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) - slice: function slice(start, end) { - if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix - var len = anObject(this).byteLength; - var first = toAbsoluteIndex(start, len); - var fin = toAbsoluteIndex(end === undefined ? len : end, len); - var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first)); - var viewS = new $DataView(this); - var viewT = new $DataView(result); - var index = 0; - while(first < fin)viewT.setUint8(index++, viewS.getUint8(first++)); - return result; - } - }); - load190()(ARRAY_BUFFER); -}); -var load230 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - $export($export.G + $export.W + $export.F * !load226().ABV, { - DataView: load228().DataView - }); -}); -var load231 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - if (load3()) { - var LIBRARY = load14(); - var global = load(); - var fails = load2(); - var $export = load20(); - var $typed = load226(); - var $buffer = load228(); - var ctx = load19(); - var anInstance = load208(); - var propertyDesc = load11(); - var hide = load12(); - var redefineAll = load216(); - var toInteger = load30(); - var toLength = load31(); - var toIndex = load227(); - var toAbsoluteIndex = load32(); - var toPrimitive = load9(); - var has = load1(); - var classof = load71(); - var isObject = load5(); - var toObject = load42(); - var isArrayIter = load160(); - var create = load45(); - var getPrototypeOf = load55(); - var gOPN = load46().f; - var getIterFn = load162(); - var uid = load13(); - var wks = load22(); - var createArrayMethod = load172(); - var createArrayIncludes = load33(); - var speciesConstructor = load206(); - var ArrayIterators = load193(); - var Iterators = load125(); - var $iterDetect = load163(); - var setSpecies = load190(); - var arrayFill = load186(); - var arrayCopyWithin = load183(); - var $DP = load10(); - var $GOPD = load48(); - var dP = $DP.f; - var gOPD = $GOPD.f; - var RangeError1 = global.RangeError; - var TypeError1 = global.TypeError; - var Uint8Array = global.Uint8Array; - var ARRAY_BUFFER = 'ArrayBuffer'; - var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER; - var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; - var PROTOTYPE = 'prototype'; - var ArrayProto = Array[PROTOTYPE]; - var $ArrayBuffer = $buffer.ArrayBuffer; - var $DataView = $buffer.DataView; - var arrayForEach = createArrayMethod(0); - var arrayFilter = createArrayMethod(2); - var arraySome = createArrayMethod(3); - var arrayEvery = createArrayMethod(4); - var arrayFind = createArrayMethod(5); - var arrayFindIndex = createArrayMethod(6); - var arrayIncludes = createArrayIncludes(true); - var arrayIndexOf = createArrayIncludes(false); - var arrayValues = ArrayIterators.values; - var arrayKeys = ArrayIterators.keys; - var arrayEntries = ArrayIterators.entries; - var arrayLastIndexOf = ArrayProto.lastIndexOf; - var arrayReduce = ArrayProto.reduce; - var arrayReduceRight = ArrayProto.reduceRight; - var arrayJoin = ArrayProto.join; - var arraySort = ArrayProto.sort; - var arraySlice = ArrayProto.slice; - var arrayToString = ArrayProto.toString; - var arrayToLocaleString = ArrayProto.toLocaleString; - var ITERATOR = wks('iterator'); - var TAG = wks('toStringTag'); - var TYPED_CONSTRUCTOR = uid('typed_constructor'); - var DEF_CONSTRUCTOR = uid('def_constructor'); - var ALL_CONSTRUCTORS = $typed.CONSTR; - var TYPED_ARRAY = $typed.TYPED; - var VIEW = $typed.VIEW; - var WRONG_LENGTH = 'Wrong length!'; - var $map = createArrayMethod(1, function(O, length) { - return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); - }); - var LITTLE_ENDIAN = fails(function() { - // eslint-disable-next-line no-undef - return new Uint8Array(new Uint16Array([ - 1 - ]).buffer)[0] === 1; - }); - var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function() { - new Uint8Array(1).set({}); - }); - var toOffset = function(it, BYTES) { - var offset = toInteger(it); - if (offset < 0 || offset % BYTES) throw RangeError1('Wrong offset!'); - return offset; - }; - var validate = function(it) { - if (isObject(it) && TYPED_ARRAY in it) return it; - throw TypeError1(it + ' is not a typed array!'); - }; - var allocate = function(C, length) { - if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) throw TypeError1('It is not a typed array constructor!'); - return new C(length); - }; - var speciesFromList = function(O, list) { - return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); - }; - var fromList = function(C, list) { - var index = 0; - var length = list.length; - var result = allocate(C, length); - while(length > index)result[index] = list[index++]; - return result; - }; - var addGetter = function(it, key, internal) { - dP(it, key, { - get: function() { - return this._d[internal]; - } - }); - }; - var $from = function from(source /* , mapfn, thisArg */ ) { - var O = toObject(source); - var aLen = arguments.length; - var mapfn = aLen > 1 ? arguments[1] : undefined; - var mapping = mapfn !== undefined; - var iterFn = getIterFn(O); - var i, length, values, result, step, iterator; - if (iterFn != undefined && !isArrayIter(iterFn)) { - for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++)values.push(step.value); - O = values; - } - if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2); - for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++)result[i] = mapping ? mapfn(O[i], i) : O[i]; - return result; - }; - var $of = function of() { - var index = 0; - var length = arguments.length; - var result = allocate(this, length); - while(length > index)result[index] = arguments[index++]; - return result; - }; - // iOS Safari 6.x fails here - var TO_LOCALE_BUG = !!Uint8Array && fails(function() { - arrayToLocaleString.call(new Uint8Array(1)); - }); - var $toLocaleString = function toLocaleString() { - return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); - }; - var proto = { - copyWithin: function copyWithin(target, start /* , end */ ) { - return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); - }, - every: function every(callbackfn /* , thisArg */ ) { - return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - fill: function fill(value /* , start, end */ ) { - return arrayFill.apply(validate(this), arguments); - }, - filter: function filter(callbackfn /* , thisArg */ ) { - return speciesFromList(this, arrayFilter(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined)); - }, - find: function find(predicate /* , thisArg */ ) { - return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }, - findIndex: function findIndex(predicate /* , thisArg */ ) { - return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }, - forEach: function forEach(callbackfn /* , thisArg */ ) { - arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - indexOf: function indexOf(searchElement /* , fromIndex */ ) { - return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }, - includes: function includes(searchElement /* , fromIndex */ ) { - return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }, - join: function join(separator) { - return arrayJoin.apply(validate(this), arguments); - }, - lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */ ) { - return arrayLastIndexOf.apply(validate(this), arguments); - }, - map: function map(mapfn /* , thisArg */ ) { - return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); - }, - reduce: function reduce(callbackfn /* , initialValue */ ) { - return arrayReduce.apply(validate(this), arguments); - }, - reduceRight: function reduceRight(callbackfn /* , initialValue */ ) { - return arrayReduceRight.apply(validate(this), arguments); - }, - reverse: function reverse() { - var that = this; - var length = validate(that).length; - var middle = Math.floor(length / 2); - var index = 0; - var value; - while(index < middle){ - value = that[index]; - that[index++] = that[--length]; - that[length] = value; - } - return that; - }, - some: function some(callbackfn /* , thisArg */ ) { - return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }, - sort: function sort(comparefn) { - return arraySort.call(validate(this), comparefn); - }, - subarray: function subarray(begin, end) { - var O = validate(this); - var length = O.length; - var $begin = toAbsoluteIndex(begin, length); - return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(O.buffer, O.byteOffset + $begin * O.BYTES_PER_ELEMENT, toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)); - } - }; - var $slice = function slice(start, end) { - return speciesFromList(this, arraySlice.call(validate(this), start, end)); - }; - var $set = function set(arrayLike /* , offset */ ) { - validate(this); - var offset = toOffset(arguments[1], 1); - var length = this.length; - var src = toObject(arrayLike); - var len = toLength(src.length); - var index = 0; - if (len + offset > length) throw RangeError1(WRONG_LENGTH); - while(index < len)this[offset + index] = src[index++]; - }; - var $iterators = { - entries: function entries() { - return arrayEntries.call(validate(this)); - }, - keys: function keys() { - return arrayKeys.call(validate(this)); - }, - values: function values() { - return arrayValues.call(validate(this)); - } - }; - var isTAIndex = function(target, key) { - return isObject(target) && target[TYPED_ARRAY] && typeof key != 'symbol' && key in target && String(+key) == String(key); - }; - var $getDesc = function getOwnPropertyDescriptor(target, key) { - return isTAIndex(target, key = toPrimitive(key, true)) ? propertyDesc(2, target[key]) : gOPD(target, key); - }; - var $setDesc = function defineProperty(target, key, desc) { - if (isTAIndex(target, key = toPrimitive(key, true)) && isObject(desc) && has(desc, 'value') && !has(desc, 'get') && !has(desc, 'set') && !desc.configurable && (!has(desc, 'writable') || desc.writable) && (!has(desc, 'enumerable') || desc.enumerable)) { - target[key] = desc.value; - return target; - } - return dP(target, key, desc); - }; - if (!ALL_CONSTRUCTORS) { - $GOPD.f = $getDesc; - $DP.f = $setDesc; - } - $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { - getOwnPropertyDescriptor: $getDesc, - defineProperty: $setDesc - }); - if (fails(function() { - arrayToString.call({}); - })) arrayToString = arrayToLocaleString = function toString() { - return arrayJoin.call(this); - }; - var $TypedArrayPrototype$ = redefineAll({}, proto); - redefineAll($TypedArrayPrototype$, $iterators); - hide($TypedArrayPrototype$, ITERATOR, $iterators.values); - redefineAll($TypedArrayPrototype$, { - slice: $slice, - set: $set, - constructor: function() {}, - toString: arrayToString, - toLocaleString: $toLocaleString - }); - addGetter($TypedArrayPrototype$, 'buffer', 'b'); - addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); - addGetter($TypedArrayPrototype$, 'byteLength', 'l'); - addGetter($TypedArrayPrototype$, 'length', 'e'); - dP($TypedArrayPrototype$, TAG, { - get: function() { - return this[TYPED_ARRAY]; - } - }); - // eslint-disable-next-line max-statements - module.exports = function(KEY, BYTES, wrapper, CLAMPED) { - CLAMPED = !!CLAMPED; - var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'; - var GETTER = 'get' + KEY; - var SETTER = 'set' + KEY; - var TypedArray = global[NAME]; - var Base = TypedArray || {}; - var TAC = TypedArray && getPrototypeOf(TypedArray); - var FORCED = !TypedArray || !$typed.ABV; - var O = {}; - var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; - var getter = function(that, index) { - var data = that._d; - return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); - }; - var setter = function(that, index, value) { - var data = that._d; - if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; - data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); - }; - var addElement = function(that, index) { - dP(that, index, { - get: function() { - return getter(this, index); - }, - set: function(value) { - return setter(this, index, value); - }, - enumerable: true - }); - }; - if (FORCED) { - TypedArray = wrapper(function(that, data, $offset, $length) { - anInstance(that, TypedArray, NAME, '_d'); - var index = 0; - var offset = 0; - var buffer, byteLength, length, klass; - if (!isObject(data)) { - length = toIndex(data); - byteLength = length * BYTES; - buffer = new $ArrayBuffer(byteLength); - } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { - buffer = data; - offset = toOffset($offset, BYTES); - var $len = data.byteLength; - if ($length === undefined) { - if ($len % BYTES) throw RangeError1(WRONG_LENGTH); - byteLength = $len - offset; - if (byteLength < 0) throw RangeError1(WRONG_LENGTH); - } else { - byteLength = toLength($length) * BYTES; - if (byteLength + offset > $len) throw RangeError1(WRONG_LENGTH); - } - length = byteLength / BYTES; - } else if (TYPED_ARRAY in data) return fromList(TypedArray, data); - else return $from.call(TypedArray, data); - hide(that, '_d', { - b: buffer, - o: offset, - l: byteLength, - e: length, - v: new $DataView(buffer) - }); - while(index < length)addElement(that, index++); - }); - TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); - hide(TypedArrayPrototype, 'constructor', TypedArray); - } else if (!fails(function() { - TypedArray(1); - }) || !fails(function() { - new TypedArray(-1); // eslint-disable-line no-new - }) || !$iterDetect(function(iter) { - new TypedArray(); // eslint-disable-line no-new - new TypedArray(null); // eslint-disable-line no-new - new TypedArray(1.5); // eslint-disable-line no-new - new TypedArray(iter); // eslint-disable-line no-new - }, true)) { - TypedArray = wrapper(function(that, data, $offset, $length) { - anInstance(that, TypedArray, NAME); - var klass; - // `ws` module bug, temporarily remove validation length for Uint8Array - // https://github.com/websockets/ws/pull/645 - if (!isObject(data)) return new Base(toIndex(data)); - if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) return $length !== undefined ? new Base(data, toOffset($offset, BYTES), $length) : $offset !== undefined ? new Base(data, toOffset($offset, BYTES)) : new Base(data); - if (TYPED_ARRAY in data) return fromList(TypedArray, data); - return $from.call(TypedArray, data); - }); - arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key) { - if (!(key in TypedArray)) hide(TypedArray, key, Base[key]); - }); - TypedArray[PROTOTYPE] = TypedArrayPrototype; - if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray; - } - var $nativeIterator = TypedArrayPrototype[ITERATOR]; - var CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined); - var $iterator = $iterators.values; - hide(TypedArray, TYPED_CONSTRUCTOR, true); - hide(TypedArrayPrototype, TYPED_ARRAY, NAME); - hide(TypedArrayPrototype, VIEW, true); - hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); - if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) dP(TypedArrayPrototype, TAG, { - get: function() { - return NAME; - } - }); - O[NAME] = TypedArray; - $export($export.G + $export.W + $export.F * (TypedArray != Base), O); - $export($export.S, NAME, { - BYTES_PER_ELEMENT: BYTES - }); - $export($export.S + $export.F * fails(function() { - Base.of.call(TypedArray, 1); - }), NAME, { - from: $from, - of: $of - }); - if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); - $export($export.P, NAME, proto); - setSpecies(NAME); - $export($export.P + $export.F * FORCED_SET, NAME, { - set: $set - }); - $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); - if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString; - $export($export.P + $export.F * fails(function() { - new TypedArray(1).slice(); - }), NAME, { - slice: $slice - }); - $export($export.P + $export.F * (fails(function() { - return [ - 1, - 2 - ].toLocaleString() != new TypedArray([ - 1, - 2 - ]).toLocaleString(); - }) || !fails(function() { - TypedArrayPrototype.toLocaleString.call([ - 1, - 2 - ]); - })), NAME, { - toLocaleString: $toLocaleString - }); - Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; - if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator); - }; - } else module.exports = function() {}; -}); -var load232 = __swcpack_require__.bind(void 0, function(module, exports) { - load231()('Int8', 1, function(init) { - return function Int8Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); -}); -var load233 = __swcpack_require__.bind(void 0, function(module, exports) { - load231()('Uint8', 1, function(init) { - return function Uint8Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); -}); -var load234 = __swcpack_require__.bind(void 0, function(module, exports) { - load231()('Uint8', 1, function(init) { - return function Uint8ClampedArray(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }, true); -}); -var load235 = __swcpack_require__.bind(void 0, function(module, exports) { - load231()('Int16', 2, function(init) { - return function Int16Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); -}); -var load236 = __swcpack_require__.bind(void 0, function(module, exports) { - load231()('Uint16', 2, function(init) { - return function Uint16Array1(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); -}); -var load237 = __swcpack_require__.bind(void 0, function(module, exports) { - load231()('Int32', 4, function(init) { - return function Int32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); -}); -var load238 = __swcpack_require__.bind(void 0, function(module, exports) { - load231()('Uint32', 4, function(init) { - return function Uint32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); -}); -var load239 = __swcpack_require__.bind(void 0, function(module, exports) { - load231()('Float32', 4, function(init) { - return function Float32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); -}); -var load240 = __swcpack_require__.bind(void 0, function(module, exports) { - load231()('Float64', 8, function(init) { - return function Float64Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); -}); -var load241 = __swcpack_require__.bind(void 0, function(module, exports) { - // 26.1.1 Reflect.apply(target, thisArgument, argumentsList) - var $export = load20(); - var aFunction = load18(); - var anObject = load6(); - var rApply = (load().Reflect || {}).apply; - var fApply = Function.apply; - // MS Edge argumentsList argument is optional - $export($export.S + $export.F * !load2()(function() { - rApply(function() {}); - }), 'Reflect', { - apply: function apply(target, thisArgument, argumentsList) { - var T = aFunction(target); - var L = anObject(argumentsList); - return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); - } - }); -}); -var load242 = __swcpack_require__.bind(void 0, function(module, exports) { - // 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) - var $export = load20(); - var create = load45(); - var aFunction = load18(); - var anObject = load6(); - var isObject = load5(); - var fails = load2(); - var bind = load74(); - var rConstruct = (load().Reflect || {}).construct; - // MS Edge supports only 2 arguments and argumentsList argument is optional - // FF Nightly sets third argument as `new.target`, but does not create `this` from it - var NEW_TARGET_BUG = fails(function() { - function F() {} - return !(rConstruct(function() {}, [], F) instanceof F); - }); - var ARGS_BUG = !fails(function() { - rConstruct(function() {}); - }); - $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { - construct: function construct(Target, args /* , newTarget */ ) { - aFunction(Target); - anObject(args); - var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); - if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); - if (Target == newTarget) { - // w/o altered newTarget, optimization for 0-4 arguments - switch(args.length){ - case 0: - return new Target(); - case 1: - return new Target(args[0]); - case 2: - return new Target(args[0], args[1]); - case 3: - return new Target(args[0], args[1], args[2]); - case 4: - return new Target(args[0], args[1], args[2], args[3]); - } - // w/o altered newTarget, lot of arguments case - var $args = [ - null - ]; - $args.push.apply($args, args); - return new (bind.apply(Target, $args))(); - } - // with altered newTarget, not support built-in constructors - var proto = newTarget.prototype; - var instance = create(isObject(proto) ? proto : Object.prototype); - var result = Function.apply.call(Target, instance, args); - return isObject(result) ? result : instance; - } - }); -}); -var load243 = __swcpack_require__.bind(void 0, function(module, exports) { - // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) - var dP = load10(); - var $export = load20(); - var anObject = load6(); - var toPrimitive = load9(); - // MS Edge has broken Reflect.defineProperty - throwing instead of returning false - $export($export.S + $export.F * load2()(function() { - // eslint-disable-next-line no-undef - Reflect.defineProperty(dP.f({}, 1, { - value: 1 - }), 1, { - value: 2 - }); - }), 'Reflect', { - defineProperty: function defineProperty(target, propertyKey, attributes) { - anObject(target); - propertyKey = toPrimitive(propertyKey, true); - anObject(attributes); - try { - dP.f(target, propertyKey, attributes); - return true; - } catch (e) { - return false; - } - } - }); -}); -var load244 = __swcpack_require__.bind(void 0, function(module, exports) { - // 26.1.4 Reflect.deleteProperty(target, propertyKey) - var $export = load20(); - var gOPD = load48().f; - var anObject = load6(); - $export($export.S, 'Reflect', { - deleteProperty: function deleteProperty(target, propertyKey) { - var desc = gOPD(anObject(target), propertyKey); - return desc && !desc.configurable ? false : delete target[propertyKey]; - } - }); -}); -var load245 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // 26.1.5 Reflect.enumerate(target) - var $export = load20(); - var anObject = load6(); - var Enumerate = function(iterated) { - this._t = anObject(iterated); // target - this._i = 0; // next index - var keys = this._k = []; // keys - var key; - for(key in iterated)keys.push(key); - }; - load126()(Enumerate, 'Object', function() { - var that = this; - var keys = that._k; - var key; - do { - if (that._i >= keys.length) return { - value: undefined, - done: true - }; - }while (!((key = keys[that._i++]) in that._t)) - return { - value: key, - done: false - }; - }); - $export($export.S, 'Reflect', { - enumerate: function enumerate(target) { - return new Enumerate(target); - } - }); -}); -var load246 = __swcpack_require__.bind(void 0, function(module, exports) { - // 26.1.6 Reflect.get(target, propertyKey [, receiver]) - var gOPD = load48(); - var getPrototypeOf = load55(); - var has = load1(); - var $export = load20(); - var isObject = load5(); - var anObject = load6(); - function get(target, propertyKey /* , receiver */ ) { - var receiver = arguments.length < 3 ? target : arguments[2]; - var desc, proto; - if (anObject(target) === receiver) return target[propertyKey]; - if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') ? desc.value : desc.get !== undefined ? desc.get.call(receiver) : undefined; - if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); - } - $export($export.S, 'Reflect', { - get: get - }); -}); -var load247 = __swcpack_require__.bind(void 0, function(module, exports) { - // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) - var gOPD = load48(); - var $export = load20(); - var anObject = load6(); - $export($export.S, 'Reflect', { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { - return gOPD.f(anObject(target), propertyKey); - } - }); -}); -var load248 = __swcpack_require__.bind(void 0, function(module, exports) { - // 26.1.8 Reflect.getPrototypeOf(target) - var $export = load20(); - var getProto = load55(); - var anObject = load6(); - $export($export.S, 'Reflect', { - getPrototypeOf: function getPrototypeOf(target) { - return getProto(anObject(target)); - } - }); -}); -var load249 = __swcpack_require__.bind(void 0, function(module, exports) { - // 26.1.9 Reflect.has(target, propertyKey) - var $export = load20(); - $export($export.S, 'Reflect', { - has: function has(target, propertyKey) { - return propertyKey in target; - } - }); -}); -var load250 = __swcpack_require__.bind(void 0, function(module, exports) { - // 26.1.10 Reflect.isExtensible(target) - var $export = load20(); - var anObject = load6(); - var $isExtensible = Object.isExtensible; - $export($export.S, 'Reflect', { - isExtensible: function isExtensible(target) { - anObject(target); - return $isExtensible ? $isExtensible(target) : true; - } - }); -}); -var load251 = __swcpack_require__.bind(void 0, function(module, exports) { - // all object keys, includes non-enumerable and symbols - var gOPN = load46(); - var gOPS = load38(); - var anObject = load6(); - var Reflect1 = load().Reflect; - module.exports = Reflect1 && Reflect1.ownKeys || function ownKeys(it) { - var keys = gOPN.f(anObject(it)); - var getSymbols = gOPS.f; - return getSymbols ? keys.concat(getSymbols(it)) : keys; - }; -}); -var load252 = __swcpack_require__.bind(void 0, function(module, exports) { - // 26.1.11 Reflect.ownKeys(target) - var $export = load20(); - $export($export.S, 'Reflect', { - ownKeys: load251() - }); -}); -var load253 = __swcpack_require__.bind(void 0, function(module, exports) { - // 26.1.12 Reflect.preventExtensions(target) - var $export = load20(); - var anObject = load6(); - var $preventExtensions = Object.preventExtensions; - $export($export.S, 'Reflect', { - preventExtensions: function preventExtensions(target) { - anObject(target); - try { - if ($preventExtensions) $preventExtensions(target); - return true; - } catch (e) { - return false; - } - } - }); -}); -var load254 = __swcpack_require__.bind(void 0, function(module, exports) { - // 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) - var dP = load10(); - var gOPD = load48(); - var getPrototypeOf = load55(); - var has = load1(); - var $export = load20(); - var createDesc = load11(); - var anObject = load6(); - var isObject = load5(); - function set(target, propertyKey, V /* , receiver */ ) { - var receiver = arguments.length < 4 ? target : arguments[3]; - var ownDesc = gOPD.f(anObject(target), propertyKey); - var existingDescriptor, proto; - if (!ownDesc) { - if (isObject(proto = getPrototypeOf(target))) return set(proto, propertyKey, V, receiver); - ownDesc = createDesc(0); - } - if (has(ownDesc, 'value')) { - if (ownDesc.writable === false || !isObject(receiver)) return false; - if (existingDescriptor = gOPD.f(receiver, propertyKey)) { - if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; - existingDescriptor.value = V; - dP.f(receiver, propertyKey, existingDescriptor); - } else dP.f(receiver, propertyKey, createDesc(0, V)); - return true; - } - return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); - } - $export($export.S, 'Reflect', { - set: set - }); -}); -var load255 = __swcpack_require__.bind(void 0, function(module, exports) { - // 26.1.14 Reflect.setPrototypeOf(target, proto) - var $export = load20(); - var setProto = load69(); - if (setProto) $export($export.S, 'Reflect', { - setPrototypeOf: function setPrototypeOf(target, proto) { - setProto.check(target, proto); - try { - setProto.set(target, proto); - return true; - } catch (e) { - return false; - } - } - }); -}); -var load256 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://github.com/tc39/Array.prototype.includes - var $export = load20(); - var $includes = load33()(true); - $export($export.P, 'Array', { - includes: function includes(el /* , fromIndex = 0 */ ) { - return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); - } - }); - load184()('includes'); -}); -var load257 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray - var isArray = load41(); - var isObject = load5(); - var toLength = load31(); - var ctx = load19(); - var IS_CONCAT_SPREADABLE = load22()('isConcatSpreadable'); - function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) { - var targetIndex = start; - var sourceIndex = 0; - var mapFn = mapper ? ctx(mapper, thisArg, 3) : false; - var element, spreadable; - while(sourceIndex < sourceLen){ - if (sourceIndex in source) { - element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; - spreadable = false; - if (isObject(element)) { - spreadable = element[IS_CONCAT_SPREADABLE]; - spreadable = spreadable !== undefined ? !!spreadable : isArray(element); - } - if (spreadable && depth > 0) targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; - else { - if (targetIndex >= 0x1fffffffffffff) throw TypeError(); - target[targetIndex] = element; - } - targetIndex++; - } - sourceIndex++; - } - return targetIndex; - } - module.exports = flattenIntoArray; -}); -var load258 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap - var $export = load20(); - var flattenIntoArray = load257(); - var toObject = load42(); - var toLength = load31(); - var aFunction = load18(); - var arraySpeciesCreate = load171(); - $export($export.P, 'Array', { - flatMap: function flatMap(callbackfn /* , thisArg */ ) { - var O = toObject(this); - var sourceLen, A; - aFunction(callbackfn); - sourceLen = toLength(O.length); - A = arraySpeciesCreate(O, 0); - flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]); - return A; - } - }); - load184()('flatMap'); -}); -var load259 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten - var $export = load20(); - var flattenIntoArray = load257(); - var toObject = load42(); - var toLength = load31(); - var toInteger = load30(); - var arraySpeciesCreate = load171(); - $export($export.P, 'Array', { - flatten: function flatten() { - var depthArg = arguments[0]; - var O = toObject(this); - var sourceLen = toLength(O.length); - var A = arraySpeciesCreate(O, 0); - flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); - return A; - } - }); - load184()('flatten'); -}); -var load260 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://github.com/mathiasbynens/String.prototype.at - var $export = load20(); - var $at = load124()(true); - var $fails = load2(); - var FORCED = $fails(function() { - return '𠮷'.at(0) !== '𠮷'; - }); - $export($export.P + $export.F * FORCED, 'String', { - at: function at(pos) { - return $at(this, pos); - } - }); -}); -var load261 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/tc39/proposal-string-pad-start-end - var toLength = load31(); - var repeat = load87(); - var defined = load28(); - module.exports = function(that, maxLength, fillString, left) { - var S = String(defined(that)); - var stringLength = S.length; - var fillStr = fillString === undefined ? ' ' : String(fillString); - var intMaxLength = toLength(maxLength); - if (intMaxLength <= stringLength || fillStr == '') return S; - var fillLen = intMaxLength - stringLength; - var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); - if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); - return left ? stringFiller + S : S + stringFiller; - }; -}); -var load262 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://github.com/tc39/proposal-string-pad-start-end - var $export = load20(); - var $pad = load261(); - var userAgent = load214(); - // https://github.com/zloirock/core-js/issues/280 - var WEBKIT_BUG = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent); - $export($export.P + $export.F * WEBKIT_BUG, 'String', { - padStart: function padStart(maxLength /* , fillString = ' ' */ ) { - return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); - } - }); -}); -var load263 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://github.com/tc39/proposal-string-pad-start-end - var $export = load20(); - var $pad = load261(); - var userAgent = load214(); - // https://github.com/zloirock/core-js/issues/280 - var WEBKIT_BUG = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent); - $export($export.P + $export.F * WEBKIT_BUG, 'String', { - padEnd: function padEnd(maxLength /* , fillString = ' ' */ ) { - return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); - } - }); -}); -var load264 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://github.com/sebmarkbage/ecmascript-string-left-right-trim - load79()('trimLeft', function($trim) { - return function trimLeft() { - return $trim(this, 1); - }; - }, 'trimStart'); -}); -var load265 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://github.com/sebmarkbage/ecmascript-string-left-right-trim - load79()('trimRight', function($trim) { - return function trimRight() { - return $trim(this, 2); - }; - }, 'trimEnd'); -}); -var load266 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://tc39.github.io/String.prototype.matchAll/ - var $export = load20(); - var defined = load28(); - var toLength = load31(); - var isRegExp = load130(); - var getFlags = load194(); - var RegExpProto = RegExp.prototype; - var $RegExpStringIterator = function(regexp, string) { - this._r = regexp; - this._s = string; - }; - load126()($RegExpStringIterator, 'RegExp String', function next() { - var match = this._r.exec(this._s); - return { - value: match, - done: match === null - }; - }); - $export($export.P, 'String', { - matchAll: function matchAll(regexp) { - defined(this); - if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!'); - var S = String(this); - var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp); - var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); - rx.lastIndex = toLength(regexp.lastIndex); - return new $RegExpStringIterator(rx, S); - } - }); -}); -var load267 = __swcpack_require__.bind(void 0, function(module, exports) { - load25()('asyncIterator'); -}); -var load268 = __swcpack_require__.bind(void 0, function(module, exports) { - load25()('observable'); -}); -var load269 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/tc39/proposal-object-getownpropertydescriptors - var $export = load20(); - var ownKeys = load251(); - var toIObject = load29(); - var gOPD = load48(); - var createProperty = load161(); - $export($export.S, 'Object', { - getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { - var O = toIObject(object); - var getDesc = gOPD.f; - var keys = ownKeys(O); - var result = {}; - var i = 0; - var key, desc; - while(keys.length > i){ - desc = getDesc(O, key = keys[i++]); - if (desc !== undefined) createProperty(result, key, desc); - } - return result; - } - }); -}); -var load270 = __swcpack_require__.bind(void 0, function(module, exports) { - var DESCRIPTORS = load3(); - var getKeys = load37(); - var toIObject = load29(); - var isEnum = load39().f; - module.exports = function(isEntries) { - return function(it) { - var O = toIObject(it); - var keys = getKeys(O); - var length = keys.length; - var i = 0; - var result = []; - var key; - while(length > i){ - key = keys[i++]; - if (!DESCRIPTORS || isEnum.call(O, key)) result.push(isEntries ? [ - key, - O[key] - ] : O[key]); - } - return result; - }; - }; -}); -var load271 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/tc39/proposal-object-values-entries - var $export = load20(); - var $values = load270()(false); - $export($export.S, 'Object', { - values: function values(it) { - return $values(it); - } - }); -}); -var load272 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/tc39/proposal-object-values-entries - var $export = load20(); - var $entries = load270()(true); - $export($export.S, 'Object', { - entries: function entries(it) { - return $entries(it); - } - }); -}); -var load273 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // Forced replacement prototype accessors methods - module.exports = load14() || !load2()(function() { - var K = Math.random(); - // In FF throws only define methods - // eslint-disable-next-line no-undef, no-useless-call - __defineSetter__.call(null, K, function() {}); - delete load()[K]; - }); -}); -var load274 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var toObject = load42(); - var aFunction = load18(); - var $defineProperty = load10(); - // B.2.2.2 Object.prototype.__defineGetter__(P, getter) - load3() && $export($export.P + load273(), 'Object', { - __defineGetter__: function __defineGetter__(P, getter) { - $defineProperty.f(toObject(this), P, { - get: aFunction(getter), - enumerable: true, - configurable: true - }); - } - }); -}); -var load275 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var toObject = load42(); - var aFunction = load18(); - var $defineProperty = load10(); - // B.2.2.3 Object.prototype.__defineSetter__(P, setter) - load3() && $export($export.P + load273(), 'Object', { - __defineSetter__: function __defineSetter__1(P, setter) { - $defineProperty.f(toObject(this), P, { - set: aFunction(setter), - enumerable: true, - configurable: true - }); - } - }); -}); -var load276 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var toObject = load42(); - var toPrimitive = load9(); - var getPrototypeOf = load55(); - var getOwnPropertyDescriptor = load48().f; - // B.2.2.4 Object.prototype.__lookupGetter__(P) - load3() && $export($export.P + load273(), 'Object', { - __lookupGetter__: function __lookupGetter__(P) { - var O = toObject(this); - var K = toPrimitive(P, true); - var D; - do { - if (D = getOwnPropertyDescriptor(O, K)) return D.get; - }while (O = getPrototypeOf(O)) - } - }); -}); -var load277 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var toObject = load42(); - var toPrimitive = load9(); - var getPrototypeOf = load55(); - var getOwnPropertyDescriptor = load48().f; - // B.2.2.5 Object.prototype.__lookupSetter__(P) - load3() && $export($export.P + load273(), 'Object', { - __lookupSetter__: function __lookupSetter__(P) { - var O = toObject(this); - var K = toPrimitive(P, true); - var D; - do { - if (D = getOwnPropertyDescriptor(O, K)) return D.set; - }while (O = getPrototypeOf(O)) - } - }); -}); -var load278 = __swcpack_require__.bind(void 0, function(module, exports) { - var forOf = load209(); - module.exports = function(iter, ITERATOR) { - var result = []; - forOf(iter, false, result.push, result, ITERATOR); - return result; - }; -}); -var load279 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var classof = load71(); - var from = load278(); - module.exports = function(NAME) { - return function toJSON() { - if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic"); - return from(this); - }; - }; -}); -var load280 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var $export = load20(); - $export($export.P + $export.R, 'Map', { - toJSON: load279()('Map') - }); -}); -var load281 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/DavidBruant/Map-Set.prototype.toJSON - var $export = load20(); - $export($export.P + $export.R, 'Set', { - toJSON: load279()('Set') - }); -}); -var load282 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://tc39.github.io/proposal-setmap-offrom/ - var $export = load20(); - module.exports = function(COLLECTION) { - $export($export.S, COLLECTION, { - of: function of() { - var length = arguments.length; - var A = new Array(length); - while(length--)A[length] = arguments[length]; - return new this(A); - } - }); - }; -}); -var load283 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://tc39.github.io/proposal-setmap-offrom/#sec-map.of - load282()('Map'); -}); -var load284 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://tc39.github.io/proposal-setmap-offrom/#sec-set.of - load282()('Set'); -}); -var load285 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of - load282()('WeakMap'); -}); -var load286 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of - load282()('WeakSet'); -}); -var load287 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://tc39.github.io/proposal-setmap-offrom/ - var $export = load20(); - var aFunction = load18(); - var ctx = load19(); - var forOf = load209(); - module.exports = function(COLLECTION) { - $export($export.S, COLLECTION, { - from: function from(source /* , mapFn, thisArg */ ) { - var mapFn = arguments[1]; - var mapping, A, n, cb; - aFunction(this); - mapping = mapFn !== undefined; - if (mapping) aFunction(mapFn); - if (source == undefined) return new this(); - A = []; - if (mapping) { - n = 0; - cb = ctx(mapFn, arguments[2], 2); - forOf(source, false, function(nextItem) { - A.push(cb(nextItem, n++)); - }); - } else forOf(source, false, A.push, A); - return new this(A); - } - }); - }; -}); -var load288 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://tc39.github.io/proposal-setmap-offrom/#sec-map.from - load287()('Map'); -}); -var load289 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://tc39.github.io/proposal-setmap-offrom/#sec-set.from - load287()('Set'); -}); -var load290 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from - load287()('WeakMap'); -}); -var load291 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from - load287()('WeakSet'); -}); -var load292 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/tc39/proposal-global - var $export = load20(); - $export($export.G, { - global: load() - }); -}); -var load293 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/tc39/proposal-global - var $export = load20(); - $export($export.S, 'System', { - global: load() - }); -}); -var load294 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/ljharb/proposal-is-error - var $export = load20(); - var cof = load26(); - $export($export.S, 'Error', { - isError: function isError(it) { - return cof(it) === 'Error'; - } - }); -}); -var load295 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://rwaldron.github.io/proposal-math-extensions/ - var $export = load20(); - $export($export.S, 'Math', { - clamp: function clamp(x, lower, upper) { - return Math.min(upper, Math.max(lower, x)); - } - }); -}); -var load296 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://rwaldron.github.io/proposal-math-extensions/ - var $export = load20(); - $export($export.S, 'Math', { - DEG_PER_RAD: Math.PI / 180 - }); -}); -var load297 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://rwaldron.github.io/proposal-math-extensions/ - var $export = load20(); - var RAD_PER_DEG = 180 / Math.PI; - $export($export.S, 'Math', { - degrees: function degrees(radians) { - return radians * RAD_PER_DEG; - } - }); -}); -var load298 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://rwaldron.github.io/proposal-math-extensions/ - module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) { - if (arguments.length === 0 || x != x || inLow != inLow || inHigh != inHigh || outLow != outLow || outHigh != outHigh) return NaN; - if (x === Infinity || x === -Infinity) return x; - return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow; - }; -}); -var load299 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://rwaldron.github.io/proposal-math-extensions/ - var $export = load20(); - var scale = load298(); - var fround = load110(); - $export($export.S, 'Math', { - fscale: function fscale(x, inLow, inHigh, outLow, outHigh) { - return fround(scale(x, inLow, inHigh, outLow, outHigh)); - } - }); -}); -var load300 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = load20(); - $export($export.S, 'Math', { - iaddh: function iaddh(x0, x1, y0, y1) { - var $x0 = x0 >>> 0; - var $x1 = x1 >>> 0; - var $y0 = y0 >>> 0; - return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; - } - }); -}); -var load301 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = load20(); - $export($export.S, 'Math', { - isubh: function isubh(x0, x1, y0, y1) { - var $x0 = x0 >>> 0; - var $x1 = x1 >>> 0; - var $y0 = y0 >>> 0; - return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; - } - }); -}); -var load302 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = load20(); - $export($export.S, 'Math', { - imulh: function imulh(u, v) { - var UINT16 = 0xffff; - var $u = +u; - var $v = +v; - var u0 = $u & UINT16; - var v0 = $v & UINT16; - var u1 = $u >> 16; - var v1 = $v >> 16; - var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); - } - }); -}); -var load303 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://rwaldron.github.io/proposal-math-extensions/ - var $export = load20(); - $export($export.S, 'Math', { - RAD_PER_DEG: 180 / Math.PI - }); -}); -var load304 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://rwaldron.github.io/proposal-math-extensions/ - var $export = load20(); - var DEG_PER_RAD = Math.PI / 180; - $export($export.S, 'Math', { - radians: function radians(degrees) { - return degrees * DEG_PER_RAD; - } - }); -}); -var load305 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://rwaldron.github.io/proposal-math-extensions/ - var $export = load20(); - $export($export.S, 'Math', { - scale: load298() - }); -}); -var load306 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - var $export = load20(); - $export($export.S, 'Math', { - umulh: function umulh(u, v) { - var UINT16 = 0xffff; - var $u = +u; - var $v = +v; - var u0 = $u & UINT16; - var v0 = $v & UINT16; - var u1 = $u >>> 16; - var v1 = $v >>> 16; - var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); - } - }); -}); -var load307 = __swcpack_require__.bind(void 0, function(module, exports) { - // http://jfbastien.github.io/papers/Math.signbit.html - var $export = load20(); - $export($export.S, 'Math', { - signbit: function signbit(x) { - // eslint-disable-next-line no-self-compare - return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0; - } - }); -}); -var load308 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/tc39/proposal-promise-finally - 'use strict'; - var $export = load20(); - var core = load4(); - var global = load(); - var speciesConstructor = load206(); - var promiseResolve = load215(); - $export($export.P + $export.R, 'Promise', { - 'finally': function(onFinally) { - var C = speciesConstructor(this, core.Promise || global.Promise); - var isFunction = typeof onFinally == 'function'; - return this.then(isFunction ? function(x) { - return promiseResolve(C, onFinally()).then(function() { - return x; - }); - } : onFinally, isFunction ? function(e) { - return promiseResolve(C, onFinally()).then(function() { - throw e; - }); - } : onFinally); - } - }); -}); -var load309 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://github.com/tc39/proposal-promise-try - var $export = load20(); - var newPromiseCapability = load212(); - var perform = load213(); - $export($export.S, 'Promise', { - 'try': function(callbackfn) { - var promiseCapability = newPromiseCapability.f(this); - var result = perform(callbackfn); - (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v); - return promiseCapability.promise; - } - }); -}); -var load310 = __swcpack_require__.bind(void 0, function(module, exports) { - var Map = load221(); - var $export = load20(); - var shared = load15()('metadata'); - var store = shared.store || (shared.store = new (load224())()); - var getOrCreateMetadataMap = function(target, targetKey, create) { - var targetMetadata = store.get(target); - if (!targetMetadata) { - if (!create) return undefined; - store.set(target, targetMetadata = new Map()); - } - var keyMetadata = targetMetadata.get(targetKey); - if (!keyMetadata) { - if (!create) return undefined; - targetMetadata.set(targetKey, keyMetadata = new Map()); - } - return keyMetadata; - }; - var ordinaryHasOwnMetadata = function(MetadataKey, O, P) { - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? false : metadataMap.has(MetadataKey); - }; - var ordinaryGetOwnMetadata = function(MetadataKey, O, P) { - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); - }; - var ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P) { - getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); - }; - var ordinaryOwnMetadataKeys = function(target, targetKey) { - var metadataMap = getOrCreateMetadataMap(target, targetKey, false); - var keys = []; - if (metadataMap) metadataMap.forEach(function(_, key) { - keys.push(key); - }); - return keys; - }; - var toMetaKey = function(it) { - return it === undefined || typeof it == 'symbol' ? it : String(it); - }; - var exp = function(O) { - $export($export.S, 'Reflect', O); - }; - module.exports = { - store: store, - map: getOrCreateMetadataMap, - has: ordinaryHasOwnMetadata, - get: ordinaryGetOwnMetadata, - set: ordinaryDefineOwnMetadata, - keys: ordinaryOwnMetadataKeys, - key: toMetaKey, - exp: exp - }; -}); -var load311 = __swcpack_require__.bind(void 0, function(module, exports) { - var metadata = load310(); - var anObject = load6(); - var toMetaKey = metadata.key; - var ordinaryDefineOwnMetadata = metadata.set; - metadata.exp({ - defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) { - ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); - } - }); -}); -var load312 = __swcpack_require__.bind(void 0, function(module, exports) { - var metadata = load310(); - var anObject = load6(); - var toMetaKey = metadata.key; - var getOrCreateMetadataMap = metadata.map; - var store = metadata.store; - metadata.exp({ - deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */ ) { - var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]); - var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); - if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; - if (metadataMap.size) return true; - var targetMetadata = store.get(target); - targetMetadata['delete'](targetKey); - return !!targetMetadata.size || store['delete'](target); - } - }); -}); -var load313 = __swcpack_require__.bind(void 0, function(module, exports) { - var metadata = load310(); - var anObject = load6(); - var getPrototypeOf = load55(); - var ordinaryHasOwnMetadata = metadata.has; - var ordinaryGetOwnMetadata = metadata.get; - var toMetaKey = metadata.key; - var ordinaryGetMetadata = function(MetadataKey, O, P) { - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; - }; - metadata.exp({ - getMetadata: function getMetadata(metadataKey, target /* , targetKey */ ) { - return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - } - }); -}); -var load314 = __swcpack_require__.bind(void 0, function(module, exports) { - var Set = load222(); - var from = load278(); - var metadata = load310(); - var anObject = load6(); - var getPrototypeOf = load55(); - var ordinaryOwnMetadataKeys = metadata.keys; - var toMetaKey = metadata.key; - var ordinaryMetadataKeys = function(O, P) { - var oKeys = ordinaryOwnMetadataKeys(O, P); - var parent = getPrototypeOf(O); - if (parent === null) return oKeys; - var pKeys = ordinaryMetadataKeys(parent, P); - return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; - }; - metadata.exp({ - getMetadataKeys: function getMetadataKeys(target /* , targetKey */ ) { - return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); - } - }); -}); -var load315 = __swcpack_require__.bind(void 0, function(module, exports) { - var metadata = load310(); - var anObject = load6(); - var ordinaryGetOwnMetadata = metadata.get; - var toMetaKey = metadata.key; - metadata.exp({ - getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */ ) { - return ordinaryGetOwnMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - } - }); -}); -var load316 = __swcpack_require__.bind(void 0, function(module, exports) { - var metadata = load310(); - var anObject = load6(); - var ordinaryOwnMetadataKeys = metadata.keys; - var toMetaKey = metadata.key; - metadata.exp({ - getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */ ) { - return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); - } - }); -}); -var load317 = __swcpack_require__.bind(void 0, function(module, exports) { - var metadata = load310(); - var anObject = load6(); - var getPrototypeOf = load55(); - var ordinaryHasOwnMetadata = metadata.has; - var toMetaKey = metadata.key; - var ordinaryHasMetadata = function(MetadataKey, O, P) { - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn) return true; - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; - }; - metadata.exp({ - hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */ ) { - return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - } - }); -}); -var load318 = __swcpack_require__.bind(void 0, function(module, exports) { - var metadata = load310(); - var anObject = load6(); - var ordinaryHasOwnMetadata = metadata.has; - var toMetaKey = metadata.key; - metadata.exp({ - hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */ ) { - return ordinaryHasOwnMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); - } - }); -}); -var load319 = __swcpack_require__.bind(void 0, function(module, exports) { - var $metadata = load310(); - var anObject = load6(); - var aFunction = load18(); - var toMetaKey = $metadata.key; - var ordinaryDefineOwnMetadata = $metadata.set; - $metadata.exp({ - metadata: function metadata(metadataKey, metadataValue) { - return function decorator(target, targetKey) { - ordinaryDefineOwnMetadata(metadataKey, metadataValue, (targetKey !== undefined ? anObject : aFunction)(target), toMetaKey(targetKey)); - }; - } - }); -}); -var load320 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask - var $export = load20(); - var microtask = load211()(); - var process = load().process; - var isNode = load26()(process) == 'process'; - $export($export.G, { - asap: function asap(fn) { - var domain = isNode && process.domain; - microtask(domain ? domain.bind(fn) : fn); - } - }); -}); -var load321 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - // https://github.com/zenparsing/es-observable - var $export = load20(); - var global = load(); - var core = load4(); - var microtask = load211()(); - var OBSERVABLE = load22()('observable'); - var aFunction = load18(); - var anObject = load6(); - var anInstance = load208(); - var redefineAll = load216(); - var hide = load12(); - var forOf = load209(); - var RETURN = forOf.RETURN; - var getMethod = function(fn) { - return fn == null ? undefined : aFunction(fn); - }; - var cleanupSubscription = function(subscription) { - var cleanup = subscription._c; - if (cleanup) { - subscription._c = undefined; - cleanup(); - } - }; - var subscriptionClosed = function(subscription) { - return subscription._o === undefined; - }; - var closeSubscription = function(subscription) { - if (!subscriptionClosed(subscription)) { - subscription._o = undefined; - cleanupSubscription(subscription); - } - }; - var Subscription = function(observer, subscriber) { - anObject(observer); - this._c = undefined; - this._o = observer; - observer = new SubscriptionObserver(this); - try { - var cleanup = subscriber(observer); - var subscription = cleanup; - if (cleanup != null) { - if (typeof cleanup.unsubscribe === 'function') cleanup = function() { - subscription.unsubscribe(); - }; - else aFunction(cleanup); - this._c = cleanup; - } - } catch (e) { - observer.error(e); - return; - } - if (subscriptionClosed(this)) cleanupSubscription(this); - }; - Subscription.prototype = redefineAll({}, { - unsubscribe: function unsubscribe() { - closeSubscription(this); - } - }); - var SubscriptionObserver = function(subscription) { - this._s = subscription; - }; - SubscriptionObserver.prototype = redefineAll({}, { - next: function next(value) { - var subscription = this._s; - if (!subscriptionClosed(subscription)) { - var observer = subscription._o; - try { - var m = getMethod(observer.next); - if (m) return m.call(observer, value); - } catch (e) { - try { - closeSubscription(subscription); - } finally{ - throw e; - } - } - } - }, - error: function error(value) { - var subscription = this._s; - if (subscriptionClosed(subscription)) throw value; - var observer = subscription._o; - subscription._o = undefined; - try { - var m = getMethod(observer.error); - if (!m) throw value; - value = m.call(observer, value); - } catch (e) { - try { - cleanupSubscription(subscription); - } finally{ - throw e; - } - } - cleanupSubscription(subscription); - return value; - }, - complete: function complete(value) { - var subscription = this._s; - if (!subscriptionClosed(subscription)) { - var observer = subscription._o; - subscription._o = undefined; - try { - var m = getMethod(observer.complete); - value = m ? m.call(observer, value) : undefined; - } catch (e) { - try { - cleanupSubscription(subscription); - } finally{ - throw e; - } - } - cleanupSubscription(subscription); - return value; - } - } - }); - var $Observable = function Observable(subscriber) { - anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber); - }; - redefineAll($Observable.prototype, { - subscribe: function subscribe(observer) { - return new Subscription(observer, this._f); - }, - forEach: function forEach(fn) { - var that = this; - return new (core.Promise || global.Promise)(function(resolve, reject) { - aFunction(fn); - var subscription = that.subscribe({ - next: function(value) { - try { - return fn(value); - } catch (e) { - reject(e); - subscription.unsubscribe(); - } - }, - error: reject, - complete: resolve - }); - }); - } - }); - redefineAll($Observable, { - from: function from(x) { - var C = typeof this === 'function' ? this : $Observable; - var method = getMethod(anObject(x)[OBSERVABLE]); - if (method) { - var observable = anObject(method.call(x)); - return observable.constructor === C ? observable : new C(function(observer) { - return observable.subscribe(observer); - }); - } - return new C(function(observer) { - var done = false; - microtask(function() { - if (!done) { - try { - if (forOf(x, false, function(it) { - observer.next(it); - if (done) return RETURN; - }) === RETURN) return; - } catch (e) { - if (done) throw e; - observer.error(e); - return; - } - observer.complete(); - } - }); - return function() { - done = true; - }; - }); - }, - of: function of() { - for(var i = 0, l = arguments.length, items = new Array(l); i < l;)items[i] = arguments[i++]; - return new (typeof this === 'function' ? this : $Observable)(function(observer) { - var done = false; - microtask(function() { - if (!done) { - for(var j = 0; j < items.length; ++j){ - observer.next(items[j]); - if (done) return; - } - observer.complete(); - } - }); - return function() { - done = true; - }; - }); - } - }); - hide($Observable.prototype, OBSERVABLE, function() { - return this; - }); - $export($export.G, { - Observable: $Observable - }); - load190()('Observable'); -}); -var load322 = __swcpack_require__.bind(void 0, function(module, exports) { - // ie9- setTimeout & setInterval additional parameters fix - var global = load(); - var $export = load20(); - var userAgent = load214(); - var slice = [].slice; - var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check - var wrap = function(set) { - return function(fn, time /* , ...args */ ) { - var boundArgs = arguments.length > 2; - var args = boundArgs ? slice.call(arguments, 2) : false; - return set(boundArgs ? function() { - // eslint-disable-next-line no-new-func - (typeof fn == 'function' ? fn : Function(fn)).apply(this, args); - } : fn, time); - }; - }; - $export($export.G + $export.B + $export.F * MSIE, { - setTimeout: wrap(global.setTimeout), - setInterval: wrap(global.setInterval) - }); -}); -var load323 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - var $task = load210(); - $export($export.G + $export.B, { - setImmediate: $task.set, - clearImmediate: $task.clear - }); -}); -var load324 = __swcpack_require__.bind(void 0, function(module, exports) { - var $iterators = load193(); - var getKeys = load37(); - var redefine = load17(); - var global = load(); - var hide = load12(); - var Iterators = load125(); - var wks = load22(); - var ITERATOR = wks('iterator'); - var TO_STRING_TAG = wks('toStringTag'); - var ArrayValues = Iterators.Array; - var DOMIterables = { - CSSRuleList: true, - CSSStyleDeclaration: false, - CSSValueList: false, - ClientRectList: false, - DOMRectList: false, - DOMStringList: false, - DOMTokenList: true, - DataTransferItemList: false, - FileList: false, - HTMLAllCollection: false, - HTMLCollection: false, - HTMLFormElement: false, - HTMLSelectElement: false, - MediaList: true, - MimeTypeArray: false, - NamedNodeMap: false, - NodeList: true, - PaintRequestList: false, - Plugin: false, - PluginArray: false, - SVGLengthList: false, - SVGNumberList: false, - SVGPathSegList: false, - SVGPointList: false, - SVGStringList: false, - SVGTransformList: false, - SourceBufferList: false, - StyleSheetList: true, - TextTrackCueList: false, - TextTrackList: false, - TouchList: false - }; - for(var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++){ - var NAME = collections[i]; - var explicit = DOMIterables[NAME]; - var Collection = global[NAME]; - var proto = Collection && Collection.prototype; - var key; - if (proto) { - if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); - if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); - Iterators[NAME] = ArrayValues; - if (explicit) { - for(key in $iterators)if (!proto[key]) redefine(proto, key, $iterators[key], true); - } - } - } -}); -var load325 = __swcpack_require__.bind(void 0, function(module, exports) { - load49(); - load50(); - load51(); - load52(); - load54(); - load56(); - load57(); - load58(); - load59(); - load60(); - load61(); - load62(); - load63(); - load64(); - load66(); - load68(); - load70(); - load72(); - load75(); - load76(); - load77(); - load81(); - load83(); - load85(); - load88(); - load89(); - load90(); - load91(); - load93(); - load94(); - load95(); - load96(); - load97(); - load98(); - load99(); - load101(); - load102(); - load103(); - load105(); - load106(); - load107(); - load109(); - load111(); - load112(); - load113(); - load114(); - load115(); - load116(); - load117(); - load118(); - load119(); - load120(); - load121(); - load122(); - load123(); - load128(); - load129(); - load133(); - load134(); - load135(); - load136(); - load138(); - load139(); - load140(); - load141(); - load142(); - load143(); - load144(); - load145(); - load146(); - load147(); - load148(); - load149(); - load150(); - load151(); - load152(); - load154(); - load155(); - load157(); - load158(); - load164(); - load165(); - load167(); - load168(); - load169(); - load173(); - load174(); - load175(); - load176(); - load177(); - load179(); - load180(); - load181(); - load182(); - load185(); - load187(); - load188(); - load189(); - load191(); - load193(); - load195(); - load197(); - load199(); - load198(); - load203(); - load204(); - load205(); - load207(); - load217(); - load221(); - load222(); - load224(); - load225(); - load229(); - load230(); - load232(); - load233(); - load234(); - load235(); - load236(); - load237(); - load238(); - load239(); - load240(); - load241(); - load242(); - load243(); - load244(); - load245(); - load246(); - load247(); - load248(); - load249(); - load250(); - load252(); - load253(); - load254(); - load255(); - load256(); - load258(); - load259(); - load260(); - load262(); - load263(); - load264(); - load265(); - load266(); - load267(); - load268(); - load269(); - load271(); - load272(); - load274(); - load275(); - load276(); - load277(); - load280(); - load281(); - load283(); - load284(); - load285(); - load286(); - load288(); - load289(); - load290(); - load291(); - load292(); - load293(); - load294(); - load295(); - load296(); - load297(); - load299(); - load300(); - load301(); - load302(); - load303(); - load304(); - load305(); - load306(); - load307(); - load308(); - load309(); - load311(); - load312(); - load313(); - load314(); - load315(); - load316(); - load317(); - load318(); - load319(); - load320(); - load321(); - load322(); - load323(); - load324(); - module.exports = load4(); -}); -var load326 = __swcpack_require__.bind(void 0, function(module, exports) { - var getKeys = load37(); - var toIObject = load29(); - module.exports = function(object, el) { - var O = toIObject(object); - var keys = getKeys(O); - var length = keys.length; - var index = 0; - var key; - while(length > index)if (O[key = keys[index++]] === el) return key; - }; -}); -var load327 = __swcpack_require__.bind(void 0, function(module, exports) { - var classof = load71(); - var ITERATOR = load22()('iterator'); - var Iterators = load125(); - module.exports = load4().isIterable = function(it) { - var O = Object(it); - return O[ITERATOR] !== undefined || '@@iterator' in O || Iterators.hasOwnProperty(classof(O)); - }; -}); -var load328 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var ctx = load19(); - var $export = load20(); - var createDesc = load11(); - var assign = load65(); - var create = load45(); - var getPrototypeOf = load55(); - var getKeys = load37(); - var dP = load10(); - var keyOf = load326(); - var aFunction = load18(); - var forOf = load209(); - var isIterable = load327(); - var $iterCreate = load126(); - var step = load192(); - var isObject = load5(); - var toIObject = load29(); - var DESCRIPTORS = load3(); - var has = load1(); - // 0 -> Dict.forEach - // 1 -> Dict.map - // 2 -> Dict.filter - // 3 -> Dict.some - // 4 -> Dict.every - // 5 -> Dict.find - // 6 -> Dict.findKey - // 7 -> Dict.mapPairs - var createDictMethod = function(TYPE) { - var IS_MAP = TYPE == 1; - var IS_EVERY = TYPE == 4; - return function(object, callbackfn, that /* = undefined */ ) { - var f = ctx(callbackfn, that, 3); - var O = toIObject(object); - var result = IS_MAP || TYPE == 7 || TYPE == 2 ? new (typeof this == 'function' ? this : Dict)() : undefined; - var key, val, res; - for(key in O)if (has(O, key)) { - val = O[key]; - res = f(val, key, object); - if (TYPE) { - if (IS_MAP) result[key] = res; // map - else if (res) switch(TYPE){ - case 2: - result[key] = val; - break; // filter - case 3: - return true; // some - case 5: - return val; // find - case 6: - return key; // findKey - case 7: - result[res[0]] = res[1]; // mapPairs - } - else if (IS_EVERY) return false; // every - } - } - return TYPE == 3 || IS_EVERY ? IS_EVERY : result; - }; - }; - var findKey = createDictMethod(6); - var createDictIter = function(kind) { - return function(it) { - return new DictIterator(it, kind); - }; - }; - var DictIterator = function(iterated, kind) { - this._t = toIObject(iterated); // target - this._a = getKeys(iterated); // keys - this._i = 0; // next index - this._k = kind; // kind - }; - $iterCreate(DictIterator, 'Dict', function() { - var that = this; - var O = that._t; - var keys = that._a; - var kind = that._k; - var key; - do if (that._i >= keys.length) { - that._t = undefined; - return step(1); - } - while (!has(O, key = keys[that._i++])) - if (kind == 'keys') return step(0, key); - if (kind == 'values') return step(0, O[key]); - return step(0, [ - key, - O[key] - ]); - }); - function Dict(iterable) { - var dict = create(null); - if (iterable != undefined) { - if (isIterable(iterable)) forOf(iterable, true, function(key, value) { - dict[key] = value; - }); - else assign(dict, iterable); - } - return dict; - } - Dict.prototype = null; - function reduce(object, mapfn, init) { - aFunction(mapfn); - var O = toIObject(object); - var keys = getKeys(O); - var length = keys.length; - var i = 0; - var memo, key; - if (arguments.length < 3) { - if (!length) throw TypeError('Reduce of empty object with no initial value'); - memo = O[keys[i++]]; - } else memo = Object(init); - while(length > i)if (has(O, key = keys[i++])) memo = mapfn(memo, O[key], key, object); - return memo; - } - function includes(object, el) { - // eslint-disable-next-line no-self-compare - return (el == el ? keyOf(object, el) : findKey(object, function(it) { - // eslint-disable-next-line no-self-compare - return it != it; - })) !== undefined; - } - function get(object, key) { - if (has(object, key)) return object[key]; - } - function set(object, key, value) { - if (DESCRIPTORS && key in Object) dP.f(object, key, createDesc(0, value)); - else object[key] = value; - return object; - } - function isDict(it) { - return isObject(it) && getPrototypeOf(it) === Dict.prototype; - } - $export($export.G + $export.F, { - Dict: Dict - }); - $export($export.S, 'Dict', { - keys: createDictIter('keys'), - values: createDictIter('values'), - entries: createDictIter('entries'), - forEach: createDictMethod(0), - map: createDictMethod(1), - filter: createDictMethod(2), - some: createDictMethod(3), - every: createDictMethod(4), - find: createDictMethod(5), - findKey: findKey, - mapPairs: createDictMethod(7), - reduce: reduce, - keyOf: keyOf, - includes: includes, - has: has, - get: get, - set: set, - isDict: isDict - }); -}); -var load329 = __swcpack_require__.bind(void 0, function(module, exports) { - var anObject = load6(); - var get = load162(); - module.exports = load4().getIterator = function(it) { - var iterFn = get(it); - if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!'); - return anObject(iterFn.call(it)); - }; -}); -var load330 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = load(); -}); -var load331 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var path = load330(); - var invoke = load73(); - var aFunction = load18(); - module.exports = function() { - var fn = aFunction(this); - var length = arguments.length; - var pargs = new Array(length); - var i = 0; - var _ = path._; - var holder = false; - while(length > i)if ((pargs[i] = arguments[i++]) === _) holder = true; - return function() { - var that = this; - var aLen = arguments.length; - var j = 0; - var k = 0; - var args; - if (!holder && !aLen) return invoke(fn, pargs, that); - args = pargs.slice(); - if (holder) { - for(; length > j; j++)if (args[j] === _) args[j] = arguments[k++]; - } - while(aLen > k)args.push(arguments[k++]); - return invoke(fn, args, that); - }; - }; -}); -var load332 = __swcpack_require__.bind(void 0, function(module, exports) { - var global = load(); - var core = load4(); - var $export = load20(); - var partial = load331(); - // https://esdiscuss.org/topic/promise-returning-delay-function - $export($export.G + $export.F, { - delay: function delay(time) { - return new (core.Promise || global.Promise)(function(resolve) { - setTimeout(partial.call(resolve, true), time); - }); - } - }); -}); -var load333 = __swcpack_require__.bind(void 0, function(module, exports) { - var path = load330(); - var $export = load20(); - // Placeholder - load4()._ = path._ = path._ || {}; - $export($export.P + $export.F, 'Function', { - part: load331() - }); -}); -var load334 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - $export($export.S + $export.F, 'Object', { - isObject: load5() - }); -}); -var load335 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - $export($export.S + $export.F, 'Object', { - classof: load71() - }); -}); -var load336 = __swcpack_require__.bind(void 0, function(module, exports) { - var dP = load10(); - var gOPD = load48(); - var ownKeys = load251(); - var toIObject = load29(); - module.exports = function define(target, mixin) { - var keys = ownKeys(toIObject(mixin)); - var length = keys.length; - var i = 0; - var key; - while(length > i)dP.f(target, key = keys[i++], gOPD.f(mixin, key)); - return target; - }; -}); -var load337 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - var define = load336(); - $export($export.S + $export.F, 'Object', { - define: define - }); -}); -var load338 = __swcpack_require__.bind(void 0, function(module, exports) { - var $export = load20(); - var define = load336(); - var create = load45(); - $export($export.S + $export.F, 'Object', { - make: function(proto, mixin) { - return define(create(proto), mixin); - } - }); -}); -var load339 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - load127()(Number, 'Number', function(iterated) { - this._l = +iterated; - this._i = 0; - }, function() { - var i = this._i++; - var done = !(i < this._l); - return { - done: done, - value: done ? undefined : i - }; - }); -}); -var load340 = __swcpack_require__.bind(void 0, function(module, exports) { - module.exports = function(regExp, replace) { - var replacer = replace === Object(replace) ? function(part) { - return replace[part]; - } : replace; - return function(it) { - return String(it).replace(regExp, replacer); - }; - }; -}); -var load341 = __swcpack_require__.bind(void 0, function(module, exports) { - // https://github.com/benjamingr/RexExp.escape - var $export = load20(); - var $re = load340()(/[\\^$*+?.()|[\]{}]/g, '\\$&'); - $export($export.S, 'RegExp', { - escape: function escape(it) { - return $re(it); - } - }); -}); -var load342 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var $re = load340()(/[&<>"']/g, { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }); - $export($export.P + $export.F, 'String', { - escapeHTML: function escapeHTML() { - return $re(this); - } - }); -}); -var load343 = __swcpack_require__.bind(void 0, function(module, exports) { - 'use strict'; - var $export = load20(); - var $re = load340()(/&(?:amp|lt|gt|quot|apos);/g, { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'" - }); - $export($export.P + $export.F, 'String', { - unescapeHTML: function unescapeHTML() { - return $re(this); - } - }); -}); -var load344 = __swcpack_require__.bind(void 0, function(module, exports) { - load325(); - load328(); - load162(); - load329(); - load327(); - load332(); - load333(); - load334(); - load335(); - load337(); - load338(); - load339(); - load341(); - load342(); - load343(); - module.exports = load4(); -}); -var { default: assign } = load344();