Skip to content

Commit

Permalink
Support ref cleanup function for imperative handle refs (#28910)
Browse files Browse the repository at this point in the history
Support ref cleanup function for imperative handle refs

DiffTrain build for [ed71a3a](ed71a3a)
  • Loading branch information
kassens committed Apr 25, 2024
1 parent 0c0e017 commit 22b1a6b
Show file tree
Hide file tree
Showing 21 changed files with 175 additions and 135 deletions.
2 changes: 1 addition & 1 deletion compiled/facebook-www/REVISION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
cb151849e13f46ec64570519cb93d5939fb60cab
ed71a3ad2965617c27c6e7ca7577f15b8ca4152c
11 changes: 8 additions & 3 deletions compiled/facebook-www/ReactART-dev.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ function _assertThisInitialized(self) {
return self;
}

var ReactVersion = '19.0.0-www-classic-82bda7e4';
var ReactVersion = '19.0.0-www-classic-017c7d00';

var LegacyRoot = 0;
var ConcurrentRoot = 1;
Expand Down Expand Up @@ -9499,9 +9499,14 @@ function imperativeHandleEffect(create, ref) {
if (typeof ref === 'function') {
var refCallback = ref;
var inst = create();
refCallback(inst);
var refCleanup = refCallback(inst);
return function () {
refCallback(null);
if (typeof refCleanup === 'function') {
// $FlowFixMe[incompatible-use] we need to assume no parameters
refCleanup();
} else {
refCallback(null);
}
};
} else if (ref !== null && ref !== undefined) {
var refObject = ref;
Expand Down
11 changes: 8 additions & 3 deletions compiled/facebook-www/ReactART-dev.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ function _assertThisInitialized(self) {
return self;
}

var ReactVersion = '19.0.0-www-modern-3ebdca5b';
var ReactVersion = '19.0.0-www-modern-a482793f';

var LegacyRoot = 0;
var ConcurrentRoot = 1;
Expand Down Expand Up @@ -9288,9 +9288,14 @@ function imperativeHandleEffect(create, ref) {
if (typeof ref === 'function') {
var refCallback = ref;
var inst = create();
refCallback(inst);
var refCleanup = refCallback(inst);
return function () {
refCallback(null);
if (typeof refCleanup === 'function') {
// $FlowFixMe[incompatible-use] we need to assume no parameters
refCleanup();
} else {
refCallback(null);
}
};
} else if (ref !== null && ref !== undefined) {
var refObject = ref;
Expand Down
19 changes: 9 additions & 10 deletions compiled/facebook-www/ReactART-prod.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -3243,14 +3243,13 @@ function updateLayoutEffect(create, deps) {
return updateEffectImpl(4, 4, create, deps);
}
function imperativeHandleEffect(create, ref) {
if ("function" === typeof ref)
return (
(create = create()),
ref(create),
function () {
ref(null);
}
);
if ("function" === typeof ref) {
create = create();
var refCleanup = ref(create);
return function () {
"function" === typeof refCleanup ? refCleanup() : ref(null);
};
}
if (null !== ref && void 0 !== ref)
return (
(create = create()),
Expand Down Expand Up @@ -10628,7 +10627,7 @@ var slice = Array.prototype.slice,
return null;
},
bundleType: 0,
version: "19.0.0-www-classic-6eb34c6f",
version: "19.0.0-www-classic-7fa474dd",
rendererPackageName: "react-art"
};
var internals$jscomp$inline_1331 = {
Expand Down Expand Up @@ -10659,7 +10658,7 @@ var internals$jscomp$inline_1331 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-classic-6eb34c6f"
reconcilerVersion: "19.0.0-www-classic-7fa474dd"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_1332 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
Expand Down
19 changes: 9 additions & 10 deletions compiled/facebook-www/ReactART-prod.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -3041,14 +3041,13 @@ function updateLayoutEffect(create, deps) {
return updateEffectImpl(4, 4, create, deps);
}
function imperativeHandleEffect(create, ref) {
if ("function" === typeof ref)
return (
(create = create()),
ref(create),
function () {
ref(null);
}
);
if ("function" === typeof ref) {
create = create();
var refCleanup = ref(create);
return function () {
"function" === typeof refCleanup ? refCleanup() : ref(null);
};
}
if (null !== ref && void 0 !== ref)
return (
(create = create()),
Expand Down Expand Up @@ -10107,7 +10106,7 @@ var slice = Array.prototype.slice,
return null;
},
bundleType: 0,
version: "19.0.0-www-modern-fad207b4",
version: "19.0.0-www-modern-f1a1a01e",
rendererPackageName: "react-art"
};
var internals$jscomp$inline_1316 = {
Expand Down Expand Up @@ -10138,7 +10137,7 @@ var internals$jscomp$inline_1316 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-modern-fad207b4"
reconcilerVersion: "19.0.0-www-modern-f1a1a01e"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_1317 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
Expand Down
11 changes: 8 additions & 3 deletions compiled/facebook-www/ReactDOM-dev.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -13179,9 +13179,14 @@ function imperativeHandleEffect(create, ref) {
if (typeof ref === 'function') {
var refCallback = ref;
var inst = create();
refCallback(inst);
var refCleanup = refCallback(inst);
return function () {
refCallback(null);
if (typeof refCleanup === 'function') {
// $FlowFixMe[incompatible-use] we need to assume no parameters
refCleanup();
} else {
refCallback(null);
}
};
} else if (ref !== null && ref !== undefined) {
var refObject = ref;
Expand Down Expand Up @@ -30838,7 +30843,7 @@ identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, transition
return root;
}

var ReactVersion = '19.0.0-www-classic-fa4f664d';
var ReactVersion = '19.0.0-www-classic-ef216d44';

function createPortal$1(children, containerInfo, // TODO: figure out the API for cross-renderer implementation.
implementation) {
Expand Down
11 changes: 8 additions & 3 deletions compiled/facebook-www/ReactDOM-dev.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -12920,9 +12920,14 @@ function imperativeHandleEffect(create, ref) {
if (typeof ref === 'function') {
var refCallback = ref;
var inst = create();
refCallback(inst);
var refCleanup = refCallback(inst);
return function () {
refCallback(null);
if (typeof refCleanup === 'function') {
// $FlowFixMe[incompatible-use] we need to assume no parameters
refCleanup();
} else {
refCallback(null);
}
};
} else if (ref !== null && ref !== undefined) {
var refObject = ref;
Expand Down Expand Up @@ -30013,7 +30018,7 @@ identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, transition
return root;
}

var ReactVersion = '19.0.0-www-modern-e85a4fdc';
var ReactVersion = '19.0.0-www-modern-cc3909ff';

function createPortal$1(children, containerInfo, // TODO: figure out the API for cross-renderer implementation.
implementation) {
Expand Down
21 changes: 10 additions & 11 deletions compiled/facebook-www/ReactDOM-prod.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -4009,14 +4009,13 @@ function updateLayoutEffect(create, deps) {
return updateEffectImpl(4, 4, create, deps);
}
function imperativeHandleEffect(create, ref) {
if ("function" === typeof ref)
return (
(create = create()),
ref(create),
function () {
ref(null);
}
);
if ("function" === typeof ref) {
create = create();
var refCleanup = ref(create);
return function () {
"function" === typeof refCleanup ? refCleanup() : ref(null);
};
}
if (null !== ref && void 0 !== ref)
return (
(create = create()),
Expand Down Expand Up @@ -17002,7 +17001,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1725 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "19.0.0-www-classic-ea2724fc",
version: "19.0.0-www-classic-4a0aa6db",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2169 = {
Expand Down Expand Up @@ -17032,7 +17031,7 @@ var internals$jscomp$inline_2169 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-classic-ea2724fc"
reconcilerVersion: "19.0.0-www-classic-4a0aa6db"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2170 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
Expand Down Expand Up @@ -17536,4 +17535,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.0.0-www-classic-ea2724fc";
exports.version = "19.0.0-www-classic-4a0aa6db";
21 changes: 10 additions & 11 deletions compiled/facebook-www/ReactDOM-prod.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -3797,14 +3797,13 @@ function updateLayoutEffect(create, deps) {
return updateEffectImpl(4, 4, create, deps);
}
function imperativeHandleEffect(create, ref) {
if ("function" === typeof ref)
return (
(create = create()),
ref(create),
function () {
ref(null);
}
);
if ("function" === typeof ref) {
create = create();
var refCleanup = ref(create);
return function () {
"function" === typeof refCleanup ? refCleanup() : ref(null);
};
}
if (null !== ref && void 0 !== ref)
return (
(create = create()),
Expand Down Expand Up @@ -16369,7 +16368,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1692 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "19.0.0-www-modern-49e9a3fc",
version: "19.0.0-www-modern-5d32f0b5",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2159 = {
Expand Down Expand Up @@ -16399,7 +16398,7 @@ var internals$jscomp$inline_2159 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-modern-49e9a3fc"
reconcilerVersion: "19.0.0-www-modern-5d32f0b5"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2160 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
Expand Down Expand Up @@ -16773,4 +16772,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.0.0-www-modern-49e9a3fc";
exports.version = "19.0.0-www-modern-5d32f0b5";
21 changes: 10 additions & 11 deletions compiled/facebook-www/ReactDOM-profiling.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -4145,14 +4145,13 @@ function updateLayoutEffect(create, deps) {
return updateEffectImpl(4, 4, create, deps);
}
function imperativeHandleEffect(create, ref) {
if ("function" === typeof ref)
return (
(create = create()),
ref(create),
function () {
ref(null);
}
);
if ("function" === typeof ref) {
create = create();
var refCleanup = ref(create);
return function () {
"function" === typeof refCleanup ? refCleanup() : ref(null);
};
}
if (null !== ref && void 0 !== ref)
return (
(create = create()),
Expand Down Expand Up @@ -17750,7 +17749,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1811 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "19.0.0-www-classic-9ca8043c",
version: "19.0.0-www-classic-193f2253",
rendererPackageName: "react-dom"
};
(function (internals) {
Expand Down Expand Up @@ -17794,7 +17793,7 @@ var devToolsConfig$jscomp$inline_1811 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-classic-9ca8043c"
reconcilerVersion: "19.0.0-www-classic-193f2253"
});
function ReactDOMRoot(internalRoot) {
this._internalRoot = internalRoot;
Expand Down Expand Up @@ -18285,7 +18284,7 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.0.0-www-classic-9ca8043c";
exports.version = "19.0.0-www-classic-193f2253";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
Expand Down
21 changes: 10 additions & 11 deletions compiled/facebook-www/ReactDOM-profiling.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -3933,14 +3933,13 @@ function updateLayoutEffect(create, deps) {
return updateEffectImpl(4, 4, create, deps);
}
function imperativeHandleEffect(create, ref) {
if ("function" === typeof ref)
return (
(create = create()),
ref(create),
function () {
ref(null);
}
);
if ("function" === typeof ref) {
create = create();
var refCleanup = ref(create);
return function () {
"function" === typeof refCleanup ? refCleanup() : ref(null);
};
}
if (null !== ref && void 0 !== ref)
return (
(create = create()),
Expand Down Expand Up @@ -17100,7 +17099,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1778 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "19.0.0-www-modern-202bde77",
version: "19.0.0-www-modern-18e566dc",
rendererPackageName: "react-dom"
};
(function (internals) {
Expand Down Expand Up @@ -17144,7 +17143,7 @@ var devToolsConfig$jscomp$inline_1778 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-modern-202bde77"
reconcilerVersion: "19.0.0-www-modern-18e566dc"
});
function ReactDOMRoot(internalRoot) {
this._internalRoot = internalRoot;
Expand Down Expand Up @@ -17505,7 +17504,7 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.0.0-www-modern-202bde77";
exports.version = "19.0.0-www-modern-18e566dc";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
Expand Down
Loading

0 comments on commit 22b1a6b

Please sign in to comment.