summaryrefslogtreecommitdiffhomepage
path: root/packages/sdk/js/src/gen/client
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-09-17 01:16:49 -0400
committerDax Raad <[email protected]>2025-09-17 01:17:56 -0400
commitabd99aeb7db5564cbfdf99b42e6a10bf3ccbafd5 (patch)
tree541b052844e30a86be3916803a36544e6c22517f /packages/sdk/js/src/gen/client
parentad5fc76b11957013aec9a7ecc14e687b1df40fcb (diff)
downloadopencode-abd99aeb7db5564cbfdf99b42e6a10bf3ccbafd5.tar.gz
opencode-abd99aeb7db5564cbfdf99b42e6a10bf3ccbafd5.zip
ignore: fix event type gen
Diffstat (limited to 'packages/sdk/js/src/gen/client')
-rw-r--r--packages/sdk/js/src/gen/client/client.gen.ts98
-rw-r--r--packages/sdk/js/src/gen/client/types.gen.ts12
-rw-r--r--packages/sdk/js/src/gen/client/utils.gen.ts12
3 files changed, 82 insertions, 40 deletions
diff --git a/packages/sdk/js/src/gen/client/client.gen.ts b/packages/sdk/js/src/gen/client/client.gen.ts
index 34a8d0bec..aab8586ee 100644
--- a/packages/sdk/js/src/gen/client/client.gen.ts
+++ b/packages/sdk/js/src/gen/client/client.gen.ts
@@ -1,6 +1,8 @@
// This file is auto-generated by @hey-api/openapi-ts
import { createSseClient } from "../core/serverSentEvents.gen.js"
+import type { HttpMethod } from "../core/types.gen.js"
+import { getValidRequestBody } from "../core/utils.gen.js"
import type { Client, Config, RequestOptions, ResolvedRequestOptions } from "./types.gen.js"
import {
buildUrl,
@@ -49,12 +51,12 @@ export const createClient = (config: Config = {}): Client => {
await opts.requestValidator(opts)
}
- if (opts.body && opts.bodySerializer) {
+ if (opts.body !== undefined && opts.bodySerializer) {
opts.serializedBody = opts.bodySerializer(opts.body)
}
// remove Content-Type header if body is empty to avoid sending invalid requests
- if (opts.serializedBody === undefined || opts.serializedBody === "") {
+ if (opts.body === undefined || opts.serializedBody === "") {
opts.headers.delete("Content-Type")
}
@@ -69,7 +71,7 @@ export const createClient = (config: Config = {}): Client => {
const requestInit: ReqInit = {
redirect: "follow",
...opts,
- body: opts.serializedBody,
+ body: getValidRequestBody(opts),
}
let request = new Request(url, requestInit)
@@ -97,18 +99,36 @@ export const createClient = (config: Config = {}): Client => {
}
if (response.ok) {
+ const parseAs =
+ (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json"
+
if (response.status === 204 || response.headers.get("Content-Length") === "0") {
+ let emptyData: any
+ switch (parseAs) {
+ case "arrayBuffer":
+ case "blob":
+ case "text":
+ emptyData = await response[parseAs]()
+ break
+ case "formData":
+ emptyData = new FormData()
+ break
+ case "stream":
+ emptyData = response.body
+ break
+ case "json":
+ default:
+ emptyData = {}
+ break
+ }
return opts.responseStyle === "data"
- ? {}
+ ? emptyData
: {
- data: {},
+ data: emptyData,
...result,
}
}
- const parseAs =
- (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json"
-
let data: any
switch (parseAs) {
case "arrayBuffer":
@@ -178,35 +198,53 @@ export const createClient = (config: Config = {}): Client => {
}
}
- const makeMethod = (method: Required<Config>["method"]) => {
- const fn = (options: RequestOptions) => request({ ...options, method })
- fn.sse = async (options: RequestOptions) => {
- const { opts, url } = await beforeRequest(options)
- return createSseClient({
- ...opts,
- body: opts.body as BodyInit | null | undefined,
- headers: opts.headers as unknown as Record<string, string>,
- method,
- url,
- })
- }
- return fn
+ const makeMethodFn = (method: Uppercase<HttpMethod>) => (options: RequestOptions) => request({ ...options, method })
+
+ const makeSseFn = (method: Uppercase<HttpMethod>) => async (options: RequestOptions) => {
+ const { opts, url } = await beforeRequest(options)
+ return createSseClient({
+ ...opts,
+ body: opts.body as BodyInit | null | undefined,
+ headers: opts.headers as unknown as Record<string, string>,
+ method,
+ onRequest: async (url, init) => {
+ let request = new Request(url, init)
+ for (const fn of interceptors.request._fns) {
+ if (fn) {
+ request = await fn(request, opts)
+ }
+ }
+ return request
+ },
+ url,
+ })
}
return {
buildUrl,
- connect: makeMethod("CONNECT"),
- delete: makeMethod("DELETE"),
- get: makeMethod("GET"),
+ connect: makeMethodFn("CONNECT"),
+ delete: makeMethodFn("DELETE"),
+ get: makeMethodFn("GET"),
getConfig,
- head: makeMethod("HEAD"),
+ head: makeMethodFn("HEAD"),
interceptors,
- options: makeMethod("OPTIONS"),
- patch: makeMethod("PATCH"),
- post: makeMethod("POST"),
- put: makeMethod("PUT"),
+ options: makeMethodFn("OPTIONS"),
+ patch: makeMethodFn("PATCH"),
+ post: makeMethodFn("POST"),
+ put: makeMethodFn("PUT"),
request,
setConfig,
- trace: makeMethod("TRACE"),
+ sse: {
+ connect: makeSseFn("CONNECT"),
+ delete: makeSseFn("DELETE"),
+ get: makeSseFn("GET"),
+ head: makeSseFn("HEAD"),
+ options: makeSseFn("OPTIONS"),
+ patch: makeSseFn("PATCH"),
+ post: makeSseFn("POST"),
+ put: makeSseFn("PUT"),
+ trace: makeSseFn("TRACE"),
+ },
+ trace: makeMethodFn("TRACE"),
} as Client
}
diff --git a/packages/sdk/js/src/gen/client/types.gen.ts b/packages/sdk/js/src/gen/client/types.gen.ts
index db8e544cf..f16d2cd57 100644
--- a/packages/sdk/js/src/gen/client/types.gen.ts
+++ b/packages/sdk/js/src/gen/client/types.gen.ts
@@ -20,7 +20,7 @@ export interface Config<T extends ClientOptions = ClientOptions>
*
* @default globalThis.fetch
*/
- fetch?: (request: Request) => ReturnType<typeof fetch>
+ fetch?: typeof fetch
/**
* Please don't use the Fetch client for Next.js applications. The `next`
* options won't have any effect.
@@ -128,7 +128,7 @@ export interface ClientOptions {
throwOnError?: boolean
}
-type MethodFnBase = <
+type MethodFn = <
TData = unknown,
TError = unknown,
ThrowOnError extends boolean = false,
@@ -137,7 +137,7 @@ type MethodFnBase = <
options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, "method">,
) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>
-type MethodFnServerSentEvents = <
+type SseFn = <
TData = unknown,
TError = unknown,
ThrowOnError extends boolean = false,
@@ -146,10 +146,6 @@ type MethodFnServerSentEvents = <
options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, "method">,
) => Promise<ServerSentEventsResult<TData, TError>>
-type MethodFn = MethodFnBase & {
- sse: MethodFnServerSentEvents
-}
-
type RequestFn = <
TData = unknown,
TError = unknown,
@@ -171,7 +167,7 @@ type BuildUrlFn = <
options: Pick<TData, "url"> & Options<TData>,
) => string
-export type Client = CoreClient<RequestFn, Config, MethodFn, BuildUrlFn> & {
+export type Client = CoreClient<RequestFn, Config, MethodFn, BuildUrlFn, SseFn> & {
interceptors: Middleware<Request, Response, unknown, ResolvedRequestOptions>
}
diff --git a/packages/sdk/js/src/gen/client/utils.gen.ts b/packages/sdk/js/src/gen/client/utils.gen.ts
index 209bfbe8e..71d52f776 100644
--- a/packages/sdk/js/src/gen/client/utils.gen.ts
+++ b/packages/sdk/js/src/gen/client/utils.gen.ts
@@ -162,14 +162,22 @@ export const mergeConfigs = (a: Config, b: Config): Config => {
return config
}
+const headersEntries = (headers: Headers): Array<[string, string]> => {
+ const entries: Array<[string, string]> = []
+ headers.forEach((value, key) => {
+ entries.push([key, value])
+ })
+ return entries
+}
+
export const mergeHeaders = (...headers: Array<Required<Config>["headers"] | undefined>): Headers => {
const mergedHeaders = new Headers()
for (const header of headers) {
- if (!header || typeof header !== "object") {
+ if (!header) {
continue
}
- const iterator = header instanceof Headers ? header.entries() : Object.entries(header)
+ const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header)
for (const [key, value] of iterator) {
if (value === null) {