feat(es/minifier): Implement more rules (#2039)

swc_ecma_minifier:
 - Remove useless `0` in sequence expressions.
 - `analyzer`: Don't treat fn decl as fn expr.
 - `sequences`: Use sequence expressions in front of `b`.
 - `if_return`: Drop else token within same pass. (#2044)
 - Fix counting logic for `pass`. (#2044)
 - `analyzer`: Fix `ref_count`.
 - `hygiene`: Implement `visit_prop_name`.
 - `ignore_return_value`: Property access to function parameters may have side effects.
 - `inline`: Treat `!0` as literal.
 - Remove some dead codes if `unused` is enabled.

swc_ecma_utils:
 - Fix `may_have_side_effects`.
This commit is contained in:
강동윤 2021-08-10 17:52:28 +09:00 committed by GitHub
parent 2151366b93
commit 71080dbd26
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
81 changed files with 785 additions and 344 deletions

4
Cargo.lock generated
View File

@ -2409,7 +2409,7 @@ dependencies = [
[[package]] [[package]]
name = "swc_ecma_minifier" name = "swc_ecma_minifier"
version = "0.19.0" version = "0.19.1"
dependencies = [ dependencies = [
"ansi_term 0.12.1", "ansi_term 0.12.1",
"anyhow", "anyhow",
@ -2723,7 +2723,7 @@ dependencies = [
[[package]] [[package]]
name = "swc_ecma_utils" name = "swc_ecma_utils"
version = "0.41.0" version = "0.41.1"
dependencies = [ dependencies = [
"once_cell", "once_cell",
"scoped-tls", "scoped-tls",

View File

@ -7,7 +7,7 @@ include = ["Cargo.toml", "src/**/*.rs", "src/lists/*.json"]
license = "Apache-2.0/MIT" license = "Apache-2.0/MIT"
name = "swc_ecma_minifier" name = "swc_ecma_minifier"
repository = "https://github.com/swc-project/swc.git" repository = "https://github.com/swc-project/swc.git"
version = "0.19.0" version = "0.19.1"
[features] [features]
debug = [] debug = []

View File

@ -289,7 +289,9 @@ impl UsageAnalyzer {
e.inline_prevented |= self.ctx.inline_prevented; e.inline_prevented |= self.ctx.inline_prevented;
if is_first {
e.ref_count += 1; e.ref_count += 1;
}
e.reassigned |= is_first && is_modify && self.ctx.is_exact_reassignment; e.reassigned |= is_first && is_modify && self.ctx.is_exact_reassignment;
// Passing object as a argument is possibly modification. // Passing object as a argument is possibly modification.
e.mutated |= is_modify || (self.ctx.in_call_arg && self.ctx.is_exact_arg); e.mutated |= is_modify || (self.ctx.in_call_arg && self.ctx.is_exact_arg);
@ -319,7 +321,7 @@ impl UsageAnalyzer {
i: &Ident, i: &Ident,
has_init: bool, has_init: bool,
kind: Option<VarDeclKind>, kind: Option<VarDeclKind>,
is_fn_decl: bool, _is_fn_decl: bool,
) -> &mut VarUsageInfo { ) -> &mut VarUsageInfo {
// log::trace!("declare_decl({}{:?})", i.sym, i.span.ctxt); // log::trace!("declare_decl({}{:?})", i.sym, i.span.ctxt);
@ -362,8 +364,6 @@ impl UsageAnalyzer {
} }
v.declared_as_catch_param |= self.ctx.in_catch_param; v.declared_as_catch_param |= self.ctx.in_catch_param;
v.declared_as_fn_expr |= is_fn_decl;
v v
} }
} }

View File

@ -202,6 +202,7 @@ impl Compressor<'_> {
} }
} }
self.pass = 0;
// let last_mark = n.remove_mark(); // let last_mark = n.remove_mark();
// assert!( // assert!(
// N::is_module() || last_mark == self.marks.standalone, // N::is_module() || last_mark == self.marks.standalone,

View File

@ -1,5 +1,6 @@
use super::Optimizer; use super::Optimizer;
use crate::compress::optimize::Ctx; use crate::compress::optimize::Ctx;
use crate::compress::util::always_terminates;
use crate::compress::util::negate_cost; use crate::compress::util::negate_cost;
use crate::util::SpanExt; use crate::util::SpanExt;
use crate::DISABLE_BUGGY_PASSES; use crate::DISABLE_BUGGY_PASSES;
@ -783,15 +784,3 @@ fn is_simple_lhs(l: &PatOrExpr) -> bool {
}, },
} }
} }
pub(super) fn always_terminates(s: &Stmt) -> bool {
match s {
Stmt::Return(..) | Stmt::Throw(..) | Stmt::Break(..) | Stmt::Continue(..) => true,
Stmt::If(IfStmt { cons, alt, .. }) => {
always_terminates(&cons) && alt.as_deref().map(always_terminates).unwrap_or(false)
}
Stmt::Block(s) => s.stmts.iter().any(always_terminates),
_ => false,
}
}

View File

@ -88,6 +88,14 @@ impl Optimizer<'_> {
if !usage.is_fn_local { if !usage.is_fn_local {
match &**init { match &**init {
Expr::Lit(..) => {} Expr::Lit(..) => {}
Expr::Unary(UnaryExpr {
op: op!("!"), arg, ..
}) if match &**arg {
Expr::Lit(..) => true,
_ => false,
} => {}
Expr::Fn(FnExpr { Expr::Fn(FnExpr {
function: function:
Function { Function {

View File

@ -1,6 +1,7 @@
use crate::analyzer::ProgramData; use crate::analyzer::ProgramData;
use crate::analyzer::UsageAnalyzer; use crate::analyzer::UsageAnalyzer;
use crate::compress::util::is_pure_undefined; use crate::compress::util::is_pure_undefined;
use crate::debug::dump;
use crate::marks::Marks; use crate::marks::Marks;
use crate::option::CompressOptions; use crate::option::CompressOptions;
use crate::util::contains_leaping_yield; use crate::util::contains_leaping_yield;
@ -873,7 +874,7 @@ impl Optimizer<'_> {
.as_ref() .as_ref()
.and_then(|data| data.vars.get(&obj.to_id())) .and_then(|data| data.vars.get(&obj.to_id()))
{ {
if usage.var_kind.is_none() { if !usage.declared_as_fn_param && usage.var_kind.is_none() {
return None; return None;
} }
@ -1912,6 +1913,7 @@ impl VisitMut for Optimizer<'_> {
if let Some(body) = &mut n.body { if let Some(body) = &mut n.body {
self.merge_if_returns(&mut body.stmts); self.merge_if_returns(&mut body.stmts);
self.drop_else_token(&mut body.stmts);
} }
{ {
@ -2079,6 +2081,15 @@ impl VisitMut for Optimizer<'_> {
self.shift_assignment(n); self.shift_assignment(n);
{ {
let should_preserve_zero = match n.exprs.last().map(|v| &**v) {
Some(Expr::Member(..)) => true,
Some(Expr::Ident(Ident {
sym: js_word!("eval"),
..
})) => true,
_ => false,
};
let exprs = n let exprs = n
.exprs .exprs
.iter_mut() .iter_mut()
@ -2090,8 +2101,11 @@ impl VisitMut for Optimizer<'_> {
_ => false, _ => false,
}; };
let can_remove = let can_remove = !last
!last && (idx != 0 || !is_injected_zero || !self.ctx.is_this_aware_callee); && (idx != 0
|| !is_injected_zero
|| !self.ctx.is_this_aware_callee
|| !should_preserve_zero);
if can_remove { if can_remove {
// If negate_iife is true, it's already handled by // If negate_iife is true, it's already handled by
@ -2157,7 +2171,10 @@ impl VisitMut for Optimizer<'_> {
if can_be_removed { if can_be_removed {
self.changed = true; self.changed = true;
log::debug!("Dropping an expression without side effect"); log::debug!("unused: Dropping an expression without side effect");
if cfg!(feature = "debug") {
log::trace!("unused: [Change] Dropping \n{}\n", dump(&*expr));
}
*s = Stmt::Empty(EmptyStmt { span: DUMMY_SP }); *s = Stmt::Empty(EmptyStmt { span: DUMMY_SP });
return; return;
} }

View File

@ -819,6 +819,27 @@ impl Optimizer<'_> {
/// Returns true if something is modified. /// Returns true if something is modified.
fn merge_sequential_expr(&mut self, a: &mut Mergable, b: &mut Expr) -> bool { fn merge_sequential_expr(&mut self, a: &mut Mergable, b: &mut Expr) -> bool {
match a {
Mergable::Var(..) => {}
Mergable::Expr(a) => match a {
Expr::Seq(a) => {
//
for a in a.exprs.iter_mut().rev() {
if self.merge_sequential_expr(&mut Mergable::Expr(a), b) {
return true;
}
if !self.is_skippable_for_seq(&a) {
return false;
}
}
return false;
}
_ => {}
},
}
match b { match b {
Expr::Update(..) => return false, Expr::Update(..) => return false,
@ -1153,7 +1174,6 @@ impl Optimizer<'_> {
Some(v) => v, Some(v) => v,
None => { None => {
log::trace!("[X] sequences: Aborting because lhs is not an id"); log::trace!("[X] sequences: Aborting because lhs is not an id");
return false; return false;
} }
}; };
@ -1164,6 +1184,11 @@ impl Optimizer<'_> {
.and_then(|data| data.vars.get(&left_id.to_id())) .and_then(|data| data.vars.get(&left_id.to_id()))
{ {
if usage.declared_as_fn_expr { if usage.declared_as_fn_expr {
log::trace!(
"sequences: [X] Declared as fn expr ({}, {:?})",
left_id.sym,
left_id.span.ctxt
);
return false; return false;
} }
} }

View File

@ -1,8 +1,10 @@
use super::Pure; use super::Pure;
use crate::compress::util::always_terminates;
use swc_atoms::js_word; use swc_atoms::js_word;
use swc_common::DUMMY_SP;
use swc_ecma_ast::*; use swc_ecma_ast::*;
use swc_ecma_transforms_base::ext::MapWithMut; use swc_ecma_transforms_base::ext::MapWithMut;
use swc_ecma_utils::StmtLike; use swc_ecma_utils::{ExprExt, StmtLike, Value};
/// Methods related to option `dead_code`. /// Methods related to option `dead_code`.
impl Pure<'_> { impl Pure<'_> {
@ -82,4 +84,102 @@ impl Pure<'_> {
_ => {} _ => {}
} }
} }
pub(super) fn remove_dead_branch<T>(&mut self, stmts: &mut Vec<T>)
where
T: StmtLike,
{
if !self.options.unused {
return;
}
if !stmts.iter().any(|stmt| match stmt.as_stmt() {
Some(Stmt::If(s)) => s.test.as_bool().1.is_known(),
_ => false,
}) {
return;
}
self.changed = true;
log::debug!("dead_code: Removing dead codes");
let mut new = vec![];
for stmt in stmts.take() {
match stmt.try_into_stmt() {
Ok(stmt) => match stmt {
Stmt::If(mut s) => {
if let Value::Known(v) = s.test.as_bool().1 {
new.push(T::from_stmt(Stmt::Expr(ExprStmt {
span: DUMMY_SP,
expr: s.test.take(),
})));
if v {
new.push(T::from_stmt(*s.cons.take()));
} else {
if let Some(alt) = s.alt.take() {
new.push(T::from_stmt(*alt));
}
}
} else {
new.push(T::from_stmt(Stmt::If(s)))
}
}
_ => new.push(T::from_stmt(stmt)),
},
Err(stmt) => new.push(stmt),
}
}
*stmts = new;
}
pub(super) fn remove_unreachable_stmts<T>(&mut self, stmts: &mut Vec<T>)
where
T: StmtLike,
{
if !self.options.side_effects {
return;
}
let mut last = None;
let mut terminated = false;
for (idx, stmt) in stmts.iter().enumerate() {
match stmt.as_stmt() {
Some(stmt) if always_terminates(&stmt) => {
terminated = true;
}
_ => {
if terminated {
last = Some(idx);
break;
}
}
}
}
if let Some(last) = last {
if stmts[last..].iter().all(|stmt| match stmt.as_stmt() {
Some(Stmt::Decl(..)) | None => true,
_ => false,
}) {
return;
}
self.changed = true;
log::debug!("dead_code: Removing unreachable statements");
let extras = stmts.drain(last..).collect::<Vec<_>>();
for extra in extras {
match extra.as_stmt() {
Some(Stmt::Decl(..)) | None => {
stmts.push(extra);
}
_ => {}
}
}
}
}
} }

View File

@ -58,6 +58,10 @@ impl Pure<'_> {
+ VisitMutWith<self::vars::VarPrepender> + VisitMutWith<self::vars::VarPrepender>
+ VisitMutWith<self::vars::VarMover>, + VisitMutWith<self::vars::VarMover>,
{ {
self.remove_dead_branch(stmts);
self.remove_unreachable_stmts(stmts);
self.drop_useless_blocks(stmts); self.drop_useless_blocks(stmts);
self.collapse_vars_without_init(stmts); self.collapse_vars_without_init(stmts);

View File

@ -529,6 +529,18 @@ pub(crate) fn eval_as_number(e: &Expr) -> Option<f64> {
None None
} }
pub(crate) fn always_terminates(s: &Stmt) -> bool {
match s {
Stmt::Return(..) | Stmt::Throw(..) | Stmt::Break(..) | Stmt::Continue(..) => true,
Stmt::If(IfStmt { cons, alt, .. }) => {
always_terminates(&cons) && alt.as_deref().map(always_terminates).unwrap_or(false)
}
Stmt::Block(s) => s.stmts.iter().any(always_terminates),
_ => false,
}
}
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use super::negate_cost; use super::negate_cost;

View File

@ -130,4 +130,13 @@ impl Visit for HygieneAnalyzer<'_> {
n.prop.visit_with(n, self); n.prop.visit_with(n, self);
} }
} }
fn visit_prop_name(&mut self, n: &PropName, _: &dyn Node) {
match n {
PropName::Computed(..) => {
n.visit_children_with(self);
}
_ => {}
}
}
} }

View File

@ -0,0 +1,87 @@
function createCommonjsModule(fn) {
return fn();
}
const isFile = config => true;
const pkgBrowserslist = {};
const config = {};
createCommonjsModule(function (module, exports) {
Object.defineProperty(exports, '__esModule', {
value: true
});
});
createCommonjsModule(function (module) {
module.exports = {
findConfig: function findConfig(from) {
var resolved = function (dir) {
if (2) {
throw new Error('');
} else if (pkgBrowserslist) {
throw new Error('');
} else if (1) {
throw new Error('');
} else if (true) {
return module.exports.findConfig(null);
} else if (true) {
return module.exports.findConfig(null);
}
};
return resolved;
}
};
});
createCommonjsModule(function (module, exports) {
Object.defineProperty(exports, '__esModule', {
value: true
});
});
createCommonjsModule(function (module, exports) {
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
_interopRequireDefault();
var _node = _interopRequireDefault();
});
createCommonjsModule(function (module, exports) {
exports.default = null;
module.exports = exports.default;
});
createCommonjsModule(function (module, exports) {
exports.default = void 0;
});
var namespace$1 = createCommonjsModule(function (module, exports) {
exports.default = void 0;
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
module.exports = exports.default;
});
createCommonjsModule(function (module, exports) {
exports.default = void 0;
module.exports = exports.default;
});
createCommonjsModule(function (module, exports) {
exports.default = void 0;
exports.default = String;
});
createCommonjsModule(function (module, exports) {
exports.default = void 0;
var Pseudo = null;
exports.default = String;
});
createCommonjsModule(function (module, exports) {
exports.__esModule = true;
});
createCommonjsModule(function (module, exports) {
exports.__esModule = true;
});
createCommonjsModule(function (module, exports) {
exports.__esModule = true;
});

View File

@ -0,0 +1,51 @@
function createCommonjsModule(fn) {
return fn();
}
const isFile = (config)=>!0
, pkgBrowserslist = {
}, config = {
};
createCommonjsModule(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: !0
});
}), createCommonjsModule(function(module) {
module.exports = {
findConfig: function(from) {
return function(dir) {
throw new Error("");
};
}
};
}), createCommonjsModule(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: !0
});
}), createCommonjsModule(function(module, exports) {
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
_interopRequireDefault(), _interopRequireDefault();
}), createCommonjsModule(function(module, exports) {
exports.default = null, module.exports = exports.default;
}), createCommonjsModule(function(module, exports) {
exports.default = void 0;
});
var namespace$1 = createCommonjsModule(function(module, exports) {
exports.default = void 0, module.exports = exports.default;
});
createCommonjsModule(function(module, exports) {
exports.default = void 0, module.exports = exports.default;
}), createCommonjsModule(function(module, exports) {
exports.default = void 0, exports.default = String;
}), createCommonjsModule(function(module, exports) {
exports.default = void 0, exports.default = String;
}), createCommonjsModule(function(module, exports) {
exports.__esModule = !0;
}), createCommonjsModule(function(module, exports) {
exports.__esModule = !0;
}), createCommonjsModule(function(module, exports) {
exports.__esModule = !0;
});

View File

@ -0,0 +1,4 @@
{
"defaults": true,
"passes": 1
}

View File

@ -0,0 +1,87 @@
function createCommonjsModule(fn) {
return fn();
}
const isFile = config => true;
const pkgBrowserslist = {};
const config = {};
createCommonjsModule(function (module, exports) {
Object.defineProperty(exports, '__esModule', {
value: true
});
});
createCommonjsModule(function (module) {
module.exports = {
findConfig: function findConfig(from) {
var resolved = function (dir) {
if (2) {
throw new Error('');
} else if (pkgBrowserslist) {
throw new Error('');
} else if (1) {
throw new Error('');
} else if (true) {
return module.exports.findConfig(null);
} else if (true) {
return module.exports.findConfig(null);
}
};
return resolved;
}
};
});
createCommonjsModule(function (module, exports) {
Object.defineProperty(exports, '__esModule', {
value: true
});
});
createCommonjsModule(function (module, exports) {
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
_interopRequireDefault();
var _node = _interopRequireDefault();
});
createCommonjsModule(function (module, exports) {
exports.default = null;
module.exports = exports.default;
});
createCommonjsModule(function (module, exports) {
exports.default = void 0;
});
var namespace$1 = createCommonjsModule(function (module, exports) {
exports.default = void 0;
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
module.exports = exports.default;
});
createCommonjsModule(function (module, exports) {
exports.default = void 0;
module.exports = exports.default;
});
createCommonjsModule(function (module, exports) {
exports.default = void 0;
exports.default = String;
});
createCommonjsModule(function (module, exports) {
exports.default = void 0;
var Pseudo = null;
exports.default = String;
});
createCommonjsModule(function (module, exports) {
exports.__esModule = true;
});
createCommonjsModule(function (module, exports) {
exports.__esModule = true;
});
createCommonjsModule(function (module, exports) {
exports.__esModule = true;
});

View File

@ -0,0 +1,51 @@
function createCommonjsModule(fn) {
return fn();
}
const isFile = (config)=>!0
, pkgBrowserslist = {
}, config = {
};
createCommonjsModule(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: !0
});
}), createCommonjsModule(function(module) {
module.exports = {
findConfig: function(from) {
return function(dir) {
throw new Error("");
};
}
};
}), createCommonjsModule(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: !0
});
}), createCommonjsModule(function(module, exports) {
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
_interopRequireDefault(), _interopRequireDefault();
}), createCommonjsModule(function(module, exports) {
exports.default = null, module.exports = exports.default;
}), createCommonjsModule(function(module, exports) {
exports.default = void 0;
});
var namespace$1 = createCommonjsModule(function(module, exports) {
exports.default = void 0, module.exports = exports.default;
});
createCommonjsModule(function(module, exports) {
exports.default = void 0, module.exports = exports.default;
}), createCommonjsModule(function(module, exports) {
exports.default = void 0, exports.default = String;
}), createCommonjsModule(function(module, exports) {
exports.default = void 0, exports.default = String;
}), createCommonjsModule(function(module, exports) {
exports.__esModule = !0;
}), createCommonjsModule(function(module, exports) {
exports.__esModule = !0;
}), createCommonjsModule(function(module, exports) {
exports.__esModule = !0;
});

