@@ -48,24 +48,25 @@ export async function startSocketServer(nuxt: Nuxt, options: ModuleOptions, mani
4848 await db . exec ( insertQuery )
4949 }
5050
51- const index = manifest . dump [ collection . name ] ?. findIndex ( item => item . includes ( `'${ key } '` ) )
52- if ( index && index !== - 1 ) {
53- // Update templates to have valid dump for client-side navigation
54- if ( insertQuery ) {
55- manifest . dump [ collection . name ] ?. splice ( index , 1 , insertQuery )
56- }
57- else {
58- manifest . dump [ collection . name ] ?. splice ( index , 1 )
59- }
51+ const collectionDump = manifest . dump [ collection . name ]
52+ const keyIndex = collectionDump ?. findIndex ( item => item . includes ( `'${ key } '` ) )
53+ const indexToUpdate = keyIndex !== - 1 ? keyIndex : collectionDump ?. length
54+ const itemsToRemove = keyIndex === - 1 ? 0 : 1
6055
61- updateTemplates ( {
62- filter : template => [
63- moduleTemplates . manifest ,
64- moduleTemplates . fullCompressedDump ,
65- // moduleTemplates.raw,
66- ] . includes ( template . filename ) ,
67- } )
56+ if ( insertQuery ) {
57+ collectionDump ?. splice ( indexToUpdate , itemsToRemove , insertQuery )
6858 }
59+ else {
60+ collectionDump ?. splice ( indexToUpdate , itemsToRemove )
61+ }
62+
63+ updateTemplates ( {
64+ filter : template => [
65+ moduleTemplates . manifest ,
66+ moduleTemplates . fullCompressedDump ,
67+ // moduleTemplates.raw,
68+ ] . includes ( template . filename ) ,
69+ } )
6970
7071 websocket ?. broadcast ( {
7172 key,
0 commit comments