@@ -44,7 +44,7 @@ export const mutate = (tree: ParserTree, allNodes: ParserField[]) => {
4444 return ;
4545 }
4646 } ;
47- const deleteFieldFromNode = ( n : ParserField , i : number ) => {
47+ const deleteFieldFromNode = ( n : ParserField , i : number , parentNode ?: string ) => {
4848 if ( n . data . type === TypeDefinition . InterfaceTypeDefinition ) {
4949 const argName = n . args [ i ] . name ;
5050 tree . nodes
@@ -64,7 +64,7 @@ export const mutate = (tree: ParserTree, allNodes: ParserField[]) => {
6464 }
6565 n . args . splice ( i , 1 ) ;
6666 regenerateId ( n ) ;
67- mutateParentIfField ( n ) ;
67+ mutateParentIfField ( n , parentNode ) ;
6868 } ;
6969
7070 const updateFieldOnNode = ( node : ParserField , i : number , updatedField : ParserField , parentNode ?: string ) => {
@@ -82,13 +82,13 @@ export const mutate = (tree: ParserTree, allNodes: ParserField[]) => {
8282 mutateParentIfField ( node , parentNode ) ;
8383 } ;
8484
85- const addFieldToNode = ( node : ParserField , f : ParserField ) => {
85+ const addFieldToNode = ( node : ParserField , f : ParserField , parentNode ?: string ) => {
8686 node . args ?. push ( { ...f } ) ;
8787 if ( node . data . type === TypeDefinition . InterfaceTypeDefinition ) {
8888 updateInterfaceNodeAddField ( tree . nodes , node ) ;
8989 }
9090 regenerateId ( node ) ;
91- mutateParentIfField ( node ) ;
91+ mutateParentIfField ( node , parentNode ) ;
9292 } ;
9393 const renameRootNode = ( node : ParserField , newName : string ) => {
9494 const isError = allNodes . map ( ( n ) => n . name ) . includes ( newName ) ;
@@ -118,20 +118,20 @@ export const mutate = (tree: ParserTree, allNodes: ParserField[]) => {
118118 node . name = newName ;
119119 regenerateId ( node ) ;
120120 } ;
121- const removeNode = ( node : ParserField ) => {
121+ const removeNode = ( node : ParserField , parentNode ?: string ) => {
122122 if ( node . data . type === TypeSystemDefinition . FieldDefinition ) {
123123 const parent = allNodes . find ( ( parentNode ) => parentNode . args . includes ( node ) ) ;
124124 if ( parent ) {
125125 const index = parent . args . indexOf ( node ) ;
126- deleteFieldFromNode ( parent , index ) ;
126+ deleteFieldFromNode ( parent , index , parentNode ) ;
127127 }
128128 return ;
129129 }
130130 if ( node . data . type === TypeSystemDefinition . UnionMemberDefinition ) {
131131 const parent = allNodes . find ( ( parentNode ) => parentNode . args . includes ( node ) ) ;
132132 if ( parent ) {
133133 const index = parent . args . indexOf ( node ) ;
134- deleteFieldFromNode ( parent , index ) ;
134+ deleteFieldFromNode ( parent , index , parentNode ) ;
135135 }
136136 return ;
137137 }
@@ -142,13 +142,13 @@ export const mutate = (tree: ParserTree, allNodes: ParserField[]) => {
142142 recursivelyDeleteDirectiveArgument ( allNodes , parent . name , node ) ;
143143 }
144144 const index = parent . args . indexOf ( node ) ;
145- deleteFieldFromNode ( parent , index ) ;
145+ deleteFieldFromNode ( parent , index , parentNode ) ;
146146 } else {
147147 const parent = allNodes . find ( ( p ) => p . args . some ( ( a ) => a . args . includes ( node ) ) ) ;
148148 const field = parent ?. args . find ( ( a ) => a . args . includes ( node ) ) ;
149149 if ( field ) {
150150 const fieldIndex = field . args . findIndex ( ( f ) => f === node ) ;
151- deleteFieldFromNode ( field , fieldIndex ) ;
151+ deleteFieldFromNode ( field , fieldIndex , parentNode ) ;
152152 }
153153 }
154154 return ;
@@ -157,7 +157,7 @@ export const mutate = (tree: ParserTree, allNodes: ParserField[]) => {
157157 const parent = allNodes . find ( ( parentNode ) => parentNode . args . includes ( node ) ) ;
158158 if ( parent ) {
159159 const index = parent . args . indexOf ( node ) ;
160- deleteFieldFromNode ( parent , index ) ;
160+ deleteFieldFromNode ( parent , index , parentNode ) ;
161161 }
162162 return ;
163163 }
0 commit comments