View File

@ -0,0 +1,4 @@
{
"defaults": true,
"passes": 10
}

View File

@ -0,0 +1,87 @@
function createCommonjsModule(fn) {
return fn();
}
const isFile = config => true;
const pkgBrowserslist = {};
const config = {};
createCommonjsModule(function (module, exports) {
Object.defineProperty(exports, '__esModule', {
value: true
});
});
createCommonjsModule(function (module) {
module.exports = {
findConfig: function findConfig(from) {
var resolved = function (dir) {
if (2) {
throw new Error('');
} else if (pkgBrowserslist) {
throw new Error('');
} else if (1) {
throw new Error('');
} else if (true) {
return module.exports.findConfig(null);
} else if (true) {
return module.exports.findConfig(null);
}
};
return resolved;
}
};
});
createCommonjsModule(function (module, exports) {
Object.defineProperty(exports, '__esModule', {
value: true
});
});
createCommonjsModule(function (module, exports) {
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
_interopRequireDefault();
var _node = _interopRequireDefault();
});
createCommonjsModule(function (module, exports) {
exports.default = null;
module.exports = exports.default;
});
createCommonjsModule(function (module, exports) {
exports.default = void 0;
});
var namespace$1 = createCommonjsModule(function (module, exports) {
exports.default = void 0;
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
module.exports = exports.default;
});
createCommonjsModule(function (module, exports) {
exports.default = void 0;
module.exports = exports.default;
});
createCommonjsModule(function (module, exports) {
exports.default = void 0;
exports.default = String;
});
createCommonjsModule(function (module, exports) {
exports.default = void 0;
var Pseudo = null;
exports.default = String;
});
createCommonjsModule(function (module, exports) {
exports.__esModule = true;
});
createCommonjsModule(function (module, exports) {
exports.__esModule = true;
});
createCommonjsModule(function (module, exports) {
exports.__esModule = true;
});

View File

@ -0,0 +1,51 @@
function createCommonjsModule(fn) {
return fn();
}
const isFile = (config)=>!0
, pkgBrowserslist = {
}, config = {
};
createCommonjsModule(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: !0
});
}), createCommonjsModule(function(module) {
module.exports = {
findConfig: function(from) {
return function(dir) {
throw new Error("");
};
}
};
}), createCommonjsModule(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: !0
});
}), createCommonjsModule(function(module, exports) {
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
_interopRequireDefault(), _interopRequireDefault();
}), createCommonjsModule(function(module, exports) {
exports.default = null, module.exports = exports.default;
}), createCommonjsModule(function(module, exports) {
exports.default = void 0;
});
var namespace$1 = createCommonjsModule(function(module, exports) {
exports.default = void 0, module.exports = exports.default;
});
createCommonjsModule(function(module, exports) {
exports.default = void 0, module.exports = exports.default;
}), createCommonjsModule(function(module, exports) {
exports.default = void 0, exports.default = String;
}), createCommonjsModule(function(module, exports) {
exports.default = void 0, exports.default = String;
}), createCommonjsModule(function(module, exports) {
exports.__esModule = !0;
}), createCommonjsModule(function(module, exports) {
exports.__esModule = !0;
}), createCommonjsModule(function(module, exports) {
exports.__esModule = !0;
});

View File

@ -1,52 +0,0 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push(
[
[820,],
{
/***/ 4243: /***/ function (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) {
(window.__NEXT_P = window.__NEXT_P || []).push(
[
"/_error",
function (
) {
return __webpack_require__(
4956
);
},
]
);
/***/
},
},
/******/ function (
__webpack_require__
) {
// webpackRuntimeModules
/******/ var __webpack_exec__ = function (
moduleId
) {
return __webpack_require__(
(__webpack_require__.s = moduleId)
);
};
/******/ __webpack_require__.O(
0,
[888, 774, 179,],
function (
) {
return __webpack_exec__(
4243
);
}
);
/******/ var __webpack_exports__ = __webpack_require__.O(
);
/******/ _N_E = __webpack_exports__;
/******/
},
]
);

View File

@ -1,20 +0,0 @@
(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
[
820,
],
{
4243: function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
(window.__NEXT_P = window.__NEXT_P || []).push([
"/_error", function() {
return __webpack_require__(4956);
}, ]);
}
}, function(__webpack_require__) {
__webpack_require__.O(0, [
888,
774,
179,
], function() {
return __webpack_require__(__webpack_require__.s = 4243);
}), _N_E = __webpack_require__.O();
}, ]);

View File

