mirror of
https://github.com/swc-project/swc.git
synced 2024-12-28 16:13:34 +03:00
feat(es/minifier): Make sequential inliner self-repeat (#6168)
This commit is contained in:
parent
25df5b37af
commit
3f0fcf4fa9
@ -1,4 +1,7 @@
|
||||
//// [computedPropertyNames12_ES5.ts]
|
||||
var a;
|
||||
import _class_call_check from "@swc/helpers/src/_class_call_check.mjs";
|
||||
"hello ".concat(a, " bye");
|
||||
var n, a, _ref = (void 0) + n;
|
||||
(function C() {
|
||||
"use strict";
|
||||
_class_call_check(this, C), this[n] = n, this[_ref] = 2, this["hello bye"] = 0;
|
||||
})["hello ".concat(a, " bye")] = 0;
|
||||
|
@ -771,166 +771,178 @@ where
|
||||
)
|
||||
};
|
||||
|
||||
for idx in 0..exprs.len() {
|
||||
for j in idx..exprs.len() {
|
||||
let (a1, a2) = exprs.split_at_mut(idx);
|
||||
loop {
|
||||
let mut did_work = false;
|
||||
|
||||
if a1.is_empty() || a2.is_empty() {
|
||||
break;
|
||||
}
|
||||
for idx in 0..exprs.len() {
|
||||
for j in idx..exprs.len() {
|
||||
let (a1, a2) = exprs.split_at_mut(idx);
|
||||
|
||||
let a = a1.last_mut().unwrap();
|
||||
if a1.is_empty() || a2.is_empty() {
|
||||
break;
|
||||
}
|
||||
|
||||
if self.options.unused && self.options.sequences() {
|
||||
if let (Mergable::Var(av), Mergable::Var(bv)) = (&mut *a, &mut a2[j - idx]) {
|
||||
// We try dropping variable assignments first.
|
||||
let a = a1.last_mut().unwrap();
|
||||
|
||||
// Currently, we only drop variable declarations if they have the same name.
|
||||
if let (Pat::Ident(an), Pat::Ident(bn)) = (&av.name, &bv.name) {
|
||||
if an.to_id() == bn.to_id() {
|
||||
// We need to preserve side effect of `av.init`
|
||||
if self.options.unused && self.options.sequences() {
|
||||
if let (Mergable::Var(av), Mergable::Var(bv)) = (&mut *a, &mut a2[j - idx])
|
||||
{
|
||||
// We try dropping variable assignments first.
|
||||
|
||||
match bv.init.as_deref_mut() {
|
||||
Some(b_init) => {
|
||||
if IdentUsageFinder::find(&an.to_id(), b_init) {
|
||||
log_abort!(
|
||||
"We can't duplicated binding because initializer \
|
||||
uses the previous declaration of the variable"
|
||||
);
|
||||
break;
|
||||
// Currently, we only drop variable declarations if they have the same
|
||||
// name.
|
||||
if let (Pat::Ident(an), Pat::Ident(bn)) = (&av.name, &bv.name) {
|
||||
if an.to_id() == bn.to_id() {
|
||||
// We need to preserve side effect of `av.init`
|
||||
|
||||
match bv.init.as_deref_mut() {
|
||||
Some(b_init) => {
|
||||
if IdentUsageFinder::find(&an.to_id(), b_init) {
|
||||
log_abort!(
|
||||
"We can't duplicated binding because \
|
||||
initializer uses the previous declaration of \
|
||||
the variable"
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
if let Some(a_init) = av.init.take() {
|
||||
let b_seq = b_init.force_seq();
|
||||
b_seq.exprs.insert(0, a_init);
|
||||
|
||||
self.changed = true;
|
||||
report_change!(
|
||||
"Moving initializer sequentially as they have \
|
||||
a same name"
|
||||
);
|
||||
av.name.take();
|
||||
continue;
|
||||
} else {
|
||||
self.changed = true;
|
||||
report_change!(
|
||||
"Dropping the previous var declaration of {} \
|
||||
which does not have an initializer",
|
||||
an.id
|
||||
);
|
||||
av.name.take();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
None => {
|
||||
// As variable name is same, we can move initializer
|
||||
|
||||
if let Some(a_init) = av.init.take() {
|
||||
let b_seq = b_init.force_seq();
|
||||
b_seq.exprs.insert(0, a_init);
|
||||
|
||||
// Th code below
|
||||
//
|
||||
// var a = 5;
|
||||
// var a;
|
||||
//
|
||||
// console.log(a)
|
||||
//
|
||||
// prints 5
|
||||
bv.init = av.init.take();
|
||||
self.changed = true;
|
||||
report_change!(
|
||||
"Moving initializer sequentially as they have a \
|
||||
same name"
|
||||
);
|
||||
av.name.take();
|
||||
continue;
|
||||
} else {
|
||||
self.changed = true;
|
||||
report_change!(
|
||||
"Dropping the previous var declaration of {} \
|
||||
which does not have an initializer",
|
||||
an.id
|
||||
"Moving initializer to the next variable \
|
||||
declaration as they have the same name"
|
||||
);
|
||||
av.name.take();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
None => {
|
||||
// As variable name is same, we can move initializer
|
||||
|
||||
// Th code below
|
||||
//
|
||||
// var a = 5;
|
||||
// var a;
|
||||
//
|
||||
// console.log(a)
|
||||
//
|
||||
// prints 5
|
||||
bv.init = av.init.take();
|
||||
self.changed = true;
|
||||
report_change!(
|
||||
"Moving initializer to the next variable declaration \
|
||||
as they have the same name"
|
||||
);
|
||||
av.name.take();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Merge sequentially
|
||||
// Merge sequentially
|
||||
|
||||
if self.merge_sequential_expr(
|
||||
a,
|
||||
match &mut a2[j - idx] {
|
||||
Mergable::Var(b) => match b.init.as_deref_mut() {
|
||||
Some(v) => v,
|
||||
None => continue,
|
||||
if self.merge_sequential_expr(
|
||||
a,
|
||||
match &mut a2[j - idx] {
|
||||
Mergable::Var(b) => match b.init.as_deref_mut() {
|
||||
Some(v) => v,
|
||||
None => continue,
|
||||
},
|
||||
Mergable::Expr(e) => e,
|
||||
},
|
||||
Mergable::Expr(e) => e,
|
||||
},
|
||||
)? {
|
||||
break;
|
||||
}
|
||||
|
||||
// This logic is required to handle
|
||||
//
|
||||
// var b;
|
||||
// (function () {
|
||||
// function f() {
|
||||
// a++;
|
||||
// }
|
||||
// f();
|
||||
// var c = f();
|
||||
// var a = void 0;
|
||||
// c || (b = a);
|
||||
// })();
|
||||
// console.log(b);
|
||||
//
|
||||
//
|
||||
// at the code above, c cannot be shifted to `c` in `c || (b = a)`
|
||||
//
|
||||
|
||||
match a {
|
||||
Mergable::Var(VarDeclarator {
|
||||
init: Some(init), ..
|
||||
}) => {
|
||||
if !self.is_skippable_for_seq(None, init) {
|
||||
break;
|
||||
}
|
||||
)? {
|
||||
did_work = true;
|
||||
break;
|
||||
}
|
||||
Mergable::Expr(Expr::Assign(a)) => {
|
||||
if let Some(a) = a.left.as_expr() {
|
||||
if !self.is_skippable_for_seq(None, a) {
|
||||
|
||||
// This logic is required to handle
|
||||
//
|
||||
// var b;
|
||||
// (function () {
|
||||
// function f() {
|
||||
// a++;
|
||||
// }
|
||||
// f();
|
||||
// var c = f();
|
||||
// var a = void 0;
|
||||
// c || (b = a);
|
||||
// })();
|
||||
// console.log(b);
|
||||
//
|
||||
//
|
||||
// at the code above, c cannot be shifted to `c` in `c || (b = a)`
|
||||
//
|
||||
|
||||
match a {
|
||||
Mergable::Var(VarDeclarator {
|
||||
init: Some(init), ..
|
||||
}) => {
|
||||
if !self.is_skippable_for_seq(None, init) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
Mergable::Expr(Expr::Assign(a)) => {
|
||||
if let Some(a) = a.left.as_expr() {
|
||||
if !self.is_skippable_for_seq(None, a) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if !self.is_skippable_for_seq(None, &a.right) {
|
||||
break;
|
||||
if !self.is_skippable_for_seq(None, &a.right) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
|
||||
match &a2[j - idx] {
|
||||
Mergable::Var(e2) => {
|
||||
if let Some(e2) = &e2.init {
|
||||
match &a2[j - idx] {
|
||||
Mergable::Var(e2) => {
|
||||
if let Some(e2) = &e2.init {
|
||||
if !self.is_skippable_for_seq(Some(a), e2) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(id) = a1.last_mut().unwrap().id() {
|
||||
if IdentUsageFinder::find(&id, &**e2) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Mergable::Expr(e2) => {
|
||||
if !self.is_skippable_for_seq(Some(a), e2) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(id) = a1.last_mut().unwrap().id() {
|
||||
if IdentUsageFinder::find(&id, &**e2) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Mergable::Expr(e2) => {
|
||||
if !self.is_skippable_for_seq(Some(a), e2) {
|
||||
break;
|
||||
}
|
||||
|
||||
if let Some(id) = a1.last_mut().unwrap().id() {
|
||||
// TODO(kdy1): Optimize
|
||||
if IdentUsageFinder::find(&id, &**e2) {
|
||||
break;
|
||||
if let Some(id) = a1.last_mut().unwrap().id() {
|
||||
// TODO(kdy1): Optimize
|
||||
if IdentUsageFinder::find(&id, &**e2) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if !did_work {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
@ -5004,7 +5004,7 @@
|
||||
}(cx, cy, rx, ry, startAngle, endAngle, anticlockwise, min2, max2), xi = mathCos$1(endAngle) * rx + cx, yi = mathSin$1(endAngle) * ry + cy;
|
||||
break;
|
||||
case CMD.R:
|
||||
x0 = xi = data[i++], fromLine(x0, y0 = yi = data[i++], x0 + data[i++], y0 + data[i++], min2, max2);
|
||||
fromLine(x0 = xi = data[i++], y0 = yi = data[i++], x0 + data[i++], y0 + data[i++], min2, max2);
|
||||
break;
|
||||
case CMD.Z:
|
||||
xi = x0, yi = y0;
|
||||
@ -6228,10 +6228,10 @@
|
||||
ctlPtx = cpx, ctlPty = cpy, len = path.len(), pathData = path.data, prevCmd === CMD.Q && (ctlPtx += cpx - pathData[len - 4], ctlPty += cpy - pathData[len - 3]), cpx += p[off++], cpy += p[off++], cmd = CMD.Q, path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);
|
||||
break;
|
||||
case 'A':
|
||||
rx = p[off++], ry = p[off++], psi = p[off++], fa = p[off++], fs = p[off++], x1 = cpx, y1 = cpy, processArc(x1, y1, cpx = p[off++], cpy = p[off++], fa, fs, rx, ry, psi, cmd = CMD.A, path);
|
||||
rx = p[off++], ry = p[off++], psi = p[off++], fa = p[off++], fs = p[off++], processArc(x1 = cpx, y1 = cpy, cpx = p[off++], cpy = p[off++], fa, fs, rx, ry, psi, cmd = CMD.A, path);
|
||||
break;
|
||||
case 'a':
|
||||
rx = p[off++], ry = p[off++], psi = p[off++], fa = p[off++], fs = p[off++], x1 = cpx, y1 = cpy, processArc(x1, y1, cpx += p[off++], cpy += p[off++], fa, fs, rx, ry, psi, cmd = CMD.A, path);
|
||||
rx = p[off++], ry = p[off++], psi = p[off++], fa = p[off++], fs = p[off++], processArc(x1 = cpx, y1 = cpy, cpx += p[off++], cpy += p[off++], fa, fs, rx, ry, psi, cmd = CMD.A, path);
|
||||
}
|
||||
}
|
||||
('z' === cmdStr || 'Z' === cmdStr) && (cmd = CMD.Z, path.addData(cmd), cpx = subpathX, cpy = subpathY), prevCmd = cmd;
|
||||
@ -10820,7 +10820,7 @@
|
||||
}(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y, tmpPt), xi = Math.cos(theta + dTheta) * rx + cx, yi = Math.sin(theta + dTheta) * ry + cy;
|
||||
break;
|
||||
case CMD$3.R:
|
||||
x0 = xi = data[i++], d = projectPointToRect(x0, y0 = yi = data[i++], data[i++], data[i++], x, y, tmpPt);
|
||||
d = projectPointToRect(x0 = xi = data[i++], y0 = yi = data[i++], data[i++], data[i++], x, y, tmpPt);
|
||||
break;
|
||||
case CMD$3.Z:
|
||||
d = projectPointToLine(xi, yi, x0, y0, x, y, tmpPt, !0), xi = x0, yi = y0;
|
||||
@ -15580,9 +15580,9 @@
|
||||
return __extends(LogScale, _super), LogScale.prototype.getTicks = function(expandToNicedExtent) {
|
||||
var originalScale = this._originalScale, extent = this._extent, originalExtent = originalScale.getExtent();
|
||||
return map(intervalScaleProto.getTicks.call(this, expandToNicedExtent), function(tick) {
|
||||
var originalVal, originalVal1, val = tick.value, powVal = round(mathPow$1(this.base, val));
|
||||
return powVal = val === extent[0] && this._fixMin ? round(powVal, getPrecisionSafe(originalExtent[0])) : powVal, {
|
||||
value: powVal = val === extent[1] && this._fixMax ? round(powVal, getPrecisionSafe(originalExtent[1])) : powVal
|
||||
var val, originalVal, val1, originalVal1, val2 = tick.value, powVal = round(mathPow$1(this.base, val2));
|
||||
return powVal = val2 === extent[0] && this._fixMin ? round(powVal, getPrecisionSafe(originalExtent[0])) : powVal, {
|
||||
value: powVal = val2 === extent[1] && this._fixMax ? round(powVal, getPrecisionSafe(originalExtent[1])) : powVal
|
||||
};
|
||||
}, this);
|
||||
}, LogScale.prototype.setExtent = function(start, end) {
|
||||
@ -18595,13 +18595,13 @@
|
||||
}
|
||||
var getLayout = {
|
||||
cartesian2d: function(data, dataIndex, itemModel) {
|
||||
var itemModel1, rawLayout, borderColor, layout = data.getItemLayout(dataIndex), fixedLineWidth = itemModel ? (itemModel1 = itemModel, rawLayout = layout, (borderColor = itemModel1.get([
|
||||
var borderColor, layout = data.getItemLayout(dataIndex), fixedLineWidth = itemModel && (borderColor = itemModel.get([
|
||||
'itemStyle',
|
||||
'borderColor'
|
||||
])) && 'none' !== borderColor ? Math.min(itemModel1.get([
|
||||
])) && 'none' !== borderColor ? Math.min(itemModel.get([
|
||||
'itemStyle',
|
||||
'borderWidth'
|
||||
]) || 0, isNaN(rawLayout.width) ? Number.MAX_VALUE : Math.abs(rawLayout.width), isNaN(rawLayout.height) ? Number.MAX_VALUE : Math.abs(rawLayout.height)) : 0) : 0, signX = layout.width > 0 ? 1 : -1, signY = layout.height > 0 ? 1 : -1;
|
||||
]) || 0, isNaN(layout.width) ? Number.MAX_VALUE : Math.abs(layout.width), isNaN(layout.height) ? Number.MAX_VALUE : Math.abs(layout.height)) : 0, signX = layout.width > 0 ? 1 : -1, signY = layout.height > 0 ? 1 : -1;
|
||||
return {
|
||||
x: layout.x + signX * fixedLineWidth / 2,
|
||||
y: layout.y + signY * fixedLineWidth / 2,
|
||||
@ -27367,7 +27367,7 @@
|
||||
}(SeriesModel);
|
||||
function sankeyLayout(ecModel, api) {
|
||||
ecModel.eachSeriesByType('sankey', function(seriesModel) {
|
||||
var keyAttr, nodeWidth = seriesModel.get('nodeWidth'), nodeGap = seriesModel.get('nodeGap'), layoutInfo = getLayoutRect(seriesModel.getBoxLayoutParams(), {
|
||||
var orient, keyAttr, nodeWidth = seriesModel.get('nodeWidth'), nodeGap = seriesModel.get('nodeGap'), layoutInfo = getLayoutRect(seriesModel.getBoxLayoutParams(), {
|
||||
width: api.getWidth(),
|
||||
height: api.getHeight()
|
||||
});
|
||||
@ -27381,7 +27381,7 @@
|
||||
});
|
||||
var iterations = 0 !== filter(nodes, function(node) {
|
||||
return 0 === node.getLayout().value;
|
||||
}).length ? 0 : seriesModel.get('layoutIterations'), orient = seriesModel.get('orient');
|
||||
}).length ? 0 : seriesModel.get('layoutIterations');
|
||||
(function(nodes, edges, nodeWidth, width, height, orient, nodeAlign) {
|
||||
for(var kx, remainEdges = [], indegreeArr = [], zeroIndegrees = [], nextTargetNode = [], x = 0, i = 0; i < edges.length; i++)remainEdges[i] = 1;
|
||||
for(var i = 0; i < nodes.length; i++)indegreeArr[i] = nodes[i].inEdges.length, 0 === indegreeArr[i] && zeroIndegrees.push(nodes[i]);
|
||||
@ -27439,7 +27439,7 @@
|
||||
x: nodeDepth
|
||||
}, !0);
|
||||
});
|
||||
})(nodes, edges, nodeWidth, width, height, orient, seriesModel.get('nodeAlign')), function(nodes, edges, height, width, nodeGap, iterations, orient) {
|
||||
})(nodes, edges, nodeWidth, width, height, orient = seriesModel.get('orient'), seriesModel.get('nodeAlign')), function(nodes, edges, height, width, nodeGap, iterations, orient) {
|
||||
var nodesByBreadth, keyAttr, groupResult, minKy, nodesByBreadth1 = (nodesByBreadth = [], keyAttr = 'vertical' === orient ? 'y' : 'x', (groupResult = groupData(nodes, function(node) {
|
||||
return node.getLayout()[keyAttr];
|
||||
})).keys.sort(function(a, b) {
|
||||
|
@ -737,7 +737,7 @@
|
||||
} else config._isValid = !1;
|
||||
}
|
||||
function configFromRFC2822(config) {
|
||||
var year, weekdayStr, config1, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr, result, match = rfc2822.exec(config._i.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, ''));
|
||||
var year, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr, result, weekdayStr, config1, match = rfc2822.exec(config._i.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, ''));
|
||||
if (match) {
|
||||
if (yearStr = match[4], monthStr = match[3], dayStr = match[2], hourStr = match[5], minuteStr = match[6], secondStr = match[7], result = [
|
||||
(year = parseInt(yearStr, 10)) <= 49 ? 2000 + year : year <= 999 ? 1900 + year : year,
|
||||
|
@ -574,9 +574,15 @@
|
||||
function createElementWithValidation(type, props, children) {
|
||||
var validType = isValidElementType(type);
|
||||
if (!validType) {
|
||||
var source, typeString, info = '';
|
||||
var typeString, info = '';
|
||||
(void 0 === type || 'object' == typeof type && null !== type && 0 === Object.keys(type).length) && (info += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
|
||||
var sourceInfo = null != props && void 0 !== (source = props.__source) ? '\n\nCheck your code at ' + source.fileName.replace(/^.*[\\\/]/, '') + ':' + source.lineNumber + '.' : '';
|
||||
var sourceInfo = function(elementProps) {
|
||||
if (null != elementProps) {
|
||||
var source;
|
||||
return void 0 !== (source = elementProps.__source) ? '\n\nCheck your code at ' + source.fileName.replace(/^.*[\\\/]/, '') + ':' + source.lineNumber + '.' : '';
|
||||
}
|
||||
return '';
|
||||
}(props);
|
||||
sourceInfo ? info += sourceInfo : info += getDeclarationErrorAddendum(), null === type ? typeString = 'null' : Array.isArray(type) ? typeString = 'array' : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE ? (typeString = "<" + (getComponentName(type.type) || 'Unknown') + " />", info = ' Did you accidentally export a JSX literal instead of a component?') : typeString = typeof type, error("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", typeString, info);
|
||||
}
|
||||
var element = createElement.apply(this, arguments);
|
||||
|
@ -1406,8 +1406,8 @@
|
||||
var te = this.elements;
|
||||
return te[0] *= s, te[4] *= s, te[8] *= s, te[12] *= s, te[1] *= s, te[5] *= s, te[9] *= s, te[13] *= s, te[2] *= s, te[6] *= s, te[10] *= s, te[14] *= s, te[3] *= s, te[7] *= s, te[11] *= s, te[15] *= s, this;
|
||||
}, _proto.determinant = function() {
|
||||
var te = this.elements, n11 = te[0], n12 = te[4], n13 = te[8], n14 = te[12], n21 = te[1], n22 = te[5], n23 = te[9], n24 = te[13], n31 = te[2], n32 = te[6], n33 = te[10], n34 = te[14], n41 = te[3];
|
||||
return n41 * (+n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34) + te[7] * (+n11 * n23 * n34 - n11 * n24 * n33 + n14 * n21 * n33 - n13 * n21 * n34 + n13 * n24 * n31 - n14 * n23 * n31) + te[11] * (+n11 * n24 * n32 - n11 * n22 * n34 - n14 * n21 * n32 + n12 * n21 * n34 + n14 * n22 * n31 - n12 * n24 * n31) + te[15] * (-n13 * n22 * n31 - n11 * n23 * n32 + n11 * n22 * n33 + n13 * n21 * n32 - n12 * n21 * n33 + n12 * n23 * n31);
|
||||
var te = this.elements, n11 = te[0], n12 = te[4], n13 = te[8], n14 = te[12], n21 = te[1], n22 = te[5], n23 = te[9], n24 = te[13], n31 = te[2], n32 = te[6], n33 = te[10], n34 = te[14];
|
||||
return te[3] * (+n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34) + te[7] * (+n11 * n23 * n34 - n11 * n24 * n33 + n14 * n21 * n33 - n13 * n21 * n34 + n13 * n24 * n31 - n14 * n23 * n31) + te[11] * (+n11 * n24 * n32 - n11 * n22 * n34 - n14 * n21 * n32 + n12 * n21 * n34 + n14 * n22 * n31 - n12 * n24 * n31) + te[15] * (-n13 * n22 * n31 - n11 * n23 * n32 + n11 * n22 * n33 + n13 * n21 * n32 - n12 * n21 * n33 + n12 * n23 * n31);
|
||||
}, _proto.transpose = function() {
|
||||
var tmp, te = this.elements;
|
||||
return tmp = te[1], te[1] = te[4], te[4] = tmp, tmp = te[2], te[2] = te[8], te[8] = tmp, tmp = te[6], te[6] = te[9], te[9] = tmp, tmp = te[3], te[3] = te[12], te[12] = tmp, tmp = te[7], te[7] = te[13], te[13] = tmp, tmp = te[11], te[11] = te[14], te[14] = tmp, this;
|
||||
@ -8915,12 +8915,12 @@
|
||||
var _j2 = i, _k2 = i - 1;
|
||||
_k2 < 0 && (_k2 = contour.length - 1);
|
||||
for(var _s = 0, sl = steps + 2 * bevelSegments; _s < sl; _s++){
|
||||
var slen1 = vlen * _s, slen2 = vlen * (_s + 1), a = layeroffset + _j2 + slen1;
|
||||
var slen1 = vlen * _s, slen2 = vlen * (_s + 1);
|
||||
!function(a, b, c, d) {
|
||||
addVertex(a), addVertex(b), addVertex(d), addVertex(b), addVertex(c), addVertex(d);
|
||||
var nextIndex = verticesArray.length / 3, uvs = uvgen.generateSideWallUV(scope, verticesArray, nextIndex - 6, nextIndex - 3, nextIndex - 2, nextIndex - 1);
|
||||
addUV(uvs[0]), addUV(uvs[1]), addUV(uvs[3]), addUV(uvs[1]), addUV(uvs[2]), addUV(uvs[3]);
|
||||
}(a, layeroffset + _k2 + slen1, layeroffset + _k2 + slen2, layeroffset + _j2 + slen2);
|
||||
}(layeroffset + _j2 + slen1, layeroffset + _k2 + slen1, layeroffset + _k2 + slen2, layeroffset + _j2 + slen2);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -12478,7 +12478,7 @@
|
||||
}
|
||||
}
|
||||
});
|
||||
var _RESERVED_CHARS_RE = '\\[\\]\\.:\\/', _reservedRe = RegExp('[' + _RESERVED_CHARS_RE + ']', 'g'), _wordChar = '[^' + _RESERVED_CHARS_RE + ']', _wordCharOrDot = '[^' + _RESERVED_CHARS_RE.replace('\\.', '') + ']', _directoryRe = /((?:WC+[\/:])*)/.source.replace('WC', _wordChar), _trackRe = RegExp("^" + _directoryRe + /(WCOD+)?/.source.replace('WCOD', _wordCharOrDot) + /(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace('WC', _wordChar) + /\.(WC+)(?:\[(.+)\])?/.source.replace('WC', _wordChar) + '$'), _supportedObjectNames = [
|
||||
var _RESERVED_CHARS_RE = '\\[\\]\\.:\\/', _reservedRe = RegExp('[' + _RESERVED_CHARS_RE + ']', 'g'), _wordChar = '[^' + _RESERVED_CHARS_RE + ']', _wordCharOrDot = '[^' + _RESERVED_CHARS_RE.replace('\\.', '') + ']', _trackRe = RegExp("^" + /((?:WC+[\/:])*)/.source.replace('WC', _wordChar) + /(WCOD+)?/.source.replace('WCOD', _wordCharOrDot) + /(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace('WC', _wordChar) + /\.(WC+)(?:\[(.+)\])?/.source.replace('WC', _wordChar) + '$'), _supportedObjectNames = [
|
||||
'material',
|
||||
'materials',
|
||||
'bones'
|
||||
|
@ -1118,7 +1118,7 @@
|
||||
}), __webpack_require__.d(__webpack_exports__, "Hcl", function() {
|
||||
return Hcl;
|
||||
});
|
||||
var _define_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../../node_modules/d3-color/src/define.js"), _color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../../node_modules/d3-color/src/color.js"), _math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../../node_modules/d3-color/src/math.js"), t0 = 4 / 29, t1 = 6 / 29, t2 = 3 * (6 / 29) * (6 / 29), t3 = 6 / 29 * t1 * t1;
|
||||
var _define_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../../node_modules/d3-color/src/define.js"), _color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../../node_modules/d3-color/src/color.js"), _math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../../node_modules/d3-color/src/math.js"), t0 = 4 / 29, t1 = 6 / 29, t2 = 3 * (6 / 29) * (6 / 29), t3 = 6 / 29 * (6 / 29) * (6 / 29);
|
||||
function labConvert(o) {
|
||||
if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);
|
||||
if (o instanceof Hcl) return hcl2lab(o);
|
||||
@ -13446,32 +13446,27 @@
|
||||
childComponents = childComponents || getChildComponents(props);
|
||||
var baseStyle = (calculatedProps = calculatedProps || getCalculatedProps(props, childComponents)).style.parent, height = props.height, polar = props.polar, theme = props.theme, width = props.width, _calculatedProps = calculatedProps, origin = _calculatedProps.origin, horizontal = _calculatedProps.horizontal, parentName = props.name || "chart";
|
||||
return childComponents.map(function(child, index) {
|
||||
var role = child.type && child.type.role, style = Array.isArray(child.props.style) ? child.props.style : lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, child.props.style, {
|
||||
var child1, props1, calculatedProps1, domain, scale, stringMap, categories, axisChild, role = child.type && child.type.role, style = Array.isArray(child.props.style) ? child.props.style : lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, child.props.style, {
|
||||
parent: baseStyle
|
||||
}), childProps = function(child, props, calculatedProps) {
|
||||
var domain, scale, stringMap, categories, axisChild = victory_core__WEBPACK_IMPORTED_MODULE_3__.Axis.findAxisComponents([
|
||||
child
|
||||
]);
|
||||
if (axisChild.length > 0) return axisChild[0], domain = calculatedProps.domain, scale = calculatedProps.scale, stringMap = calculatedProps.stringMap, categories = calculatedProps.categories, {
|
||||
stringMap: stringMap,
|
||||
horizontal: calculatedProps.horizontal,
|
||||
categories: categories,
|
||||
startAngle: props.startAngle,
|
||||
endAngle: props.endAngle,
|
||||
innerRadius: props.innerRadius,
|
||||
domain: domain,
|
||||
scale: scale
|
||||
};
|
||||
var categories1 = calculatedProps.categories, domain1 = calculatedProps.domain, range = calculatedProps.range;
|
||||
return {
|
||||
categories: categories1,
|
||||
domain: domain1,
|
||||
range: range,
|
||||
scale: calculatedProps.scale,
|
||||
stringMap: calculatedProps.stringMap,
|
||||
horizontal: calculatedProps.horizontal
|
||||
};
|
||||
}(child, props, calculatedProps), name = child.props.name || "".concat(parentName, "-").concat(role, "-").concat(index), newProps = lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({
|
||||
}), childProps = (child1 = child, props1 = props, calculatedProps1 = calculatedProps, (axisChild = victory_core__WEBPACK_IMPORTED_MODULE_3__.Axis.findAxisComponents([
|
||||
child1
|
||||
])).length > 0 ? (axisChild[0], domain = calculatedProps1.domain, scale = calculatedProps1.scale, stringMap = calculatedProps1.stringMap, categories = calculatedProps1.categories, {
|
||||
stringMap: stringMap,
|
||||
horizontal: calculatedProps1.horizontal,
|
||||
categories: categories,
|
||||
startAngle: props1.startAngle,
|
||||
endAngle: props1.endAngle,
|
||||
innerRadius: props1.innerRadius,
|
||||
domain: domain,
|
||||
scale: scale
|
||||
}) : {
|
||||
categories: calculatedProps1.categories,
|
||||
domain: calculatedProps1.domain,
|
||||
range: calculatedProps1.range,
|
||||
scale: calculatedProps1.scale,
|
||||
stringMap: calculatedProps1.stringMap,
|
||||
horizontal: calculatedProps1.horizontal
|
||||
}), name = child.props.name || "".concat(parentName, "-").concat(role, "-").concat(index), newProps = lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({
|
||||
horizontal: horizontal,
|
||||
height: height,
|
||||
polar: polar,
|
||||
@ -22861,10 +22856,10 @@
|
||||
});
|
||||
},
|
||||
getDataFromChildren: function(props, childComponents) {
|
||||
var polar = props.polar, startAngle = props.startAngle, endAngle = props.endAngle, parentProps = {
|
||||
polar: polar,
|
||||
startAngle: startAngle,
|
||||
endAngle: endAngle,
|
||||
var parentProps = {
|
||||
polar: props.polar,
|
||||
startAngle: props.startAngle,
|
||||
endAngle: props.endAngle,
|
||||
categories: props.categories,
|
||||
minDomain: props.minDomain,
|
||||
maxDomain: props.maxDomain
|
||||
@ -27841,8 +27836,8 @@
|
||||
evt.preventDefault();
|
||||
var activateSelectedData = targetProps.activateSelectedData, allowSelection = targetProps.allowSelection, polar = targetProps.polar, selectedData = targetProps.selectedData;
|
||||
if (!allowSelection) return {};
|
||||
var dimension = this.getDimension(targetProps), parentSVG = targetProps.parentSVG || victory_core__WEBPACK_IMPORTED_MODULE_5__.Selection.getParentSVG(evt), _Selection$getSVGEven = victory_core__WEBPACK_IMPORTED_MODULE_5__.Selection.getSVGEventCoordinates(evt, parentSVG), x = _Selection$getSVGEven.x, y = _Selection$getSVGEven.y, x1 = polar || "y" !== dimension ? x : victory_core__WEBPACK_IMPORTED_MODULE_5__.Selection.getDomainCoordinates(targetProps).x[0], mutatedProps = {
|
||||
x1: x1,
|
||||
var dimension = this.getDimension(targetProps), parentSVG = targetProps.parentSVG || victory_core__WEBPACK_IMPORTED_MODULE_5__.Selection.getParentSVG(evt), _Selection$getSVGEven = victory_core__WEBPACK_IMPORTED_MODULE_5__.Selection.getSVGEventCoordinates(evt, parentSVG), x = _Selection$getSVGEven.x, y = _Selection$getSVGEven.y, mutatedProps = {
|
||||
x1: polar || "y" !== dimension ? x : victory_core__WEBPACK_IMPORTED_MODULE_5__.Selection.getDomainCoordinates(targetProps).x[0],
|
||||
y1: polar || "x" !== dimension ? y : victory_core__WEBPACK_IMPORTED_MODULE_5__.Selection.getDomainCoordinates(targetProps).y[0],
|
||||
select: !0,
|
||||
x2: polar || "y" !== dimension ? x : victory_core__WEBPACK_IMPORTED_MODULE_5__.Selection.getDomainCoordinates(targetProps).x[1],
|
||||
|
@ -292,6 +292,7 @@ fn find_config(dir: &Path) -> String {
|
||||
|
||||
#[testing::fixture("tests/fixture/**/input.js")]
|
||||
#[testing::fixture("tests/pass-1/**/input.js")]
|
||||
#[testing::fixture("tests/pass-default/**/input.js")]
|
||||
fn custom_fixture(input: PathBuf) {
|
||||
let dir = input.parent().unwrap();
|
||||
let config = find_config(dir);
|
||||
|
@ -737,7 +737,7 @@
|
||||
} else config._isValid = !1;
|
||||
}
|
||||
function configFromRFC2822(config) {
|
||||
var year, weekdayStr, config1, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr, result, match = rfc2822.exec(config._i.replace(/\([^)]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, ""));
|
||||
var year, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr, result, weekdayStr, config1, match = rfc2822.exec(config._i.replace(/\([^)]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, ""));
|
||||
if (match) {
|
||||
if (yearStr = match[4], monthStr = match[3], dayStr = match[2], hourStr = match[5], minuteStr = match[6], secondStr = match[7], result = [
|
||||
(year = parseInt(yearStr, 10)) <= 49 ? 2000 + year : year <= 999 ? 1900 + year : year,
|
||||
|
@ -1988,7 +1988,7 @@
|
||||
domBuilder.startDocument(), _copy(defaultNSMap, defaultNSMap = {}), function(source, defaultNSMapCopy, entityMap, domBuilder, errorHandler) {
|
||||
function entityReplacer(a) {
|
||||
var code, k = a.slice(1, -1);
|
||||
return k in entityMap ? entityMap[k] : "#" === k.charAt(0) ? (code = parseInt(k.substr(1).replace("x", "0x"))) > 0xffff ? String.fromCharCode(0xd800 + ((code -= 0x10000) >> 10), 0xdc00 + (0x3ff & code)) : String.fromCharCode(code) : (errorHandler.error("entity not found:" + a), a);
|
||||
return k in entityMap ? entityMap[k] : "#" !== k.charAt(0) ? (errorHandler.error("entity not found:" + a), a) : (code = parseInt(k.substr(1).replace("x", "0x"))) > 0xffff ? String.fromCharCode(0xd800 + ((code -= 0x10000) >> 10), 0xdc00 + (0x3ff & code)) : String.fromCharCode(code);
|
||||
}
|
||||
function appendText(end) {
|
||||
if (end > start) {
|
||||
|
@ -2209,8 +2209,8 @@
|
||||
fontFamily: c,
|
||||
fontWeight: f,
|
||||
fontStyle: d
|
||||
}) : null, S = x ? x.data : c, A = {
|
||||
font: S,
|
||||
}) : null, S = {
|
||||
font: x ? x.data : c,
|
||||
color: l,
|
||||
opacity: _,
|
||||
fontSize: h,
|
||||
@ -2224,25 +2224,25 @@
|
||||
strike: "line-through" === v || "underline line-through" === v || "line-through underline" === v,
|
||||
strikeColor: b || l,
|
||||
underlineColor: b || l,
|
||||
link: n || (null === (O = r.props) || void 0 === O ? void 0 : O.src) || (null === (C = r.props) || void 0 === C ? void 0 : C.href),
|
||||
link: n || (null === (k = r.props) || void 0 === k ? void 0 : k.src) || (null === (O = r.props) || void 0 === O ? void 0 : O.href),
|
||||
lineHeight: g ? g * h : null
|
||||
}, k = 0; k < r.children.length; k += 1){
|
||||
var O, C, P, F = r.children[k];
|
||||
F.type === T.Image ? o.push({
|
||||
}, A = 0; A < r.children.length; A += 1){
|
||||
var k, O, C, P = r.children[A];
|
||||
P.type === T.Image ? o.push({
|
||||
string: String.fromCharCode(0xfffc),
|
||||
attributes: U.default({}, A, {
|
||||
attributes: U.default({}, S, {
|
||||
attachment: {
|
||||
width: F.style.width || h,
|
||||
height: F.style.height || h,
|
||||
image: F.image.data
|
||||
width: P.style.width || h,
|
||||
height: P.style.height || h,
|
||||
image: P.image.data
|
||||
}
|
||||
})
|
||||
}) : F.type === T.TextInstance ? o.push({
|
||||
string: Z(F.value, D),
|
||||
attributes: A
|
||||
}) : F && (P = o).push.apply(P, e(t, F, A.link, i + 1));
|
||||
}) : P.type === T.TextInstance ? o.push({
|
||||
string: Z(P.value, D),
|
||||
attributes: S
|
||||
}) : P && (C = o).push.apply(C, e(t, P, S.link, i + 1));
|
||||
}
|
||||
for(var R = 0; R < tT.length; R += 1)o = (0, tT[R])(o);
|
||||
for(var F = 0; F < tT.length; F += 1)o = (0, tT[F])(o);
|
||||
return o;
|
||||
}, tC = function(e, t) {
|
||||
var r = tO(e, t);
|
||||
|
@ -1,4 +1,7 @@
|
||||
function getSourceInfoErrorAddendumForProps(elementProps) {
|
||||
var source;
|
||||
return null != elementProps && void 0 !== (source = elementProps.__source) ? "\n\nCheck your code at " + source.fileName.replace(/^.*[\\\/]/, "") + ":" + source.lineNumber + "." : "";
|
||||
if (null != elementProps) {
|
||||
var source;
|
||||
return void 0 !== (source = elementProps.__source) ? "\n\nCheck your code at " + source.fileName.replace(/^.*[\\\/]/, "") + ":" + source.lineNumber + "." : "";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
9
crates/swc_ecma_minifier/tests/pass-1/compute/1/input.js
Normal file
9
crates/swc_ecma_minifier/tests/pass-1/compute/1/input.js
Normal file
@ -0,0 +1,9 @@
|
||||
console.log((function () {
|
||||
var a = [
|
||||
94,
|
||||
173,
|
||||
190,
|
||||
239
|
||||
], b = 0;
|
||||
return b |= 94, b <<= 8, b |= 173, b <<= 8, b |= 190, b <<= 8, b |= 239;
|
||||
})().toString(16));
|
@ -0,0 +1,4 @@
|
||||
console.log((function() {
|
||||
var b;
|
||||
return b = 94, b <<= 8, b |= 173, b <<= 8, b |= 190, b <<= 8, b |= 239;
|
||||
})().toString(16));
|
@ -0,0 +1,9 @@
|
||||
console.log((function () {
|
||||
var a = [
|
||||
94,
|
||||
173,
|
||||
190,
|
||||
239
|
||||
], b = 0;
|
||||
return b |= 94, b <<= 8, b |= 173, b <<= 8, b |= 190, b <<= 8, b |= 239;
|
||||
})().toString(16));
|
@ -0,0 +1,4 @@
|
||||
console.log((function() {
|
||||
var b;
|
||||
return b = 94, b <<= 8, b |= 173, b <<= 8, b |= 190, b <<= 8, b |= 239;
|
||||
})().toString(16));
|
5
crates/swc_ecma_minifier/tests/pass-default/config.json
Normal file
5
crates/swc_ecma_minifier/tests/pass-default/config.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"defaults": true,
|
||||
"toplevel": true,
|
||||
"passes": 3
|
||||
}
|
@ -3352,7 +3352,7 @@
|
||||
var descending = !1, get = predicate || identity;
|
||||
return isString(predicate) && (("+" == predicate.charAt(0) || "-" == predicate.charAt(0)) && (descending = "-" == predicate.charAt(0), predicate = predicate.substring(1)), get = $parse(predicate)), reverseComparator(function(a, b) {
|
||||
var v1, v2, t1, t2;
|
||||
return v1 = get(a), v2 = get(b), t1 = typeof v1, t1 != (t2 = typeof v2) ? t1 < t2 ? -1 : 1 : ("string" == t1 && (v1 = v1.toLowerCase(), v2 = v2.toLowerCase()), v1 === v2) ? 0 : v1 < v2 ? -1 : 1;
|
||||
return v1 = get(a), v2 = get(b), (t1 = typeof v1) != (t2 = typeof v2) ? t1 < t2 ? -1 : 1 : ("string" == t1 && (v1 = v1.toLowerCase(), v2 = v2.toLowerCase()), v1 === v2) ? 0 : v1 < v2 ? -1 : 1;
|
||||
}, descending);
|
||||
}, results = [], forEach(obj, function(value, index, list) {
|
||||
results.push(iterator.call(void 0, value, index, list));
|
||||
|
@ -730,8 +730,8 @@
|
||||
makeUrlAbsolute: function(relUrl, absUrl) {
|
||||
if (!path.isRelativeUrl(relUrl)) return relUrl;
|
||||
undefined2 === absUrl && (absUrl = this.documentBase);
|
||||
var relObj = path.parseUrl(relUrl), absObj = path.parseUrl(absUrl), protocol = relObj.protocol || absObj.protocol, doubleSlash = relObj.protocol ? relObj.doubleSlash : relObj.doubleSlash || absObj.doubleSlash, authority = relObj.authority || absObj.authority, hasPath = "" !== relObj.pathname, pathname = path.makePathAbsolute(relObj.pathname || absObj.filename, absObj.pathname);
|
||||
return protocol + doubleSlash + authority + pathname + (relObj.search || !hasPath && absObj.search || "") + relObj.hash;
|
||||
var relObj = path.parseUrl(relUrl), absObj = path.parseUrl(absUrl), protocol = relObj.protocol || absObj.protocol, doubleSlash = relObj.protocol ? relObj.doubleSlash : relObj.doubleSlash || absObj.doubleSlash, authority = relObj.authority || absObj.authority, hasPath = "" !== relObj.pathname;
|
||||
return protocol + doubleSlash + authority + path.makePathAbsolute(relObj.pathname || absObj.filename, absObj.pathname) + (relObj.search || !hasPath && absObj.search || "") + relObj.hash;
|
||||
},
|
||||
addSearchParams: function(url, params) {
|
||||
var u = path.parseUrl(url), p = "object" == typeof params ? jQuery.param(params) : params, s = u.search || "?";
|
||||
|
@ -574,9 +574,15 @@
|
||||
function createElementWithValidation(type, props, children) {
|
||||
var validType = isValidElementType(type);
|
||||
if (!validType) {
|
||||
var source, typeString, info = "";
|
||||
var typeString, info = "";
|
||||
(void 0 === type || "object" == typeof type && null !== type && 0 === Object.keys(type).length) && (info += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
|
||||
var sourceInfo = null != props ? void 0 !== (source = props.__source) ? "\n\nCheck your code at " + source.fileName.replace(/^.*[\\\/]/, "") + ":" + source.lineNumber + "." : "" : "";
|
||||
var sourceInfo = function(elementProps) {
|
||||
if (null != elementProps) {
|
||||
var source;
|
||||
return void 0 !== (source = elementProps.__source) ? "\n\nCheck your code at " + source.fileName.replace(/^.*[\\\/]/, "") + ":" + source.lineNumber + "." : "";
|
||||
}
|
||||
return "";
|
||||
}(props);
|
||||
sourceInfo ? info += sourceInfo : info += getDeclarationErrorAddendum(), null === type ? typeString = "null" : Array.isArray(type) ? typeString = "array" : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE ? (typeString = "<" + (getComponentName(type.type) || "Unknown") + " />", info = " Did you accidentally export a JSX literal instead of a component?") : typeString = typeof type, error("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", typeString, info);
|
||||
}
|
||||
var element = createElement.apply(this, arguments);
|
||||
|
@ -4403,7 +4403,7 @@
|
||||
callback: update.callback,
|
||||
next: null
|
||||
};
|
||||
null === newLastBaseUpdate ? (newFirstBaseUpdate = newLastBaseUpdate = clone, newBaseState = newState) : newLastBaseUpdate = newLastBaseUpdate.next = clone, newLanes = newLanes | updateLane;
|
||||
null === newLastBaseUpdate ? (newFirstBaseUpdate = newLastBaseUpdate = clone, newBaseState = newState) : newLastBaseUpdate = newLastBaseUpdate.next = clone, newLanes |= updateLane;
|
||||
}
|
||||
if (null === (update = update.next)) {
|
||||
if (null === (pendingQueue = queue.shared.pending)) break;
|
||||
@ -4411,7 +4411,9 @@
|
||||
_lastPendingUpdate.next = null, update = _firstPendingUpdate, queue.lastBaseUpdate = _lastPendingUpdate, queue.shared.pending = null;
|
||||
}
|
||||
}
|
||||
null === newLastBaseUpdate && (newBaseState = newState), queue.baseState = newBaseState, queue.firstBaseUpdate = newFirstBaseUpdate, queue.lastBaseUpdate = newLastBaseUpdate, markSkippedUpdateLanes(newLanes), workInProgress.lanes = newLanes, workInProgress.memoizedState = newState;
|
||||
null === newLastBaseUpdate && (newBaseState = newState), queue.baseState = newBaseState, queue.firstBaseUpdate = newFirstBaseUpdate, queue.lastBaseUpdate = newLastBaseUpdate, function(lane) {
|
||||
workInProgressRootSkippedLanes |= lane;
|
||||
}(newLanes), workInProgress.lanes = newLanes, workInProgress.memoizedState = newState;
|
||||
}
|
||||
currentlyProcessingQueue = null;
|
||||
}
|
||||
@ -4908,7 +4910,7 @@
|
||||
}
|
||||
function pushHostContext(fiber) {
|
||||
requiredContext(rootInstanceStackCursor.current);
|
||||
var type, namespace, context = requiredContext(contextStackCursor$1.current), nextContext = (type = fiber.type, {
|
||||
var type, context = requiredContext(contextStackCursor$1.current), nextContext = (type = fiber.type, {
|
||||
namespace: getChildNamespace(context.namespace, type),
|
||||
ancestorInfo: updatedAncestorInfo(context.ancestorInfo, type)
|
||||
});
|
||||
@ -5204,7 +5206,9 @@
|
||||
eagerState: update.eagerState,
|
||||
next: null
|
||||
};
|
||||
null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = clone, newBaseState = newState) : newBaseQueueLast = newBaseQueueLast.next = clone, currentlyRenderingFiber$1.lanes = currentlyRenderingFiber$1.lanes | updateLane, markSkippedUpdateLanes(updateLane);
|
||||
null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = clone, newBaseState = newState) : newBaseQueueLast = newBaseQueueLast.next = clone, currentlyRenderingFiber$1.lanes = currentlyRenderingFiber$1.lanes | updateLane, function(lane) {
|
||||
workInProgressRootSkippedLanes |= lane;
|
||||
}(updateLane);
|
||||
}
|
||||
update = update.next;
|
||||
}while (null !== update && update !== first)
|
||||
@ -6104,7 +6108,7 @@
|
||||
}
|
||||
function updateMemoComponent(current, workInProgress, Component, nextProps, updateLanes, renderLanes) {
|
||||
if (null === current) {
|
||||
var a, type, type1 = Component.type;
|
||||
var type, type1 = Component.type;
|
||||
if ("function" == typeof (type = type1) && !shouldConstruct$1(type) && void 0 === type.defaultProps && null === Component.compare && void 0 === Component.defaultProps) {
|
||||
var resolvedType = type1;
|
||||
return resolvedType = resolveFunctionForHotReloading(type1), workInProgress.tag = 15, workInProgress.type = resolvedType, validateFunctionComponentInDev(workInProgress, type1), updateSimpleMemoComponent(current, workInProgress, resolvedType, nextProps, updateLanes, renderLanes);
|
||||
@ -6117,7 +6121,7 @@
|
||||
var _type = Component.type, _innerPropTypes = _type.propTypes;
|
||||
_innerPropTypes && checkPropTypes(_innerPropTypes, nextProps, "prop", getComponentName(_type));
|
||||
var currentChild = current.child;
|
||||
if (a = updateLanes, (a & renderLanes) == 0) {
|
||||
if (!((updateLanes & renderLanes) != 0)) {
|
||||
var prevProps = currentChild.memoizedProps, compare = Component.compare;
|
||||
if ((compare = null !== compare ? compare : shallowEqual)(prevProps, nextProps) && current.ref === workInProgress.ref) return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
|
||||
}
|
||||
@ -6127,7 +6131,7 @@
|
||||
}
|
||||
function updateSimpleMemoComponent(current, workInProgress, Component, nextProps, updateLanes, renderLanes) {
|
||||
if (workInProgress.type !== workInProgress.elementType) {
|
||||
var a, outerMemoType = workInProgress.elementType;
|
||||
var outerMemoType = workInProgress.elementType;
|
||||
if (outerMemoType.$$typeof === REACT_LAZY_TYPE) {
|
||||
var lazyComponent = outerMemoType, payload = lazyComponent._payload, init = lazyComponent._init;
|
||||
try {
|
||||
@ -6140,7 +6144,7 @@
|
||||
}
|
||||
}
|
||||
if (null !== current && shallowEqual(current.memoizedProps, nextProps) && current.ref === workInProgress.ref && workInProgress.type === current.type) {
|
||||
if (didReceiveUpdate = !1, a = renderLanes, (a & updateLanes) == 0) return workInProgress.lanes = current.lanes, bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
|
||||
if (didReceiveUpdate = !1, !((renderLanes & updateLanes) != 0)) return workInProgress.lanes = current.lanes, bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
|
||||
(16384 & current.flags) != 0 && (didReceiveUpdate = !0);
|
||||
}
|
||||
return updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes);
|
||||
@ -6458,7 +6462,9 @@
|
||||
}
|
||||
var hasWarnedAboutUsingNoValuePropOnContextProvider = !1, hasWarnedAboutUsingContextAsConsumer = !1;
|
||||
function bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {
|
||||
return (null !== current && (workInProgress.dependencies = current.dependencies), profilerStartTime = -1, markSkippedUpdateLanes(workInProgress.lanes), (renderLanes & workInProgress.childLanes) != 0) ? (!function(current, workInProgress) {
|
||||
return (null !== current && (workInProgress.dependencies = current.dependencies), profilerStartTime = -1, function(lane) {
|
||||
workInProgressRootSkippedLanes |= lane;
|
||||
}(workInProgress.lanes), (renderLanes & workInProgress.childLanes) != 0) ? (!function(current, workInProgress) {
|
||||
if (!(null === current || workInProgress.child === current.child)) throw Error("Resuming work not yet implemented.");
|
||||
if (null !== workInProgress.child) {
|
||||
var currentChild = workInProgress.child, newChild = createWorkInProgress(currentChild, currentChild.pendingProps);
|
||||
@ -6484,56 +6490,54 @@
|
||||
}(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.lanes));
|
||||
if (null !== current) {
|
||||
if (current.memoizedProps !== workInProgress.pendingProps || hasContextChanged() || workInProgress.type !== current.type) didReceiveUpdate = !0;
|
||||
else if ((renderLanes & updateLanes) != 0) didReceiveUpdate = (16384 & current.flags) != 0;
|
||||
else {
|
||||
if (a = renderLanes, (a & updateLanes) != 0) didReceiveUpdate = (16384 & current.flags) != 0;
|
||||
else {
|
||||
switch(didReceiveUpdate = !1, workInProgress.tag){
|
||||
case 3:
|
||||
pushHostRootContext(workInProgress), resetHydrationState();
|
||||
break;
|
||||
case 5:
|
||||
pushHostContext(workInProgress);
|
||||
break;
|
||||
case 1:
|
||||
isContextProvider(workInProgress.type) && pushContextProvider(workInProgress);
|
||||
break;
|
||||
case 4:
|
||||
pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);
|
||||
break;
|
||||
case 10:
|
||||
var newValue = workInProgress.memoizedProps.value;
|
||||
pushProvider(workInProgress, newValue);
|
||||
break;
|
||||
case 12:
|
||||
a1 = renderLanes, (a1 & workInProgress.childLanes) != 0 && (workInProgress.flags |= 4);
|
||||
var a, a1, stateNode = workInProgress.stateNode;
|
||||
stateNode.effectDuration = 0, stateNode.passiveEffectDuration = 0;
|
||||
break;
|
||||
case 13:
|
||||
if (null !== workInProgress.memoizedState) {
|
||||
if (a2 = renderLanes, (a2 & workInProgress.child.childLanes) != 0) return updateSuspenseComponent(current, workInProgress, renderLanes);
|
||||
newContext1 = 1 & suspenseStackCursor.current, push(suspenseStackCursor, newContext1, workInProgress);
|
||||
var a2, newContext, newContext1, child = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
|
||||
if (null !== child) return child.sibling;
|
||||
return null;
|
||||
}
|
||||
newContext = 1 & suspenseStackCursor.current, push(suspenseStackCursor, newContext, workInProgress);
|
||||
break;
|
||||
case 19:
|
||||
var a3, newContext2, didSuspendBefore = (64 & current.flags) != 0, _hasChildWork = (a3 = renderLanes, (a3 & workInProgress.childLanes) != 0);
|
||||
if (didSuspendBefore) {
|
||||
if (_hasChildWork) return updateSuspenseListComponent(current, workInProgress, renderLanes);
|
||||
workInProgress.flags |= 64;
|
||||
}
|
||||
var renderState = workInProgress.memoizedState;
|
||||
if (null !== renderState && (renderState.rendering = null, renderState.tail = null, renderState.lastEffect = null), newContext2 = suspenseStackCursor.current, push(suspenseStackCursor, newContext2, workInProgress), !_hasChildWork) return null;
|
||||
break;
|
||||
case 23:
|
||||
case 24:
|
||||
return workInProgress.lanes = 0, updateOffscreenComponent(current, workInProgress, renderLanes);
|
||||
}
|
||||
return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
|
||||
switch(didReceiveUpdate = !1, workInProgress.tag){
|
||||
case 3:
|
||||
pushHostRootContext(workInProgress), resetHydrationState();
|
||||
break;
|
||||
case 5:
|
||||
pushHostContext(workInProgress);
|
||||
break;
|
||||
case 1:
|
||||
isContextProvider(workInProgress.type) && pushContextProvider(workInProgress);
|
||||
break;
|
||||
case 4:
|
||||
pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);
|
||||
break;
|
||||
case 10:
|
||||
var newValue = workInProgress.memoizedProps.value;
|
||||
pushProvider(workInProgress, newValue);
|
||||
break;
|
||||
case 12:
|
||||
(renderLanes & workInProgress.childLanes) != 0 && (workInProgress.flags |= 4);
|
||||
var stateNode = workInProgress.stateNode;
|
||||
stateNode.effectDuration = 0, stateNode.passiveEffectDuration = 0;
|
||||
break;
|
||||
case 13:
|
||||
if (null !== workInProgress.memoizedState) {
|
||||
if ((renderLanes & workInProgress.child.childLanes) != 0) return updateSuspenseComponent(current, workInProgress, renderLanes);
|
||||
newContext1 = 1 & suspenseStackCursor.current, push(suspenseStackCursor, newContext1, workInProgress);
|
||||
var newContext, newContext1, child = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
|
||||
if (null !== child) return child.sibling;
|
||||
return null;
|
||||
}
|
||||
newContext = 1 & suspenseStackCursor.current, push(suspenseStackCursor, newContext, workInProgress);
|
||||
break;
|
||||
case 19:
|
||||
var newContext2, didSuspendBefore = (64 & current.flags) != 0, _hasChildWork = (renderLanes & workInProgress.childLanes) != 0;
|
||||
if (didSuspendBefore) {
|
||||
if (_hasChildWork) return updateSuspenseListComponent(current, workInProgress, renderLanes);
|
||||
workInProgress.flags |= 64;
|
||||
}
|
||||
var renderState = workInProgress.memoizedState;
|
||||
if (null !== renderState && (renderState.rendering = null, renderState.tail = null, renderState.lastEffect = null), newContext2 = suspenseStackCursor.current, push(suspenseStackCursor, newContext2, workInProgress), !_hasChildWork) return null;
|
||||
break;
|
||||
case 23:
|
||||
case 24:
|
||||
return workInProgress.lanes = 0, updateOffscreenComponent(current, workInProgress, renderLanes);
|
||||
}
|
||||
return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
|
||||
}
|
||||
} else didReceiveUpdate = !1;
|
||||
switch(workInProgress.lanes = 0, workInProgress.tag){
|
||||
@ -7174,7 +7178,7 @@
|
||||
}, updateHostContainer = function(workInProgress) {}, updateHostComponent$1 = function(current, workInProgress, type, newProps, rootContainerInstance) {
|
||||
var oldProps = current.memoizedProps;
|
||||
if (oldProps !== newProps) {
|
||||
var domElement, type1, oldProps1, newProps1, rootContainerInstance1, hostContext, updatePayload = (domElement = workInProgress.stateNode, type1 = type, oldProps1 = oldProps, newProps1 = newProps, rootContainerInstance1 = 0, hostContext = getHostContext(), typeof newProps1.children != typeof oldProps1.children && ("string" == typeof newProps1.children || "number" == typeof newProps1.children) && validateDOMNesting(null, "" + newProps1.children, updatedAncestorInfo(hostContext.ancestorInfo, type1)), function(domElement, tag, lastRawProps, nextRawProps, rootContainerElement) {
|
||||
var instance = workInProgress.stateNode, currentHostContext = getHostContext(), updatePayload = (typeof newProps.children != typeof oldProps.children && ("string" == typeof newProps.children || "number" == typeof newProps.children) && validateDOMNesting(null, "" + newProps.children, updatedAncestorInfo(currentHostContext.ancestorInfo, type)), function(domElement, tag, lastRawProps, nextRawProps, rootContainerElement) {
|
||||
validatePropertiesInDevelopment(tag, nextRawProps);
|
||||
var lastProps, nextProps, propKey, styleName, updatePayload = null;
|
||||
switch(tag){
|
||||
@ -7228,7 +7232,7 @@
|
||||
}
|
||||
}
|
||||
}(styleUpdates, nextProps[STYLE]), (updatePayload = updatePayload || []).push(STYLE, styleUpdates)), updatePayload;
|
||||
}(domElement, type1, oldProps1, newProps1));
|
||||
}(instance, type, oldProps, newProps));
|
||||
workInProgress.updateQueue = updatePayload, updatePayload && markUpdate(workInProgress);
|
||||
}
|
||||
}, updateHostText$1 = function(current, workInProgress, oldText, newText) {
|
||||
@ -7631,7 +7635,7 @@
|
||||
}
|
||||
}
|
||||
}(fiber), null;
|
||||
markRootUpdated(root, lane, eventTime), root === workInProgressRoot && (workInProgressRootUpdatedLanes = workInProgressRootUpdatedLanes | lane, 4 === workInProgressRootExitStatus && markRootSuspended$1(root, workInProgressRootRenderLanes));
|
||||
markRootUpdated(root, lane, eventTime), root === workInProgressRoot && (workInProgressRootUpdatedLanes |= lane, 4 === workInProgressRootExitStatus && markRootSuspended$1(root, workInProgressRootRenderLanes));
|
||||
var priorityLevel = getCurrentPriorityLevel();
|
||||
1 === lane ? (8 & executionContext) != 0 && (48 & executionContext) == 0 ? (schedulePendingInteractions(root, lane), performSyncWorkOnRoot(root)) : (ensureRootIsScheduled(root, eventTime), schedulePendingInteractions(root, lane), 0 === executionContext && (resetRenderTimer(), flushSyncCallbackQueue())) : ((4 & executionContext) != 0 && (98 === priorityLevel || 99 === priorityLevel) && (null === rootsWithPendingDiscreteUpdates ? rootsWithPendingDiscreteUpdates = new Set([
|
||||
root
|
||||
@ -7697,7 +7701,7 @@
|
||||
}
|
||||
function performConcurrentWorkOnRoot(root) {
|
||||
if (currentEventTime = -1, currentEventWipLanes = 0, currentEventPendingLanes = 0, (48 & executionContext) != 0) throw Error("Should not already be working.");
|
||||
var a, originalCallbackNode = root.callbackNode;
|
||||
var originalCallbackNode = root.callbackNode;
|
||||
if (flushPassiveEffects() && root.callbackNode !== originalCallbackNode) return null;
|
||||
var lanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : 0);
|
||||
if (0 === lanes) return null;
|
||||
@ -7716,7 +7720,7 @@
|
||||
}
|
||||
return (resetContextDependencies(), popInteractions(prevInteractions), ReactCurrentDispatcher$2.current = prevDispatcher, executionContext = prevExecutionContext, null !== workInProgress) ? 0 : (workInProgressRoot = null, workInProgressRootRenderLanes = 0, workInProgressRootExitStatus);
|
||||
}(root, lanes);
|
||||
if (a = workInProgressRootIncludedLanes, (a & workInProgressRootUpdatedLanes) != 0) prepareFreshStack(root, 0);
|
||||
if ((workInProgressRootIncludedLanes & workInProgressRootUpdatedLanes) != 0) prepareFreshStack(root, 0);
|
||||
else if (0 !== exitStatus) {
|
||||
if (2 === exitStatus && (executionContext |= 64, root.hydrate && (root.hydrate = !1, clearContainer(root.containerInfo)), 0 !== (lanes = getLanesToRetrySynchronouslyOnError(root)) && (exitStatus = renderRootSync(root, lanes))), 1 === exitStatus) {
|
||||
var fatalError = workInProgressRootFatalError;
|
||||
@ -7783,12 +7787,12 @@
|
||||
var index = pickArbitraryLaneIndex(lanes), lane = 1 << index;
|
||||
expirationTimes[index] = -1, lanes &= ~lane;
|
||||
}
|
||||
}(root, suspendedLanes = (suspendedLanes = suspendedLanes & ~workInProgressRootPingedLanes) & ~workInProgressRootUpdatedLanes);
|
||||
}(root, suspendedLanes = (suspendedLanes &= ~workInProgressRootPingedLanes) & ~workInProgressRootUpdatedLanes);
|
||||
}
|
||||
function performSyncWorkOnRoot(root) {
|
||||
if ((48 & executionContext) != 0) throw Error("Should not already be working.");
|
||||
if (flushPassiveEffects(), root === workInProgressRoot && (a = root.expiredLanes, (a & workInProgressRootRenderLanes) != 0) ? (exitStatus = renderRootSync(root, lanes = workInProgressRootRenderLanes), a1 = workInProgressRootIncludedLanes, (a1 & workInProgressRootUpdatedLanes) != 0 && (lanes = getNextLanes(root, lanes), exitStatus = renderRootSync(root, lanes))) : (lanes = getNextLanes(root, 0), exitStatus = renderRootSync(root, lanes)), 0 !== root.tag && 2 === exitStatus && (executionContext |= 64, root.hydrate && (root.hydrate = !1, clearContainer(root.containerInfo)), 0 !== (lanes = getLanesToRetrySynchronouslyOnError(root)) && (exitStatus = renderRootSync(root, lanes))), 1 === exitStatus) {
|
||||
var a, a1, lanes, exitStatus, fatalError = workInProgressRootFatalError;
|
||||
if (flushPassiveEffects(), root === workInProgressRoot && (a = root.expiredLanes, (a & workInProgressRootRenderLanes) != 0) ? (exitStatus = renderRootSync(root, lanes = workInProgressRootRenderLanes), (workInProgressRootIncludedLanes & workInProgressRootUpdatedLanes) != 0 && (lanes = getNextLanes(root, lanes), exitStatus = renderRootSync(root, lanes))) : (lanes = getNextLanes(root, 0), exitStatus = renderRootSync(root, lanes)), 0 !== root.tag && 2 === exitStatus && (executionContext |= 64, root.hydrate && (root.hydrate = !1, clearContainer(root.containerInfo)), 0 !== (lanes = getLanesToRetrySynchronouslyOnError(root)) && (exitStatus = renderRootSync(root, lanes))), 1 === exitStatus) {
|
||||
var a, lanes, exitStatus, fatalError = workInProgressRootFatalError;
|
||||
throw prepareFreshStack(root, 0), markRootSuspended$1(root, lanes), ensureRootIsScheduled(root, now()), fatalError;
|
||||
}
|
||||
var finishedWork = root.current.alternate;
|
||||
@ -7824,7 +7828,7 @@
|
||||
}
|
||||
}
|
||||
function pushRenderLanes(fiber, lanes) {
|
||||
push(subtreeRenderLanesCursor, subtreeRenderLanes, fiber), subtreeRenderLanes = subtreeRenderLanes | lanes, workInProgressRootIncludedLanes = workInProgressRootIncludedLanes | lanes;
|
||||
push(subtreeRenderLanesCursor, subtreeRenderLanes, fiber), subtreeRenderLanes |= lanes, workInProgressRootIncludedLanes |= lanes;
|
||||
}
|
||||
function popRenderLanes(fiber) {
|
||||
subtreeRenderLanes = subtreeRenderLanesCursor.current, pop(subtreeRenderLanesCursor, fiber);
|
||||
@ -7970,13 +7974,13 @@
|
||||
if (24 !== completedWork.tag && 23 !== completedWork.tag || null === completedWork.memoizedState || (1073741824 & subtreeRenderLanes) != 0 || (4 & completedWork.mode) == 0) {
|
||||
var newChildLanes = 0;
|
||||
if ((8 & completedWork.mode) != 0) {
|
||||
for(var actualDuration = completedWork.actualDuration, treeBaseDuration = completedWork.selfBaseDuration, shouldBubbleActualDurations = null === completedWork.alternate || completedWork.child !== completedWork.alternate.child, child = completedWork.child; null !== child;)newChildLanes = newChildLanes | (child.lanes | child.childLanes), shouldBubbleActualDurations && (actualDuration += child.actualDuration), treeBaseDuration += child.treeBaseDuration, child = child.sibling;
|
||||
for(var actualDuration = completedWork.actualDuration, treeBaseDuration = completedWork.selfBaseDuration, shouldBubbleActualDurations = null === completedWork.alternate || completedWork.child !== completedWork.alternate.child, child = completedWork.child; null !== child;)newChildLanes |= child.lanes | child.childLanes, shouldBubbleActualDurations && (actualDuration += child.actualDuration), treeBaseDuration += child.treeBaseDuration, child = child.sibling;
|
||||
if (13 === completedWork.tag && null !== completedWork.memoizedState) {
|
||||
var primaryChildFragment = completedWork.child;
|
||||
null !== primaryChildFragment && (treeBaseDuration -= primaryChildFragment.treeBaseDuration);
|
||||
}
|
||||
completedWork.actualDuration = actualDuration, completedWork.treeBaseDuration = treeBaseDuration;
|
||||
} else for(var _child = completedWork.child; null !== _child;)newChildLanes = newChildLanes | (_child.lanes | _child.childLanes), _child = _child.sibling;
|
||||
} else for(var _child = completedWork.child; null !== _child;)newChildLanes |= _child.lanes | _child.childLanes, _child = _child.sibling;
|
||||
completedWork.childLanes = newChildLanes;
|
||||
}
|
||||
})(completedWork), null !== returnFiber && (2048 & returnFiber.flags) == 0 && (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));
|
||||
@ -8325,10 +8329,7 @@
|
||||
return;
|
||||
case 5:
|
||||
var _instance2 = finishedWork.stateNode;
|
||||
if (null === current && 4 & finishedWork.flags) {
|
||||
var type = finishedWork.type;
|
||||
shouldAutoFocusHostComponent(type, finishedWork.memoizedProps) && _instance2.focus();
|
||||
}
|
||||
if (null === current && 4 & finishedWork.flags) shouldAutoFocusHostComponent(finishedWork.type, finishedWork.memoizedProps) && _instance2.focus();
|
||||
return;
|
||||
case 6:
|
||||
case 4:
|
||||
@ -8467,7 +8468,7 @@
|
||||
var pingCache = root.pingCache;
|
||||
null !== pingCache && pingCache.delete(wakeable);
|
||||
var eventTime = requestEventTime();
|
||||
markRootPinged(root, pingedLanes), workInProgressRoot === root && (workInProgressRootRenderLanes & pingedLanes) === pingedLanes && (4 === workInProgressRootExitStatus || 3 === workInProgressRootExitStatus && includesOnlyRetries(workInProgressRootRenderLanes) && now() - globalMostRecentFallbackTime < 500 ? prepareFreshStack(root, 0) : workInProgressRootPingedLanes = workInProgressRootPingedLanes | pingedLanes), ensureRootIsScheduled(root, eventTime), schedulePendingInteractions(root, pingedLanes);
|
||||
markRootPinged(root, pingedLanes), workInProgressRoot === root && (workInProgressRootRenderLanes & pingedLanes) === pingedLanes && (4 === workInProgressRootExitStatus || 3 === workInProgressRootExitStatus && includesOnlyRetries(workInProgressRootRenderLanes) && now() - globalMostRecentFallbackTime < 500 ? prepareFreshStack(root, 0) : workInProgressRootPingedLanes |= pingedLanes), ensureRootIsScheduled(root, eventTime), schedulePendingInteractions(root, pingedLanes);
|
||||
}
|
||||
function resolveRetryWakeable(boundaryFiber, wakeable) {
|
||||
var retryCache, retryLane, eventTime, root, lane, mode;
|
||||
@ -8562,8 +8563,7 @@
|
||||
function startWorkOnPendingInteractions(root, lanes) {
|
||||
var interactions = new Set();
|
||||
if (root.pendingInteractionMap.forEach(function(scheduledInteractions, scheduledLane) {
|
||||
var a;
|
||||
a = lanes, (a & scheduledLane) != 0 && scheduledInteractions.forEach(function(interaction) {
|
||||
(lanes & scheduledLane) != 0 && scheduledInteractions.forEach(function(interaction) {
|
||||
return interactions.add(interaction);
|
||||
});
|
||||
}), root.memoizedInteractions = interactions, interactions.size > 0) {
|
||||
@ -8594,8 +8594,7 @@
|
||||
} finally{
|
||||
var pendingInteractionMap = root.pendingInteractionMap;
|
||||
pendingInteractionMap.forEach(function(scheduledInteractions, lane) {
|
||||
var a;
|
||||
a = remainingLanesAfterCommit, (a & lane) != 0 || (pendingInteractionMap.delete(lane), scheduledInteractions.forEach(function(interaction) {
|
||||
(remainingLanesAfterCommit & lane) != 0 || (pendingInteractionMap.delete(lane), scheduledInteractions.forEach(function(interaction) {
|
||||
if (interaction.__count--, null !== subscriber && 0 === interaction.__count) try {
|
||||
subscriber.onInteractionScheduledWorkCompleted(interaction);
|
||||
} catch (error) {
|
||||
@ -8840,7 +8839,7 @@
|
||||
function createFiberFromElement(element, mode, lanes) {
|
||||
var owner = null;
|
||||
owner = element._owner;
|
||||
var type = element.type, fiber = createFiberFromTypeAndProps(type, element.key, element.props, owner, mode, lanes);
|
||||
var fiber = createFiberFromTypeAndProps(element.type, element.key, element.props, owner, mode, lanes);
|
||||
return fiber._debugSource = element._source, fiber._debugOwner = element._owner, fiber;
|
||||
}
|
||||
function createFiberFromFragment(elements, mode, lanes, key) {
|
||||
|
@ -4,7 +4,7 @@ class Alpha {
|
||||
}
|
||||
}
|
||||
let x = 2, z = 4;
|
||||
console.log(2, 3, 4, 6, 4 * x, 3 * z, x, 3, z, new Alpha().num(), new class {
|
||||
console.log(2, 3, 4, 6, 8, 12, 2, 3, 4, new Alpha().num(), new class {
|
||||
num() {
|
||||
return 3;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user