@@ -48,24 +48,25 @@ export async function startSocketServer(nuxt: Nuxt, options: ModuleOptions, mani
48
48
await db . exec ( insertQuery )
49
49
}
50
50
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
60
55
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 )
68
58
}
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
+ } )
69
70
70
71
websocket ?. broadcast ( {
71
72
key,
0 commit comments