@@ -799,18 +799,25 @@ def __init__(
799799        self .deferred_fragment_records  =  deferred_fragment_records 
800800
801801
802- class  SubsequentResultRecord :
803-     """Subsequent result  record""" 
802+ class  DeferredFragmentRecord :
803+     """Deferred fragment  record""" 
804804
805805    path : Path  |  None 
806806    label : str  |  None 
807807    id : str  |  None 
808+     parent : DeferredFragmentRecord  |  None 
808809
809-     __slots__  =  "id" , "label" , "path" 
810+     __slots__  =  "id" , "label" , "parent"  ,  " path"
810811
811-     def  __init__ (self , path : Path  |  None , label : str  |  None  =  None ) ->  None :
812+     def  __init__ (
813+         self ,
814+         path : Path  |  None  =  None ,
815+         label : str  |  None  =  None ,
816+         parent : DeferredFragmentRecord  |  None  =  None ,
817+     ) ->  None :
812818        self .path  =  path 
813819        self .label  =  label 
820+         self .parent  =  parent 
814821        self .id  =  None 
815822
816823    def  __repr__ (self ) ->  str :
@@ -823,38 +830,44 @@ def __repr__(self) -> str:
823830        return  f"{ name }  ({ ', ' .join (args )}  )" 
824831
825832
826- class  DeferredFragmentRecord ( SubsequentResultRecord ) :
827-     """Deferred fragment  record 
833+ class  StreamRecord :
834+     """Stream  record"""  
828835
829-     For internal use only. 
830-     """ 
831- 
832-     parent : DeferredFragmentRecord  |  None 
836+     path : Path 
837+     label : str  |  None 
838+     id : str  |  None 
833839
834-     __slots__  =  ( "parent" ,) 
840+     __slots__  =  "id" ,  "label" ,  "path" 
835841
836842    def  __init__ (
837843        self ,
838-         path : Path   |   None   =   None ,
844+         path : Path ,
839845        label : str  |  None  =  None ,
840-         parent : DeferredFragmentRecord  |  None  =  None ,
841846    ) ->  None :
842-         super ().__init__ (path , label )
843-         self .parent  =  parent 
847+         self .path  =  path 
848+         self .label  =  label 
849+         self .id  =  None 
850+ 
851+     def  __repr__ (self ) ->  str :
852+         name  =  self .__class__ .__name__ 
853+         args : list [str ] =  [f"path={ self .path .as_list ()!r}  " ]
854+         if  self .label :
855+             args .append (f"label={ self .label !r}  " )
856+         return  f"{ name }  ({ ', ' .join (args )}  )" 
857+ 
844858
859+ SubsequentResultRecord  =  Union [DeferredFragmentRecord , StreamRecord ]
845860
846- class  CancellableStreamRecord (SubsequentResultRecord ):
861+ 
862+ class  CancellableStreamRecord (StreamRecord ):
847863    """Cancellable stream record""" 
848864
849865    early_return : Awaitable [None ]
850866
851867    __slots__  =  ("early_return" ,)
852868
853869    def  __init__ (
854-         self ,
855-         early_return : Awaitable [None ],
856-         path : Path  |  None  =  None ,
857-         label : str  |  None  =  None ,
870+         self , early_return : Awaitable [None ], path : Path , label : str  |  None  =  None 
858871    ) ->  None :
859872        super ().__init__ (path , label )
860873        self .early_return  =  early_return 
@@ -870,7 +883,7 @@ def is_cancellable_stream_record(
870883class  ReconcilableStreamItemsResult (NamedTuple ):
871884    """Reconcilable stream items result""" 
872885
873-     stream_record : SubsequentResultRecord 
886+     stream_record : StreamRecord 
874887    result : BareStreamItemsResult 
875888    incremental_data_records : list [IncrementalDataRecord ] |  None  =  None 
876889    errors : None  =  None 
@@ -886,7 +899,7 @@ def is_reconcilable_stream_items_result(
886899class  TerminatingStreamItemsResult (NamedTuple ):
887900    """Terminating stream items result""" 
888901
889-     stream_record : SubsequentResultRecord 
902+     stream_record : StreamRecord 
890903    result : None  =  None 
891904    incremental_data_record : None  =  None 
892905    errors : None  =  None 
@@ -895,7 +908,7 @@ class TerminatingStreamItemsResult(NamedTuple):
895908class  NonReconcilableStreamItemsResult (NamedTuple ):
896909    """Non-reconcilable stream items result""" 
897910
898-     stream_record : SubsequentResultRecord 
911+     stream_record : StreamRecord 
899912    errors : list [GraphQLError ]
900913    result : None  =  None 
901914
@@ -912,12 +925,12 @@ class StreamItemsRecord:
912925
913926    __slots__  =  "result" , "stream_record" 
914927
915-     stream_record : SubsequentResultRecord 
928+     stream_record : StreamRecord 
916929    result : AwaitableOrValue [StreamItemsResult ]
917930
918931    def  __init__ (
919932        self ,
920-         stream_record : SubsequentResultRecord ,
933+         stream_record : StreamRecord ,
921934        result : AwaitableOrValue [StreamItemsResult ],
922935    ) ->  None :
923936        self .stream_record  =  stream_record 
0 commit comments