33/* eslint-disable no-param-reassign */
44// links component state tree to library
55// changes the setState method to also update our snapshot
6-
7- // import loadable from '@loadable/component';
8-
96const Tree = require ( './tree' ) ;
107const astParser = require ( './astParser' ) ;
118const { saveState } = require ( './masterState' ) ;
@@ -55,9 +52,8 @@ module.exports = (snap, mode) => {
5552 component . queue . dispatch = ( fiber , queue , action ) => {
5653 // don't do anything if state is locked
5754 if ( mode . locked && ! mode . jumping ) return ;
58- // oldDispatch(fiber, queue, action);
55+ oldDispatch ( fiber , queue , action ) ;
5956 setTimeout ( ( ) => {
60- oldDispatch ( fiber , queue , action ) ;
6157 updateSnapShotTree ( ) ;
6258 sendSnapshot ( ) ;
6359 } , 100 ) ;
@@ -87,12 +83,13 @@ module.exports = (snap, mode) => {
8783
8884 function createTree ( currentFiber , tree = new Tree ( 'root' ) ) {
8985 if ( ! currentFiber ) return tree ;
90-
86+
9187 const {
9288 sibling,
9389 stateNode,
9490 child,
9591 memoizedState,
92+ elementType,
9693 } = currentFiber ;
9794
9895 let nextTree = tree ;
@@ -105,8 +102,11 @@ module.exports = (snap, mode) => {
105102 }
106103 // Check if the component uses hooks
107104 if ( memoizedState && Object . hasOwnProperty . call ( memoizedState , 'baseState' ) ) {
108- // Add a traversed property and initialize to the evaluated result
109- // of invoking traverseHooks, and reassign nextTree
105+ // Traverse through the currentFiber and extract the getters/setters
106+ astHooks = astParser ( elementType ) ;
107+ saveState ( astHooks ) ;
108+ // Create a traversed property and assign to the evaluated result of
109+ // invoking traverseHooks with memoizedState
110110 memoizedState . traversed = traverseHooks ( memoizedState ) ;
111111 nextTree = tree . appendChild ( memoizedState ) ;
112112 }
@@ -124,20 +124,14 @@ module.exports = (snap, mode) => {
124124 snap . tree = createTree ( current ) ;
125125 }
126126
127- return ( container , entryFile ) => {
127+ return container => {
128128 const {
129129 _reactRootContainer : { _internalRoot } ,
130130 _reactRootContainer,
131131 } = container ;
132132 // only assign internal rootp if it actually exists
133133 fiberRoot = _internalRoot || _reactRootContainer ;
134- // If hooks are implemented, traverse through the source code
135- // Save the getter/setter combo for timeJump
136- if ( entryFile ) {
137- astHooks = astParser ( entryFile ) ;
138- // console.log('Ast Hooks', astHooks);
139- saveState ( astHooks ) ;
140- }
134+
141135 updateSnapShotTree ( ) ;
142136 // send the initial snapshot once the content script has started up
143137 window . addEventListener ( 'message' , ( { data : { action } } ) => {
0 commit comments