Skip to content

Commit 010f8c7

Browse files
committed
restrict types accepted
1 parent d58652c commit 010f8c7

File tree

5 files changed

+42
-20
lines changed

5 files changed

+42
-20
lines changed

src/workerd/api/http.h

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -436,10 +436,16 @@ class Fetcher: public JsRpcClientProvider {
436436
});
437437
}
438438
JSG_TS_DEFINE(
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
439+
type Service<
440+
T extends
441+
| (new (...args: any[]) => Rpc.WorkerEntrypointBranded)
442+
| Rpc.WorkerEntrypointBranded
443+
| ExportedHandler<any, any, any>
444+
| undefined = undefined,
445+
> = Fetcher<
446+
T extends new (...args: any[]) => infer EntrypointClass ? EntrypointClass
447+
: T extends Rpc.WorkerEntrypointBranded ? T
448+
: undefined
443449
>;
444450
);
445451

types/generated-snapshot/experimental/index.d.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1761,11 +1761,15 @@ interface RequestInit<Cf = CfProperties> {
17611761
signal?: AbortSignal | null;
17621762
encodeResponseBody?: "automatic" | "manual";
17631763
}
1764-
type Service<T = undefined> = Fetcher<
1764+
type Service<
1765+
T extends
1766+
| (new (...args: any[]) => Rpc.WorkerEntrypointBranded)
1767+
| Rpc.WorkerEntrypointBranded
1768+
| ExportedHandler<any, any, any>
1769+
| undefined = undefined,
1770+
> = Fetcher<
17651771
T extends new (...args: any[]) => infer EntrypointClass
1766-
? EntrypointClass extends Rpc.WorkerEntrypointBranded
1767-
? EntrypointClass
1768-
: undefined
1772+
? EntrypointClass
17691773
: T extends Rpc.WorkerEntrypointBranded
17701774
? T
17711775
: undefined

types/generated-snapshot/experimental/index.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1769,11 +1769,15 @@ export interface RequestInit<Cf = CfProperties> {
17691769
signal?: AbortSignal | null;
17701770
encodeResponseBody?: "automatic" | "manual";
17711771
}
1772-
export type Service<T = undefined> = Fetcher<
1772+
export type Service<
1773+
T extends
1774+
| (new (...args: any[]) => Rpc.WorkerEntrypointBranded)
1775+
| Rpc.WorkerEntrypointBranded
1776+
| ExportedHandler<any, any, any>
1777+
| undefined = undefined,
1778+
> = Fetcher<
17731779
T extends new (...args: any[]) => infer EntrypointClass
1774-
? EntrypointClass extends Rpc.WorkerEntrypointBranded
1775-
? EntrypointClass
1776-
: undefined
1780+
? EntrypointClass
17771781
: T extends Rpc.WorkerEntrypointBranded
17781782
? T
17791783
: undefined

types/generated-snapshot/latest/index.d.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1727,11 +1727,15 @@ interface RequestInit<Cf = CfProperties> {
17271727
signal?: AbortSignal | null;
17281728
encodeResponseBody?: "automatic" | "manual";
17291729
}
1730-
type Service<T = undefined> = Fetcher<
1730+
type Service<
1731+
T extends
1732+
| (new (...args: any[]) => Rpc.WorkerEntrypointBranded)
1733+
| Rpc.WorkerEntrypointBranded
1734+
| ExportedHandler<any, any, any>
1735+
| undefined = undefined,
1736+
> = Fetcher<
17311737
T extends new (...args: any[]) => infer EntrypointClass
1732-
? EntrypointClass extends Rpc.WorkerEntrypointBranded
1733-
? EntrypointClass
1734-
: undefined
1738+
? EntrypointClass
17351739
: T extends Rpc.WorkerEntrypointBranded
17361740
? T
17371741
: undefined

types/generated-snapshot/latest/index.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1735,11 +1735,15 @@ export interface RequestInit<Cf = CfProperties> {
17351735
signal?: AbortSignal | null;
17361736
encodeResponseBody?: "automatic" | "manual";
17371737
}
1738-
export type Service<T = undefined> = Fetcher<
1738+
export type Service<
1739+
T extends
1740+
| (new (...args: any[]) => Rpc.WorkerEntrypointBranded)
1741+
| Rpc.WorkerEntrypointBranded
1742+
| ExportedHandler<any, any, any>
1743+
| undefined = undefined,
1744+
> = Fetcher<
17391745
T extends new (...args: any[]) => infer EntrypointClass
1740-
? EntrypointClass extends Rpc.WorkerEntrypointBranded
1741-
? EntrypointClass
1742-
: undefined
1746+
? EntrypointClass
17431747
: T extends Rpc.WorkerEntrypointBranded
17441748
? T
17451749
: undefined

0 commit comments

Comments
 (0)