@memlab/lens 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +136 -38
- package/dist/core/react-memory-scan.d.ts +1 -0
- package/dist/extensions/dom-visualization-extension.d.ts +1 -0
- package/dist/index.js +9 -18
- package/dist/memlens.lib.bundle.js +128 -79
- package/dist/memlens.lib.bundle.min.js +26 -1
- package/dist/memlens.run.bundle.js +172 -88
- package/dist/memlens.run.bundle.min.js +26 -1
- package/dist/visual/dom-element-visualizer-interactive.d.ts +1 -0
- package/dist/visual/dom-element-visualizer.d.ts +1 -0
- package/package.json +11 -2
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license MemLab
|
|
3
|
+
* MIT License
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
+
*
|
|
7
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
9
|
+
* in the Software without restriction, including without limitation the rights
|
|
10
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
12
|
+
* furnished to do so, subject to the following conditions:
|
|
13
|
+
*
|
|
14
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
15
|
+
* copies or substantial portions of the Software.
|
|
16
|
+
*
|
|
17
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
23
|
+
* SOFTWARE.
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
1
26
|
/******/ (() => { // webpackBootstrap
|
|
2
27
|
/******/ "use strict";
|
|
3
28
|
/******/ var __webpack_modules__ = ({
|
|
@@ -40,15 +65,25 @@ class DOMVisualizationExtension extends basic_extension_1.BasicExtension {
|
|
|
40
65
|
}
|
|
41
66
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
42
67
|
afterScan(_analysisResult) {
|
|
68
|
+
var _a;
|
|
43
69
|
// const start = Date.now();
|
|
44
70
|
const scanner = this.scanner;
|
|
45
71
|
if (scanner.isDevMode()) {
|
|
46
72
|
const detachedDOMInfo = scanner.getDetachedDOMInfo();
|
|
47
|
-
__classPrivateFieldGet(this, _DOMVisualizationExtension_domVirtualizer, "f").repaint(detachedDOMInfo);
|
|
73
|
+
(_a = __classPrivateFieldGet(this, _DOMVisualizationExtension_domVirtualizer, "f")) === null || _a === void 0 ? void 0 : _a.repaint(detachedDOMInfo);
|
|
48
74
|
}
|
|
49
75
|
// const end = Date.now();
|
|
50
76
|
// console.log(`repaint took ${end - start}ms`);
|
|
51
77
|
}
|
|
78
|
+
cleanup() {
|
|
79
|
+
// Clean up the visualizer to prevent memory leaks
|
|
80
|
+
if (__classPrivateFieldGet(this, _DOMVisualizationExtension_domVirtualizer, "f") &&
|
|
81
|
+
typeof __classPrivateFieldGet(this, _DOMVisualizationExtension_domVirtualizer, "f").cleanup === 'function') {
|
|
82
|
+
__classPrivateFieldGet(this, _DOMVisualizationExtension_domVirtualizer, "f").cleanup();
|
|
83
|
+
}
|
|
84
|
+
// Clear the reference
|
|
85
|
+
__classPrivateFieldSet(this, _DOMVisualizationExtension_domVirtualizer, null, "f");
|
|
86
|
+
}
|
|
52
87
|
}
|
|
53
88
|
exports.DOMVisualizationExtension = DOMVisualizationExtension;
|
|
54
89
|
_DOMVisualizationExtension_domVirtualizer = new WeakMap();
|
|
@@ -151,7 +186,7 @@ class DOMObserver {
|
|
|
151
186
|
if (document.body) {
|
|
152
187
|
// observe changes in DOM tree
|
|
153
188
|
(_a = __classPrivateFieldGet(this, _DOMObserver_mutationObserver, "f")) === null || _a === void 0 ? void 0 : _a.observe(document.body, {
|
|
154
|
-
childList: true,
|
|
189
|
+
childList: true,
|
|
155
190
|
subtree: true, // Observe all descendants
|
|
156
191
|
});
|
|
157
192
|
}
|
|
@@ -275,11 +310,15 @@ class DOMElementVisualizer {
|
|
|
275
310
|
_DOMElementVisualizer_canvas.set(this, void 0);
|
|
276
311
|
__classPrivateFieldSet(this, _DOMElementVisualizer_canvas, null, "f");
|
|
277
312
|
}
|
|
313
|
+
cleanup() {
|
|
314
|
+
__classPrivateFieldGet(this, _DOMElementVisualizer_instances, "m", _DOMElementVisualizer_cleanup).call(this);
|
|
315
|
+
}
|
|
278
316
|
repaint(domElementInfoList) {
|
|
279
317
|
__classPrivateFieldGet(this, _DOMElementVisualizer_instances, "m", _DOMElementVisualizer_cleanup).call(this);
|
|
280
318
|
__classPrivateFieldGet(this, _DOMElementVisualizer_instances, "m", _DOMElementVisualizer_paint).call(this, domElementInfoList);
|
|
281
319
|
}
|
|
282
320
|
}
|
|
321
|
+
exports["default"] = DOMElementVisualizer;
|
|
283
322
|
_DOMElementVisualizer_canvas = new WeakMap(), _DOMElementVisualizer_instances = new WeakSet(), _DOMElementVisualizer_paint = function _DOMElementVisualizer_paint(domElementInfoList) {
|
|
284
323
|
if (!__classPrivateFieldGet(this, _DOMElementVisualizer_canvas, "f")) {
|
|
285
324
|
const canvas = __classPrivateFieldGet(this, _DOMElementVisualizer_instances, "m", _DOMElementVisualizer_createAndAppendCanvas).call(this);
|
|
@@ -370,7 +409,6 @@ _DOMElementVisualizer_canvas = new WeakMap(), _DOMElementVisualizer_instances =
|
|
|
370
409
|
}
|
|
371
410
|
__classPrivateFieldSet(this, _DOMElementVisualizer_canvas, null, "f");
|
|
372
411
|
};
|
|
373
|
-
exports["default"] = DOMElementVisualizer;
|
|
374
412
|
|
|
375
413
|
|
|
376
414
|
/***/ }),
|
|
@@ -433,7 +471,24 @@ class DOMElementVisualizerInteractive extends dom_element_visualizer_1.default {
|
|
|
433
471
|
(0, visual_utils_1.tryToAttachOverlay)(__classPrivateFieldGet(this, _DOMElementVisualizerInteractive_visualizationOverlayDiv, "f"));
|
|
434
472
|
// tryToAttachOverlay(this.#controlWidget);
|
|
435
473
|
}
|
|
474
|
+
cleanup() {
|
|
475
|
+
// Clean up the visualization overlay
|
|
476
|
+
if (__classPrivateFieldGet(this, _DOMElementVisualizerInteractive_visualizationOverlayDiv, "f")) {
|
|
477
|
+
__classPrivateFieldGet(this, _DOMElementVisualizerInteractive_visualizationOverlayDiv, "f").remove();
|
|
478
|
+
}
|
|
479
|
+
// Clean up the control widget
|
|
480
|
+
if (__classPrivateFieldGet(this, _DOMElementVisualizerInteractive_controlWidget, "f")) {
|
|
481
|
+
__classPrivateFieldGet(this, _DOMElementVisualizerInteractive_controlWidget, "f").remove();
|
|
482
|
+
}
|
|
483
|
+
// Clear all element references
|
|
484
|
+
__classPrivateFieldGet(this, _DOMElementVisualizerInteractive_elementIdToRectangle, "f").clear();
|
|
485
|
+
__classPrivateFieldGet(this, _DOMElementVisualizerInteractive_blockedElementIds, "f").clear();
|
|
486
|
+
__classPrivateFieldSet(this, _DOMElementVisualizerInteractive_updateDataCallbacks, [], "f");
|
|
487
|
+
// Call parent cleanup
|
|
488
|
+
super.cleanup();
|
|
489
|
+
}
|
|
436
490
|
}
|
|
491
|
+
exports["default"] = DOMElementVisualizerInteractive;
|
|
437
492
|
_DOMElementVisualizerInteractive_elementIdToRectangle = new WeakMap(), _DOMElementVisualizerInteractive_visualizationOverlayDiv = new WeakMap(), _DOMElementVisualizerInteractive_controlWidget = new WeakMap(), _DOMElementVisualizerInteractive_blockedElementIds = new WeakMap(), _DOMElementVisualizerInteractive_currentVisualData = new WeakMap(), _DOMElementVisualizerInteractive_hideAllRef = new WeakMap(), _DOMElementVisualizerInteractive_updateDataCallbacks = new WeakMap(), _DOMElementVisualizerInteractive_instances = new WeakSet(), _DOMElementVisualizerInteractive_listenToKeyboardEvent = function _DOMElementVisualizerInteractive_listenToKeyboardEvent() {
|
|
438
493
|
document.addEventListener('keydown', event => {
|
|
439
494
|
if (event.key === 'd' || event.key === 'D') {
|
|
@@ -678,7 +733,6 @@ _DOMElementVisualizerInteractive_elementIdToRectangle = new WeakMap(), _DOMEleme
|
|
|
678
733
|
cb(Object.assign({}, __classPrivateFieldGet(this, _DOMElementVisualizerInteractive_currentVisualData, "f")));
|
|
679
734
|
}
|
|
680
735
|
};
|
|
681
|
-
exports["default"] = DOMElementVisualizerInteractive;
|
|
682
736
|
|
|
683
737
|
|
|
684
738
|
/***/ }),
|
|
@@ -703,23 +757,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
703
757
|
}) : function(o, v) {
|
|
704
758
|
o["default"] = v;
|
|
705
759
|
});
|
|
706
|
-
var __importStar = (this && this.__importStar) ||
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
return ownKeys(o);
|
|
714
|
-
};
|
|
715
|
-
return function (mod) {
|
|
716
|
-
if (mod && mod.__esModule) return mod;
|
|
717
|
-
var result = {};
|
|
718
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
719
|
-
__setModuleDefault(result, mod);
|
|
720
|
-
return result;
|
|
721
|
-
};
|
|
722
|
-
})();
|
|
760
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
761
|
+
if (mod && mod.__esModule) return mod;
|
|
762
|
+
var result = {};
|
|
763
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
764
|
+
__setModuleDefault(result, mod);
|
|
765
|
+
return result;
|
|
766
|
+
};
|
|
723
767
|
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
724
768
|
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
725
769
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
@@ -745,7 +789,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
745
789
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
746
790
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
747
791
|
};
|
|
748
|
-
var _ReactMemoryScan_instances, _ReactMemoryScan_elementWeakRefs, _ReactMemoryScan_isActivated, _ReactMemoryScan_intervalId, _ReactMemoryScan_elementToBoundingRects, _ReactMemoryScan_elementToComponentStack, _ReactMemoryScan_knownFiberNodes, _ReactMemoryScan_fiberAnalyzer, _ReactMemoryScan_isDevMode, _ReactMemoryScan_subscribers, _ReactMemoryScan_extensions, _ReactMemoryScan_scanIntervalMs, _ReactMemoryScan_domObserver, _ReactMemoryScan_eventListenerTracker, _ReactMemoryScan_log, _ReactMemoryScan_notifySubscribers, _ReactMemoryScan_notifyExtensionsBeforeScan, _ReactMemoryScan_notifyExtensionsAfterScan, _ReactMemoryScan_scanCycle, _ReactMemoryScan_updateElementToComponentInfo, _ReactMemoryScan_getTrackedDOMRefs, _ReactMemoryScan_runGC, _ReactMemoryScan_scanEventListenerLeaks;
|
|
792
|
+
var _ReactMemoryScan_instances, _ReactMemoryScan_elementWeakRefs, _ReactMemoryScan_isActivated, _ReactMemoryScan_intervalId, _ReactMemoryScan_elementToBoundingRects, _ReactMemoryScan_elementToComponentStack, _ReactMemoryScan_knownFiberNodes, _ReactMemoryScan_fiberAnalyzer, _ReactMemoryScan_isDevMode, _ReactMemoryScan_subscribers, _ReactMemoryScan_extensions, _ReactMemoryScan_scanIntervalMs, _ReactMemoryScan_domObserver, _ReactMemoryScan_eventListenerTracker, _ReactMemoryScan_isDisposed, _ReactMemoryScan_log, _ReactMemoryScan_notifySubscribers, _ReactMemoryScan_notifyExtensionsBeforeScan, _ReactMemoryScan_notifyExtensionsAfterScan, _ReactMemoryScan_scanCycle, _ReactMemoryScan_updateElementToComponentInfo, _ReactMemoryScan_getTrackedDOMRefs, _ReactMemoryScan_runGC, _ReactMemoryScan_scanEventListenerLeaks;
|
|
749
793
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
750
794
|
const utils = __importStar(__webpack_require__(476));
|
|
751
795
|
const react_fiber_analysis_1 = __importDefault(__webpack_require__(302));
|
|
@@ -770,6 +814,7 @@ class ReactMemoryScan {
|
|
|
770
814
|
_ReactMemoryScan_scanIntervalMs.set(this, void 0);
|
|
771
815
|
_ReactMemoryScan_domObserver.set(this, void 0);
|
|
772
816
|
_ReactMemoryScan_eventListenerTracker.set(this, void 0);
|
|
817
|
+
_ReactMemoryScan_isDisposed.set(this, void 0);
|
|
773
818
|
__classPrivateFieldSet(this, _ReactMemoryScan_elementWeakRefs, [], "f");
|
|
774
819
|
__classPrivateFieldSet(this, _ReactMemoryScan_isActivated, false, "f");
|
|
775
820
|
__classPrivateFieldSet(this, _ReactMemoryScan_elementToBoundingRects, new WeakMap(), "f");
|
|
@@ -778,8 +823,9 @@ class ReactMemoryScan {
|
|
|
778
823
|
__classPrivateFieldSet(this, _ReactMemoryScan_eventListenerTracker, options.trackEventListenerLeaks
|
|
779
824
|
? event_listener_tracker_1.EventListenerTracker.getInstance()
|
|
780
825
|
: null, "f");
|
|
826
|
+
__classPrivateFieldSet(this, _ReactMemoryScan_intervalId, null, "f");
|
|
827
|
+
__classPrivateFieldSet(this, _ReactMemoryScan_isDisposed, false, "f");
|
|
781
828
|
__classPrivateFieldSet(this, _ReactMemoryScan_fiberAnalyzer, new react_fiber_analysis_1.default(), "f");
|
|
782
|
-
__classPrivateFieldSet(this, _ReactMemoryScan_intervalId, 0, "f");
|
|
783
829
|
__classPrivateFieldSet(this, _ReactMemoryScan_isDevMode, (_a = options.isDevMode) !== null && _a !== void 0 ? _a : false, "f");
|
|
784
830
|
__classPrivateFieldSet(this, _ReactMemoryScan_subscribers, (_b = options.subscribers) !== null && _b !== void 0 ? _b : [], "f");
|
|
785
831
|
__classPrivateFieldSet(this, _ReactMemoryScan_extensions, (_c = options.extensions) !== null && _c !== void 0 ? _c : [], "f");
|
|
@@ -800,6 +846,10 @@ class ReactMemoryScan {
|
|
|
800
846
|
__classPrivateFieldSet(this, _ReactMemoryScan_extensions, __classPrivateFieldGet(this, _ReactMemoryScan_extensions, "f").filter(e => e !== extension), "f");
|
|
801
847
|
}
|
|
802
848
|
start() {
|
|
849
|
+
if (__classPrivateFieldGet(this, _ReactMemoryScan_isDisposed, "f")) {
|
|
850
|
+
console.warn('[Memory] ReactMemoryScan has been disposed and cannot be started again');
|
|
851
|
+
return;
|
|
852
|
+
}
|
|
803
853
|
__classPrivateFieldSet(this, _ReactMemoryScan_isActivated, true, "f");
|
|
804
854
|
__classPrivateFieldSet(this, _ReactMemoryScan_intervalId, setInterval(__classPrivateFieldGet(this, _ReactMemoryScan_instances, "m", _ReactMemoryScan_scanCycle).bind(this), __classPrivateFieldGet(this, _ReactMemoryScan_scanIntervalMs, "f")), "f");
|
|
805
855
|
if (config_1.config.features.enableMutationObserver) {
|
|
@@ -818,11 +868,45 @@ class ReactMemoryScan {
|
|
|
818
868
|
__classPrivateFieldSet(this, _ReactMemoryScan_isActivated, false, "f");
|
|
819
869
|
}
|
|
820
870
|
stop() {
|
|
821
|
-
var _a;
|
|
822
871
|
__classPrivateFieldSet(this, _ReactMemoryScan_isActivated, false, "f");
|
|
823
|
-
|
|
872
|
+
// Clear the interval
|
|
873
|
+
if (__classPrivateFieldGet(this, _ReactMemoryScan_intervalId, "f") !== null) {
|
|
874
|
+
clearInterval(__classPrivateFieldGet(this, _ReactMemoryScan_intervalId, "f"));
|
|
875
|
+
__classPrivateFieldSet(this, _ReactMemoryScan_intervalId, null, "f");
|
|
876
|
+
}
|
|
877
|
+
// Clear element references to allow garbage collection
|
|
824
878
|
__classPrivateFieldSet(this, _ReactMemoryScan_elementWeakRefs, [], "f");
|
|
825
|
-
(
|
|
879
|
+
__classPrivateFieldSet(this, _ReactMemoryScan_knownFiberNodes, [], "f");
|
|
880
|
+
// Stop DOM observer
|
|
881
|
+
if (__classPrivateFieldGet(this, _ReactMemoryScan_domObserver, "f")) {
|
|
882
|
+
__classPrivateFieldGet(this, _ReactMemoryScan_domObserver, "f").stopMonitoring();
|
|
883
|
+
__classPrivateFieldSet(this, _ReactMemoryScan_domObserver, null, "f");
|
|
884
|
+
}
|
|
885
|
+
// Clear WeakMaps to allow garbage collection
|
|
886
|
+
__classPrivateFieldSet(this, _ReactMemoryScan_elementToBoundingRects, new WeakMap(), "f");
|
|
887
|
+
__classPrivateFieldSet(this, _ReactMemoryScan_elementToComponentStack, new WeakMap(), "f");
|
|
888
|
+
console.log('[Memory] ReactMemoryScan stopped');
|
|
889
|
+
}
|
|
890
|
+
dispose() {
|
|
891
|
+
// Stop all monitoring
|
|
892
|
+
this.stop();
|
|
893
|
+
// Clear all subscribers
|
|
894
|
+
__classPrivateFieldSet(this, _ReactMemoryScan_subscribers, [], "f");
|
|
895
|
+
// Clean up all extensions
|
|
896
|
+
for (const extension of __classPrivateFieldGet(this, _ReactMemoryScan_extensions, "f")) {
|
|
897
|
+
if (extension && typeof extension.cleanup === 'function') {
|
|
898
|
+
extension.cleanup();
|
|
899
|
+
}
|
|
900
|
+
}
|
|
901
|
+
__classPrivateFieldSet(this, _ReactMemoryScan_extensions, [], "f");
|
|
902
|
+
// Dispose event listener tracker if it exists
|
|
903
|
+
if (__classPrivateFieldGet(this, _ReactMemoryScan_eventListenerTracker, "f")) {
|
|
904
|
+
__classPrivateFieldGet(this, _ReactMemoryScan_eventListenerTracker, "f").destroy();
|
|
905
|
+
__classPrivateFieldSet(this, _ReactMemoryScan_eventListenerTracker, null, "f");
|
|
906
|
+
}
|
|
907
|
+
// Mark as disposed to prevent reuse
|
|
908
|
+
__classPrivateFieldSet(this, _ReactMemoryScan_isDisposed, true, "f");
|
|
909
|
+
console.log('[Memory] ReactMemoryScan disposed');
|
|
826
910
|
}
|
|
827
911
|
recordBoundingRectangles(elementRefs) {
|
|
828
912
|
for (const elemRef of elementRefs) {
|
|
@@ -952,7 +1036,8 @@ class ReactMemoryScan {
|
|
|
952
1036
|
return scanResult;
|
|
953
1037
|
}
|
|
954
1038
|
}
|
|
955
|
-
|
|
1039
|
+
exports["default"] = ReactMemoryScan;
|
|
1040
|
+
_ReactMemoryScan_elementWeakRefs = new WeakMap(), _ReactMemoryScan_isActivated = new WeakMap(), _ReactMemoryScan_intervalId = new WeakMap(), _ReactMemoryScan_elementToBoundingRects = new WeakMap(), _ReactMemoryScan_elementToComponentStack = new WeakMap(), _ReactMemoryScan_knownFiberNodes = new WeakMap(), _ReactMemoryScan_fiberAnalyzer = new WeakMap(), _ReactMemoryScan_isDevMode = new WeakMap(), _ReactMemoryScan_subscribers = new WeakMap(), _ReactMemoryScan_extensions = new WeakMap(), _ReactMemoryScan_scanIntervalMs = new WeakMap(), _ReactMemoryScan_domObserver = new WeakMap(), _ReactMemoryScan_eventListenerTracker = new WeakMap(), _ReactMemoryScan_isDisposed = new WeakMap(), _ReactMemoryScan_instances = new WeakSet(), _ReactMemoryScan_log = function _ReactMemoryScan_log(...args) {
|
|
956
1041
|
if (__classPrivateFieldGet(this, _ReactMemoryScan_isDevMode, "f") && config_1.config.features.enableConsoleLogs) {
|
|
957
1042
|
utils.consoleLog(...args);
|
|
958
1043
|
}
|
|
@@ -1032,7 +1117,6 @@ _ReactMemoryScan_elementWeakRefs = new WeakMap(), _ReactMemoryScan_isActivated =
|
|
|
1032
1117
|
return eventListenerLeaks;
|
|
1033
1118
|
};
|
|
1034
1119
|
ReactMemoryScan.nextElementId = 0;
|
|
1035
|
-
exports["default"] = ReactMemoryScan;
|
|
1036
1120
|
class LeakedFiber {
|
|
1037
1121
|
constructor(fiber) {
|
|
1038
1122
|
this.leakedFiber = fiber;
|
|
@@ -1062,23 +1146,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
1062
1146
|
}) : function(o, v) {
|
|
1063
1147
|
o["default"] = v;
|
|
1064
1148
|
});
|
|
1065
|
-
var __importStar = (this && this.__importStar) ||
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
return ownKeys(o);
|
|
1073
|
-
};
|
|
1074
|
-
return function (mod) {
|
|
1075
|
-
if (mod && mod.__esModule) return mod;
|
|
1076
|
-
var result = {};
|
|
1077
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
1078
|
-
__setModuleDefault(result, mod);
|
|
1079
|
-
return result;
|
|
1080
|
-
};
|
|
1081
|
-
})();
|
|
1149
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
1150
|
+
if (mod && mod.__esModule) return mod;
|
|
1151
|
+
var result = {};
|
|
1152
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
1153
|
+
__setModuleDefault(result, mod);
|
|
1154
|
+
return result;
|
|
1155
|
+
};
|
|
1082
1156
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1083
1157
|
/**
|
|
1084
1158
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
@@ -1197,17 +1271,7 @@ exports["default"] = ReactFiberAnalyzer;
|
|
|
1197
1271
|
*/
|
|
1198
1272
|
var _a, _b, _c;
|
|
1199
1273
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1200
|
-
exports.WeakMapPlus = exports.WeakMapNoOp = exports.WeakSetNoOp = exports.WeakRefNoOp = void 0;
|
|
1201
|
-
exports.getNativeWeakMap = getNativeWeakMap;
|
|
1202
|
-
exports.getNativeWeakMapOrFallback = getNativeWeakMapOrFallback;
|
|
1203
|
-
exports.getNativeWeakSet = getNativeWeakSet;
|
|
1204
|
-
exports.getNativeWeakSetOrFallback = getNativeWeakSetOrFallback;
|
|
1205
|
-
exports.getNativeWeakRef = getNativeWeakRef;
|
|
1206
|
-
exports.getNativeWeakRefOrFallback = getNativeWeakRefOrFallback;
|
|
1207
|
-
exports.isWeakMapNative = isWeakMapNative;
|
|
1208
|
-
exports.isWeakSetNative = isWeakSetNative;
|
|
1209
|
-
exports.isWeakRefNative = isWeakRefNative;
|
|
1210
|
-
exports.isWeakAPINative = isWeakAPINative;
|
|
1274
|
+
exports.WeakMapPlus = exports.isWeakAPINative = exports.isWeakRefNative = exports.isWeakSetNative = exports.isWeakMapNative = exports.getNativeWeakRefOrFallback = exports.getNativeWeakRef = exports.getNativeWeakSetOrFallback = exports.getNativeWeakSet = exports.getNativeWeakMapOrFallback = exports.getNativeWeakMap = exports.WeakMapNoOp = exports.WeakSetNoOp = exports.WeakRefNoOp = void 0;
|
|
1211
1275
|
const globalScope = typeof window !== 'undefined' ? window : self;
|
|
1212
1276
|
const _weakMap = (_a = globalScope.WeakMap) !== null && _a !== void 0 ? _a : null;
|
|
1213
1277
|
const _weakMapIsNative = isWeakMapNative();
|
|
@@ -1271,21 +1335,27 @@ exports.WeakMapNoOp = WeakMapNoOp;
|
|
|
1271
1335
|
function getNativeWeakMap() {
|
|
1272
1336
|
return _weakMapIsNative ? _weakMap : null;
|
|
1273
1337
|
}
|
|
1338
|
+
exports.getNativeWeakMap = getNativeWeakMap;
|
|
1274
1339
|
function getNativeWeakMapOrFallback() {
|
|
1275
1340
|
return _weakMapIsNative && _weakMap ? _weakMap : WeakMapNoOp;
|
|
1276
1341
|
}
|
|
1342
|
+
exports.getNativeWeakMapOrFallback = getNativeWeakMapOrFallback;
|
|
1277
1343
|
function getNativeWeakSet() {
|
|
1278
1344
|
return _weakSetIsNative ? _weakSet : null;
|
|
1279
1345
|
}
|
|
1346
|
+
exports.getNativeWeakSet = getNativeWeakSet;
|
|
1280
1347
|
function getNativeWeakSetOrFallback() {
|
|
1281
1348
|
return _weakSetIsNative && _weakSet ? _weakSet : WeakSetNoOp;
|
|
1282
1349
|
}
|
|
1350
|
+
exports.getNativeWeakSetOrFallback = getNativeWeakSetOrFallback;
|
|
1283
1351
|
function getNativeWeakRef() {
|
|
1284
1352
|
return _weakRefIsNative ? _weakRef : null;
|
|
1285
1353
|
}
|
|
1354
|
+
exports.getNativeWeakRef = getNativeWeakRef;
|
|
1286
1355
|
function getNativeWeakRefOrFallback() {
|
|
1287
1356
|
return _weakRefIsNative && _weakRef ? _weakRef : WeakRefNoOp;
|
|
1288
1357
|
}
|
|
1358
|
+
exports.getNativeWeakRefOrFallback = getNativeWeakRefOrFallback;
|
|
1289
1359
|
function normalize(input) {
|
|
1290
1360
|
return typeof input.replace === 'function'
|
|
1291
1361
|
? input.replace(/\n/g, ' ').replace(/\s+/g, ' ')
|
|
@@ -1296,19 +1366,23 @@ function isWeakMapNative() {
|
|
|
1296
1366
|
typeof _weakMap.toString === 'function' &&
|
|
1297
1367
|
normalize(_weakMap.toString()) === 'function WeakMap() { [native code] }');
|
|
1298
1368
|
}
|
|
1369
|
+
exports.isWeakMapNative = isWeakMapNative;
|
|
1299
1370
|
function isWeakSetNative() {
|
|
1300
1371
|
return (_weakSet !== null &&
|
|
1301
1372
|
typeof _weakSet.toString === 'function' &&
|
|
1302
1373
|
normalize(_weakSet.toString()) === 'function WeakSet() { [native code] }');
|
|
1303
1374
|
}
|
|
1375
|
+
exports.isWeakSetNative = isWeakSetNative;
|
|
1304
1376
|
function isWeakRefNative() {
|
|
1305
1377
|
return (_weakRef !== null &&
|
|
1306
1378
|
typeof _weakRef.toString === 'function' &&
|
|
1307
1379
|
normalize(_weakRef.toString()) === 'function WeakRef() { [native code] }');
|
|
1308
1380
|
}
|
|
1381
|
+
exports.isWeakRefNative = isWeakRefNative;
|
|
1309
1382
|
function isWeakAPINative() {
|
|
1310
1383
|
return _weakAPIsAreNative;
|
|
1311
1384
|
}
|
|
1385
|
+
exports.isWeakAPINative = isWeakAPINative;
|
|
1312
1386
|
class WeakMapPlus {
|
|
1313
1387
|
constructor(options = {}) {
|
|
1314
1388
|
this.strongMap = null;
|
|
@@ -1465,7 +1539,7 @@ exports.WeakMapPlus = WeakMapPlus;
|
|
|
1465
1539
|
|
|
1466
1540
|
|
|
1467
1541
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1468
|
-
exports.createControlWidget =
|
|
1542
|
+
exports.createControlWidget = void 0;
|
|
1469
1543
|
const visual_utils_1 = __webpack_require__(498);
|
|
1470
1544
|
const status_text_1 = __webpack_require__(775);
|
|
1471
1545
|
const toggle_button_1 = __webpack_require__(946);
|
|
@@ -1505,6 +1579,7 @@ function createControlWidget(overlayDiv, hideAllRef, registerDataUpdateCallback)
|
|
|
1505
1579
|
header.appendChild(statusText);
|
|
1506
1580
|
return controlWidget;
|
|
1507
1581
|
}
|
|
1582
|
+
exports.createControlWidget = createControlWidget;
|
|
1508
1583
|
function supportDragging(controlWidget) {
|
|
1509
1584
|
let isDragging = false;
|
|
1510
1585
|
let offsetX = 0;
|
|
@@ -1577,7 +1652,7 @@ exports.config = {
|
|
|
1577
1652
|
|
|
1578
1653
|
|
|
1579
1654
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1580
|
-
exports.createOverlayDiv =
|
|
1655
|
+
exports.createOverlayDiv = void 0;
|
|
1581
1656
|
/**
|
|
1582
1657
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
1583
1658
|
*
|
|
@@ -1596,6 +1671,7 @@ function createOverlayDiv() {
|
|
|
1596
1671
|
overlayDiv.id = 'memory-visualization-overlay';
|
|
1597
1672
|
return overlayDiv;
|
|
1598
1673
|
}
|
|
1674
|
+
exports.createOverlayDiv = createOverlayDiv;
|
|
1599
1675
|
|
|
1600
1676
|
|
|
1601
1677
|
/***/ }),
|
|
@@ -1605,16 +1681,7 @@ function createOverlayDiv() {
|
|
|
1605
1681
|
|
|
1606
1682
|
|
|
1607
1683
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1608
|
-
exports.getDOMElements =
|
|
1609
|
-
exports.getDOMElementCount = getDOMElementCount;
|
|
1610
|
-
exports.getMeaningfulName = getMeaningfulName;
|
|
1611
|
-
exports.isMinifiedName = isMinifiedName;
|
|
1612
|
-
exports.addCountbyKey = addCountbyKey;
|
|
1613
|
-
exports.updateWeakRefList = updateWeakRefList;
|
|
1614
|
-
exports.getBoundingClientRect = getBoundingClientRect;
|
|
1615
|
-
exports.consoleLog = consoleLog;
|
|
1616
|
-
exports.hasRunInSession = hasRunInSession;
|
|
1617
|
-
exports.setRunInSession = setRunInSession;
|
|
1684
|
+
exports.setRunInSession = exports.hasRunInSession = exports.consoleLog = exports.getBoundingClientRect = exports.updateWeakRefList = exports.addCountbyKey = exports.isMinifiedName = exports.getMeaningfulName = exports.getDOMElementCount = exports.getDOMElements = void 0;
|
|
1618
1685
|
const visual_utils_1 = __webpack_require__(498);
|
|
1619
1686
|
function getDOMElements() {
|
|
1620
1687
|
const elements = Array.from(document.querySelectorAll('*'));
|
|
@@ -1627,6 +1694,7 @@ function getDOMElements() {
|
|
|
1627
1694
|
}
|
|
1628
1695
|
return ret;
|
|
1629
1696
|
}
|
|
1697
|
+
exports.getDOMElements = getDOMElements;
|
|
1630
1698
|
function getDOMElementCount() {
|
|
1631
1699
|
const elements = Array.from(document.querySelectorAll('*'));
|
|
1632
1700
|
let ret = 0;
|
|
@@ -1638,6 +1706,7 @@ function getDOMElementCount() {
|
|
|
1638
1706
|
}
|
|
1639
1707
|
return ret;
|
|
1640
1708
|
}
|
|
1709
|
+
exports.getDOMElementCount = getDOMElementCount;
|
|
1641
1710
|
function getMeaningfulName(name) {
|
|
1642
1711
|
if (name == null) {
|
|
1643
1712
|
return null;
|
|
@@ -1645,6 +1714,7 @@ function getMeaningfulName(name) {
|
|
|
1645
1714
|
const isMinified = isMinifiedName(name);
|
|
1646
1715
|
return isMinified ? null : name;
|
|
1647
1716
|
}
|
|
1717
|
+
exports.getMeaningfulName = getMeaningfulName;
|
|
1648
1718
|
/**
|
|
1649
1719
|
* Determines if a given function or class name is minified.
|
|
1650
1720
|
*
|
|
@@ -1667,10 +1737,12 @@ function isMinifiedName(name) {
|
|
|
1667
1737
|
const hasMeaningfulPattern = /^[A-Z][a-z]+([A-Z][a-z]*)*$|^[a-z]+([A-Z][a-z]*)*$/.test(name);
|
|
1668
1738
|
return !hasMeaningfulPattern;
|
|
1669
1739
|
}
|
|
1740
|
+
exports.isMinifiedName = isMinifiedName;
|
|
1670
1741
|
function addCountbyKey(map, key, count) {
|
|
1671
1742
|
var _a;
|
|
1672
1743
|
map.set(key, ((_a = map.get(key)) !== null && _a !== void 0 ? _a : 0) + count);
|
|
1673
1744
|
}
|
|
1745
|
+
exports.addCountbyKey = addCountbyKey;
|
|
1674
1746
|
function updateWeakRefList(weakRefList, elementRefs) {
|
|
1675
1747
|
consolidateWeakRefList(weakRefList);
|
|
1676
1748
|
const set = getElementsSet(weakRefList);
|
|
@@ -1684,6 +1756,7 @@ function updateWeakRefList(weakRefList, elementRefs) {
|
|
|
1684
1756
|
}
|
|
1685
1757
|
return weakRefList;
|
|
1686
1758
|
}
|
|
1759
|
+
exports.updateWeakRefList = updateWeakRefList;
|
|
1687
1760
|
function getElementsSet(weakRefList) {
|
|
1688
1761
|
const set = new Set();
|
|
1689
1762
|
for (const weakRef of weakRefList) {
|
|
@@ -1740,11 +1813,13 @@ function getBoundingClientRect(element) {
|
|
|
1740
1813
|
ret.scrollTop = scrollTop;
|
|
1741
1814
|
return ret;
|
|
1742
1815
|
}
|
|
1816
|
+
exports.getBoundingClientRect = getBoundingClientRect;
|
|
1743
1817
|
const _console = console;
|
|
1744
1818
|
const _consoleLog = _console.log;
|
|
1745
1819
|
function consoleLog(...args) {
|
|
1746
1820
|
_consoleLog.apply(_console, args);
|
|
1747
1821
|
}
|
|
1822
|
+
exports.consoleLog = consoleLog;
|
|
1748
1823
|
const SESSION_STORAGE_KEY = 'memory_lens_session';
|
|
1749
1824
|
function isSessionStorageAvailable() {
|
|
1750
1825
|
try {
|
|
@@ -1768,6 +1843,7 @@ function hasRunInSession() {
|
|
|
1768
1843
|
return false;
|
|
1769
1844
|
}
|
|
1770
1845
|
}
|
|
1846
|
+
exports.hasRunInSession = hasRunInSession;
|
|
1771
1847
|
function setRunInSession() {
|
|
1772
1848
|
if (!isSessionStorageAvailable()) {
|
|
1773
1849
|
return;
|
|
@@ -1779,6 +1855,7 @@ function setRunInSession() {
|
|
|
1779
1855
|
// do nothing
|
|
1780
1856
|
}
|
|
1781
1857
|
}
|
|
1858
|
+
exports.setRunInSession = setRunInSession;
|
|
1782
1859
|
|
|
1783
1860
|
|
|
1784
1861
|
/***/ }),
|
|
@@ -1788,12 +1865,7 @@ function setRunInSession() {
|
|
|
1788
1865
|
|
|
1789
1866
|
|
|
1790
1867
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1791
|
-
exports.isVisualizerElement =
|
|
1792
|
-
exports.createVisualizerElement = createVisualizerElement;
|
|
1793
|
-
exports.tryToAttachOverlay = tryToAttachOverlay;
|
|
1794
|
-
exports.addTrackedListener = addTrackedListener;
|
|
1795
|
-
exports.removeAllListeners = removeAllListeners;
|
|
1796
|
-
exports.debounce = debounce;
|
|
1868
|
+
exports.debounce = exports.removeAllListeners = exports.addTrackedListener = exports.tryToAttachOverlay = exports.createVisualizerElement = exports.isVisualizerElement = void 0;
|
|
1797
1869
|
const VISUALIZER_DATA_ATTR = 'data-visualizer';
|
|
1798
1870
|
function setVisualizerElement(element) {
|
|
1799
1871
|
element.setAttribute(VISUALIZER_DATA_ATTR, 'true');
|
|
@@ -1802,16 +1874,19 @@ function setVisualizerElement(element) {
|
|
|
1802
1874
|
function isVisualizerElement(element) {
|
|
1803
1875
|
return element.getAttribute(VISUALIZER_DATA_ATTR) === 'true';
|
|
1804
1876
|
}
|
|
1877
|
+
exports.isVisualizerElement = isVisualizerElement;
|
|
1805
1878
|
function createVisualizerElement(tag) {
|
|
1806
1879
|
const element = document.createElement(tag);
|
|
1807
1880
|
setVisualizerElement(element);
|
|
1808
1881
|
return element;
|
|
1809
1882
|
}
|
|
1883
|
+
exports.createVisualizerElement = createVisualizerElement;
|
|
1810
1884
|
function tryToAttachOverlay(overlayDiv) {
|
|
1811
1885
|
if (document.body) {
|
|
1812
1886
|
document.body.appendChild(overlayDiv);
|
|
1813
1887
|
}
|
|
1814
1888
|
}
|
|
1889
|
+
exports.tryToAttachOverlay = tryToAttachOverlay;
|
|
1815
1890
|
const listenerMap = new WeakMap();
|
|
1816
1891
|
function addTrackedListener(elRef, type, cb, options) {
|
|
1817
1892
|
var _a;
|
|
@@ -1824,6 +1899,7 @@ function addTrackedListener(elRef, type, cb, options) {
|
|
|
1824
1899
|
}
|
|
1825
1900
|
(_a = listenerMap.get(el)) === null || _a === void 0 ? void 0 : _a.push({ type, cb, options });
|
|
1826
1901
|
}
|
|
1902
|
+
exports.addTrackedListener = addTrackedListener;
|
|
1827
1903
|
function removeAllListeners(elRef) {
|
|
1828
1904
|
const el = elRef.deref();
|
|
1829
1905
|
if (!el)
|
|
@@ -1836,6 +1912,7 @@ function removeAllListeners(elRef) {
|
|
|
1836
1912
|
}
|
|
1837
1913
|
listenerMap.delete(el);
|
|
1838
1914
|
}
|
|
1915
|
+
exports.removeAllListeners = removeAllListeners;
|
|
1839
1916
|
function debounce(callback, delay) {
|
|
1840
1917
|
let timer = null;
|
|
1841
1918
|
return (...args) => {
|
|
@@ -1847,6 +1924,7 @@ function debounce(callback, delay) {
|
|
|
1847
1924
|
}, delay);
|
|
1848
1925
|
};
|
|
1849
1926
|
}
|
|
1927
|
+
exports.debounce = debounce;
|
|
1850
1928
|
|
|
1851
1929
|
|
|
1852
1930
|
/***/ }),
|
|
@@ -1856,7 +1934,7 @@ function debounce(callback, delay) {
|
|
|
1856
1934
|
|
|
1857
1935
|
|
|
1858
1936
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1859
|
-
exports.createOverlayRectangle =
|
|
1937
|
+
exports.createOverlayRectangle = void 0;
|
|
1860
1938
|
const intersection_observer_1 = __webpack_require__(979);
|
|
1861
1939
|
const visual_utils_1 = __webpack_require__(498);
|
|
1862
1940
|
const MAX_Z_INDEX = `${Math.pow(2, 30) - 1}`;
|
|
@@ -1959,6 +2037,7 @@ function createOverlayRectangle(elementId, info, container, setSelectedId, setUn
|
|
|
1959
2037
|
container.appendChild(div);
|
|
1960
2038
|
return divRef;
|
|
1961
2039
|
}
|
|
2040
|
+
exports.createOverlayRectangle = createOverlayRectangle;
|
|
1962
2041
|
function styleOnInteraction(divRef, state) {
|
|
1963
2042
|
const div = divRef.deref();
|
|
1964
2043
|
if (div == null) {
|
|
@@ -1990,12 +2069,7 @@ function styleOnInteraction(divRef, state) {
|
|
|
1990
2069
|
|
|
1991
2070
|
|
|
1992
2071
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1993
|
-
exports.traverseFiber = exports.getTopMostFiberWithChild = exports.getTopMostHostFiber = exports.getNearestHostFiber = exports.isHostFiber = exports.MutationMask = exports.Visibility = exports.Snapshot = exports.Ref = exports.ContentReset = exports.ChildDeletion = exports.Cloned = exports.Update = exports.Hydrating = exports.DidCapture = exports.Placement = exports.PerformedWork = exports.DEPRECATED_ASYNC_MODE_SYMBOL_STRING = exports.CONCURRENT_MODE_SYMBOL_STRING = exports.CONCURRENT_MODE_NUMBER = exports.HostRoot = exports.OffscreenComponent = exports.LegacyHiddenComponent = exports.Fragment = exports.HostText = exports.DehydratedSuspenseComponent = exports.HostSingletonTag = exports.HostHoistableTag = exports.HostComponentTag = exports.SimpleMemoComponentTag = exports.MemoComponentTag = exports.ForwardRefTag = exports.OffscreenComponentTag = exports.SuspenseComponentTag = exports.ContextConsumerTag = exports.FunctionComponentTag = exports.ClassComponentTag = void 0;
|
|
1994
|
-
exports.getFiberNodeFromElement = getFiberNodeFromElement;
|
|
1995
|
-
exports.getReactComponentStack = getReactComponentStack;
|
|
1996
|
-
exports.getDisplayNameOfFiberNode = getDisplayNameOfFiberNode;
|
|
1997
|
-
exports.isFunctionalComponent = isFunctionalComponent;
|
|
1998
|
-
exports.extractReactComponentName = extractReactComponentName;
|
|
2072
|
+
exports.extractReactComponentName = exports.isFunctionalComponent = exports.getDisplayNameOfFiberNode = exports.getReactComponentStack = exports.getFiberNodeFromElement = exports.traverseFiber = exports.getTopMostFiberWithChild = exports.getTopMostHostFiber = exports.getNearestHostFiber = exports.isHostFiber = exports.MutationMask = exports.Visibility = exports.Snapshot = exports.Ref = exports.ContentReset = exports.ChildDeletion = exports.Cloned = exports.Update = exports.Hydrating = exports.DidCapture = exports.Placement = exports.PerformedWork = exports.DEPRECATED_ASYNC_MODE_SYMBOL_STRING = exports.CONCURRENT_MODE_SYMBOL_STRING = exports.CONCURRENT_MODE_NUMBER = exports.HostRoot = exports.OffscreenComponent = exports.LegacyHiddenComponent = exports.Fragment = exports.HostText = exports.DehydratedSuspenseComponent = exports.HostSingletonTag = exports.HostHoistableTag = exports.HostComponentTag = exports.SimpleMemoComponentTag = exports.MemoComponentTag = exports.ForwardRefTag = exports.OffscreenComponentTag = exports.SuspenseComponentTag = exports.ContextConsumerTag = exports.FunctionComponentTag = exports.ClassComponentTag = void 0;
|
|
1999
2073
|
const utils_1 = __webpack_require__(476);
|
|
2000
2074
|
const valid_component_name_1 = __webpack_require__(847);
|
|
2001
2075
|
exports.ClassComponentTag = 1;
|
|
@@ -2097,8 +2171,8 @@ const traverseFiber = (fiber, selector, ascending = false) => {
|
|
|
2097
2171
|
exports.traverseFiber = traverseFiber;
|
|
2098
2172
|
// React internal property keys
|
|
2099
2173
|
const internalKeys = [
|
|
2100
|
-
'__reactFiber$',
|
|
2101
|
-
'__reactInternalInstance$',
|
|
2174
|
+
'__reactFiber$',
|
|
2175
|
+
'__reactInternalInstance$',
|
|
2102
2176
|
'_reactRootContainer', // React Root
|
|
2103
2177
|
];
|
|
2104
2178
|
const getOwnPropertyNames = Object.getOwnPropertyNames.bind(Object);
|
|
@@ -2112,6 +2186,7 @@ function getFiberNodeFromElement(element) {
|
|
|
2112
2186
|
}
|
|
2113
2187
|
return null;
|
|
2114
2188
|
}
|
|
2189
|
+
exports.getFiberNodeFromElement = getFiberNodeFromElement;
|
|
2115
2190
|
function getReactComponentStack(node) {
|
|
2116
2191
|
const stack = [];
|
|
2117
2192
|
const visited = new Set();
|
|
@@ -2129,6 +2204,7 @@ function getReactComponentStack(node) {
|
|
|
2129
2204
|
}
|
|
2130
2205
|
return stack;
|
|
2131
2206
|
}
|
|
2207
|
+
exports.getReactComponentStack = getReactComponentStack;
|
|
2132
2208
|
function getDisplayNameOfFiberNode(node) {
|
|
2133
2209
|
var _a, _b, _c, _d;
|
|
2134
2210
|
const elementType = (_a = node.type) !== null && _a !== void 0 ? _a : node.elementType;
|
|
@@ -2153,10 +2229,12 @@ function getDisplayNameOfFiberNode(node) {
|
|
|
2153
2229
|
const ret = (0, utils_1.getMeaningfulName)(extractReactComponentName(displayName));
|
|
2154
2230
|
return (0, valid_component_name_1.isValidComponentName)(ret) ? ret : null;
|
|
2155
2231
|
}
|
|
2232
|
+
exports.getDisplayNameOfFiberNode = getDisplayNameOfFiberNode;
|
|
2156
2233
|
function isFunctionalComponent(node) {
|
|
2157
2234
|
const elementType = node === null || node === void 0 ? void 0 : node.elementType;
|
|
2158
2235
|
return typeof elementType === 'function';
|
|
2159
2236
|
}
|
|
2237
|
+
exports.isFunctionalComponent = isFunctionalComponent;
|
|
2160
2238
|
// dom-element [from component.react] --> component.react
|
|
2161
2239
|
function extractReactComponentName(displayName) {
|
|
2162
2240
|
if (typeof displayName !== 'string') {
|
|
@@ -2176,6 +2254,7 @@ function extractReactComponentName(displayName) {
|
|
|
2176
2254
|
}
|
|
2177
2255
|
return name;
|
|
2178
2256
|
}
|
|
2257
|
+
exports.extractReactComponentName = extractReactComponentName;
|
|
2179
2258
|
|
|
2180
2259
|
|
|
2181
2260
|
/***/ }),
|
|
@@ -2185,7 +2264,7 @@ function extractReactComponentName(displayName) {
|
|
|
2185
2264
|
|
|
2186
2265
|
|
|
2187
2266
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2188
|
-
exports.createStatusText =
|
|
2267
|
+
exports.createStatusText = void 0;
|
|
2189
2268
|
const visual_utils_1 = __webpack_require__(498);
|
|
2190
2269
|
function formatBytes(bytes) {
|
|
2191
2270
|
if (bytes === 0)
|
|
@@ -2219,6 +2298,7 @@ function createStatusText(registerDataUpdateCallback) {
|
|
|
2219
2298
|
});
|
|
2220
2299
|
return statusWidget;
|
|
2221
2300
|
}
|
|
2301
|
+
exports.createStatusText = createStatusText;
|
|
2222
2302
|
|
|
2223
2303
|
|
|
2224
2304
|
/***/ }),
|
|
@@ -2237,11 +2317,12 @@ function createStatusText(registerDataUpdateCallback) {
|
|
|
2237
2317
|
* @oncall memory_lab
|
|
2238
2318
|
*/
|
|
2239
2319
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2240
|
-
exports.isValidComponentName =
|
|
2320
|
+
exports.isValidComponentName = void 0;
|
|
2241
2321
|
const displayNameBlockList = new Set();
|
|
2242
2322
|
function isValidComponentName(name) {
|
|
2243
2323
|
return name != null && !displayNameBlockList.has(name);
|
|
2244
2324
|
}
|
|
2325
|
+
exports.isValidComponentName = isValidComponentName;
|
|
2245
2326
|
|
|
2246
2327
|
|
|
2247
2328
|
/***/ }),
|
|
@@ -2287,7 +2368,7 @@ exports.BasicExtension = BasicExtension;
|
|
|
2287
2368
|
|
|
2288
2369
|
|
|
2289
2370
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2290
|
-
exports.createComponentStackPanel =
|
|
2371
|
+
exports.createComponentStackPanel = void 0;
|
|
2291
2372
|
const visual_utils_1 = __webpack_require__(498);
|
|
2292
2373
|
function createComponentStackPanel(registerDataUpdateCallback) {
|
|
2293
2374
|
const panel = (0, visual_utils_1.createVisualizerElement)('div');
|
|
@@ -2320,12 +2401,13 @@ function createComponentStackPanel(registerDataUpdateCallback) {
|
|
|
2320
2401
|
if (pinned) {
|
|
2321
2402
|
return;
|
|
2322
2403
|
}
|
|
2323
|
-
panel.style.display = data.selectedElementId != null ? 'flex' : 'none';
|
|
2324
2404
|
panel.innerHTML = '';
|
|
2325
2405
|
if (data.selectedElementId == null ||
|
|
2326
2406
|
!((_a = data.selectedReactComponentStack) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
2407
|
+
panel.style.display = 'none';
|
|
2327
2408
|
return;
|
|
2328
2409
|
}
|
|
2410
|
+
panel.style.display = 'flex';
|
|
2329
2411
|
const title = (0, visual_utils_1.createVisualizerElement)('div');
|
|
2330
2412
|
title.textContent = 'Component Stack:';
|
|
2331
2413
|
title.style.fontWeight = 'bold';
|
|
@@ -2345,6 +2427,7 @@ function createComponentStackPanel(registerDataUpdateCallback) {
|
|
|
2345
2427
|
}, 1));
|
|
2346
2428
|
return panel;
|
|
2347
2429
|
}
|
|
2430
|
+
exports.createComponentStackPanel = createComponentStackPanel;
|
|
2348
2431
|
|
|
2349
2432
|
|
|
2350
2433
|
/***/ }),
|
|
@@ -2385,7 +2468,7 @@ if (!(0, utils_1.hasRunInSession)()) {
|
|
|
2385
2468
|
|
|
2386
2469
|
|
|
2387
2470
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2388
|
-
exports.createToggleButton =
|
|
2471
|
+
exports.createToggleButton = void 0;
|
|
2389
2472
|
/**
|
|
2390
2473
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2391
2474
|
*
|
|
@@ -2436,6 +2519,7 @@ function createToggleButton(overlayDiv, hideAllRef) {
|
|
|
2436
2519
|
});
|
|
2437
2520
|
return toggleWrapper;
|
|
2438
2521
|
}
|
|
2522
|
+
exports.createToggleButton = createToggleButton;
|
|
2439
2523
|
|
|
2440
2524
|
|
|
2441
2525
|
/***/ }),
|