-
Notifications
You must be signed in to change notification settings - Fork 39
Open
Description
Hi,
I try to get type completion on my endpoints, but it seams it does not work. UParams are not infered.
// <ApiClient.delete>
delete<Path extends keyof DeleteEndpoints, TEndpoint extends DeleteEndpoints[Path]>(
path: Path,
...params: MaybeOptionalArg<
TEndpoint extends { parameters: infer UParams }
? NotNever<UParams> extends true
? UParams & { overrides?: RequestInit; withResponse?: false; throwOnStatusError?: boolean }
: { overrides?: RequestInit; withResponse?: false; throwOnStatusError?: boolean }
: { overrides?: RequestInit; withResponse?: false; throwOnStatusError?: boolean }
>
): Promise<Extract<InferResponseByStatus<Static<TEndpoint>, SuccessStatusCode>, { data: {} }>["data"]>;
the endpoint expects ` { parameters: infer UParams }``to be part of TEndpoint:
export const delete_DeletePurge__token = Type.Object({
method: Type.Literal("DELETE"),
path: Type.Literal("/purge-token"),
requestFormat: Type.Literal("json"),
parameters: Type.Object({
query: Type.Partial(
Type.Object({
id: Type.String(),
}),
),
}),
responses: Type.Object({
200: Type.Object({
message: Type.String(),
}),
400: Type.Object({
message: Type.String(),
details: Type.Optional(Type.Union([Type.Unknown(), Type.Undefined()])),
}),
404: Type.Object({
message: Type.String(),
}),
409: Type.Object({
message: Type.String(),
details: Type.Optional(Type.Union([Type.Unknown(), Type.Undefined()])),
}),
}),
});
TEndpoint would be delete_DeletePurge__token and this is of type
TObject<{
method: TLiteral<"DELETE">;
path: TLiteral<"/purge-token">;
requestFormat: TLiteral<"json">;
parameters: TObject<{
query: TObject<{
id: TOptional<TString>;
}>;
}>;
responses: TObject<{
200: TObject<{
message: TString;
}>;
400: TObject<{
message: TString;
details: TOptional<TUnion<[TUnknown, TUndefined]>>;
}>;
404: TObject<{
message: TString;
}>;
409: TObject<{
message: TString;
details: TOptional<...>;
}>;
}>;
}>
Metadata
Metadata
Assignees
Labels
No labels