1
+ /** @import { ComponentContext, ComponentContextLegacy, Effect, Reaction, TemplateNode, TransitionManager } from '#client' */
1
2
import {
2
3
check_dirtiness ,
3
4
current_component_context ,
@@ -57,8 +58,8 @@ export function validate_effect(rune) {
57
58
}
58
59
59
60
/**
60
- * @param {import("#client"). Effect } effect
61
- * @param {import("#client"). Reaction } parent_effect
61
+ * @param {Effect } effect
62
+ * @param {Reaction } parent_effect
62
63
*/
63
64
export function push_effect ( effect , parent_effect ) {
64
65
var parent_last = parent_effect . last ;
@@ -76,12 +77,12 @@ export function push_effect(effect, parent_effect) {
76
77
* @param {null | (() => void | (() => void)) } fn
77
78
* @param {boolean } sync
78
79
* @param {boolean } push
79
- * @returns {import('#client'). Effect }
80
+ * @returns {Effect }
80
81
*/
81
82
function create_effect ( type , fn , sync , push = true ) {
82
83
var is_root = ( type & ROOT_EFFECT ) !== 0 ;
83
84
84
- /** @type {import('#client'). Effect } */
85
+ /** @type {Effect } */
85
86
var effect = {
86
87
ctx : current_component_context ,
87
88
deps : null ,
@@ -187,7 +188,7 @@ export function user_effect(fn) {
187
188
}
188
189
189
190
if ( defer ) {
190
- var context = /** @type {import('#client'). ComponentContext } */ ( current_component_context ) ;
191
+ var context = /** @type {ComponentContext } */ ( current_component_context ) ;
191
192
( context . e ??= [ ] ) . push ( fn ) ;
192
193
} else {
193
194
var signal = effect ( fn ) ;
@@ -198,7 +199,7 @@ export function user_effect(fn) {
198
199
/**
199
200
* Internal representation of `$effect.pre(...)`
200
201
* @param {() => void | (() => void) } fn
201
- * @returns {import('#client'). Effect }
202
+ * @returns {Effect }
202
203
*/
203
204
export function user_pre_effect ( fn ) {
204
205
validate_effect ( '$effect.pre' ) ;
@@ -229,7 +230,7 @@ export function effect_root(fn) {
229
230
230
231
/**
231
232
* @param {() => void | (() => void) } fn
232
- * @returns {import('#client'). Effect }
233
+ * @returns {Effect }
233
234
*/
234
235
export function effect ( fn ) {
235
236
return create_effect ( EFFECT , fn , false ) ;
@@ -241,9 +242,9 @@ export function effect(fn) {
241
242
* @param {() => void | (() => void) } fn
242
243
*/
243
244
export function legacy_pre_effect ( deps , fn ) {
244
- var context = /** @type {import('#client'). ComponentContextLegacy } */ ( current_component_context ) ;
245
+ var context = /** @type {ComponentContextLegacy } */ ( current_component_context ) ;
245
246
246
- /** @type {{ effect: null | import('#client'). Effect, ran: boolean } } */
247
+ /** @type {{ effect: null | Effect, ran: boolean } } */
247
248
var token = { effect : null , ran : false } ;
248
249
context . l . r1 . push ( token ) ;
249
250
@@ -261,7 +262,7 @@ export function legacy_pre_effect(deps, fn) {
261
262
}
262
263
263
264
export function legacy_pre_effect_reset ( ) {
264
- var context = /** @type {import('#client'). ComponentContextLegacy } */ ( current_component_context ) ;
265
+ var context = /** @type {ComponentContextLegacy } */ ( current_component_context ) ;
265
266
266
267
render_effect ( ( ) => {
267
268
if ( ! get ( context . l . r2 ) ) return ;
@@ -283,15 +284,15 @@ export function legacy_pre_effect_reset() {
283
284
284
285
/**
285
286
* @param {() => void | (() => void) } fn
286
- * @returns {import('#client'). Effect }
287
+ * @returns {Effect }
287
288
*/
288
289
export function render_effect ( fn ) {
289
290
return create_effect ( RENDER_EFFECT , fn , true ) ;
290
291
}
291
292
292
293
/**
293
294
* @param {() => void | (() => void) } fn
294
- * @returns {import('#client'). Effect }
295
+ * @returns {Effect }
295
296
*/
296
297
export function template_effect ( fn ) {
297
298
if ( DEV ) {
@@ -319,7 +320,7 @@ export function branch(fn, push = true) {
319
320
}
320
321
321
322
/**
322
- * @param {import("#client"). Effect } effect
323
+ * @param {Effect } effect
323
324
*/
324
325
export function execute_effect_teardown ( effect ) {
325
326
var teardown = effect . teardown ;
@@ -338,22 +339,21 @@ export function execute_effect_teardown(effect) {
338
339
}
339
340
340
341
/**
341
- * @param {import('#client'). Effect } effect
342
+ * @param {Effect } effect
342
343
* @param {boolean } [remove_dom]
343
344
* @returns {void }
344
345
*/
345
346
export function destroy_effect ( effect , remove_dom = true ) {
346
347
var removed = false ;
347
348
348
349
if ( ( remove_dom || ( effect . f & HEAD_EFFECT ) !== 0 ) && effect . nodes !== null ) {
349
- /** @type {import('#client'). TemplateNode | null } */
350
+ /** @type {TemplateNode | null } */
350
351
var node = effect . nodes . start ;
351
352
var end = effect . nodes . end ;
352
353
353
354
while ( node !== null ) {
354
- /** @type {import('#client').TemplateNode | null } */
355
- var next =
356
- node === end ? null : /** @type {import('#client').TemplateNode } */ ( node . nextSibling ) ;
355
+ /** @type {TemplateNode | null } */
356
+ var next = node === end ? null : /** @type {TemplateNode } */ ( node . nextSibling ) ;
357
357
358
358
node . remove ( ) ;
359
359
node = next ;
@@ -396,7 +396,7 @@ export function destroy_effect(effect, remove_dom = true) {
396
396
/**
397
397
* Detach an effect from the effect tree, freeing up memory and
398
398
* reducing the amount of work that happens on subsequent traversals
399
- * @param {import('#client'). Effect } effect
399
+ * @param {Effect } effect
400
400
*/
401
401
export function unlink_effect ( effect ) {
402
402
var parent = effect . parent ;
@@ -418,11 +418,11 @@ export function unlink_effect(effect) {
418
418
* It stays around (in memory, and in the DOM) until outro transitions have
419
419
* completed, and if the state change is reversed then we _resume_ it.
420
420
* A paused effect does not update, and the DOM subtree becomes inert.
421
- * @param {import('#client'). Effect } effect
421
+ * @param {Effect } effect
422
422
* @param {() => void } [callback]
423
423
*/
424
424
export function pause_effect ( effect , callback ) {
425
- /** @type {import('#client'). TransitionManager[] } */
425
+ /** @type {TransitionManager[] } */
426
426
var transitions = [ ] ;
427
427
428
428
pause_children ( effect , transitions , true ) ;
@@ -434,7 +434,7 @@ export function pause_effect(effect, callback) {
434
434
}
435
435
436
436
/**
437
- * @param {import('#client'). TransitionManager[] } transitions
437
+ * @param {TransitionManager[] } transitions
438
438
* @param {() => void } fn
439
439
*/
440
440
export function run_out_transitions ( transitions , fn ) {
@@ -450,8 +450,8 @@ export function run_out_transitions(transitions, fn) {
450
450
}
451
451
452
452
/**
453
- * @param {import('#client'). Effect } effect
454
- * @param {import('#client'). TransitionManager[] } transitions
453
+ * @param {Effect } effect
454
+ * @param {TransitionManager[] } transitions
455
455
* @param {boolean } local
456
456
*/
457
457
export function pause_children ( effect , transitions , local ) {
@@ -482,14 +482,14 @@ export function pause_children(effect, transitions, local) {
482
482
/**
483
483
* The opposite of `pause_effect`. We call this if (for example)
484
484
* `x` becomes falsy then truthy: `{#if x}...{/if}`
485
- * @param {import('#client'). Effect } effect
485
+ * @param {Effect } effect
486
486
*/
487
487
export function resume_effect ( effect ) {
488
488
resume_children ( effect , true ) ;
489
489
}
490
490
491
491
/**
492
- * @param {import('#client'). Effect } effect
492
+ * @param {Effect } effect
493
493
* @param {boolean } local
494
494
*/
495
495
function resume_children ( effect , local ) {
0 commit comments