1- /** @import { ALSContext , SSRContext } from '#server' */
1+ /** @import { RenderContext , SSRContext } from '#server' */
22/** @import { AsyncLocalStorage } from 'node:async_hooks' */
33/** @import { Transport } from '#shared' */
44import { DEV } from 'esm-env' ;
@@ -137,36 +137,36 @@ export function set_hydratable_key(key) {
137137 * @template T
138138 * @overload
139139 * @param {string } key
140- * @param {() => T } fn
140+ * @param {() => Promise<T> } fn
141141 * @param {{ transport?: Transport<T> } } [options]
142- * @returns {Promise<Awaited<T> > }
142+ * @returns {Promise<T > }
143143 */
144144/**
145145 * @template T
146146 * @overload
147- * @param {() => T } fn
147+ * @param {() => Promise<T> } fn
148148 * @param {{ transport?: Transport<T> } } [options]
149- * @returns {Promise<Awaited<T> > }
149+ * @returns {Promise<T > }
150150 */
151151/**
152152 * @template T
153- * @param {string | (() => T ) } key_or_fn
154- * @param {(() => T ) | { transport?: Transport<T> } } [fn_or_options]
153+ * @param {string | (() => Promise<T> ) } key_or_fn
154+ * @param {(() => Promise<T> ) | { transport?: Transport<T> } } [fn_or_options]
155155 * @param {{ transport?: Transport<T> } } [maybe_options]
156- * @returns {Promise<Awaited<T> > }
156+ * @returns {Promise<T > }
157157 */
158158export function hydratable ( key_or_fn , fn_or_options = { } , maybe_options = { } ) {
159159 // TODO DRY out with #shared
160160 /** @type {string } */
161161 let key ;
162- /** @type {() => T } */
162+ /** @type {() => Promise<T> } */
163163 let fn ;
164164 /** @type {{ transport?: Transport<T> } } */
165165 let options ;
166166
167167 if ( typeof key_or_fn === 'string' ) {
168168 key = key_or_fn ;
169- fn = /** @type {() => T } */ ( fn_or_options ) ;
169+ fn = /** @type {() => Promise<T> } */ ( fn_or_options ) ;
170170 options = /** @type {{ transport?: Transport<T> } } */ ( maybe_options ) ;
171171 } else {
172172 if ( hydratable_key === null ) {
@@ -176,7 +176,7 @@ export function hydratable(key_or_fn, fn_or_options = {}, maybe_options = {}) {
176176 } else {
177177 key = hydratable_key ;
178178 }
179- fn = /** @type {() => T } */ ( key_or_fn ) ;
179+ fn = /** @type {() => Promise<T> } */ ( key_or_fn ) ;
180180 options = /** @type {{ transport?: Transport<T> } } */ ( fn_or_options ) ;
181181 }
182182 const store = get_render_store ( ) ;
@@ -191,15 +191,15 @@ export function hydratable(key_or_fn, fn_or_options = {}, maybe_options = {}) {
191191 return Promise . resolve ( result ) ;
192192}
193193
194- /** @type {ALSContext | null } */
194+ /** @type {RenderContext | null } */
195195export let sync_store = null ;
196196
197- /** @param {ALSContext | null } store */
197+ /** @param {RenderContext | null } store */
198198export function set_sync_store ( store ) {
199199 sync_store = store ;
200200}
201201
202- /** @type {AsyncLocalStorage<ALSContext | null> | null } */
202+ /** @type {AsyncLocalStorage<RenderContext | null> | null } */
203203let als = null ;
204204
205205import ( 'node:async_hooks' )
@@ -209,12 +209,12 @@ import('node:async_hooks')
209209 return null ;
210210 } ) ;
211211
212- /** @returns {ALSContext | null } */
212+ /** @returns {RenderContext | null } */
213213function try_get_render_store ( ) {
214214 return sync_store ?? als ?. getStore ( ) ?? null ;
215215}
216216
217- /** @returns {ALSContext } */
217+ /** @returns {RenderContext } */
218218export function get_render_store ( ) {
219219 const store = try_get_render_store ( ) ;
220220
@@ -238,7 +238,7 @@ export function get_render_store() {
238238
239239/**
240240 * @template T
241- * @param {ALSContext } store
241+ * @param {RenderContext } store
242242 * @param {() => Promise<T> } fn
243243 * @returns {Promise<T> }
244244 */
0 commit comments