Skip to content

Commit f5e69d5

Browse files
fix broken types
1 parent 1f3e289 commit f5e69d5

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

packages/cloudflare/src/api/config.ts

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { OpenNextConfig } from "@opennextjs/aws/types/open-next";
1+
import { BaseOverride, LazyLoadedOverride, OpenNextConfig } from "@opennextjs/aws/types/open-next";
22
import type { IncrementalCache, Queue, TagCache } from "@opennextjs/aws/types/overrides";
33

44
export type CloudflareConfigOptions = {
@@ -59,6 +59,7 @@ export type CloudflareConfigOptions = {
5959
*/
6060
export function defineCloudflareConfig(options: CloudflareConfigOptions = {}): OpenNextConfig {
6161
const { incrementalCache, tagCache, queue } = options;
62+
6263
return {
6364
default: {
6465
override: {
@@ -81,12 +82,22 @@ export function defineCloudflareConfig(options: CloudflareConfigOptions = {}): O
8182
};
8283
}
8384

85+
type DummyOrLazyLoadedOverride<T extends BaseOverride> = "dummy" | LazyLoadedOverride<T>;
86+
87+
type ResolveOverrideReturn<T extends IncrementalCache | TagCache | Queue> = T extends Queue
88+
? "direct" | DummyOrLazyLoadedOverride<T>
89+
: DummyOrLazyLoadedOverride<T>;
90+
8491
function resolveOverride<T extends IncrementalCache | TagCache | Queue>(
85-
value: T | (() => T | Promise<T>) | undefined
86-
): (() => T | Promise<T>) | "dummy" {
87-
if (!value) {
88-
return "dummy";
92+
value: undefined | "dummy" | "direct" | T | (() => T | Promise<T>)
93+
): ResolveOverrideReturn<T> {
94+
if (!value || value === "dummy") {
95+
return "dummy" as ResolveOverrideReturn<T>;
96+
}
97+
98+
if (value === "direct") {
99+
return "direct" as ResolveOverrideReturn<T>;
89100
}
90101

91-
return typeof value === "function" ? value : () => value;
102+
return (typeof value === "function" ? value : () => value) as ResolveOverrideReturn<T>;
92103
}

0 commit comments

Comments
 (0)