Replace recursion in status mapStateToProps (#7645)
This commit is contained in:
		@@ -62,31 +62,28 @@ const makeMapStateToProps = () => {
 | 
			
		||||
 | 
			
		||||
    if (status) {
 | 
			
		||||
      ancestorsIds = ancestorsIds.withMutations(mutable => {
 | 
			
		||||
        function addAncestor(id) {
 | 
			
		||||
          if (id) {
 | 
			
		||||
            const inReplyTo = state.getIn(['contexts', 'inReplyTos', id]);
 | 
			
		||||
        let id = status.get('in_reply_to_id');
 | 
			
		||||
 | 
			
		||||
            mutable.unshift(id);
 | 
			
		||||
            addAncestor(inReplyTo);
 | 
			
		||||
          }
 | 
			
		||||
        while (id) {
 | 
			
		||||
          mutable.unshift(id);
 | 
			
		||||
          id = state.getIn(['contexts', 'inReplyTos', id]);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        addAncestor(status.get('in_reply_to_id'));
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      descendantsIds = descendantsIds.withMutations(mutable => {
 | 
			
		||||
        function addDescendantOf(id) {
 | 
			
		||||
        const ids = [status.get('id')];
 | 
			
		||||
 | 
			
		||||
        while (ids.length > 0) {
 | 
			
		||||
          let id        = ids.shift();
 | 
			
		||||
          const replies = state.getIn(['contexts', 'replies', id]);
 | 
			
		||||
 | 
			
		||||
          if (replies) {
 | 
			
		||||
            replies.forEach(reply => {
 | 
			
		||||
              mutable.push(reply);
 | 
			
		||||
              addDescendantOf(reply);
 | 
			
		||||
              ids.unshift(reply);
 | 
			
		||||
            });
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        addDescendantOf(status.get('id'));
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user