1
+ /** @import { Component, Payload, RenderOutput } from '#server' */
2
+ /** @import { Store } from '#shared' */
1
3
import { is_promise , noop } from '../shared/utils.js' ;
2
4
import { subscribe_to_store } from '../../store/utils.js' ;
3
5
import {
@@ -37,36 +39,33 @@ export const VoidElements = new Set([
37
39
'wbr'
38
40
] ) ;
39
41
40
- /** @returns {import('#server').Payload } */
41
- function create_payload ( ) {
42
- return { out : '' , head : { title : '' , out : '' , anchor : 0 } , anchor : 0 } ;
43
- }
44
-
45
42
/**
46
- * @param {import('#server'). Payload } to_copy
47
- * @returns {import('#server'). Payload }
43
+ * @param {Payload } to_copy
44
+ * @returns {Payload }
48
45
*/
49
- export function copy_payload ( to_copy ) {
46
+ export function copy_payload ( { out , head } ) {
50
47
return {
51
- ...to_copy ,
52
- head : { ...to_copy . head }
48
+ out,
49
+ head : {
50
+ title : head . title ,
51
+ out : head . out
52
+ }
53
53
} ;
54
54
}
55
55
56
56
/**
57
57
* Assigns second payload to first
58
- * @param {import('#server'). Payload } p1
59
- * @param {import('#server'). Payload } p2
58
+ * @param {Payload } p1
59
+ * @param {Payload } p2
60
60
* @returns {void }
61
61
*/
62
62
export function assign_payload ( p1 , p2 ) {
63
63
p1 . out = p2 . out ;
64
64
p1 . head = p2 . head ;
65
- p1 . anchor = p2 . anchor ;
66
65
}
67
66
68
67
/**
69
- * @param {import('#server'). Payload } payload
68
+ * @param {Payload } payload
70
69
* @param {string } tag
71
70
* @param {() => void } attributes_fn
72
71
* @param {() => void } children_fn
@@ -104,18 +103,19 @@ export let on_destroy = [];
104
103
* @template {Record<string, any>} Props
105
104
* @param {import('svelte').Component<Props> | import('svelte').ComponentType<import('svelte').SvelteComponent<Props>> } component
106
105
* @param {{ props?: Omit<Props, '$$slots' | '$$events'>; context?: Map<any, any> } } [options]
107
- * @returns {import('#server'). RenderOutput }
106
+ * @returns {RenderOutput }
108
107
*/
109
108
export function render ( component , options = { } ) {
110
- const payload = create_payload ( ) ;
109
+ /** @type {Payload } */
110
+ const payload = { out : '' , head : { title : '' , out : '' } } ;
111
111
112
112
const prev_on_destroy = on_destroy ;
113
113
on_destroy = [ ] ;
114
114
payload . out += BLOCK_OPEN ;
115
115
116
116
if ( options . context ) {
117
117
push ( ) ;
118
- /** @type {import('#server'). Component } */ ( current_component ) . c = options . context ;
118
+ /** @type {Component } */ ( current_component ) . c = options . context ;
119
119
}
120
120
121
121
// @ts -expect-error
@@ -137,8 +137,8 @@ export function render(component, options = {}) {
137
137
}
138
138
139
139
/**
140
- * @param {import('#server'). Payload } payload
141
- * @param {(head_payload: import('#server'). Payload['head']) => void } fn
140
+ * @param {Payload } payload
141
+ * @param {(head_payload: Payload['head']) => void } fn
142
142
* @returns {void }
143
143
*/
144
144
export function head ( payload , fn ) {
@@ -162,7 +162,7 @@ export function attr(name, value, is_boolean = false) {
162
162
}
163
163
164
164
/**
165
- * @param {import('#server'). Payload } payload
165
+ * @param {Payload } payload
166
166
* @param {boolean } is_html
167
167
* @param {Record<string, string> } props
168
168
* @param {() => void } component
@@ -309,7 +309,7 @@ export function merge_styles(attribute, styles) {
309
309
* @template V
310
310
* @param {Record<string, [any, any, any]> } store_values
311
311
* @param {string } store_name
312
- * @param {import('#shared'). Store<V> | null | undefined } store
312
+ * @param {Store<V> | null | undefined } store
313
313
* @returns {V }
314
314
*/
315
315
export function store_get ( store_values , store_name , store ) {
@@ -336,7 +336,7 @@ export function store_get(store_values, store_name, store) {
336
336
/**
337
337
* Sets the new value of a store and returns that value.
338
338
* @template V
339
- * @param {import('#shared'). Store<V> } store
339
+ * @param {Store<V> } store
340
340
* @param {V } value
341
341
* @returns {V }
342
342
*/
@@ -350,7 +350,7 @@ export function store_set(store, value) {
350
350
* @template V
351
351
* @param {Record<string, [any, any, any]> } store_values
352
352
* @param {string } store_name
353
- * @param {import('#shared'). Store<V> } store
353
+ * @param {Store<V> } store
354
354
* @param {any } expression
355
355
*/
356
356
export function mutate_store ( store_values , store_name , store , expression ) {
@@ -361,7 +361,7 @@ export function mutate_store(store_values, store_name, store, expression) {
361
361
/**
362
362
* @param {Record<string, [any, any, any]> } store_values
363
363
* @param {string } store_name
364
- * @param {import('#shared'). Store<number> } store
364
+ * @param {Store<number> } store
365
365
* @param {1 | -1 } [d]
366
366
* @returns {number }
367
367
*/
@@ -374,7 +374,7 @@ export function update_store(store_values, store_name, store, d = 1) {
374
374
/**
375
375
* @param {Record<string, [any, any, any]> } store_values
376
376
* @param {string } store_name
377
- * @param {import('#shared'). Store<number> } store
377
+ * @param {Store<number> } store
378
378
* @param {1 | -1 } [d]
379
379
* @returns {number }
380
380
*/
@@ -412,8 +412,8 @@ export async function value_or_fallback_async(value, fallback) {
412
412
}
413
413
414
414
/**
415
- * @param {import('#server'). Payload } payload
416
- * @param {void | ((payload: import('#server'). Payload, props: Record<string, unknown>) => void) } slot_fn
415
+ * @param {Payload } payload
416
+ * @param {void | ((payload: Payload, props: Record<string, unknown>) => void) } slot_fn
417
417
* @param {Record<string, unknown> } slot_props
418
418
* @param {null | (() => void) } fallback_fn
419
419
* @returns {void }
0 commit comments