@@ -99,7 +99,7 @@ function* savedItemRequest(action) {
99
99
const savedItemIds = edges
100
100
. filter ( validateEdge )
101
101
. filter ( removeStarterArticle )
102
- . map ( ( edge ) => edge ?. node ?. item ?. itemId )
102
+ . map ( ( edge ) => edge ?. node ?. item ?. itemId ?? edge ?. node ?. nodeId )
103
103
104
104
const nodes = edges . reduce ( getNodeFromEdge , { } )
105
105
const itemsById = edges . reduce ( getItemFromEdge , { } )
@@ -207,26 +207,30 @@ const removeStarterArticle = (edge) => !STARTER_ARTICLES.includes(edge?.node?.it
207
207
const getNodeFromEdge = ( previous , current ) => {
208
208
const cursor = current . cursor
209
209
const { item, ...node } = current . node
210
+ const itemId = node ?. item ?. itemId ?? node ?. nodeId
210
211
if ( node . status === 'DELETED' ) return previous // REMOVE DELETED ITEMS FROM THE RESPONSE
211
- return { ...previous , [ item . itemId ] : { cursor, ...node } }
212
+ return { ...previous , [ itemId ] : { cursor, ...node } }
212
213
}
213
214
214
215
const getItemFromEdge = ( previous , current ) => {
215
216
const { item, node } = deriveSavedItem ( current . node )
217
+ const itemId = node ?. item ?. itemId ?? node ?. nodeId
216
218
if ( node . status === 'DELETED' ) return previous
217
- return { ...previous , [ item . itemId ] : item } // REMOVE DELETED ITEMS FROM THE RESPONSE
219
+ return { ...previous , [ itemId ] : item } // REMOVE DELETED ITEMS FROM THE RESPONSE
218
220
}
219
221
220
222
const getSearchNodeFromEdge = ( previous , current ) => {
221
223
const { item, ...node } = current . node . savedItem
224
+ const itemId = node ?. item ?. itemId ?? node ?. nodeId
222
225
if ( node . status === 'DELETED' ) return previous
223
- return { ...previous , [ item . itemId ] : node } // REMOVE DELETED ITEMS FROM THE RESPONSE
226
+ return { ...previous , [ itemId ] : node } // REMOVE DELETED ITEMS FROM THE RESPONSE
224
227
}
225
228
226
229
const getSearchItemFromEdge = ( previous , current ) => {
227
230
const { item, node } = deriveSavedItem ( current . node . savedItem )
231
+ const itemId = node ?. item ?. itemId ?? node ?. nodeId
228
232
if ( node . status === 'DELETED' ) return previous
229
- return { ...previous , [ item . itemId ] : item } // REMOVE DELETED ITEMS FROM THE RESPONSE
233
+ return { ...previous , [ itemId ] : item } // REMOVE DELETED ITEMS FROM THE RESPONSE
230
234
}
231
235
232
236
/**
0 commit comments