Skip to content

Commit ca1d24e

Browse files
fix: createIsomorphicFn compilation (#6220)
1 parent 71e560d commit ca1d24e

17 files changed

+164
-189
lines changed

packages/start-fn-stubs/src/createIsomorphicFn.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export interface ClientOnlyFn<TArgs extends Array<any>, TClient>
2121
) => IsomorphicFn<TArgs, TServer, TClient>
2222
}
2323

24-
export interface IsomorphicFnBase extends IsomorphicFn {
24+
export interface IsomorphicFnBase {
2525
server: <TArgs extends Array<any>, TServer>(
2626
serverImpl: (...args: TArgs) => TServer,
2727
) => ServerOnlyFn<TArgs, TServer>
@@ -34,8 +34,9 @@ export interface IsomorphicFnBase extends IsomorphicFn {
3434
// if we use `createIsomorphicFn` in this library itself, vite tries to execute it before the transformer runs
3535
// therefore we must return a dummy function that allows calling `server` and `client` method chains.
3636
export function createIsomorphicFn(): IsomorphicFnBase {
37-
return {
37+
const fn = () => undefined
38+
return Object.assign(fn, {
3839
server: () => ({ client: () => () => {} }),
3940
client: () => ({ server: () => () => {} }),
40-
} as any
41+
}) as any
4142
}

packages/start-fn-stubs/tests/createIsomorphicFn.test-d.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@ import { createIsomorphicFn } from '../src/createIsomorphicFn'
44
test('createIsomorphicFn with no implementations', () => {
55
const fn = createIsomorphicFn()
66

7-
expectTypeOf(fn).toBeCallableWith()
8-
expectTypeOf(fn).returns.toBeUndefined()
9-
107
expectTypeOf(fn).toHaveProperty('server')
118
expectTypeOf(fn).toHaveProperty('client')
129
})

0 commit comments

Comments
 (0)