Files
plexjs/src/models/errors/getservercapabilities.ts

128 lines
3.6 KiB
TypeScript

/*
* Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
*/
import { remap as remap$ } from "../../lib/primitives";
import * as z from "zod";
export type Errors = {
code?: number | undefined;
message?: string | undefined;
status?: number | undefined;
};
/**
* Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
*/
export type GetServerCapabilitiesResponseBodyData = {
errors?: Array<Errors> | undefined;
/**
* Raw HTTP response; suitable for custom response parsing
*/
rawResponse?: Response | undefined;
};
/**
* Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
*/
export class GetServerCapabilitiesResponseBody extends Error {
errors?: Array<Errors> | undefined;
/**
* Raw HTTP response; suitable for custom response parsing
*/
rawResponse?: Response | undefined;
/** The original data that was passed to this error instance. */
data$: GetServerCapabilitiesResponseBodyData;
constructor(err: GetServerCapabilitiesResponseBodyData) {
super("");
this.data$ = err;
if (err.errors != null) {
this.errors = err.errors;
}
if (err.rawResponse != null) {
this.rawResponse = err.rawResponse;
}
this.message =
"message" in err && typeof err.message === "string"
? err.message
: "API error occurred";
this.name = "GetServerCapabilitiesResponseBody";
}
}
/** @internal */
export namespace Errors$ {
export const inboundSchema: z.ZodType<Errors, z.ZodTypeDef, unknown> = z.object({
code: z.number().optional(),
message: z.string().optional(),
status: z.number().optional(),
});
export type Outbound = {
code?: number | undefined;
message?: string | undefined;
status?: number | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, Errors> = z.object({
code: z.number().optional(),
message: z.string().optional(),
status: z.number().optional(),
});
}
/** @internal */
export namespace GetServerCapabilitiesResponseBody$ {
export const inboundSchema: z.ZodType<
GetServerCapabilitiesResponseBody,
z.ZodTypeDef,
unknown
> = z
.object({
errors: z.array(z.lazy(() => Errors$.inboundSchema)).optional(),
RawResponse: z.instanceof(Response).optional(),
})
.transform((v) => {
const remapped = remap$(v, {
RawResponse: "rawResponse",
});
return new GetServerCapabilitiesResponseBody(remapped);
});
export type Outbound = {
errors?: Array<Errors$.Outbound> | undefined;
RawResponse?: never | undefined;
};
export const outboundSchema: z.ZodType<
Outbound,
z.ZodTypeDef,
GetServerCapabilitiesResponseBody
> = z
.instanceof(GetServerCapabilitiesResponseBody)
.transform((v) => v.data$)
.pipe(
z
.object({
errors: z.array(z.lazy(() => Errors$.outboundSchema)).optional(),
rawResponse: z
.instanceof(Response)
.transform(() => {
throw new Error("Response cannot be serialized");
})
.optional(),
})
.transform((v) => {
return remap$(v, {
rawResponse: "RawResponse",
});
})
);
}