@@ -45,22 +45,20 @@ export function initSlots(
4545 // with ctx
4646 const slots = rawSlots [ 0 ] as StaticSlots
4747 for ( const name in slots ) {
48- resolveSlot ( name , slots [ name ] )
48+ addSlot ( name , slots [ name ] )
4949 }
5050 return
5151 }
5252
5353 instance . slots = shallowReactive ( { } )
5454 const renderedSlotKeys : Set < string > [ ] = [ ]
55- const slotsQueue : Record < string , [ number , Slot ] [ ] > = { }
55+ const slotsQueue : Record < string , [ level : number , slot : Slot ] [ ] > = { }
5656 rawSlots . forEach ( ( slots , index ) => {
5757 const isDynamicSlot = isDynamicSlotFn ( slots )
5858 if ( isDynamicSlot ) {
5959 firstEffect ( instance , ( ) => {
60- const renderedKeys =
61- renderedSlotKeys [ index ] || ( renderedSlotKeys [ index ] = new Set ( ) )
62- let dynamicSlot : ReturnType < DynamicSlotFn >
63- dynamicSlot = slots ( )
60+ const renderedKeys = ( renderedSlotKeys [ index ] ||= new Set ( ) )
61+ let dynamicSlot = slots ( )
6462 const restoreSlotNames = cleanupSlot ( index )
6563 if ( isArray ( dynamicSlot ) ) {
6664 for ( const slot of dynamicSlot ) {
@@ -74,7 +72,7 @@ export function initSlots(
7472 const [ restoreLevel , restoreFn ] = slotsQueue [ key ] [ 0 ]
7573 renderedSlotKeys [ restoreLevel ] &&
7674 renderedSlotKeys [ restoreLevel ] . add ( key )
77- resolveSlot ( key , restoreFn )
75+ addSlot ( key , restoreFn )
7876 }
7977 }
8078 for ( const name of renderedKeys ) {
@@ -116,12 +114,12 @@ export function initSlots(
116114
117115 function registerSlot (
118116 name : string ,
119- fn : Slot ,
117+ slot : Slot ,
120118 level : number ,
121119 renderedKeys ?: Set < string > ,
122120 ) {
123- slotsQueue [ name ] = slotsQueue [ name ] || [ ]
124- slotsQueue [ name ] . push ( [ level , fn ] )
121+ slotsQueue [ name ] ||= [ ]
122+ slotsQueue [ name ] . push ( [ level , slot ] )
125123 slotsQueue [ name ] . sort ( ( a , b ) => b [ 0 ] - a [ 0 ] )
126124 if ( slotsQueue [ name ] [ 1 ] ) {
127125 const hidenLevel = slotsQueue [ name ] [ 1 ] [ 0 ]
@@ -130,10 +128,10 @@ export function initSlots(
130128 if ( slotsQueue [ name ] [ 0 ] [ 0 ] === level ) {
131129 renderedKeys && renderedKeys . add ( name )
132130 }
133- resolveSlot ( name , slotsQueue [ name ] [ 0 ] [ 1 ] )
131+ addSlot ( name , slotsQueue [ name ] [ 0 ] [ 1 ] )
134132 }
135133
136- function resolveSlot ( name : string , fn : Slot ) {
134+ function addSlot ( name : string , fn : Slot ) {
137135 instance . slots [ name ] = withCtx ( fn )
138136 }
139137
0 commit comments