@@ -135,66 +135,65 @@ export const groupItems = (items) => {
135135 */
136136export const formatItems = ( items , config ) => {
137137 const time = new Date ( ) . toISOString ( )
138- items . forEach ( ( item ) => {
139- switch ( item . type ) {
140- case 'asset_published' :
141- item . _content_type_uid = formattedAssetType
142- item . _type = config . contentstack . actions . publish
143- // extra keys
144- item . _synced_at = time
145- item = merge ( item , item . data )
146- item . locale = item . data . publish_details . locale
147- // delete item.data
148- // delete item.content_type_uid
149- break
150- case 'asset_unpublished' :
151- item . _content_type_uid = formattedAssetType
152- item . _type = config . contentstack . actions . unpublish
153- item = merge ( item , item . data )
154- // delete item.data
155- // delete item.content_type_uid
156- break
157- case 'asset_deleted' :
158- item . _content_type_uid = formattedAssetType
159- item . _type = config . contentstack . actions . delete
160- item = merge ( item , item . data )
161- // delete item.data
162- // delete item.content_type_uid
163- break
164- case 'entry_published' :
165- item . _type = config . contentstack . actions . publish
166- item . _content_type_uid = item . content_type_uid
167- // extra keys
168- item . _synced_at = time
169- item = merge ( item , item . data )
170- item . locale = item . data . publish_details . locale
171- // delete item.data
172- // delete item.content_type_uid
173- break
174- case 'entry_unpublished' :
175- item . _content_type_uid = item . content_type_uid
176- item . _type = config . contentstack . actions . unpublish
177- item = merge ( item , item . data )
178- // delete item.data
179- // delete item.content_type_uid
180- break
181- case 'entry_deleted' :
182- item . _content_type_uid = item . content_type_uid
183- item . _type = config . contentstack . actions . delete
184- item = merge ( item , item . data )
185- // delete item.data
186- // delete item.content_type_uid
187- break
188- case 'content_type_deleted' :
189- item . _type = config . contentstack . actions . delete
190- item . uid = item . content_type_uid
191- item . _content_type_uid = formattedContentType
192- // delete item.content_type_uid
193- break
194- default :
195- break
196- }
197- } )
138+ for ( let i = 0 , j = items . length ; i < j ; i ++ ) {
139+ switch ( items [ i ] . type ) {
140+ case 'asset_published' :
141+ delete items [ i ] . type
142+ items [ i ] . _content_type_uid = formattedAssetType
143+ items [ i ] . _type = config . contentstack . actions . publish
144+ // extra keys
145+ items [ i ] . _synced_at = time
146+ items [ i ] = merge ( items [ i ] , items [ i ] . data )
147+ items [ i ] . locale = items [ i ] . data . publish_details . locale
148+ break
149+ case 'asset_unpublished' :
150+ delete items [ i ] . type
151+ items [ i ] . _content_type_uid = formattedAssetType
152+ items [ i ] . _type = config . contentstack . actions . unpublish
153+ items [ i ] = merge ( items [ i ] , items [ i ] . data )
154+ break
155+ case 'asset_deleted' :
156+ delete items [ i ] . type
157+ items [ i ] . _content_type_uid = formattedAssetType
158+ items [ i ] . _type = config . contentstack . actions . delete
159+ items [ i ] = merge ( items [ i ] , items [ i ] . data )
160+ break
161+ case 'entry_published' :
162+ delete items [ i ] . type
163+ items [ i ] . _type = config . contentstack . actions . publish
164+ items [ i ] . _content_type_uid = items [ i ] . content_type_uid
165+ // extra keys
166+ items [ i ] . _synced_at = time
167+ items [ i ] = merge ( items [ i ] , items [ i ] . data )
168+ items [ i ] . locale = items [ i ] . data . publish_details . locale
169+ break
170+ case 'entry_unpublished' :
171+ delete items [ i ] . type
172+ items [ i ] . _content_type_uid = items [ i ] . content_type_uid
173+ items [ i ] . _type = config . contentstack . actions . unpublish
174+ items [ i ] = merge ( items [ i ] , items [ i ] . data )
175+ break
176+ case 'entry_deleted' :
177+ delete items [ i ] . type
178+ items [ i ] . _content_type_uid = items [ i ] . content_type_uid
179+ items [ i ] . _type = config . contentstack . actions . delete
180+ items [ i ] = merge ( items [ i ] , items [ i ] . data )
181+ break
182+ case 'content_type_deleted' :
183+ delete items [ i ] . type
184+ items [ i ] . _type = config . contentstack . actions . delete
185+ items [ i ] . uid = items [ i ] . content_type_uid
186+ items [ i ] . _content_type_uid = formattedContentType
187+ break
188+ default :
189+ logger . error ( 'Item\'s type did not match any expected case!!' )
190+ logger . error ( JSON . stringify ( items [ i ] ) )
191+ // remove the element from items[i]s
192+ items [ i ] . splice ( i , 1 )
193+ i --
194+ break
195+ }
196+ }
198197
199198 return items
200199}
0 commit comments