|
|
@@ -40,6 +40,24 @@ await createClient({
|
|
|
],
|
|
|
})
|
|
|
|
|
|
+// Patch a @hey-api/openapi-ts codegen bug: SseFn incorrectly passes the
|
|
|
+// endpoint's TError into the second generic of ServerSentEventsResult, which
|
|
|
+// is the AsyncGenerator's TReturn slot. Iterator return values have nothing
|
|
|
+// to do with HTTP errors, and any consumer that calls `.return()` or returns
|
|
|
+// from a mock generator gets type-checked against the wrong shape. Drop the
|
|
|
+// arg so TReturn defaults to void.
|
|
|
+const sseTypesPath = "./src/v2/gen/client/types.gen.ts"
|
|
|
+const sseTypesFile = Bun.file(sseTypesPath)
|
|
|
+const sseTypesSource = await sseTypesFile.text()
|
|
|
+const sseTypesPatched = sseTypesSource.replace(
|
|
|
+ "=> Promise<ServerSentEventsResult<TData, TError>>",
|
|
|
+ "=> Promise<ServerSentEventsResult<TData>>",
|
|
|
+)
|
|
|
+if (sseTypesPatched === sseTypesSource) {
|
|
|
+ throw new Error(`SseFn patch did not apply; @hey-api/openapi-ts output may have changed (${sseTypesPath})`)
|
|
|
+}
|
|
|
+await Bun.write(sseTypesPath, sseTypesPatched)
|
|
|
+
|
|
|
await $`bun prettier --write src/gen`
|
|
|
await $`bun prettier --write src/v2`
|
|
|
await $`rm -rf dist`
|