File tree Expand file tree Collapse file tree 5 files changed +41
-11
lines changed Expand file tree Collapse file tree 5 files changed +41
-11
lines changed Original file line number Diff line number Diff line change @@ -436,7 +436,11 @@ class Fetcher: public JsRpcClientProvider {
436436 });
437437 }
438438 JSG_TS_DEFINE (
439- type Service<T extends Rpc.WorkerEntrypointBranded | undefined = undefined> = Fetcher<T>;
439+ type Service<T = undefined> = Fetcher<
440+ T extends new (...args : any[]) => infer EntrypointClass
441+ ? EntrypointClass extends Rpc.WorkerEntrypointBranded ? EntrypointClass : undefined
442+ : T extends Rpc.WorkerEntrypointBranded ? T : undefined
443+ >;
440444 );
441445
442446 if (!flags.getFetcherNoGetPutDelete ()) {
Original file line number Diff line number Diff line change @@ -1761,8 +1761,15 @@ interface RequestInit<Cf = CfProperties> {
17611761 signal ?: AbortSignal | null ;
17621762 encodeResponseBody ?: "automatic" | "manual" ;
17631763}
1764- type Service < T extends Rpc . WorkerEntrypointBranded | undefined = undefined > =
1765- Fetcher < T > ;
1764+ type Service < T = undefined > = Fetcher <
1765+ T extends new ( ...args : any [ ] ) => infer EntrypointClass
1766+ ? EntrypointClass extends Rpc . WorkerEntrypointBranded
1767+ ? EntrypointClass
1768+ : undefined
1769+ : T extends Rpc . WorkerEntrypointBranded
1770+ ? T
1771+ : undefined
1772+ > ;
17661773type Fetcher <
17671774 T extends Rpc . EntrypointBranded | undefined = undefined ,
17681775 Reserved extends string = never ,
Original file line number Diff line number Diff line change @@ -1769,9 +1769,15 @@ export interface RequestInit<Cf = CfProperties> {
17691769 signal ?: AbortSignal | null ;
17701770 encodeResponseBody ?: "automatic" | "manual" ;
17711771}
1772- export type Service <
1773- T extends Rpc . WorkerEntrypointBranded | undefined = undefined ,
1774- > = Fetcher < T > ;
1772+ export type Service < T = undefined > = Fetcher <
1773+ T extends new ( ...args : any [ ] ) => infer EntrypointClass
1774+ ? EntrypointClass extends Rpc . WorkerEntrypointBranded
1775+ ? EntrypointClass
1776+ : undefined
1777+ : T extends Rpc . WorkerEntrypointBranded
1778+ ? T
1779+ : undefined
1780+ > ;
17751781export type Fetcher <
17761782 T extends Rpc . EntrypointBranded | undefined = undefined ,
17771783 Reserved extends string = never ,
Original file line number Diff line number Diff line change @@ -1727,8 +1727,15 @@ interface RequestInit<Cf = CfProperties> {
17271727 signal ?: AbortSignal | null ;
17281728 encodeResponseBody ?: "automatic" | "manual" ;
17291729}
1730- type Service < T extends Rpc . WorkerEntrypointBranded | undefined = undefined > =
1731- Fetcher < T > ;
1730+ type Service < T = undefined > = Fetcher <
1731+ T extends new ( ...args : any [ ] ) => infer EntrypointClass
1732+ ? EntrypointClass extends Rpc . WorkerEntrypointBranded
1733+ ? EntrypointClass
1734+ : undefined
1735+ : T extends Rpc . WorkerEntrypointBranded
1736+ ? T
1737+ : undefined
1738+ > ;
17321739type Fetcher <
17331740 T extends Rpc . EntrypointBranded | undefined = undefined ,
17341741 Reserved extends string = never ,
Original file line number Diff line number Diff line change @@ -1735,9 +1735,15 @@ export interface RequestInit<Cf = CfProperties> {
17351735 signal ?: AbortSignal | null ;
17361736 encodeResponseBody ?: "automatic" | "manual" ;
17371737}
1738- export type Service <
1739- T extends Rpc . WorkerEntrypointBranded | undefined = undefined ,
1740- > = Fetcher < T > ;
1738+ export type Service < T = undefined > = Fetcher <
1739+ T extends new ( ...args : any [ ] ) => infer EntrypointClass
1740+ ? EntrypointClass extends Rpc . WorkerEntrypointBranded
1741+ ? EntrypointClass
1742+ : undefined
1743+ : T extends Rpc . WorkerEntrypointBranded
1744+ ? T
1745+ : undefined
1746+ > ;
17411747export type Fetcher <
17421748 T extends Rpc . EntrypointBranded | undefined = undefined ,
17431749 Reserved extends string = never ,
You can’t perform that action at this time.
0 commit comments