Skip to content

Commit 140205c

Browse files
fix: improve async handler logic in server-utils
1 parent 13d4940 commit 140205c

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/server-utils.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ function generateAsyncTemplate(
3030
const createAsyncHandler = (exportName) => {
3131
return async (...args) => {
3232
const module = await ensureEntryServerLoaded();
33-
return module[exportName](...args);
33+
const handler = module[exportName];
34+
return typeof handler === 'function' ? handler(...args) : handler;
3435
};
3536
};
3637
@@ -40,20 +41,24 @@ function generateAsyncTemplate(
4041
if (!entryServerModule) {
4142
throw new Error('Entry server module not loaded yet. Call an async method first or await ensureEntryServerLoaded()');
4243
}
43-
return entryServerModule[exportName](...args);
44+
45+
const handler = entryServerModule[exportName];
46+
return typeof handler === 'function' ? handler(...args) : handler;
4447
};
4548
};
4649
4750
// Create a proxy for the entryServer exports
4851
const entryServer = new Proxy({}, {
4952
get: (target, prop) => {
50-
// Handle async exports
53+
if (entryServerModule) {
54+
return entryServerModule[prop];
55+
}
56+
5157
if (prop === 'handleDataRequest' || prop === 'handleRequest' || prop === 'default') {
5258
return createAsyncHandler(prop);
5359
}
5460
55-
// For any other property
56-
return entryServerModule?.[prop];
61+
return undefined;
5762
}
5863
});
5964

0 commit comments

Comments
 (0)