@ -121,7 +121,7 @@
function isFile(obj) { function isFile(obj) {
return "[object File]" === toString.call(obj); return "[object File]" === toString.call(obj);
} }
isNaN(msie = int((/msie (\d+)/.exec(lowercase(navigator.userAgent)) || [])[1])) && (msie = int((/trident\/.*; rv:(\d+)/.exec(lowercase(navigator.userAgent)) || [])[1])), noop.$inject = [], identity.$inject = []; window.angular, isNaN(msie = int((/msie (\d+)/.exec(lowercase(navigator.userAgent)) || [])[1])) && (msie = int((/trident\/.*; rv:(\d+)/.exec(lowercase(navigator.userAgent)) || [])[1])), noop.$inject = [], identity.$inject = [];
var trim = String.prototype.trim ? function(value) { var trim = String.prototype.trim ? function(value) {
return isString(value) ? value.trim() : value; return isString(value) ? value.trim() : value;
} : function(value) { } : function(value) {
@ -832,19 +832,19 @@
$provide: { $provide: {
provider: supportObject(provider), provider: supportObject(provider),
factory: supportObject(factory), factory: supportObject(factory),
service: supportObject(function service(name, constructor) { service: supportObject(function(name, constructor) {
return factory(name, [ return factory(name, [
"$injector", function($injector) { "$injector", function($injector) {
return $injector.instantiate(constructor); return $injector.instantiate(constructor);
}]); }]);
}), }),
value: supportObject(function value(name, val) { value: supportObject(function(name, val) {
return factory(name, valueFn(val)); return factory(name, valueFn(val));
}), }),
constant: supportObject(function constant(name, value1) { constant: supportObject(function(name, value) {
assertNotHasOwnProperty(name, "constant"), providerCache[name] = value1, instanceCache[name] = value1; assertNotHasOwnProperty(name, "constant"), providerCache[name] = value, instanceCache[name] = value;
}), }),
decorator: function decorator(serviceName, decorFn) { decorator: function(serviceName, decorFn) {
var origProvider = providerInjector.get(serviceName + "Provider"), orig$get = origProvider.$get; var origProvider = providerInjector.get(serviceName + "Provider"), orig$get = origProvider.$get;
origProvider.$get = function() { origProvider.$get = function() {
var origInstance = instanceInjector.invoke(orig$get, origProvider); var origInstance = instanceInjector.invoke(orig$get, origProvider);
@ -1627,7 +1627,7 @@
var config = { var config = {
transformRequest: defaults.transformRequest, transformRequest: defaults.transformRequest,
transformResponse: defaults.transformResponse transformResponse: defaults.transformResponse
}, headers = function mergeHeaders(config) { }, headers = function(config) {
var defHeaderName, lowercaseDefHeaderName, reqHeaderName, defHeaders = defaults.headers, reqHeaders = extend({ var defHeaderName, lowercaseDefHeaderName, reqHeaderName, defHeaders = defaults.headers, reqHeaders = extend({
}, config.headers); }, config.headers);
execHeaders(defHeaders = extend({ execHeaders(defHeaders = extend({
@ -2695,7 +2695,7 @@
if (pending) { if (pending) {
var callbacks = pending; var callbacks = pending;
pending.length && nextTick(function() { pending.length && nextTick(function() {
for(var callback, i = 0, ii = callbacks.length; i < ii; i++)callbacks[i][2](progress); for(var i = 0, ii = callbacks.length; i < ii; i++)callbacks[i][2](progress);
}); });
} }
}, },
@ -3436,10 +3436,10 @@
sss: dateGetter("Milliseconds", 3), sss: dateGetter("Milliseconds", 3),
EEEE: dateStrGetter("Day"), EEEE: dateStrGetter("Day"),
EEE: dateStrGetter("Day", !0), EEE: dateStrGetter("Day", !0),
a: function ampmGetter(date, formats) { a: function(date, formats) {
return 12 > date.getHours() ? formats.AMPMS[0] : formats.AMPMS[1]; return 12 > date.getHours() ? formats.AMPMS[0] : formats.AMPMS[1];
}, },
Z: function timeZoneGetter(date) { Z: function(date) {
var zone = -1 * date.getTimezoneOffset(), paddedZone = zone >= 0 ? "+" : ""; var zone = -1 * date.getTimezoneOffset(), paddedZone = zone >= 0 ? "+" : "";
return paddedZone += padNumber(Math[zone > 0 ? "floor" : "ceil"](zone / 60), 2) + padNumber(Math.abs(zone % 60), 2); return paddedZone += padNumber(Math[zone > 0 ? "floor" : "ceil"](zone / 60), 2) + padNumber(Math.abs(zone % 60), 2);
} }
@ -3610,7 +3610,6 @@
var formDirectiveFactory = function(isNgForm) { var formDirectiveFactory = function(isNgForm) {
return [ return [
"$timeout", function($timeout) { "$timeout", function($timeout) {
var formDirective;
return { return {
name: "form", name: "form",
restrict: isNgForm ? "EAC" : "E", restrict: isNgForm ? "EAC" : "E",
@ -3639,7 +3638,7 @@
}]; }];
}, formDirective = formDirectiveFactory(), ngFormDirective = formDirectiveFactory(!0), URL_REGEXP = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/, EMAIL_REGEXP = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/, NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/, inputType = { }, formDirective = formDirectiveFactory(), ngFormDirective = formDirectiveFactory(!0), URL_REGEXP = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/, EMAIL_REGEXP = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/, NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/, inputType = {
text: textInputType, text: textInputType,
number: function numberInputType(scope, element, attr, ctrl, $sniffer, $browser) { number: function(scope, element, attr, ctrl, $sniffer, $browser) {
if (textInputType(scope, element, attr, ctrl, $sniffer, $browser), ctrl.$parsers.push(function(value) { if (textInputType(scope, element, attr, ctrl, $sniffer, $browser), ctrl.$parsers.push(function(value) {
var empty = ctrl.$isEmpty(value); var empty = ctrl.$isEmpty(value);
return empty || NUMBER_REGEXP.test(value) ? (ctrl.$setValidity("number", !0), "" === value ? null : empty ? value : parseFloat(value)) : void ctrl.$setValidity("number", !1); return empty || NUMBER_REGEXP.test(value) ? (ctrl.$setValidity("number", !0), "" === value ? null : empty ? value : parseFloat(value)) : void ctrl.$setValidity("number", !1);
@ -3663,21 +3662,21 @@
return ctrl.$isEmpty(value) || isNumber(value) ? (ctrl.$setValidity("number", !0), value) : void ctrl.$setValidity("number", !1); return ctrl.$isEmpty(value) || isNumber(value) ? (ctrl.$setValidity("number", !0), value) : void ctrl.$setValidity("number", !1);
}); });
}, },
url: function urlInputType(scope, element, attr, ctrl, $sniffer, $browser) { url: function(scope, element, attr, ctrl, $sniffer, $browser) {
textInputType(scope, element, attr, ctrl, $sniffer, $browser); textInputType(scope, element, attr, ctrl, $sniffer, $browser);
var urlValidator = function(value) { var urlValidator = function(value) {
return ctrl.$isEmpty(value) || URL_REGEXP.test(value) ? (ctrl.$setValidity("url", !0), value) : void ctrl.$setValidity("url", !1); return ctrl.$isEmpty(value) || URL_REGEXP.test(value) ? (ctrl.$setValidity("url", !0), value) : void ctrl.$setValidity("url", !1);
}; };
ctrl.$formatters.push(urlValidator), ctrl.$parsers.push(urlValidator); ctrl.$formatters.push(urlValidator), ctrl.$parsers.push(urlValidator);
}, },
email: function emailInputType(scope, element, attr, ctrl, $sniffer, $browser) { email: function(scope, element, attr, ctrl, $sniffer, $browser) {
textInputType(scope, element, attr, ctrl, $sniffer, $browser); textInputType(scope, element, attr, ctrl, $sniffer, $browser);
var emailValidator = function(value) { var emailValidator = function(value) {
return ctrl.$isEmpty(value) || EMAIL_REGEXP.test(value) ? (ctrl.$setValidity("email", !0), value) : void ctrl.$setValidity("email", !1); return ctrl.$isEmpty(value) || EMAIL_REGEXP.test(value) ? (ctrl.$setValidity("email", !0), value) : void ctrl.$setValidity("email", !1);
}; };
ctrl.$formatters.push(emailValidator), ctrl.$parsers.push(emailValidator); ctrl.$formatters.push(emailValidator), ctrl.$parsers.push(emailValidator);
}, },
radio: function radioInputType(scope, element, attr, ctrl) { radio: function(scope, element, attr, ctrl) {
isUndefined(attr.name) && element.attr("name", nextUid()), element.on("click", function() { isUndefined(attr.name) && element.attr("name", nextUid()), element.on("click", function() {
element[0].checked && scope.$apply(function() { element[0].checked && scope.$apply(function() {
ctrl.$setViewValue(attr.value); ctrl.$setViewValue(attr.value);
@ -3687,7 +3686,7 @@
element[0].checked = value == ctrl.$viewValue; element[0].checked = value == ctrl.$viewValue;
}, attr.$observe("value", ctrl.$render); }, attr.$observe("value", ctrl.$render);
}, },
checkbox: function checkboxInputType(scope, element, attr, ctrl) { checkbox: function(scope, element, attr, ctrl) {
var trueValue = attr.ngTrueValue, falseValue = attr.ngFalseValue; var trueValue = attr.ngTrueValue, falseValue = attr.ngFalseValue;
isString(trueValue) || (trueValue = !0), isString(falseValue) || (falseValue = !1), element.on("click", function() { isString(trueValue) || (trueValue = !0), isString(falseValue) || (falseValue = !1), element.on("click", function() {
scope.$apply(function() { scope.$apply(function() {
@ -4253,7 +4252,7 @@
}], }],
link: function(scope, element, attr, ctrls) { link: function(scope, element, attr, ctrls) {
if (ctrls[1]) { if (ctrls[1]) {
for(var scope1, selectElement, ctrl, lastView, scope2, selectElement1, ngModelCtrl, selectCtrl, emptyOption, selectCtrl1 = ctrls[0], ngModelCtrl1 = ctrls[1], multiple = attr.multiple, optionsExp = attr.ngOptions, nullOption = !1, optionTemplate = jqLite(document.createElement("option")), optGroupTemplate = jqLite(document.createElement("optgroup")), unknownOption = optionTemplate.clone(), i = 0, children = element.children(), ii = children.length; i < ii; i++)if ("" === children[i].value) { for(var scope1, selectElement, ctrl, lastView, selectElement1, ngModelCtrl, selectCtrl, emptyOption, selectCtrl1 = ctrls[0], ngModelCtrl1 = ctrls[1], multiple = attr.multiple, optionsExp = attr.ngOptions, nullOption = !1, optionTemplate = jqLite(document.createElement("option")), optGroupTemplate = jqLite(document.createElement("optgroup")), unknownOption = optionTemplate.clone(), i = 0, children = element.children(), ii = children.length; i < ii; i++)if ("" === children[i].value) {
emptyOption = nullOption = children.eq(i); emptyOption = nullOption = children.eq(i);
break; break;
} }
@ -4265,9 +4264,9 @@
requiredValidator(ngModelCtrl1.$viewValue); requiredValidator(ngModelCtrl1.$viewValue);
}); });
} }
optionsExp ? (function setupAsOptions(scope3, selectElement2, ctrl1) { optionsExp ? (function(scope2, selectElement2, ctrl1) {
if (!(match = optionsExp.match(NG_OPTIONS_REGEXP))) throw ngOptionsMinErr("iexp", "Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}", optionsExp, startingTag(selectElement2)); if (!(match = optionsExp.match(NG_OPTIONS_REGEXP))) throw ngOptionsMinErr("iexp", "Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}", optionsExp, startingTag(selectElement2));
var match, track, displayFn = $parse(match[2] || match[1]), valueName = match[4] || match[6], keyName = match[5], groupByFn = $parse(match[3] || ""), valueFn = $parse(match[2] ? match[1] : valueName), valuesFn = $parse(match[7]), trackFn = match[8] ? $parse(match[8]) : null, optionGroupsCache = [ var match, displayFn = $parse(match[2] || match[1]), valueName = match[4] || match[6], keyName = match[5], groupByFn = $parse(match[3] || ""), valueFn = $parse(match[2] ? match[1] : valueName), valuesFn = $parse(match[7]), trackFn = match[8] ? $parse(match[8]) : null, optionGroupsCache = [
[ [
{ {
element: selectElement2, element: selectElement2,
@ -4280,28 +4279,28 @@
"": [] "": []
}, optionGroupNames = [ }, optionGroupNames = [
"" ""
], modelValue = ctrl1.$modelValue, values = valuesFn(scope3) || [], keys = keyName ? sortedKeys(values) : values, locals = { ], modelValue = ctrl1.$modelValue, values = valuesFn(scope2) || [], keys = keyName ? sortedKeys(values) : values, locals = {
}, selectedSet = !1; }, selectedSet = !1;
if (multiple) if (trackFn && isArray(modelValue)) { if (multiple) if (trackFn && isArray(modelValue)) {
selectedSet = new HashMap([]); selectedSet = new HashMap([]);
for(var trackIndex = 0; trackIndex < modelValue.length; trackIndex++)locals[valueName] = modelValue[trackIndex], selectedSet.put(trackFn(scope3, locals), modelValue[trackIndex]); for(var trackIndex = 0; trackIndex < modelValue.length; trackIndex++)locals[valueName] = modelValue[trackIndex], selectedSet.put(trackFn(scope2, locals), modelValue[trackIndex]);
} else selectedSet = new HashMap(modelValue); } else selectedSet = new HashMap(modelValue);
for(index = 0; index < (length = keys.length); index++){ for(index = 0; index < (length = keys.length); index++){
if (key = index, keyName) { if (key = index, keyName) {
if ("$" === (key = keys[index]).charAt(0)) continue; if ("$" === (key = keys[index]).charAt(0)) continue;
locals[keyName] = key; locals[keyName] = key;
} }
if (locals[valueName] = values[key], (optionGroup = optionGroups[optionGroupName = groupByFn(scope3, locals) || ""]) || (optionGroup = optionGroups[optionGroupName] = [], optionGroupNames.push(optionGroupName)), multiple) selected = isDefined(selectedSet.remove(trackFn ? trackFn(scope3, locals) : valueFn(scope3, locals))); if (locals[valueName] = values[key], (optionGroup = optionGroups[optionGroupName = groupByFn(scope2, locals) || ""]) || (optionGroup = optionGroups[optionGroupName] = [], optionGroupNames.push(optionGroupName)), multiple) selected = isDefined(selectedSet.remove(trackFn ? trackFn(scope2, locals) : valueFn(scope2, locals)));
else { else {
if (trackFn) { if (trackFn) {
var modelCast = { var modelCast = {
}; };
modelCast[valueName] = modelValue, selected = trackFn(scope3, modelCast) === trackFn(scope3, locals); modelCast[valueName] = modelValue, selected = trackFn(scope2, modelCast) === trackFn(scope2, locals);
} else selected = modelValue === valueFn(scope3, locals); } else selected = modelValue === valueFn(scope2, locals);
selectedSet = selectedSet || selected; selectedSet = selectedSet || selected;
} }
label = isDefined(label = displayFn(scope3, locals)) ? label : "", optionGroup.push({ label = isDefined(label = displayFn(scope2, locals)) ? label : "", optionGroup.push({
id: trackFn ? trackFn(scope3, locals) : keyName ? keys[index] : index, id: trackFn ? trackFn(scope2, locals) : keyName ? keys[index] : index,
label: label, label: label,
selected: selected selected: selected
}); });
@ -4330,27 +4329,27 @@
} }
for(; optionGroupsCache.length > groupIndex;)optionGroupsCache.pop()[0].element.remove(); for(; optionGroupsCache.length > groupIndex;)optionGroupsCache.pop()[0].element.remove();
} }
nullOption && ($compile(nullOption)(scope3), nullOption.removeClass("ng-scope"), nullOption.remove()), selectElement2.empty(), selectElement2.on("change", function() { nullOption && ($compile(nullOption)(scope2), nullOption.removeClass("ng-scope"), nullOption.remove()), selectElement2.empty(), selectElement2.on("change", function() {
scope3.$apply(function() { scope2.$apply(function() {
var optionGroup, key, value, optionElement, index, groupIndex, length, groupLength, trackIndex, collection = valuesFn(scope3) || [], locals = { var optionGroup, key, value, optionElement, index, groupIndex, length, groupLength, trackIndex, collection = valuesFn(scope2) || [], locals = {
}; };
if (multiple) { if (multiple) {
for(groupIndex = 0, value = [], groupLength = optionGroupsCache.length; groupIndex < groupLength; groupIndex++)for(index = 1, length = (optionGroup = optionGroupsCache[groupIndex]).length; index < length; index++)if ((optionElement = optionGroup[index].element)[0].selected) { for(groupIndex = 0, value = [], groupLength = optionGroupsCache.length; groupIndex < groupLength; groupIndex++)for(index = 1, length = (optionGroup = optionGroupsCache[groupIndex]).length; index < length; index++)if ((optionElement = optionGroup[index].element)[0].selected) {
if (key = optionElement.val(), keyName && (locals[keyName] = key), trackFn) for(trackIndex = 0; trackIndex < collection.length && (locals[valueName] = collection[trackIndex], trackFn(scope3, locals) != key); trackIndex++); if (key = optionElement.val(), keyName && (locals[keyName] = key), trackFn) for(trackIndex = 0; trackIndex < collection.length && (locals[valueName] = collection[trackIndex], trackFn(scope2, locals) != key); trackIndex++);
else locals[valueName] = collection[key]; else locals[valueName] = collection[key];
value.push(valueFn(scope3, locals)); value.push(valueFn(scope2, locals));
} }
} else if ("?" == (key = selectElement2.val())) value = undefined; } else if ("?" == (key = selectElement2.val())) value = undefined;
else if ("" === key) value = null; else if ("" === key) value = null;
else if (trackFn) { else if (trackFn) {
for(trackIndex = 0; trackIndex < collection.length; trackIndex++)if (locals[valueName] = collection[trackIndex], trackFn(scope3, locals) == key) { for(trackIndex = 0; trackIndex < collection.length; trackIndex++)if (locals[valueName] = collection[trackIndex], trackFn(scope2, locals) == key) {
value = valueFn(scope3, locals); value = valueFn(scope2, locals);
break; break;
} }
} else locals[valueName] = collection[key], keyName && (locals[keyName] = key), value = valueFn(scope3, locals); } else locals[valueName] = collection[key], keyName && (locals[keyName] = key), value = valueFn(scope2, locals);
ctrl1.$setViewValue(value); ctrl1.$setViewValue(value);
}); });
}), ctrl1.$render = render, scope3.$watch(render); }), ctrl1.$render = render, scope2.$watch(render);
})(scope, element, ngModelCtrl1) : multiple ? (scope1 = scope, selectElement = element, (ctrl = ngModelCtrl1).$render = function() { })(scope, element, ngModelCtrl1) : multiple ? (scope1 = scope, selectElement = element, (ctrl = ngModelCtrl1).$render = function() {
var items = new HashMap(ctrl.$viewValue); var items = new HashMap(ctrl.$viewValue);
forEach(selectElement.find("option"), function(option) { forEach(selectElement.find("option"), function(option) {
@ -4365,11 +4364,11 @@
option.selected && array.push(option.value); option.selected && array.push(option.value);
}), ctrl.$setViewValue(array); }), ctrl.$setViewValue(array);
}); });
})) : (scope2 = scope, selectElement1 = element, ngModelCtrl = ngModelCtrl1, selectCtrl = selectCtrl1, ngModelCtrl.$render = function() { })) : (selectElement1 = element, ngModelCtrl = ngModelCtrl1, selectCtrl = selectCtrl1, ngModelCtrl.$render = function() {
var viewValue = ngModelCtrl.$viewValue; var viewValue = ngModelCtrl.$viewValue;
selectCtrl.hasOption(viewValue) ? (unknownOption.parent() && unknownOption.remove(), selectElement1.val(viewValue), "" === viewValue && emptyOption.prop("selected", !0)) : isUndefined(viewValue) && emptyOption ? selectElement1.val("") : selectCtrl.renderUnknownOption(viewValue); selectCtrl.hasOption(viewValue) ? (unknownOption.parent() && unknownOption.remove(), selectElement1.val(viewValue), "" === viewValue && emptyOption.prop("selected", !0)) : isUndefined(viewValue) && emptyOption ? selectElement1.val("") : selectCtrl.renderUnknownOption(viewValue);
}, selectElement1.on("change", function() { }, selectElement1.on("change", function() {
scope2.$apply(function() { scope.$apply(function() {
unknownOption.parent() && unknownOption.remove(), ngModelCtrl.$setViewValue(selectElement1.val()); unknownOption.parent() && unknownOption.remove(), ngModelCtrl.$setViewValue(selectElement1.val());
}); });
})); }));
@ -4390,9 +4389,9 @@
var interpolateFn = $interpolate(element.text(), !0); var interpolateFn = $interpolate(element.text(), !0);
interpolateFn || attr.$set("value", element.text()); interpolateFn || attr.$set("value", element.text());
} }
return function(scope9, element, attr) { return function(scope5, element, attr) {
var parent = element.parent(), selectCtrl1 = parent.data("$selectController") || parent.parent().data("$selectController"); var parent = element.parent(), selectCtrl1 = parent.data("$selectController") || parent.parent().data("$selectController");
selectCtrl1 && selectCtrl1.databound ? element.prop("selected", !1) : selectCtrl1 = nullSelectCtrl, interpolateFn ? scope9.$watch(interpolateFn, function(newVal, oldVal) { selectCtrl1 && selectCtrl1.databound ? element.prop("selected", !1) : selectCtrl1 = nullSelectCtrl, interpolateFn ? scope5.$watch(interpolateFn, function(newVal, oldVal) {
attr.$set("value", newVal), newVal !== oldVal && selectCtrl1.removeOption(oldVal), selectCtrl1.addOption(newVal); attr.$set("value", newVal), newVal !== oldVal && selectCtrl1.removeOption(oldVal), selectCtrl1.addOption(newVal);
}) : selectCtrl1.addOption(attr.value), element.on("$destroy", function() { }) : selectCtrl1.addOption(attr.value), element.on("$destroy", function() {
selectCtrl1.removeOption(attr.value); selectCtrl1.removeOption(attr.value);
@ -4494,10 +4493,10 @@
return { return {
priority: 100, priority: 100,
compile: function(tpl, tplAttr) { compile: function(tpl, tplAttr) {
return CONSTANT_VALUE_REGEXP.test(tplAttr.ngValue) ? function(scope9, elm, attr) { return CONSTANT_VALUE_REGEXP.test(tplAttr.ngValue) ? function(scope5, elm, attr) {
attr.$set("value", scope9.$eval(attr.ngValue)); attr.$set("value", scope5.$eval(attr.ngValue));
} : function(scope9, elm, attr) { } : function(scope5, elm, attr) {
scope9.$watch(attr.ngValue, function(value) { scope5.$watch(attr.ngValue, function(value) {
attr.$set("value", value); attr.$set("value", value);
}); });
}; };

View File

@ -1133,7 +1133,7 @@
}, dirruns = 0, done = 0, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), arr = [], pop = arr.pop, push = arr.push, slice = arr.slice, indexOf = arr.indexOf || function(elem) { }, dirruns = 0, done = 0, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), arr = [], pop = arr.pop, push = arr.push, slice = arr.slice, indexOf = arr.indexOf || function(elem) {
for(var i = 0, len = this.length; i < len; i++)if (this[i] === elem) return i; for(var i = 0, len = this.length; i < len; i++)if (this[i] === elem) return i;
return -1; return -1;
}, whitespace = "[\\x20\\t\\r\\n\\f]", characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", identifier = characterEncoding.replace("w", "w#"), operators = "([*^$|!~]?=)", attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace(3, 8) + ")*)|.*)\\)|)", rtrim = new RegExp("^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g"), rcomma = new RegExp("^" + whitespace + "*," + whitespace + "*"), rcombinators = new RegExp("^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*"), rpseudo = new RegExp(pseudos), ridentifier = new RegExp("^" + identifier + "$"), matchExpr = { }, whitespace = "[\\x20\\t\\r\\n\\f]", characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", identifier = characterEncoding.replace("w", "w#"), attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + "*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace(3, 8) + ")*)|.*)\\)|)", rtrim = new RegExp("^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g"), rcomma = new RegExp("^" + whitespace + "*," + whitespace + "*"), rcombinators = new RegExp("^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*"), rpseudo = new RegExp(pseudos), ridentifier = new RegExp("^" + identifier + "$"), matchExpr = {
ID: new RegExp("^#(" + characterEncoding + ")"), ID: new RegExp("^#(" + characterEncoding + ")"),
CLASS: new RegExp("^\\.(" + characterEncoding + ")"), CLASS: new RegExp("^\\.(" + characterEncoding + ")"),
NAME: new RegExp("^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]"), NAME: new RegExp("^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]"),

View File

@ -1461,7 +1461,7 @@
}, },
_handleDialog: function(changePageOptions, data) { _handleDialog: function(changePageOptions, data) {
var active, activeContent = this.getActivePage(); var active, activeContent = this.getActivePage();
return activeContent && !activeContent.hasClass("ui-dialog") ? ("back" === data.direction ? this.back() : this.forward(), !1) : (active = this._getActiveHistory(), $17.extend(changePageOptions, { return activeContent && !activeContent.hasClass("ui-dialog") ? ("back" === data.direction ? this.back() : this.forward(), !1) : (data.pageUrl, active = this._getActiveHistory(), $17.extend(changePageOptions, {
role: active.role, role: active.role,
transition: active.transition, transition: active.transition,
reverse: "back" === data.direction reverse: "back" === data.direction

View File

@ -2292,8 +2292,7 @@ Elements.prototype = {
if (!supportsHTML5Elements) for(var tags = "abbr article aside audio canvas datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video".split(" "), fragment = document.createDocumentFragment(), l = tags.length; l--;)fragment.createElement(tags[l]); if (!supportsHTML5Elements) for(var tags = "abbr article aside audio canvas datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video".split(" "), fragment = document.createDocumentFragment(), l = tags.length; l--;)fragment.createElement(tags[l]);
div1 = null; div1 = null;
var supportsTableInnerHTML = Function.attempt(function() { var supportsTableInnerHTML = Function.attempt(function() {
var table = document.createElement("table"); return document.createElement("table").innerHTML = "<tr><td></td></tr>", !0;
return table.innerHTML = "<tr><td></td></tr>", !0;
}), tr = document.createElement("tr"), html = "<td></td>"; }), tr = document.createElement("tr"), html = "<td></td>";
tr.innerHTML = html; tr.innerHTML = html;
var supportsTRInnerHTML = tr.innerHTML == html; var supportsTRInnerHTML = tr.innerHTML == html;

View File

@ -375,9 +375,8 @@
if (1 === payload._status) return payload._result; if (1 === payload._status) return payload._result;
throw payload._result; throw payload._result;
} }
var enableScopeAPI = !1;
function isValidElementType(type) { function isValidElementType(type) {
return "string" == typeof type || "function" == typeof type || type === exports.Fragment || type === exports.Profiler || type === REACT_DEBUG_TRACING_MODE_TYPE || type === exports.StrictMode || type === exports.Suspense || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || !!enableScopeAPI || "object" == typeof type && null !== type && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE); return "string" == typeof type || "function" == typeof type || type === exports.Fragment || type === exports.Profiler || type === REACT_DEBUG_TRACING_MODE_TYPE || type === exports.StrictMode || type === exports.Suspense || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || "object" == typeof type && null !== type && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE);
} }
function resolveDispatcher() { function resolveDispatcher() {
var dispatcher = ReactCurrentDispatcher.current; var dispatcher = ReactCurrentDispatcher.current;
@ -667,7 +666,7 @@
if (validType) for(var i = 2; i < arguments.length; i++)validateChildKeys(arguments[i], type); if (validType) for(var i = 2; i < arguments.length; i++)validateChildKeys(arguments[i], type);
return type === exports.Fragment ? validateFragmentProps(element) : validatePropTypes(element), element; return type === exports.Fragment ? validateFragmentProps(element) : validatePropTypes(element), element;
} }
var didWarnAboutDeprecatedCreateFactory = !1, enableSchedulerDebugging = !1, enableProfiling = !1; var didWarnAboutDeprecatedCreateFactory = !1, enableSchedulerDebugging = !1;
if ("object" == typeof performance && "function" == typeof performance.now) { if ("object" == typeof performance && "function" == typeof performance.now) {
var localPerformance = performance; var localPerformance = performance;
getCurrentTime = function() { getCurrentTime = function() {
@ -769,8 +768,6 @@
var diff = a.sortIndex - b.sortIndex; var diff = a.sortIndex - b.sortIndex;
return 0 !== diff ? diff : a.id - b.id; return 0 !== diff ? diff : a.id - b.id;
} }
function markTaskErrored(task, ms) {
}
var taskQueue = [], timerQueue = [], taskIdCounter = 1, currentTask = null, currentPriorityLevel = 3, isPerformingWork = !1, isHostCallbackScheduled = !1, isHostTimeoutScheduled = !1; var taskQueue = [], timerQueue = [], taskIdCounter = 1, currentTask = null, currentPriorityLevel = 3, isPerformingWork = !1, isHostCallbackScheduled = !1, isHostTimeoutScheduled = !1;
function advanceTimers(currentTime) { function advanceTimers(currentTime) {
for(var timer = peek(timerQueue); null !== timer;){ for(var timer = peek(timerQueue); null !== timer;){
@ -791,17 +788,8 @@
} }
function flushWork(hasTimeRemaining, initialTime) { function flushWork(hasTimeRemaining, initialTime) {
isHostCallbackScheduled = !1, isHostTimeoutScheduled && (isHostTimeoutScheduled = !1, cancelHostTimeout()), isPerformingWork = !0; isHostCallbackScheduled = !1, isHostTimeoutScheduled && (isHostTimeoutScheduled = !1, cancelHostTimeout()), isPerformingWork = !0;
try {
if (!enableProfiling) return workLoop(hasTimeRemaining, initialTime);
try { try {
return workLoop(hasTimeRemaining, initialTime); return workLoop(hasTimeRemaining, initialTime);
} catch (error) {
if (null !== currentTask) {
var currentTime = getCurrentTime();
markTaskErrored(currentTask, currentTime), currentTask.isQueued = !1;
}
throw error;
}
} finally{ } finally{
currentTask = null, currentPriorityLevel = currentPriorityLevel, isPerformingWork = !1; currentTask = null, currentPriorityLevel = currentPriorityLevel, isPerformingWork = !1;
} }
@ -813,7 +801,7 @@
var callback = currentTask.callback; var callback = currentTask.callback;
if ("function" == typeof callback) { if ("function" == typeof callback) {
currentTask.callback = null, currentPriorityLevel = currentTask.priorityLevel; currentTask.callback = null, currentPriorityLevel = currentTask.priorityLevel;
var didUserCallbackTimeout = currentTask.expirationTime <= currentTime, continuationCallback = callback(didUserCallbackTimeout); var continuationCallback = callback(currentTask.expirationTime <= currentTime);
currentTime = getCurrentTime(), "function" == typeof continuationCallback ? currentTask.callback = continuationCallback : currentTask === peek(taskQueue) && pop(taskQueue), advanceTimers(currentTime); currentTime = getCurrentTime(), "function" == typeof continuationCallback ? currentTask.callback = continuationCallback : currentTask === peek(taskQueue) && pop(taskQueue), advanceTimers(currentTime);
} else pop(taskQueue); } else pop(taskQueue);
currentTask = peek(taskQueue); currentTask = peek(taskQueue);

View File

@ -26,7 +26,7 @@
argsWithFormat.unshift("Warning: " + format), Function.prototype.apply.call(console[level], console, argsWithFormat); argsWithFormat.unshift("Warning: " + format), Function.prototype.apply.call(console[level], console, argsWithFormat);
} }
if (!React) throw Error("ReactDOM was loaded before React. Make sure you load the React package before loading ReactDOM."); if (!React) throw Error("ReactDOM was loaded before React. Make sure you load the React package before loading ReactDOM.");
var enableProfilerTimer = !0, enableFundamentalAPI = !1, enableNewReconciler = !1, warnAboutStringRefs = !1, allNativeEvents = new Set(), registrationNameDependencies = { var enableProfilerTimer = !0, enableFundamentalAPI = !1, enableNewReconciler = !1, allNativeEvents = new Set(), registrationNameDependencies = {
}, possibleRegistrationNames = { }, possibleRegistrationNames = {
}; };
function registerTwoPhaseEvent(registrationName, dependencies) { function registerTwoPhaseEvent(registrationName, dependencies) {
@ -521,7 +521,7 @@
return ""; return "";
} }
function describeFiber(fiber) { function describeFiber(fiber) {
switch(fiber._debugOwner && fiber._debugOwner.type, fiber.tag){ switch(fiber._debugOwner && fiber._debugOwner.type, fiber._debugSource, fiber.tag){
case 5: case 5:
return describeBuiltInComponentFrame(fiber.type); return describeBuiltInComponentFrame(fiber.type);
case 16: case 16:
@ -1285,12 +1285,9 @@
var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/, msPattern$1 = /^-ms-/, hyphenPattern = /-(.)/g, badStyleValueWithSemicolonPattern = /;\s*$/, warnedStyleNames = { var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/, msPattern$1 = /^-ms-/, hyphenPattern = /-(.)/g, badStyleValueWithSemicolonPattern = /;\s*$/, warnedStyleNames = {
}, warnedStyleValues = { }, warnedStyleValues = {
}, warnedForNaNValue = !1, warnedForInfinityValue = !1, warnHyphenatedStyleName = function(name) { }, warnedForNaNValue = !1, warnedForInfinityValue = !1, warnHyphenatedStyleName = function(name) {
if (!warnedStyleNames.hasOwnProperty(name) || !warnedStyleNames[name]) { warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name] || (warnedStyleNames[name] = !0, error("Unsupported style property %s. Did you mean %s?", name, name.replace(msPattern$1, "ms-").replace(hyphenPattern, function(_, character) {
var string;
warnedStyleNames[name] = !0, error("Unsupported style property %s. Did you mean %s?", name, name.replace(msPattern$1, "ms-").replace(hyphenPattern, function(_, character) {
return character.toUpperCase(); return character.toUpperCase();
})); })));
}
}, warnBadVendoredStyleName = function(name) { }, warnBadVendoredStyleName = function(name) {
warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name] || (warnedStyleNames[name] = !0, error("Unsupported vendor-prefixed style property %s. Did you mean %s?", name, name.charAt(0).toUpperCase() + name.slice(1))); warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name] || (warnedStyleNames[name] = !0, error("Unsupported vendor-prefixed style property %s. Did you mean %s?", name, name.charAt(0).toUpperCase() + name.slice(1)));
}, warnStyleValueWithSemicolon = function(name, value) { }, warnStyleValueWithSemicolon = function(name, value) {
@ -1957,7 +1954,7 @@
var validateProperty$1 = function() { var validateProperty$1 = function() {
}, warnedProperties$1 = { }, warnedProperties$1 = {
}, _hasOwnProperty = Object.prototype.hasOwnProperty, EVENT_NAME_REGEX = /^on./, INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/, rARIA$1 = new RegExp("^(aria)-[" + ATTRIBUTE_NAME_CHAR + "]*$"), rARIACamel$1 = new RegExp("^(aria)[A-Z][" + ATTRIBUTE_NAME_CHAR + "]*$"), warnUnknownProperties = function(type, props, eventRegistry) { }, _hasOwnProperty = Object.prototype.hasOwnProperty, EVENT_NAME_REGEX = /^on./, INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/, rARIA$1 = new RegExp("^(aria)-[" + ATTRIBUTE_NAME_CHAR + "]*$"), rARIACamel$1 = new RegExp("^(aria)[A-Z][" + ATTRIBUTE_NAME_CHAR + "]*$"), warnUnknownProperties = function(type, props, eventRegistry) {
var isValid, unknownProps = []; var unknownProps = [];
for(var key in props)(validateProperty$1 = function(tagName, name, value, eventRegistry) { for(var key in props)(validateProperty$1 = function(tagName, name, value, eventRegistry) {
if (_hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) return !0; if (_hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) return !0;
var lowerCasedName = name.toLowerCase(); var lowerCasedName = name.toLowerCase();
@ -2157,10 +2154,7 @@
return hasError; return hasError;
} }
function clearCaughtError() { function clearCaughtError() {
if (hasError) { if (hasError) return hasError = !1, caughtError = null;
var error = caughtError;
return hasError = !1, caughtError = null, error;
}
throw Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue."); throw Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.");
} }
var _ReactInternals$Sched = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Scheduler, unstable_cancelCallback = _ReactInternals$Sched.unstable_cancelCallback, unstable_now = _ReactInternals$Sched.unstable_now, unstable_scheduleCallback = _ReactInternals$Sched.unstable_scheduleCallback, unstable_shouldYield = _ReactInternals$Sched.unstable_shouldYield, unstable_requestPaint = _ReactInternals$Sched.unstable_requestPaint, unstable_runWithPriority = _ReactInternals$Sched.unstable_runWithPriority, unstable_getCurrentPriorityLevel = _ReactInternals$Sched.unstable_getCurrentPriorityLevel, unstable_ImmediatePriority = _ReactInternals$Sched.unstable_ImmediatePriority, unstable_UserBlockingPriority = _ReactInternals$Sched.unstable_UserBlockingPriority, unstable_NormalPriority = _ReactInternals$Sched.unstable_NormalPriority, unstable_LowPriority = _ReactInternals$Sched.unstable_LowPriority, unstable_IdlePriority = _ReactInternals$Sched.unstable_IdlePriority, unstable_flushAllWithoutAsserting = _ReactInternals$Sched.unstable_flushAllWithoutAsserting; var _ReactInternals$Sched = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Scheduler, unstable_cancelCallback = _ReactInternals$Sched.unstable_cancelCallback, unstable_now = _ReactInternals$Sched.unstable_now, unstable_scheduleCallback = _ReactInternals$Sched.unstable_scheduleCallback, unstable_shouldYield = _ReactInternals$Sched.unstable_shouldYield, unstable_requestPaint = _ReactInternals$Sched.unstable_requestPaint, unstable_runWithPriority = _ReactInternals$Sched.unstable_runWithPriority, unstable_getCurrentPriorityLevel = _ReactInternals$Sched.unstable_getCurrentPriorityLevel, unstable_ImmediatePriority = _ReactInternals$Sched.unstable_ImmediatePriority, unstable_UserBlockingPriority = _ReactInternals$Sched.unstable_UserBlockingPriority, unstable_NormalPriority = _ReactInternals$Sched.unstable_NormalPriority, unstable_LowPriority = _ReactInternals$Sched.unstable_LowPriority, unstable_IdlePriority = _ReactInternals$Sched.unstable_IdlePriority, unstable_flushAllWithoutAsserting = _ReactInternals$Sched.unstable_flushAllWithoutAsserting;
@ -2781,7 +2775,7 @@
entanglements[index] |= entangledLanes, lanes &= ~lane; entanglements[index] |= entangledLanes, lanes &= ~lane;
} }
} }
var clz32 = Math.clz32 ? Math.clz32 : function clz32Fallback(lanes) { var clz32 = Math.clz32 ? Math.clz32 : function(lanes) {
return 0 === lanes ? 32 : 31 - (log(lanes) / LN2 | 0) | 0; return 0 === lanes ? 32 : 31 - (log(lanes) / LN2 | 0) | 0;
}, log = Math.log, LN2 = Math.LN2, UserBlockingPriority$1 = unstable_UserBlockingPriority, runWithPriority = unstable_runWithPriority, _enabled = !0; }, log = Math.log, LN2 = Math.LN2, UserBlockingPriority$1 = unstable_UserBlockingPriority, runWithPriority = unstable_runWithPriority, _enabled = !0;
function setEnabled(enabled) { function setEnabled(enabled) {
@ -3039,7 +3033,7 @@
} }
var SyntheticKeyboardEvent = createSyntheticEvent(_assign({ var SyntheticKeyboardEvent = createSyntheticEvent(_assign({
}, UIEventInterface, { }, UIEventInterface, {
key: function getEventKey(nativeEvent) { key: function(nativeEvent) {
if (nativeEvent.key) { if (nativeEvent.key) {
var key = normalizeKey[nativeEvent.key] || nativeEvent.key; var key = normalizeKey[nativeEvent.key] || nativeEvent.key;
if ("Unidentified" !== key) return key; if ("Unidentified" !== key) return key;
@ -3347,7 +3341,7 @@
} }
return isSupported; return isSupported;
})("input") && (!document.documentMode || document.documentMode > 9)); })("input") && (!document.documentMode || document.documentMode > 9));
var objectIs = "function" == typeof Object.is ? Object.is : function is(x, y) { var objectIs = "function" == typeof Object.is ? Object.is : function(x, y) {
return x === y && (0 !== x || 1 / x == 1 / y) || x != x && y != y; return x === y && (0 !== x || 1 / x == 1 / y) || x != x && y != y;
}, hasOwnProperty$2 = Object.prototype.hasOwnProperty; }, hasOwnProperty$2 = Object.prototype.hasOwnProperty;
function shallowEqual(objA, objB) { function shallowEqual(objA, objB) {
@ -3953,10 +3947,7 @@
if (isMatchingRootContainer(container, targetContainerNode)) break; if (isMatchingRootContainer(container, targetContainerNode)) break;
if (4 === nodeTag) for(var grandNode = node.return; null !== grandNode;){ if (4 === nodeTag) for(var grandNode = node.return; null !== grandNode;){
var grandTag = grandNode.tag; var grandTag = grandNode.tag;
if (3 === grandTag || 4 === grandTag) { if ((3 === grandTag || 4 === grandTag) && isMatchingRootContainer(grandNode.stateNode.containerInfo, targetContainerNode)) return;
var grandContainer = grandNode.stateNode.containerInfo;
if (isMatchingRootContainer(grandContainer, targetContainerNode)) return;
}
grandNode = grandNode.return; grandNode = grandNode.return;
} }
for(; null !== container;){ for(; null !== container;){
@ -3987,8 +3978,8 @@
} }
function accumulateSinglePhaseListeners(targetFiber, reactName, nativeEventType, inCapturePhase, accumulateTargetOnly) { function accumulateSinglePhaseListeners(targetFiber, reactName, nativeEventType, inCapturePhase, accumulateTargetOnly) {
for(var reactEventName = inCapturePhase ? null !== reactName ? reactName + "Capture" : null : reactName, listeners = [], instance = targetFiber, lastHostComponent = null; null !== instance;){ for(var reactEventName = inCapturePhase ? null !== reactName ? reactName + "Capture" : null : reactName, listeners = [], instance = targetFiber, lastHostComponent = null; null !== instance;){
var _instance2 = instance, stateNode = _instance2.stateNode, tag = _instance2.tag; var _instance2 = instance, stateNode = _instance2.stateNode;
if (5 === tag && null !== stateNode && (lastHostComponent = stateNode, null !== reactEventName)) { if (5 === _instance2.tag && null !== stateNode && (lastHostComponent = stateNode, null !== reactEventName)) {
var listener = getListener(instance, reactEventName); var listener = getListener(instance, reactEventName);
null != listener && listeners.push(createDispatchListener(instance, listener, lastHostComponent)); null != listener && listeners.push(createDispatchListener(instance, listener, lastHostComponent));
} }
@ -3999,8 +3990,8 @@
} }
function accumulateTwoPhaseListeners(targetFiber, reactName) { function accumulateTwoPhaseListeners(targetFiber, reactName) {
for(var captureName = reactName + "Capture", listeners = [], instance = targetFiber; null !== instance;){ for(var captureName = reactName + "Capture", listeners = [], instance = targetFiber; null !== instance;){
var _instance3 = instance, stateNode = _instance3.stateNode, tag = _instance3.tag; var _instance3 = instance, stateNode = _instance3.stateNode;
if (5 === tag && null !== stateNode) { if (5 === _instance3.tag && null !== stateNode) {
var currentTarget = stateNode, captureListener = getListener(instance, captureName); var currentTarget = stateNode, captureListener = getListener(instance, captureName);
null != captureListener && listeners.unshift(createDispatchListener(instance, captureListener, currentTarget)); null != captureListener && listeners.unshift(createDispatchListener(instance, captureListener, currentTarget));
var bubbleListener = getListener(instance, reactName); var bubbleListener = getListener(instance, reactName);
@ -5038,8 +5029,7 @@
case 3: case 3:
return node.stateNode.context; return node.stateNode.context;
case 1: case 1:
var Component = node.type; if (isContextProvider(node.type)) return node.stateNode.__reactInternalMemoizedMergedChildContext;
if (isContextProvider(Component)) return node.stateNode.__reactInternalMemoizedMergedChildContext;
break; break;
} }
node = node.return; node = node.return;
@ -5072,7 +5062,7 @@
var Scheduler_runWithPriority = unstable_runWithPriority, Scheduler_scheduleCallback = unstable_scheduleCallback, Scheduler_cancelCallback = unstable_cancelCallback, Scheduler_requestPaint = unstable_requestPaint, Scheduler_now$1 = unstable_now, Scheduler_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel, Scheduler_ImmediatePriority = unstable_ImmediatePriority, Scheduler_UserBlockingPriority = unstable_UserBlockingPriority, Scheduler_NormalPriority = unstable_NormalPriority, Scheduler_LowPriority = unstable_LowPriority, Scheduler_IdlePriority = unstable_IdlePriority; var Scheduler_runWithPriority = unstable_runWithPriority, Scheduler_scheduleCallback = unstable_scheduleCallback, Scheduler_cancelCallback = unstable_cancelCallback, Scheduler_requestPaint = unstable_requestPaint, Scheduler_now$1 = unstable_now, Scheduler_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel, Scheduler_ImmediatePriority = unstable_ImmediatePriority, Scheduler_UserBlockingPriority = unstable_UserBlockingPriority, Scheduler_NormalPriority = unstable_NormalPriority, Scheduler_LowPriority = unstable_LowPriority, Scheduler_IdlePriority = unstable_IdlePriority;
if (!(null != __interactionsRef && null != __interactionsRef.current)) throw Error("It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at https://reactjs.org/link/profiling"); if (!(null != __interactionsRef && null != __interactionsRef.current)) throw Error("It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at https://reactjs.org/link/profiling");
var fakeCallbackNode = { var fakeCallbackNode = {
}, NormalPriority$1 = 97, shouldYield = unstable_shouldYield, requestPaint = void 0 !== Scheduler_requestPaint ? Scheduler_requestPaint : function() { }, shouldYield = unstable_shouldYield, requestPaint = void 0 !== Scheduler_requestPaint ? Scheduler_requestPaint : function() {
}, syncQueue = null, immediateQueueCallbackNode = null, isFlushingSyncQueue = !1, initialTimeMs$1 = Scheduler_now$1(), now = initialTimeMs$1 < 10000 ? Scheduler_now$1 : function() { }, syncQueue = null, immediateQueueCallbackNode = null, isFlushingSyncQueue = !1, initialTimeMs$1 = Scheduler_now$1(), now = initialTimeMs$1 < 10000 ? Scheduler_now$1 : function() {
return Scheduler_now$1() - initialTimeMs$1; return Scheduler_now$1() - initialTimeMs$1;
}; };
@ -5083,7 +5073,7 @@
case Scheduler_UserBlockingPriority: case Scheduler_UserBlockingPriority:
return 98; return 98;
case Scheduler_NormalPriority: case Scheduler_NormalPriority:
return NormalPriority$1; return 97;
case Scheduler_LowPriority: case Scheduler_LowPriority:
return 96; return 96;
case Scheduler_IdlePriority: case Scheduler_IdlePriority:
@ -5098,7 +5088,7 @@
return Scheduler_ImmediatePriority; return Scheduler_ImmediatePriority;
case 98: case 98:
return Scheduler_UserBlockingPriority; return Scheduler_UserBlockingPriority;
case NormalPriority$1: case 97:
return Scheduler_NormalPriority; return Scheduler_NormalPriority;
case 96: case 96:
return Scheduler_LowPriority; return Scheduler_LowPriority;
@ -5123,11 +5113,7 @@
callbackNode !== fakeCallbackNode && Scheduler_cancelCallback(callbackNode); callbackNode !== fakeCallbackNode && Scheduler_cancelCallback(callbackNode);
} }
function flushSyncCallbackQueue() { function flushSyncCallbackQueue() {
if (null !== immediateQueueCallbackNode) { null !== immediateQueueCallbackNode && Scheduler_cancelCallback(immediateQueueCallbackNode = null), flushSyncCallbackQueueImpl();
var node = immediateQueueCallbackNode;
immediateQueueCallbackNode = null, Scheduler_cancelCallback(node);
}
flushSyncCallbackQueueImpl();
} }
function flushSyncCallbackQueueImpl() { function flushSyncCallbackQueueImpl() {
if (!isFlushingSyncQueue && null !== syncQueue) { if (!isFlushingSyncQueue && null !== syncQueue) {
@ -5480,9 +5466,7 @@
}; };
newLastBaseUpdate = newLastBaseUpdate.next = _clone; newLastBaseUpdate = newLastBaseUpdate.next = _clone;
} }
newState = getStateFromUpdate(workInProgress, queue, update, newState, props, instance); if (newState = getStateFromUpdate(workInProgress, queue, update, newState, props, instance), null !== update.callback) {
var callback = update.callback;
if (null !== callback) {
workInProgress.flags |= 32; workInProgress.flags |= 32;
var effects = queue.effects; var effects = queue.effects;
null === effects ? queue.effects = [ null === effects ? queue.effects = [
@ -5676,11 +5660,7 @@
var instance = workInProgress.stateNode, oldProps = workInProgress.memoizedProps; var instance = workInProgress.stateNode, oldProps = workInProgress.memoizedProps;
instance.props = oldProps; instance.props = oldProps;
var oldContext = instance.context, contextType = ctor.contextType, nextContext = emptyContextObject; var oldContext = instance.context, contextType = ctor.contextType, nextContext = emptyContextObject;
if ("object" == typeof contextType && null !== contextType) nextContext = readContext(contextType); nextContext = "object" == typeof contextType && null !== contextType ? readContext(contextType) : getMaskedContext(workInProgress, getUnmaskedContext(workInProgress, ctor, !0));
else {
var nextLegacyUnmaskedContext = getUnmaskedContext(workInProgress, ctor, !0);
nextContext = getMaskedContext(workInProgress, nextLegacyUnmaskedContext);
}
var getDerivedStateFromProps = ctor.getDerivedStateFromProps, hasNewLifecycles = "function" == typeof getDerivedStateFromProps || "function" == typeof instance.getSnapshotBeforeUpdate; var getDerivedStateFromProps = ctor.getDerivedStateFromProps, hasNewLifecycles = "function" == typeof getDerivedStateFromProps || "function" == typeof instance.getSnapshotBeforeUpdate;
hasNewLifecycles || "function" != typeof instance.UNSAFE_componentWillReceiveProps && "function" != typeof instance.componentWillReceiveProps || (oldProps !== newProps || oldContext !== nextContext) && callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext), resetHasForceUpdateBeforeProcessing(); hasNewLifecycles || "function" != typeof instance.UNSAFE_componentWillReceiveProps && "function" != typeof instance.componentWillReceiveProps || (oldProps !== newProps || oldContext !== nextContext) && callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext), resetHasForceUpdateBeforeProcessing();
var oldState = workInProgress.memoizedState, newState = instance.state = oldState; var oldState = workInProgress.memoizedState, newState = instance.state = oldState;
@ -5695,11 +5675,7 @@
var unresolvedOldProps = workInProgress.memoizedProps, oldProps = workInProgress.type === workInProgress.elementType ? unresolvedOldProps : resolveDefaultProps(workInProgress.type, unresolvedOldProps); var unresolvedOldProps = workInProgress.memoizedProps, oldProps = workInProgress.type === workInProgress.elementType ? unresolvedOldProps : resolveDefaultProps(workInProgress.type, unresolvedOldProps);
instance.props = oldProps; instance.props = oldProps;
var unresolvedNewProps = workInProgress.pendingProps, oldContext = instance.context, contextType = ctor.contextType, nextContext = emptyContextObject; var unresolvedNewProps = workInProgress.pendingProps, oldContext = instance.context, contextType = ctor.contextType, nextContext = emptyContextObject;
if ("object" == typeof contextType && null !== contextType) nextContext = readContext(contextType); nextContext = "object" == typeof contextType && null !== contextType ? readContext(contextType) : getMaskedContext(workInProgress, getUnmaskedContext(workInProgress, ctor, !0));
else {
var nextUnmaskedContext = getUnmaskedContext(workInProgress, ctor, !0);
nextContext = getMaskedContext(workInProgress, nextUnmaskedContext);
}
var getDerivedStateFromProps = ctor.getDerivedStateFromProps, hasNewLifecycles = "function" == typeof getDerivedStateFromProps || "function" == typeof instance.getSnapshotBeforeUpdate; var getDerivedStateFromProps = ctor.getDerivedStateFromProps, hasNewLifecycles = "function" == typeof getDerivedStateFromProps || "function" == typeof instance.getSnapshotBeforeUpdate;
hasNewLifecycles || "function" != typeof instance.UNSAFE_componentWillReceiveProps && "function" != typeof instance.componentWillReceiveProps || (unresolvedOldProps !== unresolvedNewProps || oldContext !== nextContext) && callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext), resetHasForceUpdateBeforeProcessing(); hasNewLifecycles || "function" != typeof instance.UNSAFE_componentWillReceiveProps && "function" != typeof instance.componentWillReceiveProps || (unresolvedOldProps !== unresolvedNewProps || oldContext !== nextContext) && callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext), resetHasForceUpdateBeforeProcessing();
var oldState = workInProgress.memoizedState, newState = instance.state = oldState; var oldState = workInProgress.memoizedState, newState = instance.state = oldState;
@ -5725,7 +5701,7 @@
function coerceRef(returnFiber, current, element) { function coerceRef(returnFiber, current, element) {
var mixedRef = element.ref; var mixedRef = element.ref;
if (null !== mixedRef && "function" != typeof mixedRef && "object" != typeof mixedRef) { if (null !== mixedRef && "function" != typeof mixedRef && "object" != typeof mixedRef) {
if ((1 & returnFiber.mode || warnAboutStringRefs) && !(element._owner && element._self && element._owner.stateNode !== element._self)) { if ((1 & returnFiber.mode || 0) && !(element._owner && element._self && element._owner.stateNode !== element._self)) {
var componentName = getComponentName(returnFiber.type) || "Component"; var componentName = getComponentName(returnFiber.type) || "Component";
didWarnAboutStringRefs[componentName] || (error("A string ref, \"%s\", has been found within a strict mode tree. String refs are a source of potential bugs and should be avoided. We recommend using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref", mixedRef), didWarnAboutStringRefs[componentName] = !0); didWarnAboutStringRefs[componentName] || (error("A string ref, \"%s\", has been found within a strict mode tree. String refs are a source of potential bugs and should be avoided. We recommend using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref", mixedRef), didWarnAboutStringRefs[componentName] = !0);
} }
@ -5898,10 +5874,7 @@
return knownKeys; return knownKeys;
} }
function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) { function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) {
for(var knownKeys = null, i = 0; i < newChildren.length; i++){ for(var knownKeys = null, i = 0; i < newChildren.length; i++)knownKeys = warnOnInvalidKey(newChildren[i], knownKeys, returnFiber);
var child = newChildren[i];
knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);
}
for(var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, lastPlacedIndex = 0, newIdx = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++){ for(var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, lastPlacedIndex = 0, newIdx = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++){
oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], lanes); var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], lanes);
@ -5932,10 +5905,7 @@
if ("function" != typeof iteratorFn) throw Error("An object is not an iterable. This error is likely caused by a bug in React. Please file an issue."); if ("function" != typeof iteratorFn) throw Error("An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.");
"function" == typeof Symbol && "Generator" === newChildrenIterable[Symbol.toStringTag] && (didWarnAboutGenerators || error("Using Generators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. Keep in mind you might need to polyfill these features for older browsers."), didWarnAboutGenerators = !0), newChildrenIterable.entries === iteratorFn && (didWarnAboutMaps || error("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), didWarnAboutMaps = !0); "function" == typeof Symbol && "Generator" === newChildrenIterable[Symbol.toStringTag] && (didWarnAboutGenerators || error("Using Generators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. Keep in mind you might need to polyfill these features for older browsers."), didWarnAboutGenerators = !0), newChildrenIterable.entries === iteratorFn && (didWarnAboutMaps || error("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), didWarnAboutMaps = !0);
var _newChildren = iteratorFn.call(newChildrenIterable); var _newChildren = iteratorFn.call(newChildrenIterable);
if (_newChildren) for(var knownKeys = null, _step = _newChildren.next(); !_step.done; _step = _newChildren.next()){ if (_newChildren) for(var knownKeys = null, _step = _newChildren.next(); !_step.done; _step = _newChildren.next())knownKeys = warnOnInvalidKey(_step.value, knownKeys, returnFiber);
var child = _step.value;
knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);
}
var newChildren = iteratorFn.call(newChildrenIterable); var newChildren = iteratorFn.call(newChildrenIterable);
if (!(null != newChildren)) throw Error("An iterable object provided no iterator."); if (!(null != newChildren)) throw Error("An iterable object provided no iterator.");
for(var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, lastPlacedIndex = 0, newIdx = 0, nextOldFiber = null, step = newChildren.next(); null !== oldFiber && !step.done; newIdx++, step = newChildren.next()){ for(var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, lastPlacedIndex = 0, newIdx = 0, nextOldFiber = null, step = newChildren.next(); null !== oldFiber && !step.done; newIdx++, step = newChildren.next()){
@ -6120,8 +6090,7 @@
if (null === dehydrated || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) return node; if (null === dehydrated || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) return node;
} }
} else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) { } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) {
var didSuspend = (node.flags & DidCapture) !== NoFlags; if ((node.flags & DidCapture) !== NoFlags) return node;
if (didSuspend) return node;
} else if (null !== node.child) { } else if (null !== node.child) {
node.child.return = node, node = node.child; node.child.return = node, node = node.child;
continue; continue;
@ -6157,7 +6126,8 @@
var parentContainer = returnFiber.stateNode.containerInfo; var parentContainer = returnFiber.stateNode.containerInfo;
switch(fiber.tag){ switch(fiber.tag){
case 5: case 5:
didNotFindHydratableContainerInstance(parentContainer, fiber.type); var type = fiber.type;
fiber.pendingProps, didNotFindHydratableContainerInstance(parentContainer, type);
break; break;
case 6: case 6:
didNotFindHydratableContainerTextInstance(parentContainer, fiber.pendingProps); didNotFindHydratableContainerTextInstance(parentContainer, fiber.pendingProps);
@ -6168,7 +6138,8 @@
var parentType = returnFiber.type, parentProps = returnFiber.memoizedProps, parentInstance = returnFiber.stateNode; var parentType = returnFiber.type, parentProps = returnFiber.memoizedProps, parentInstance = returnFiber.stateNode;
switch(fiber.tag){ switch(fiber.tag){
case 5: case 5:
didNotFindHydratableInstance(parentType, parentProps, parentInstance, fiber.type); var _type = fiber.type;
fiber.pendingProps, didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type);
break; break;
case 6: case 6:
didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, fiber.pendingProps); didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, fiber.pendingProps);
@ -6185,7 +6156,9 @@
function tryHydrate(fiber, nextInstance) { function tryHydrate(fiber, nextInstance) {
switch(fiber.tag){ switch(fiber.tag){
case 5: case 5:
var instance = canHydrateInstance(nextInstance, fiber.type); var type = fiber.type;
fiber.pendingProps;
var instance = canHydrateInstance(nextInstance, type);
if (null !== instance) return fiber.stateNode = instance, !0; if (null !== instance) return fiber.stateNode = instance, !0;
return !1; return !1;
case 6: case 6:
@ -6413,11 +6386,7 @@
}; };
newBaseQueueLast = newBaseQueueLast.next = _clone; newBaseQueueLast = newBaseQueueLast.next = _clone;
} }
if (update.eagerReducer === reducer) newState = update.eagerState; newState = update.eagerReducer === reducer ? update.eagerState : reducer(newState, update.action);
else {
var action = update.action;
newState = reducer(newState, action);
}
} else { } else {
var clone = { var clone = {
lane: updateLane, lane: updateLane,
@ -6446,10 +6415,8 @@
if (null !== lastRenderPhaseUpdate) { if (null !== lastRenderPhaseUpdate) {
queue.pending = null; queue.pending = null;
var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next, update = firstRenderPhaseUpdate; var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next, update = firstRenderPhaseUpdate;
do { do newState = reducer(newState, update.action), update = update.next;
var action = update.action; while (update !== firstRenderPhaseUpdate)
newState = reducer(newState, action), update = update.next;
}while (update !== firstRenderPhaseUpdate)
objectIs(newState, hook.memoizedState) || markWorkInProgressReceivedUpdate(), hook.memoizedState = newState, null === hook.baseQueue && (hook.baseState = newState), queue.lastRenderedState = newState; objectIs(newState, hook.memoizedState) || markWorkInProgressReceivedUpdate(), hook.memoizedState = newState, null === hook.baseQueue && (hook.baseState = newState), queue.lastRenderedState = newState;
} }
return [ return [
@ -6707,7 +6674,7 @@
var priorityLevel = getCurrentPriorityLevel(); var priorityLevel = getCurrentPriorityLevel();
runWithPriority$1(priorityLevel < 98 ? 98 : priorityLevel, function() { runWithPriority$1(priorityLevel < 98 ? 98 : priorityLevel, function() {
setPending(!0); setPending(!0);
}), runWithPriority$1(priorityLevel > NormalPriority$1 ? NormalPriority$1 : priorityLevel, function() { }), runWithPriority$1(priorityLevel > 97 ? 97 : priorityLevel, function() {
var prevTransition = ReactCurrentBatchConfig$1.transition; var prevTransition = ReactCurrentBatchConfig$1.transition;
ReactCurrentBatchConfig$1.transition = 1; ReactCurrentBatchConfig$1.transition = 1;
try { try {
@ -7664,10 +7631,8 @@
} }
function propagateSuspenseContextChange(workInProgress, firstChild, renderLanes) { function propagateSuspenseContextChange(workInProgress, firstChild, renderLanes) {
for(var node = firstChild; null !== node;){ for(var node = firstChild; null !== node;){
if (13 === node.tag) { if (13 === node.tag) null !== node.memoizedState && scheduleWorkOnFiber(node, renderLanes);
var state = node.memoizedState; else if (19 === node.tag) scheduleWorkOnFiber(node, renderLanes);
null !== state && scheduleWorkOnFiber(node, renderLanes);
} else if (19 === node.tag) scheduleWorkOnFiber(node, renderLanes);
else if (null !== node.child) { else if (null !== node.child) {
node.child.return = node, node = node.child; node.child.return = node, node = node.child;
continue; continue;
@ -7821,9 +7786,7 @@
function beginWork(current, workInProgress, renderLanes) { function beginWork(current, workInProgress, renderLanes) {
var updateLanes = workInProgress.lanes; var updateLanes = workInProgress.lanes;
if (workInProgress._debugNeedsRemount && null !== current) return remountFiber(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.lanes)); if (workInProgress._debugNeedsRemount && null !== current) return remountFiber(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.lanes));
if (null !== current) { if (null !== current) if (current.memoizedProps !== workInProgress.pendingProps || hasContextChanged() || workInProgress.type !== current.type) didReceiveUpdate = !0;
var oldProps = current.memoizedProps;
if (oldProps !== workInProgress.pendingProps || hasContextChanged() || workInProgress.type !== current.type) didReceiveUpdate = !0;
else if (includesSomeLane(renderLanes, updateLanes)) didReceiveUpdate = (16384 & current.flags) !== NoFlags; else if (includesSomeLane(renderLanes, updateLanes)) didReceiveUpdate = (16384 & current.flags) !== NoFlags;
else { else {
switch(didReceiveUpdate = !1, workInProgress.tag){ switch(didReceiveUpdate = !1, workInProgress.tag){
@ -7872,7 +7835,7 @@
} }
return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes); return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
} }
} else didReceiveUpdate = !1; else didReceiveUpdate = !1;
switch(workInProgress.lanes = NoLanes, workInProgress.tag){ switch(workInProgress.lanes = NoLanes, workInProgress.tag){
case 2: case 2:
return mountIndeterminateComponent(current, workInProgress, workInProgress.type, renderLanes); return mountIndeterminateComponent(current, workInProgress, workInProgress.type, renderLanes);
@ -7908,7 +7871,7 @@
case 9: case 9:
return updateContextConsumer(current, workInProgress, renderLanes); return updateContextConsumer(current, workInProgress, renderLanes);
case 14: case 14:
var _type2 = workInProgress.type, _unresolvedProps3 = workInProgress.pendingProps, _resolvedProps3 = resolveDefaultProps(_type2, _unresolvedProps3); var _type2 = workInProgress.type, _resolvedProps3 = resolveDefaultProps(_type2, workInProgress.pendingProps);
if (workInProgress.type !== workInProgress.elementType) { if (workInProgress.type !== workInProgress.elementType) {
var outerPropTypes = _type2.propTypes; var outerPropTypes = _type2.propTypes;
outerPropTypes && checkPropTypes(outerPropTypes, _resolvedProps3, "prop", getComponentName(_type2)); outerPropTypes && checkPropTypes(outerPropTypes, _resolvedProps3, "prop", getComponentName(_type2));
@ -8145,10 +8108,7 @@
try { try {
var logError = showErrorDialog(boundary, errorInfo); var logError = showErrorDialog(boundary, errorInfo);
if (!1 === logError) return; if (!1 === logError) return;
var error = errorInfo.value; var errorBoundaryMessage, error = errorInfo.value, source = errorInfo.source, stack = errorInfo.stack, componentStack = null !== stack ? stack : "";
if (0) console.error(error);
else {
var errorBoundaryMessage, source = errorInfo.source, stack = errorInfo.stack, componentStack = null !== stack ? stack : "";
if (null != error && error._suppressLogging) { if (null != error && error._suppressLogging) {
if (1 === boundary.tag) return; if (1 === boundary.tag) return;
console.error(error); console.error(error);
@ -8157,7 +8117,6 @@
errorBoundaryMessage = errorBoundaryName ? "React will try to recreate this component tree from scratch " + ("using the error boundary you provided, " + errorBoundaryName + ".") : "Consider adding an error boundary to your tree to customize error handling behavior.\nVisit https://reactjs.org/link/error-boundaries to learn more about error boundaries."; errorBoundaryMessage = errorBoundaryName ? "React will try to recreate this component tree from scratch " + ("using the error boundary you provided, " + errorBoundaryName + ".") : "Consider adding an error boundary to your tree to customize error handling behavior.\nVisit https://reactjs.org/link/error-boundaries to learn more about error boundaries.";
var combinedMessage = componentNameMessage + "\n" + componentStack + "\n\n" + ("" + errorBoundaryMessage); var combinedMessage = componentNameMessage + "\n" + componentStack + "\n\n" + ("" + errorBoundaryMessage);
console.error(combinedMessage); console.error(combinedMessage);
}
} catch (e) { } catch (e) {
setTimeout(function() { setTimeout(function() {
throw e; throw e;
@ -8266,17 +8225,13 @@
var _errorInfo = value; var _errorInfo = value;
workInProgress.flags |= 4096; workInProgress.flags |= 4096;
var lane = pickArbitraryLane(rootRenderLanes); var lane = pickArbitraryLane(rootRenderLanes);
workInProgress.lanes = mergeLanes(workInProgress.lanes, lane); return workInProgress.lanes = mergeLanes(workInProgress.lanes, lane), void enqueueCapturedUpdate(workInProgress, createRootErrorUpdate(workInProgress, _errorInfo, lane));
var _update = createRootErrorUpdate(workInProgress, _errorInfo, lane);
return void enqueueCapturedUpdate(workInProgress, _update);
case 1: case 1:
var errorInfo = value, ctor = workInProgress.type, instance = workInProgress.stateNode; var errorInfo = value, ctor = workInProgress.type, instance = workInProgress.stateNode;
if ((workInProgress.flags & DidCapture) === NoFlags && ("function" == typeof ctor.getDerivedStateFromError || null !== instance && "function" == typeof instance.componentDidCatch && !isAlreadyFailedLegacyErrorBoundary(instance))) { if ((workInProgress.flags & DidCapture) === NoFlags && ("function" == typeof ctor.getDerivedStateFromError || null !== instance && "function" == typeof instance.componentDidCatch && !isAlreadyFailedLegacyErrorBoundary(instance))) {
workInProgress.flags |= 4096; workInProgress.flags |= 4096;
var _lane = pickArbitraryLane(rootRenderLanes); var _lane = pickArbitraryLane(rootRenderLanes);
workInProgress.lanes = mergeLanes(workInProgress.lanes, _lane); return workInProgress.lanes = mergeLanes(workInProgress.lanes, _lane), void enqueueCapturedUpdate(workInProgress, createClassErrorUpdate(workInProgress, errorInfo, _lane));
var _update2 = createClassErrorUpdate(workInProgress, errorInfo, _lane);
return void enqueueCapturedUpdate(workInProgress, _update2);
} }
break; break;
} }
@ -8839,13 +8794,9 @@
return root.finishedWork = finishedWork, root.finishedLanes = lanes, commitRoot(root), ensureRootIsScheduled(root, now()), null; return root.finishedWork = finishedWork, root.finishedLanes = lanes, commitRoot(root), ensureRootIsScheduled(root, now()), null;
} }
function flushPendingDiscreteUpdates() { function flushPendingDiscreteUpdates() {
if (null !== rootsWithPendingDiscreteUpdates) { null !== rootsWithPendingDiscreteUpdates && (rootsWithPendingDiscreteUpdates = null).forEach(function(root) {
var roots = rootsWithPendingDiscreteUpdates;
rootsWithPendingDiscreteUpdates = null, roots.forEach(function(root) {
markDiscreteUpdatesExpired(root), ensureRootIsScheduled(root, now()); markDiscreteUpdatesExpired(root), ensureRootIsScheduled(root, now());
}); }), flushSyncCallbackQueue();
}
flushSyncCallbackQueue();
} }
function batchedUpdates$1(fn, a) { function batchedUpdates$1(fn, a) {
var prevExecutionContext = executionContext; var prevExecutionContext = executionContext;
@ -8978,11 +8929,7 @@
setCurrentFiber(completedWork); setCurrentFiber(completedWork);
var next = void 0; var next = void 0;
if ((8 & completedWork.mode) == 0 ? next = completeWork(current, completedWork, subtreeRenderLanes) : (startProfilerTimer(completedWork), next = completeWork(current, completedWork, subtreeRenderLanes), stopProfilerTimerIfRunningAndRecordDelta(completedWork, !1)), resetCurrentFiber(), null !== next) return void (workInProgress = next); if ((8 & completedWork.mode) == 0 ? next = completeWork(current, completedWork, subtreeRenderLanes) : (startProfilerTimer(completedWork), next = completeWork(current, completedWork, subtreeRenderLanes), stopProfilerTimerIfRunningAndRecordDelta(completedWork, !1)), resetCurrentFiber(), null !== next) return void (workInProgress = next);
if (resetChildLanes(completedWork), null !== returnFiber && (2048 & returnFiber.flags) === NoFlags) { resetChildLanes(completedWork), null !== returnFiber && (2048 & returnFiber.flags) === NoFlags && (null === returnFiber.firstEffect && (returnFiber.firstEffect = completedWork.firstEffect), null !== completedWork.lastEffect && (null !== returnFiber.lastEffect && (returnFiber.lastEffect.nextEffect = completedWork.firstEffect), returnFiber.lastEffect = completedWork.lastEffect), completedWork.flags > 1 && (null !== returnFiber.lastEffect ? returnFiber.lastEffect.nextEffect = completedWork : returnFiber.firstEffect = completedWork, returnFiber.lastEffect = completedWork));
null === returnFiber.firstEffect && (returnFiber.firstEffect = completedWork.firstEffect), null !== completedWork.lastEffect && (null !== returnFiber.lastEffect && (returnFiber.lastEffect.nextEffect = completedWork.firstEffect), returnFiber.lastEffect = completedWork.lastEffect);
var flags = completedWork.flags;
flags > 1 && (null !== returnFiber.lastEffect ? returnFiber.lastEffect.nextEffect = completedWork : returnFiber.firstEffect = completedWork, returnFiber.lastEffect = completedWork);
}
} else { } else {
var _next = unwindWork(completedWork); var _next = unwindWork(completedWork);
if (null !== _next) return _next.flags &= 2047, void (workInProgress = _next); if (null !== _next) return _next.flags &= 2047, void (workInProgress = _next);
@ -9075,7 +9022,7 @@
var current = nextEffect.alternate; var current = nextEffect.alternate;
!shouldFireAfterActiveInstanceBlur && null !== focusedInstanceHandle && ((nextEffect.flags & Deletion) !== NoFlags ? doesFiberContain(nextEffect, focusedInstanceHandle) && (shouldFireAfterActiveInstanceBlur = !0) : 13 === nextEffect.tag && isSuspenseBoundaryBeingHidden(current, nextEffect) && doesFiberContain(nextEffect, focusedInstanceHandle) && (shouldFireAfterActiveInstanceBlur = !0)); !shouldFireAfterActiveInstanceBlur && null !== focusedInstanceHandle && ((nextEffect.flags & Deletion) !== NoFlags ? doesFiberContain(nextEffect, focusedInstanceHandle) && (shouldFireAfterActiveInstanceBlur = !0) : 13 === nextEffect.tag && isSuspenseBoundaryBeingHidden(current, nextEffect) && doesFiberContain(nextEffect, focusedInstanceHandle) && (shouldFireAfterActiveInstanceBlur = !0));
var flags = nextEffect.flags; var flags = nextEffect.flags;
(256 & flags) !== NoFlags && (setCurrentFiber(nextEffect), commitBeforeMutationLifeCycles(current, nextEffect), resetCurrentFiber()), (512 & flags) === NoFlags || rootDoesHavePassiveEffects || (rootDoesHavePassiveEffects = !0, scheduleCallback(NormalPriority$1, function() { (256 & flags) !== NoFlags && (setCurrentFiber(nextEffect), commitBeforeMutationLifeCycles(current, nextEffect), resetCurrentFiber()), (512 & flags) === NoFlags || rootDoesHavePassiveEffects || (rootDoesHavePassiveEffects = !0, scheduleCallback(97, function() {
return flushPassiveEffects(), null; return flushPassiveEffects(), null;
})), nextEffect = nextEffect.nextEffect; })), nextEffect = nextEffect.nextEffect;
} }
@ -9094,21 +9041,16 @@
commitPlacement(nextEffect), nextEffect.flags &= ~Placement; commitPlacement(nextEffect), nextEffect.flags &= ~Placement;
break; break;
case 6: case 6:
commitPlacement(nextEffect), nextEffect.flags &= ~Placement; commitPlacement(nextEffect), nextEffect.flags &= ~Placement, commitWork(nextEffect.alternate, nextEffect);
var _current = nextEffect.alternate;
commitWork(_current, nextEffect);
break; break;
case Hydrating: case Hydrating:
nextEffect.flags &= ~Hydrating; nextEffect.flags &= ~Hydrating;
break; break;
case 1028: case 1028:
nextEffect.flags &= ~Hydrating; nextEffect.flags &= ~Hydrating, commitWork(nextEffect.alternate, nextEffect);
var _current2 = nextEffect.alternate;
commitWork(_current2, nextEffect);
break; break;
case Update: case Update:
var _current3 = nextEffect.alternate; commitWork(nextEffect.alternate, nextEffect);
commitWork(_current3, nextEffect);
break; break;
case Deletion: case Deletion:
commitDeletion(root, nextEffect); commitDeletion(root, nextEffect);
@ -9121,29 +9063,21 @@
for(; null !== nextEffect;){ for(; null !== nextEffect;){
setCurrentFiber(nextEffect); setCurrentFiber(nextEffect);
var flags = nextEffect.flags; var flags = nextEffect.flags;
if (flags & (32 | Update)) { flags & (32 | Update) && commitLifeCycles(root, nextEffect.alternate, nextEffect), 128 & flags && commitAttachRef(nextEffect), resetCurrentFiber(), nextEffect = nextEffect.nextEffect;
var current = nextEffect.alternate;
commitLifeCycles(root, current, nextEffect);
}
128 & flags && commitAttachRef(nextEffect), resetCurrentFiber(), nextEffect = nextEffect.nextEffect;
} }
} }
function flushPassiveEffects() { function flushPassiveEffects() {
if (90 !== pendingPassiveEffectsRenderPriority) { return 90 !== pendingPassiveEffectsRenderPriority && runWithPriority$1((pendingPassiveEffectsRenderPriority = 90) > 97 ? 97 : pendingPassiveEffectsRenderPriority, flushPassiveEffectsImpl);
var priorityLevel = pendingPassiveEffectsRenderPriority > NormalPriority$1 ? NormalPriority$1 : pendingPassiveEffectsRenderPriority;
return pendingPassiveEffectsRenderPriority = 90, runWithPriority$1(priorityLevel, flushPassiveEffectsImpl);
}
return !1;
} }
function enqueuePendingPassiveHookEffectMount(fiber, effect) { function enqueuePendingPassiveHookEffectMount(fiber, effect) {
pendingPassiveHookEffectsMount.push(effect, fiber), rootDoesHavePassiveEffects || (rootDoesHavePassiveEffects = !0, scheduleCallback(NormalPriority$1, function() { pendingPassiveHookEffectsMount.push(effect, fiber), rootDoesHavePassiveEffects || (rootDoesHavePassiveEffects = !0, scheduleCallback(97, function() {
return flushPassiveEffects(), null; return flushPassiveEffects(), null;
})); }));
} }
function enqueuePendingPassiveHookEffectUnmount(fiber, effect) { function enqueuePendingPassiveHookEffectUnmount(fiber, effect) {
pendingPassiveHookEffectsUnmount.push(effect, fiber), fiber.flags |= 8192; pendingPassiveHookEffectsUnmount.push(effect, fiber), fiber.flags |= 8192;
var alternate = fiber.alternate; var alternate = fiber.alternate;
null !== alternate && (alternate.flags |= 8192), rootDoesHavePassiveEffects || (rootDoesHavePassiveEffects = !0, scheduleCallback(NormalPriority$1, function() { null !== alternate && (alternate.flags |= 8192), rootDoesHavePassiveEffects || (rootDoesHavePassiveEffects = !0, scheduleCallback(97, function() {
return flushPassiveEffects(), null; return flushPassiveEffects(), null;
})); }));
} }
@ -9211,8 +9145,8 @@
if (1 === fiber.tag) { if (1 === fiber.tag) {
var ctor = fiber.type, instance = fiber.stateNode; var ctor = fiber.type, instance = fiber.stateNode;
if ("function" == typeof ctor.getDerivedStateFromError || "function" == typeof instance.componentDidCatch && !isAlreadyFailedLegacyErrorBoundary(instance)) { if ("function" == typeof ctor.getDerivedStateFromError || "function" == typeof instance.componentDidCatch && !isAlreadyFailedLegacyErrorBoundary(instance)) {
var errorInfo = createCapturedValue(error, sourceFiber), update = createClassErrorUpdate(fiber, errorInfo, SyncLane); var errorInfo = createCapturedValue(error, sourceFiber);
enqueueUpdate(fiber, update); enqueueUpdate(fiber, createClassErrorUpdate(fiber, errorInfo, SyncLane));
var eventTime = requestEventTime(), root = markUpdateLaneFromFiberToRoot(fiber, SyncLane); var eventTime = requestEventTime(), root = markUpdateLaneFromFiberToRoot(fiber, SyncLane);
if (null !== root) markRootUpdated(root, SyncLane, eventTime), ensureRootIsScheduled(root, eventTime), schedulePendingInteractions(root, SyncLane); if (null !== root) markRootUpdated(root, SyncLane, eventTime), ensureRootIsScheduled(root, eventTime), schedulePendingInteractions(root, SyncLane);
else if ("function" == typeof instance.componentDidCatch && !isAlreadyFailedLegacyErrorBoundary(instance)) try { else if ("function" == typeof instance.componentDidCatch && !isAlreadyFailedLegacyErrorBoundary(instance)) try {
@ -9673,6 +9607,7 @@
return fiber.elementType = type, fiber.type = resolvedType, fiber.lanes = lanes, fiber._debugOwner = owner, fiber; return fiber.elementType = type, fiber.type = resolvedType, fiber.lanes = lanes, fiber._debugOwner = owner, fiber;
} }
function createFiberFromElement(element, mode, lanes) { function createFiberFromElement(element, mode, lanes) {
element._owner;
var fiber = createFiberFromTypeAndProps(element.type, element.key, element.props, element._owner, mode, lanes); var fiber = createFiberFromTypeAndProps(element.type, element.key, element.props, element._owner, mode, lanes);
return fiber._debugSource = element._source, fiber._debugOwner = element._owner, fiber; return fiber._debugSource = element._source, fiber._debugOwner = element._owner, fiber;
} }
@ -9865,8 +9800,10 @@
this._internalRoot = createRootImpl(container, tag, options); this._internalRoot = createRootImpl(container, tag, options);
} }
function createRootImpl(container, tag, options) { function createRootImpl(container, tag, options) {
var hydrate = null != options && !0 === options.hydrate, mutableSources = null != options && null != options.hydrationOptions && options.hydrationOptions.mutableSources || null, root = createContainer(container, tag, hydrate); var hydrate = null != options && !0 === options.hydrate;
if (markContainerAsRoot(root.current, container), listenToAllSupportedEvents(8 === container.nodeType ? container.parentNode : container), mutableSources) for(var i = 0; i < mutableSources.length; i++)registerMutableSourceForHydration(root, mutableSources[i]); null != options && options.hydrationOptions;
var mutableSources = null != options && null != options.hydrationOptions && options.hydrationOptions.mutableSources || null, root = createContainer(container, tag, hydrate);
if (markContainerAsRoot(root.current, container), container.nodeType, listenToAllSupportedEvents(8 === container.nodeType ? container.parentNode : container), mutableSources) for(var i = 0; i < mutableSources.length; i++)registerMutableSourceForHydration(root, mutableSources[i]);
return root; return root;
} }
function createLegacyRoot(container, options) { function createLegacyRoot(container, options) {

View File

@ -27,7 +27,7 @@ var YUI = function() {
}, handleLoad = function() { }, handleLoad = function() {
YUI.Env.windowLoaded = !0, YUI.Env.DOMReady = !0, hasWin && remove(window, "load", handleLoad); YUI.Env.windowLoaded = !0, YUI.Env.DOMReady = !0, hasWin && remove(window, "load", handleLoad);
}, getLoader = function(Y, o) { }, getLoader = function(Y, o) {
var G_ENV, loader = Y.Env._loader, lCore = [ var loader = Y.Env._loader, lCore = [
"loader-base" "loader-base"
], mods = YUI.Env.mods; ], mods = YUI.Env.mods;
return loader ? (loader.ignoreRegistered = !1, loader.onEnd = null, loader.data = null, loader.required = [], loader.loadType = null) : (loader = new Y.Loader(Y.config), Y.Env._loader = loader), mods && mods.loader && (lCore = [].concat(lCore, YUI.Env.loaderExtras)), YUI.Env.core = Y.Array.dedupe([].concat(YUI.Env.core, lCore)), loader; return loader ? (loader.ignoreRegistered = !1, loader.onEnd = null, loader.data = null, loader.required = [], loader.loadType = null) : (loader = new Y.Loader(Y.config), Y.Env._loader = loader), mods && mods.loader && (lCore = [].concat(lCore, YUI.Env.loaderExtras)), YUI.Env.core = Y.Array.dedupe([].concat(YUI.Env.core, lCore)), loader;

View File

@ -6,7 +6,7 @@ edition = "2018"
license = "Apache-2.0/MIT" license = "Apache-2.0/MIT"
name = "swc_ecma_utils" name = "swc_ecma_utils"
repository = "https://github.com/swc-project/swc.git" repository = "https://github.com/swc-project/swc.git"
version = "0.41.0" version = "0.41.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1101,8 +1101,11 @@ pub trait ExprExt {
Expr::Call(CallExpr { Expr::Call(CallExpr {
callee: ExprOrSuper::Expr(ref callee), callee: ExprOrSuper::Expr(ref callee),
ref args,
.. ..
}) if callee.is_pure_callee() => false, }) if callee.is_pure_callee() => {
args.iter().any(|arg| arg.expr.may_have_side_effects())
}
Expr::Call(_) => true, Expr::Call(_) => true,
Expr::Seq(SeqExpr { ref exprs, .. }) => exprs.iter().any(|e| e.may_have_side_effects()), Expr::Seq(SeqExpr { ref exprs, .. }) => exprs.iter().any(|e| e.may_have_side_effects()),